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:
    - named_main_earlyfatal
    - cap_set_proc
    - strerror_r
    - 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
    - getuid
    - prctl
    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:
    - strerror_r
    - seteuid
    - named_main_earlywarning
    - setegid
    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:
    - close
    - isc_errno_toresult
    - connect
    - socket
    - strlcpy
    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:
    - REQUIRE
    - getenv
    - RUNTIME_CHECK
    - isc_log_write
    - strncmp
    - connect_systemd_notify_unix
    - isc_result_totext
    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:
    - isc_file_basename
    - openlog
    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:
    - linux_initialprivs
    - signal
    - setup_systemd_notify
    - setup_syslog
    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:
    - pipe
    - close
    - _exit
    - setsid
    - named_main_earlyfatal
    - read
    - strerror_r
    - dup2
    - setup_systemd_notify
    - fork
    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:
    - write
    - named_main_earlyfatal
    - close
    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:
    - named_main_earlyfatal
    - chroot
    - strerror_r
    - 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:
    - endpwent
    - getuid
    - atoi
    - named_main_earlyfatal
    - getpwnam
    - strerror_r
    - all_digits
    - initgroups
    - getpwuid
    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:
    - REQUIRE
    - setperms
    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:
    - setgid
    - getuid
    - named_main_earlyfatal
    - setperms
    - prctl
    - strerror_r
    - named_main_earlywarning
    - getgid
    - linux_minprivs
    - setuid
    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:
    - getrlimit
    - setrlimit
    - isc_log_write
    - strerror_r
    - named_main_earlywarning
    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
    - named_os_changeuser
    - linux_keepcaps
    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
    - open
    - unlink
    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:
    - free
    - named_main_earlywarning
    - unlink
    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:
    - strcmp
    - mkdirpath
    - chown
    - stat
    - strrchr
    - strerror_r
    - mkdir
    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:
    - mkdirpath
    - named_os_restoreuser
    - strerror_r
    - named_os_changeuser
    - named_main_earlywarning
    - safe_open
    - strdup
    - free
    - fdopen
    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
    - named_os_openfile
    - fprintf
    - fflush
    - strerror_r
    - fclose
    - strdup
    - cleanup_pidfile
    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:
    - strtok_r
    - strcmp
    - getpid
    - 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:
    - uname
    - memset
    - snprintf
    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:
    - vsnprintf
    - RUNTIME_CHECK
    - va_start
    - isc_log_write
    - va_end
    - write
    - isc_errno_toresult
    - isc_result_totext
    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:
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/nzd.c:34,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/named/nzd.c:35,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/nzd.c:35,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/nzd.c:36,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/nzd.c:36,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:39,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: 40
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 40
    functionName: nzd_setkey
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_fixedname_name
    - dns_name_downcase
    - strlen
    - dns_fixedname_init
    linkageType: ''
    returnType: void
    signature: void nzd_setkey(MDB_val *key, dns_name_t *name, char *namebuf, size_t
      buflen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/nzd.c:47,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/bin/named/nzd.c:47,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/named/nzd.c:49,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/named/nzd.c:51,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 55
    functionName: dumpzone
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - ISC_MAGIC_VALID
    - REQUIRE
    - isc_buffer_putmem
    - isc_buffer_reserve
    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/nzd.c:69,1
    - Dst: nzd_setkey
      Src: /src/bind9/bin/named/nzd.c:71,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/nzd.c:71,1
    - Dst: mdb_del
      Src: /src/bind9/bin/named/nzd.c:75,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:77,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:81,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:82,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/nzd.c:88,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/nzd.c:90,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:92,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:96,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/nzd.c:102,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:104,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/nzd.c:108,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/nzd.c:109,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/nzd.c:112,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/nzd.c:113,1
    - Dst: mdb_put
      Src: /src/bind9/bin/named/nzd.c:115,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:117,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:121,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:122,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/nzd.c:132,1
    - Dst: mdb_txn_commit
      Src: /src/bind9/bin/named/nzd.c:134,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:136,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:140,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/nzd.c:147,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 52
    argCount: 4
    argNames:
    - txnp
    - dbi
    - zone
    - zconfig
    argTypes:
    - MDB_txn**
    - MDB_dbi
    - dns_zone_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 151
    functionName: nzd_save
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - mdb_txn_commit
    - mdb_del
    - cfg_tuple_get
    - isc_buffer_usedlength
    - isc_buffer_free
    - mdb_put
    - isc_log_write
    - isc_buffer_base
    - mdb_strerror
    - nzd_setkey
    - isc_buffer_allocate
    - dns_zone_getview
    - CHECK
    - mdb_txn_abort
    - cfg_printx
    - CLEANUP
    - isc_result_totext
    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/nzd.c:165,1
    - Dst: mdb_txn_begin
      Src: /src/bind9/bin/named/nzd.c:167,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:169,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:171,1
    - Dst: mdb_dbi_open
      Src: /src/bind9/bin/named/nzd.c:175,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:177,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:179,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/nzd.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 185
    functionName: nzd_writable
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - mdb_txn_begin
    - isc_log_write
    - mdb_strerror
    - mdb_txn_abort
    - mdb_dbi_open
    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/nzd.c:197,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/nzd.c:198,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/nzd.c:199,1
    - Dst: mdb_txn_begin
      Src: /src/bind9/bin/named/nzd.c:201,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:203,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:205,1
    - Dst: mdb_dbi_open
      Src: /src/bind9/bin/named/nzd.c:209,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:211,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:213,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/nzd.c:222,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: 228
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 228
    functionName: nzd_open
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - mdb_txn_begin
    - isc_log_write
    - mdb_strerror
    - mdb_txn_abort
    - mdb_dbi_open
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: mdb_env_get_path
      Src: /src/bind9/bin/named/nzd.c:247,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/nzd.c:248,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/nzd.c:249,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/nzd.c:250,1
    - Dst: mdb_env_close
      Src: /src/bind9/bin/named/nzd.c:251,1
    - Dst: lstat
      Src: /src/bind9/bin/named/nzd.c:258,1
    - Dst: S_ISREG
      Src: /src/bind9/bin/named/nzd.c:258,1
    - Dst: lchown
      Src: /src/bind9/bin/named/nzd.c:259,1
    - Dst: named_os_uid
      Src: /src/bind9/bin/named/nzd.c:259,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/nzd.c:260,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/nzd.c:267,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 270
    functionName: nzd_env_close
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - mdb_env_get_path
    - UNUSED
    - S_ISREG
    - INSIST
    - mdb_env_close
    - lstat
    - named_os_uid
    - snprintf
    - lchown
    - isc_file_remove
    - strlcpy
    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/nzd.c:282,1
    - Dst: mdb_env_create
      Src: /src/bind9/bin/named/nzd.c:284,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:286,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:288,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:289,1
    - Dst: mdb_env_set_mapsize
      Src: /src/bind9/bin/named/nzd.c:293,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:295,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:298,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:299,1
    - Dst: mdb_env_open
      Src: /src/bind9/bin/named/nzd.c:303,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:305,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:307,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:308,1
    - Dst: mdb_env_close
      Src: /src/bind9/bin/named/nzd.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 320
    functionName: nzd_env_reopen
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - mdb_env_create
    - mdb_env_close
    - mdb_env_set_mapsize
    - mdb_env_open
    - isc_log_write
    - nzd_env_close
    - mdb_strerror
    - CLEANUP
    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/nzd.c:334,1
    - Dst: mdb_txn_commit
      Src: /src/bind9/bin/named/nzd.c:338,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/named/nzd.c:343,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - txnp
    - commit
    argTypes:
    - MDB_txn**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 329
    functionDepth: 1
    functionLinenumber: 329
    functionLinenumberEnd: 349
    functionName: nzd_close
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - mdb_txn_abort
    - REQUIRE
    - mdb_txn_commit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzd_close(MDB_txn **txnp, bool commit)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/nzd.c:375,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:380,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/nzd.c:391,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:394,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/nzd.c:396,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/nzd.c:401,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/nzd.c:401,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/nzd.c:402,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:403,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/nzd.c:406,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/nzd.c:406,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/nzd.c:408,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/nzd.c:411,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/nzd.c:419,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/nzd.c:419,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:421,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/nzd.c:425,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:425,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/nzd.c:426,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:426,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/nzd.c:427,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/nzd.c:428,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/nzd.c:428,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/nzd.c:430,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:433,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/nzd.c:435,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:437,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/nzd.c:440,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/nzd.c:444,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:446,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/nzd.c:450,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/nzd.c:451,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/nzd.c:454,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/nzd.c:455,1
    - Dst: mdb_put
      Src: /src/bind9/bin/named/nzd.c:457,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:459,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:463,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:464,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/nzd.c:477,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:478,1
    - Dst: strlcat
      Src: /src/bind9/bin/named/nzd.c:479,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/named/nzd.c:480,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/nzd.c:485,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/nzd.c:487,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/nzd.c:491,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/nzd.c:495,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 357
    functionDepth: 2
    functionLinenumber: 357
    functionLinenumberEnd: 499
    functionName: nzd_load_nzf
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - cfg_map_get
    - isc_buffer_add
    - strlen
    - isc_file_rename
    - dns_name_fromtext
    - dns_name_format
    - cfg_parse_file
    - cfg_tuple_get
    - cfg_listelt_value
    - mdb_put
    - nzd_open
    - cfg_obj_asstring
    - isc_file_exists
    - cfg_printx
    - strlcpy
    - isc_result_totext
    - nzd_close
    - isc_log_write
    - mdb_strerror
    - CHECK
    - isc_buffer_clear
    - CLEANUP
    - strlcat
    - cfg_obj_detach
    - isc_buffer_base
    - dns_fixedname_initname
    - isc_buffer_allocate
    - cfg_obj_islist
    - isc_buffer_free
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nzd_load_nzf(dns_view_t *view)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/nzd.c:411,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/nzd.c:419,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/nzd.c:419,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:421,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/nzd.c:425,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:425,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/nzd.c:426,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:426,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/nzd.c:427,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/nzd.c:428,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/nzd.c:428,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/nzd.c:430,1
    - Dst: strlen
      Src: /src/bind9/bin/named/nzd.c:433,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/nzd.c:435,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:437,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/nzd.c:440,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/nzd.c:444,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:446,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/nzd.c:450,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/nzd.c:451,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/nzd.c:454,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/nzd.c:455,1
    - Dst: mdb_put
      Src: /src/bind9/bin/named/nzd.c:457,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/nzd.c:459,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/nzd.c:463,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/nzd.c:464,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 468
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/nzd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - isc_buffer_add
    - strlen
    - dns_name_fromtext
    - dns_name_format
    - cfg_tuple_get
    - cfg_listelt_value
    - mdb_put
    - cfg_obj_asstring
    - cfg_printx
    - isc_result_totext
    - isc_log_write
    - mdb_strerror
    - CHECK
    - isc_buffer_clear
    - CLEANUP
    - isc_buffer_base
    - dns_fixedname_initname
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(zonelist, element)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:42,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:42,1
    - Dst: isc_log_categorybyname
      Src: /src/bind9/bin/named/logconf.c:43,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/logconf.c:45,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:57,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:59,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:60,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/logconf.c:62,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/logconf.c:65,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - ccat
    - logconfig
    argTypes:
    - cfg_obj_t*
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 73
    functionName: category_fromconf
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - isc_log_categorybyname
    - cfg_obj_log
    - isc_log_usechannel
    - cfg_tuple_get
    - cfg_listelt_value
    - isc_log_write
    - cfg_obj_asstring
    - isc_result_totext
    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:59,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:60,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/logconf.c:62,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/logconf.c:65,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 71
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - isc_log_usechannel
    - cfg_listelt_value
    - isc_log_write
    - cfg_obj_asstring
    - isc_result_totext
    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:94,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/logconf.c:94,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:96,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:97,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:98,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:99,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/logconf.c:116,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:126,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:127,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:128,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:130,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/logconf.c:148,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/logconf.c:153,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/logconf.c:154,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:156,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:157,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:157,1
    - Dst: cfg_obj_isuint64
      Src: /src/bind9/bin/named/logconf.c:162,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/logconf.c:163,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/logconf.c:165,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:167,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:168,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:168,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:174,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:183,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:184,1
    - Dst: isc_syslog_facilityfromstring
      Src: /src/bind9/bin/named/logconf.c:185,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:207,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:208,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:209,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:210,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:212,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:215,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:218,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/logconf.c:221,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/logconf.c:222,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:226,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:228,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:230,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:232,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:239,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/logconf.c:240,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:241,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:242,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:244,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:246,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:248,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:250,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/logconf.c:252,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/logconf.c:257,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/logconf.c:262,1
    - Dst: isc_file_isplainfile
      Src: /src/bind9/bin/named/logconf.c:273,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/logconf.c:280,1
    - Dst: syslog
      Src: /src/bind9/bin/named/logconf.c:283,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:287,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/logconf.c:290,1
    - Dst: syslog
      Src: /src/bind9/bin/named/logconf.c:295,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/logconf.c:296,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 149
    argCount: 2
    argNames:
    - channel
    - logconfig
    argTypes:
    - cfg_obj_t*
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 302
    functionName: channel_fromconf
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cfg_obj_isuint32
    - isc_stdio_close
    - isc_stdio_open
    - strcasecmp
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_isuint64
    - syslog
    - isc_result_totext
    - cfg_obj_asuint32
    - cfg_obj_isstring
    - cfg_obj_asuint64
    - isc_syslog_facilityfromstring
    - cfg_obj_asboolean
    - UNREACHABLE
    - cfg_map_getname
    - isc_file_isplainfile
    - cfg_obj_log
    - cfg_obj_isboolean
    - isc_log_createchannel
    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:314,1
    - Dst: named_log_setdefaultsslkeylogfile
      Src: /src/bind9/bin/named/logconf.c:315,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:318,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:320,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:321,1
    - Dst: channel_fromconf
      Src: /src/bind9/bin/named/logconf.c:321,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/logconf.c:324,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/logconf.c:326,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:327,1
    - Dst: category_fromconf
      Src: /src/bind9/bin/named/logconf.c:327,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:329,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:330,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:330,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:335,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:336,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:336,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:344,1
    - Dst: named_log_setdefaultcategory
      Src: /src/bind9/bin/named/logconf.c:344,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:348,1
    - Dst: named_log_setunmatchedcategory
      Src: /src/bind9/bin/named/logconf.c:348,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - logconfig
    - logstmt
    argTypes:
    - isc_logconfig_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 304
    functionDepth: 2
    functionLinenumber: 304
    functionLinenumberEnd: 355
    functionName: named_logconfig
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - category_fromconf
    - named_log_setdefaultsslkeylogfile
    - strcmp
    - cfg_tuple_get
    - cfg_map_get
    - named_log_setdefaultchannels
    - named_log_setdefaultcategory
    - cfg_listelt_value
    - channel_fromconf
    - cfg_obj_asstring
    - named_log_setunmatchedcategory
    - CHECK
    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:320,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:321,1
    - Dst: channel_fromconf
      Src: /src/bind9/bin/named/logconf.c:321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 319
    functionDepth: 2
    functionLinenumber: 319
    functionLinenumberEnd: 322
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - channel_fromconf
    - CHECK
    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:326,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/logconf.c:327,1
    - Dst: category_fromconf
      Src: /src/bind9/bin/named/logconf.c:327,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:329,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:330,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:330,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/logconf.c:335,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/logconf.c:336,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/logconf.c:336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 341
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/logconf.c
    functionUses: 0
    functionsReached:
    - category_fromconf
    - strcmp
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - CHECK
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(categories, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/named/main.c:168,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:169,1
    - Dst: va_end
      Src: /src/bind9/bin/named/main.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    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:178,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:179,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:181,1
    - Dst: va_end
      Src: /src/bind9/bin/named/main.c:183,1
    - Dst: _exit
      Src: /src/bind9/bin/named/main.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 186
    functionName: named_main_earlyfatal
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 7
    functionsReached:
    - _exit
    - va_start
    - isc_log_write
    - va_end
    - isc_log_vwrite
    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:203,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:205,1
    - Dst: isc_assertion_typetotext
      Src: /src/bind9/bin/named/main.c:207,1
    - Dst: isc_backtrace_log
      Src: /src/bind9/bin/named/main.c:208,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:210,1
    - Dst: abort
      Src: /src/bind9/bin/named/main.c:214,1
    - Dst: _exit
      Src: /src/bind9/bin/named/main.c:216,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: 217
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 217
    functionName: assertion_failed
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - _exit
    - isc_backtrace_log
    - isc_log_write
    - isc_assertion_typetotext
    - isc_assertion_setcallback
    - abort
    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:234,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:236,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:239,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:241,1
    - Dst: abort
      Src: /src/bind9/bin/named/main.c:246,1
    - Dst: _exit
      Src: /src/bind9/bin/named/main.c:248,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: 249
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 249
    functionName: library_fatal_error
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - _exit
    - isc_log_write
    - isc_error_setfatal
    - abort
    - isc_log_vwrite
    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:263,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/bin/named/main.c:266,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: 268
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: library_unexpected_error
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_log_vwrite
    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:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 282
    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:299,1
    - Dst: isprint
      Src: /src/bind9/bin/named/main.c:304,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/main.c:331,1
    - Dst: memmove
      Src: /src/bind9/bin/named/main.c:336,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/main.c:355,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 54
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 356
    functionName: save_command_line
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isprint
    - memmove
    - isalnum
    - snprintf
    - strlcpy
    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:364,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:367,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - arg
    - desc
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 373
    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:393,1
    - Dst: strlen
      Src: /src/bind9/bin/named/main.c:396,1
    - Dst: strlen
      Src: /src/bind9/bin/named/main.c:400,1
    - Dst: memcmp
      Src: /src/bind9/bin/named/main.c:401,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:414,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: 425
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 425
    functionName: set_flags
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - named_main_earlyfatal
    - strlen
    - strchr
    - 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:435,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:436,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/bin/named/main.c:437,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 440
    functionName: list_dnssec_algorithms
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_totext
    - dst_algorithm_supported
    - 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:445,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:446,1
    - Dst: dns_dsdigest_totext
      Src: /src/bind9/bin/named/main.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 450
    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:461,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:462,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:463,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/named/main.c:463,1
    - Dst: isc_buffer_used
      Src: /src/bind9/bin/named/main.c:466,1
    - Dst: isc_buffer_used
      Src: /src/bind9/bin/named/main.c:466,1
    - Dst: toupper
      Src: /src/bind9/bin/named/main.c:469,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 471
    functionName: list_hmac_algorithms
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - dst_hmac_algorithm_totext
    - dst_algorithm_supported
    - toupper
    - isc_buffer_used
    - isc_buffer_putstr
    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:475,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/main.c:476,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/main.c:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: logit
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_buffer_usedlength
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void logit(isc_buffer_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:482,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/main.c:482,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/main.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 484
    functionName: printit
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - printf
    - isc_buffer_base
    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:491,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:492,1
    - Dst: list_dnssec_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_putstr
      Src: /src/bind9/bin/named/main.c:497,1
    - Dst: list_ds_algorithms
      Src: /src/bind9/bin/named/main.c:498,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:501,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/named/main.c:502,1
    - Dst: list_hmac_algorithms
      Src: /src/bind9/bin/named/main.c:503,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:506,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/named/main.c:507,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:510,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/named/main.c:511,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/main.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 515
    functionName: format_supported_algorithms
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - list_hmac_algorithms
    - dst_algorithm_supported
    - isc_buffer_printf
    - list_dnssec_algorithms
    - list_ds_algorithms
    - isc_buffer_init
    - isc_buffer_putstr
    linkageType: ''
    returnType: void
    signature: void format_supported_algorithms(void (*emit)(isc_buffer_t *b))
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:523,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:530,1
    - Dst: named_os_uname
      Src: /src/bind9/bin/named/main.c:530,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:531,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:533,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:536,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:539,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:544,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:546,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:547,1
    - Dst: OpenSSL_version
      Src: /src/bind9/bin/named/main.c:548,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:549,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:551,1
    - Dst: uv_version_string
      Src: /src/bind9/bin/named/main.c:551,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:552,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:554,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:558,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:562,1
    - Dst: nghttp2_version
      Src: /src/bind9/bin/named/main.c:563,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:564,1
    - Dst: ngtcp2_version
      Src: /src/bind9/bin/named/main.c:567,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:568,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:569,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:572,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:573,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:576,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:577,1
    - Dst: json_c_version
      Src: /src/bind9/bin/named/main.c:577,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:580,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:581,1
    - Dst: zlibVersion
      Src: /src/bind9/bin/named/main.c:581,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:585,1
    - Dst: MMDB_lib_version
      Src: /src/bind9/bin/named/main.c:585,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:588,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:589,1
    - Dst: protobuf_c_version
      Src: /src/bind9/bin/named/main.c:589,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:591,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/main.c:593,1
    - Dst: format_supported_algorithms
      Src: /src/bind9/bin/named/main.c:594,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:595,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/main.c:602,1
    - Dst: strrchr
      Src: /src/bind9/bin/named/main.c:603,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/main.c:606,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:612,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:613,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:614,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:615,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:616,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:619,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 47
    argCount: 1
    argNames:
    - verbose
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 622
    functionName: printversion
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - format_supported_algorithms
    - OpenSSL_version
    - zlibVersion
    - printf
    - json_c_version
    - uv_version_string
    - named_os_uname
    - snprintf
    - strrchr
    - nghttp2_version
    - protobuf_c_version
    - ngtcp2_version
    - strlcpy
    - isc_buffer_init
    - MMDB_lib_version
    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: 619
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 619
    functionName: RTC
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    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: 37
    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: strncmp
      Src: /src/bind9/bin/named/main.c:694,1
    - Dst: strtok_r
      Src: /src/bind9/bin/named/main.c:695,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:697,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:700,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:702,1
    - Dst: strtok_r
      Src: /src/bind9/bin/named/main.c:705,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:712,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:714,1
    - Dst: strtok_r
      Src: /src/bind9/bin/named/main.c:717,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:723,1
    - Dst: named_main_earlyfatal
      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: strcmp
      Src: /src/bind9/bin/named/main.c:733,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/main.c:735,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:737,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:738,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:739,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:740,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:741,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:742,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:743,1
    - Dst: atoi
      Src: /src/bind9/bin/named/main.c:744,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:746,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/main.c:751,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 119
    argCount: 1
    argNames:
    - option
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 647
    functionDepth: 2
    functionLinenumber: 647
    functionLinenumberEnd: 753
    functionName: parse_T_opt
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - strcmp
    - atoi
    - fprintf
    - named_main_earlyfatal
    - strtok_r
    - strncmp
    linkageType: ''
    returnType: void
    signature: void parse_T_opt(char *option)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:761,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:763,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:766,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:769,1
    - Dst: parse_int
      Src: /src/bind9/bin/named/main.c:774,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:776,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/main.c:793,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 1
    argNames:
    - arg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 755
    functionDepth: 3
    functionLinenumber: 755
    functionLinenumberEnd: 795
    functionName: parse_port
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - parse_int
    - named_main_earlyfatal
    - strncmp
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void parse_port(char *arg)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: save_command_line
      Src: /src/bind9/bin/named/main.c:802,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/named/main.c:809,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:814,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/main.c:817,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:818,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/named/main.c:821,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:826,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/main.c:829,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:830,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/named/main.c:833,1
    - Dst: parse_fuzz_arg
      Src: /src/bind9/bin/named/main.c:837,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:844,1
    - Dst: printf
      Src: /src/bind9/bin/named/main.c:846,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:847,1
    - Dst: parse_int
      Src: /src/bind9/bin/named/main.c:849,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:857,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:858,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/main.c:873,1
    - Dst: set_flags
      Src: /src/bind9/bin/named/main.c:876,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/named/main.c:878,1
    - Dst: parse_int
      Src: /src/bind9/bin/named/main.c:882,1
    - Dst: parse_port
      Src: /src/bind9/bin/named/main.c:889,1
    - Dst: parse_T_opt
      Src: /src/bind9/bin/named/main.c:903,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/main.c:907,1
    - Dst: printversion
      Src: /src/bind9/bin/named/main.c:913,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:914,1
    - Dst: printversion
      Src: /src/bind9/bin/named/main.c:916,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:917,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:923,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/named/main.c:926,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:927,1
    - Dst: usage
      Src: /src/bind9/bin/named/main.c:932,1
    - Dst: exit
      Src: /src/bind9/bin/named/main.c:934,1
    - Dst: strchr
      Src: /src/bind9/bin/named/main.c:936,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:938,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:941,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:947,1
    - Dst: POST
      Src: /src/bind9/bin/named/main.c:954,1
    - Dst: usage
      Src: /src/bind9/bin/named/main.c:957,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:958,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 128
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 797
    functionDepth: 4
    functionLinenumber: 797
    functionLinenumberEnd: 960
    functionName: parse_command_line
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_net_probeipv6
    - named_main_earlyfatal
    - parse_T_opt
    - isc_crypto_fips_enable
    - strchr
    - exit
    - isc_net_disableipv6
    - isc_net_disableipv4
    - save_command_line
    - set_flags
    - named_main_earlywarning
    - parse_port
    - usage
    - parse_fuzz_arg
    - isc_result_totext
    - printf
    - isc_commandline_parse
    - isc_net_probeipv4
    - POST
    - printversion
    - parse_int
    - isc_mem_debugon
    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:969,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:979,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/named/main.c:988,1
    - Dst: isc_nm_maxudp
      Src: /src/bind9/bin/named/main.c:990,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 962
    functionDepth: 1
    functionLinenumber: 962
    functionLinenumberEnd: 993
    functionName: create_managers
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_nm_maxudp
    - isc_managers_create
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_managers(void)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: named_os_inituserinfo
      Src: /src/bind9/bin/named/main.c:1008,1
    - Dst: named_os_tzset
      Src: /src/bind9/bin/named/main.c:1013,1
    - Dst: named_os_opendevnull
      Src: /src/bind9/bin/named/main.c:1015,1
    - Dst: named_smf_get_instance
      Src: /src/bind9/bin/named/main.c:1019,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/main.c:1027,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/named/main.c:1034,1
    - Dst: named_os_chroot
      Src: /src/bind9/bin/named/main.c:1036,1
    - Dst: named_os_minprivs
      Src: /src/bind9/bin/named/main.c:1046,1
    - Dst: named_log_init
      Src: /src/bind9/bin/named/main.c:1048,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1050,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1051,1
    - Dst: named_os_daemonize
      Src: /src/bind9/bin/named/main.c:1062,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: named_os_uname
      Src: /src/bind9/bin/named/main.c:1070,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1072,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1075,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:1087,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1093,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1097,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1100,1
    - Dst: OpenSSL_version
      Src: /src/bind9/bin/named/main.c:1102,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1103,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1106,1
    - Dst: uv_version_string
      Src: /src/bind9/bin/named/main.c:1108,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1109,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1113,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1119,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1125,1
    - Dst: nghttp2_version
      Src: /src/bind9/bin/named/main.c:1128,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1129,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1134,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1137,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1142,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1145,1
    - Dst: json_c_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: zlibVersion
      Src: /src/bind9/bin/named/main.c:1155,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1159,1
    - Dst: MMDB_lib_version
      Src: /src/bind9/bin/named/main.c:1161,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1164,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1167,1
    - Dst: protobuf_c_version
      Src: /src/bind9/bin/named/main.c:1169,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1171,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1174,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1177,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1180,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1183,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1186,1
    - Dst: named_os_adjustnofile
      Src: /src/bind9/bin/named/main.c:1194,1
    - Dst: isc_file_isabsolute
      Src: /src/bind9/bin/named/main.c:1200,1
    - Dst: isc_file_absolutepath
      Src: /src/bind9/bin/named/main.c:1201,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1205,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1208,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/main.c:1216,1
    - Dst: create_managers
      Src: /src/bind9/bin/named/main.c:1218,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1220,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1221,1
    - Dst: named_builtin_init
      Src: /src/bind9/bin/named/main.c:1224,1
    - Dst: dlz_dlopen_init
      Src: /src/bind9/bin/named/main.c:1234,1
    - Dst: named_main_earlyfatal
      Src: /src/bind9/bin/named/main.c:1236,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/main.c:1237,1
    - Dst: named_server_create
      Src: /src/bind9/bin/named/main.c:1240,1
    - Dst: ENSURE
      Src: /src/bind9/bin/named/main.c:1241,1
    - Dst: format_supported_algorithms
      Src: /src/bind9/bin/named/main.c:1244,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1250,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1253,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1256,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1259,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1262,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1265,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1268,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1271,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1274,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1277,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1280,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1283,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1286,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1289,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1292,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1295,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1298,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/main.c:1301,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 132
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 995
    functionDepth: 5
    functionLinenumber: 995
    functionLinenumberEnd: 1303
    functionName: setup
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - format_supported_algorithms
    - zlibVersion
    - named_smf_get_instance
    - named_main_earlyfatal
    - isc_file_absolutepath
    - named_log_init
    - nghttp2_version
    - named_os_chroot
    - named_os_inituserinfo
    - named_os_adjustnofile
    - isc_mem_free
    - isc_file_isabsolute
    - protobuf_c_version
    - isc_result_totext
    - MMDB_lib_version
    - dlz_dlopen_init
    - isc_time_now
    - named_server_create
    - OpenSSL_version
    - named_os_tzset
    - named_builtin_init
    - ENSURE
    - uv_version_string
    - create_managers
    - named_os_daemonize
    - isc_log_write
    - named_os_opendevnull
    - ns_server_setoption
    - json_c_version
    - isc_os_ncpus
    - named_os_uname
    - named_os_minprivs
    linkageType: ''
    returnType: void
    signature: void setup(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/main.c:1308,1
    - Dst: named_server_destroy
      Src: /src/bind9/bin/named/main.c:1311,1
    - Dst: named_builtin_deinit
      Src: /src/bind9/bin/named/main.c:1313,1
    - Dst: dlz_dlopen_clear
      Src: /src/bind9/bin/named/main.c:1323,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/main.c:1325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1327
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - named_server_destroy
    - isc_log_write
    - named_builtin_deinit
    - dlz_dlopen_clear
    - dns_acl_detach
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/bind9/bin/named/main.c:1338,1
    - Dst: strdup
      Src: /src/bind9/bin/named/main.c:1346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1331
    functionDepth: 0
    functionLinenumber: 1331
    functionLinenumberEnd: 1347
    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:1359,1
    - Dst: scf_handle_create
      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_bind
      Src: /src/bind9/bin/named/main.c:1369,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1371,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1372,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1372,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1374,1
    - Dst: scf_myname
      Src: /src/bind9/bin/named/main.c:1378,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1380,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1381,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1381,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1383,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/named/main.c:1387,1
    - Dst: scf_myname
      Src: /src/bind9/bin/named/main.c:1388,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1390,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1391,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1391,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1393,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/main.c:1394,1
    - Dst: scf_handle_destroy
      Src: /src/bind9/bin/named/main.c:1398,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: 1401
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1401
    functionName: named_smf_get_instance
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 1
    functionsReached:
    - UNEXPECTED_ERROR
    - REQUIRE
    - scf_error
    - scf_strerror
    - scf_handle_bind
    - scf_myname
    - isc_mem_free
    - scf_handle_destroy
    - scf_handle_create
    - 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:1414,1
    - Dst: setlocale
      Src: /src/bind9/bin/named/main.c:1427,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/named/main.c:1442,1
    - Dst: isc_assertion_setcallback
      Src: /src/bind9/bin/named/main.c:1444,1
    - Dst: isc_error_setfatal
      Src: /src/bind9/bin/named/main.c:1445,1
    - Dst: isc_error_setunexpected
      Src: /src/bind9/bin/named/main.c:1446,1
    - Dst: named_os_init
      Src: /src/bind9/bin/named/main.c:1448,1
    - Dst: parse_command_line
      Src: /src/bind9/bin/named/main.c:1450,1
    - Dst: named_fuzz_setup
      Src: /src/bind9/bin/named/main.c:1454,1
    - Dst: dns_resolver_setfuzzing
      Src: /src/bind9/bin/named/main.c:1458,1
    - Dst: isc_httpd_setfinishhook
      Src: /src/bind9/bin/named/main.c:1460,1
    - Dst: strlen
      Src: /src/bind9/bin/named/main.c:1467,1
    - Dst: strncmp
      Src: /src/bind9/bin/named/main.c:1468,1
    - Dst: named_main_earlywarning
      Src: /src/bind9/bin/named/main.c:1472,1
    - Dst: setup
      Src: /src/bind9/bin/named/main.c:1479,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/main.c:1480,1
    - Dst: isc_signal_start
      Src: /src/bind9/bin/named/main.c:1485,1
    - Dst: isc_signal_start
      Src: /src/bind9/bin/named/main.c:1486,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/named/main.c:1492,1
    - Dst: named_smf_get_instance
      Src: /src/bind9/bin/named/main.c:1496,1
    - Dst: smf_disable_instance
      Src: /src/bind9/bin/named/main.c:1498,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/main.c:1499,1
    - Dst: scf_strerror
      Src: /src/bind9/bin/named/main.c:1502,1
    - Dst: scf_error
      Src: /src/bind9/bin/named/main.c:1502,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/main.c:1506,1
    - Dst: cleanup
      Src: /src/bind9/bin/named/main.c:1511,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/named/main.c:1514,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/main.c:1519,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/named/main.c:1521,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/main.c:1522,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/named/main.c:1526,1
    - Dst: isc__crypto_setdestroycheck
      Src: /src/bind9/bin/named/main.c:1529,1
    - Dst: isc__uv_setdestroycheck
      Src: /src/bind9/bin/named/main.c:1530,1
    - Dst: isc__xml_setdestroycheck
      Src: /src/bind9/bin/named/main.c:1531,1
    - Dst: isc_mem_checkdestroyed
      Src: /src/bind9/bin/named/main.c:1534,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/main.c:1536,1
    - Dst: named_os_closedevnull
      Src: /src/bind9/bin/named/main.c:1538,1
    - Dst: named_os_shutdown
      Src: /src/bind9/bin/named/main.c:1540,1
    - Dst: ProfilerStop
      Src: /src/bind9/bin/named/main.c:1543,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 63
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1406
    functionDepth: 5
    functionLinenumber: 1406
    functionLinenumberEnd: 1547
    functionName: main
    functionSourceFile: /src/bind9/bin/named/main.c
    functionUses: 0
    functionsReached:
    - isc__crypto_setdestroycheck
    - isc_httpd_setfinishhook
    - INSIST
    - named_smf_get_instance
    - named_os_init
    - dns_resolver_setfuzzing
    - isc__uv_setdestroycheck
    - strlen
    - setlocale
    - scf_error
    - isc_stdio_close
    - ProfilerStop
    - isc_stdio_open
    - isc__xml_setdestroycheck
    - named_os_closedevnull
    - isc_mem_free
    - named_main_earlywarning
    - isc_commandline_init
    - isc_mem_stats
    - parse_command_line
    - UNEXPECTED_ERROR
    - scf_strerror
    - named_fuzz_setup
    - isc_signal_start
    - isc_managers_destroy
    - strncmp
    - isc_mem_checkdestroyed
    - isc_error_setunexpected
    - isc_error_setfatal
    - named_os_shutdown
    - setup
    - cleanup
    - named_main_setmemstats
    - isc_loopmgr_run
    - smf_disable_instance
    - ProfilerStart
    - isc_assertion_setcallback
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/zoneconf.c:86,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:126,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:131,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:132,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:140,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:145,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:161,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:168,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:175,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/zoneconf.c:182,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:182,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: 29
    EdgeCount: 29
    ICount: 92
    argCount: 6
    argNames:
    - zconfig
    - vconfig
    - config
    - acltype
    - aclctx
    - 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
    - named_zone_templateopts
    - cfg_tuple_get
    - cfg_map_get
    - dns_acl_attach
    - cfg_acl_fromconfig
    - named_config_get
    - RETERR
    - dns_zone_getview
    - UNREACHABLE
    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
      *aclctx, 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: CLEANUP
      Src: /src/bind9/bin/named/zoneconf.c:378,1
    - Dst: dns_ssutable_addrule
      Src: /src/bind9/bin/named/zoneconf.c:381,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:383,1
    - Dst: dns_zone_setssutable
      Src: /src/bind9/bin/named/zoneconf.c:387,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/bin/named/zoneconf.c:390,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/bin/named/zoneconf.c:391,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 116
    argCount: 4
    argNames:
    - zconfig
    - tconfig
    - zone
    - zname
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 393
    functionName: configure_zone_ssutable
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_ssutable_addrule
    - dns_zone_getmctx
    - INSIST
    - strtoul
    - dns_ssutable_create
    - isc_buffer_add
    - strlen
    - strchr
    - named_config_listcount
    - dns_ssu_mtypefromstring
    - isc_buffer_setmctx
    - isc_mem_cget
    - strcasecmp
    - dns_name_fromtext
    - cfg_tuple_get
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_rdatatype_fromtext
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_zone_getorigin
    - strcmp
    - cfg_obj_isstring
    - isc_log_write
    - dns_zone_setssutable
    - CHECK
    - dns_fixedname_init
    - isc_buffer_clear
    - UNREACHABLE
    - UNCONST
    - dns_ssutable_detach
    - CLEANUP
    - isc_buffer_putstr
    - isc_mem_cput
    - named_config_findopt
    - cfg_obj_log
    - isc_buffer_clearmctx
    - isc_buffer_base
    - dns_fixedname_name
    - isc_buffer_constinit
    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:
    - dns_name_copy
    - dns_ssutable_addrule
    - INSIST
    - strtoul
    - isc_buffer_add
    - strlen
    - strchr
    - named_config_listcount
    - dns_ssu_mtypefromstring
    - isc_mem_cget
    - strcasecmp
    - dns_name_fromtext
    - cfg_tuple_get
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_rdatatype_fromtext
    - isc_buffer_putuint8
    - dns_zone_getorigin
    - CHECK
    - dns_fixedname_init
    - isc_buffer_clear
    - UNREACHABLE
    - UNCONST
    - isc_buffer_putstr
    - isc_mem_cput
    - cfg_obj_log
    - isc_buffer_base
    - dns_fixedname_name
    - isc_buffer_constinit
    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:
    - isc_mem_cput
    - cfg_obj_log
    - INSIST
    - strtoul
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - strchr
    - dns_rdatatype_fromtext
    - UNCONST
    - isc_buffer_putstr
    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:415,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:423,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:426,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/zoneconf.c:427,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:428,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:433,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/bin/named/zoneconf.c:434,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:435,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:448,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:454,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:456,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:457,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:458,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:458,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:460,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:467,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:468,1
    - Dst: dns_name_toregion
      Src: /src/bind9/bin/named/zoneconf.c:474,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:474,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:475,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:478,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:479,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:480,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:480,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:482,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: 485
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 485
    functionName: configure_staticstub_serveraddrs
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - cfg_obj_log
    - memmove
    - dns_zone_getmctx
    - isc_sockaddr_getport
    - cfg_obj_assockaddr
    - INSIST
    - isc_mem_get
    - dns_rdata_init
    - dns_rdata_fromregion
    - cfg_listelt_value
    - isc_netaddr_fromsockaddr
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - dns_name_toregion
    - isc_netaddr_getzone
    - dns_zone_getclass
    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:423,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:426,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/zoneconf.c:427,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:428,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:433,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/bin/named/zoneconf.c:434,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:435,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:448,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:454,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:456,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:457,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:458,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:458,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:460,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 461
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - memmove
    - INSIST
    - isc_sockaddr_getport
    - cfg_obj_assockaddr
    - isc_mem_get
    - dns_rdata_init
    - dns_rdata_fromregion
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - cfg_listelt_value
    - isc_netaddr_getzone
    - dns_zone_getclass
    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:497,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:509,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:510,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/zoneconf.c:512,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:514,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:514,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:516,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:518,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/zoneconf.c:524,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:524,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:525,1
    - Dst: dns_name_toregion
      Src: /src/bind9/bin/named/zoneconf.c:532,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:533,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:536,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:537,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:538,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:538,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:540,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: 544
      start: 493
    functionDepth: 1
    functionLinenumber: 493
    functionLinenumberEnd: 544
    functionName: configure_staticstub_servernames
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - cfg_obj_log
    - memmove
    - dns_zone_getmctx
    - dns_name_fromtext
    - isc_mem_get
    - dns_rdata_init
    - dns_name_toregion
    - dns_rdata_fromregion
    - cfg_listelt_value
    - ISC_LIST_APPEND
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - dns_zone_getclass
    - isc_buffer_constinit
    - dns_name_issubdomain
    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:509,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:510,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/zoneconf.c:512,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/zoneconf.c:514,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:514,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:515,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:516,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:518,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/zoneconf.c:524,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:524,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:525,1
    - Dst: dns_name_toregion
      Src: /src/bind9/bin/named/zoneconf.c:532,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:533,1
    - Dst: memmove
      Src: /src/bind9/bin/named/zoneconf.c:536,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/zoneconf.c:537,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/zoneconf.c:538,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:538,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/zoneconf.c:540,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 541
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - cfg_obj_log
    - memmove
    - dns_name_fromtext
    - isc_mem_get
    - dns_rdata_init
    - dns_name_toregion
    - dns_rdata_fromregion
    - cfg_listelt_value
    - ISC_LIST_APPEND
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - dns_zone_getclass
    - isc_buffer_constinit
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(zconfig, element)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:554,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/zoneconf.c:567,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/named/zoneconf.c:567,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:567,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:568,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/zoneconf.c:571,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/zoneconf.c:573,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:574,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/zoneconf.c:578,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:579,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/zoneconf.c:583,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/zoneconf.c:584,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:590,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:592,1
    - Dst: configure_staticstub_serveraddrs
      Src: /src/bind9/bin/named/zoneconf.c:592,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:598,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:600,1
    - Dst: configure_staticstub_servernames
      Src: /src/bind9/bin/named/zoneconf.c:600,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:608,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/zoneconf.c:609,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/zoneconf.c:614,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:622,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/named/zoneconf.c:622,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/zoneconf.c:624,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/zoneconf.c:625,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:625,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:626,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/zoneconf.c:626,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/zoneconf.c:629,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:630,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/zoneconf.c:630,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/zoneconf.c:632,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:635,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/zoneconf.c:636,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:637,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/zoneconf.c:637,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/zoneconf.c:639,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/zoneconf.c:643,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/zoneconf.c:644,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:645,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/zoneconf.c:645,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/zoneconf.c:647,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/zoneconf.c:650,1
    - Dst: dns_zone_setdb
      Src: /src/bind9/bin/named/zoneconf.c:651,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/named/zoneconf.c:656,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/zoneconf.c:658,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/zoneconf.c:661,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/zoneconf.c:664,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/zoneconf.c:667,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/zoneconf.c:668,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/named/zoneconf.c:669,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/zoneconf.c:670,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:675,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 70
    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: 678
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 678
    functionName: configure_staticstub
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_db_newversion
    - dns_zone_getmctx
    - dns_db_create
    - isc_mem_put
    - INSIST
    - dns_rdataset_init
    - configure_staticstub_servernames
    - dns_rdata_toregion
    - RETERR
    - dns_rdatalist_init
    - dns_rdataset_disassociate
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    - configure_staticstub_serveraddrs
    - dns_name_init
    - dns_zone_getclass
    - dns_zone_getorigin
    - dns_db_detach
    - dns_zone_setdb
    - ISC_LIST_EMPTY
    - isc_log_write
    - dns_db_closeversion
    - dns_name_clone
    - CHECK
    - CLEANUP
    - dns_db_detachnode
    - named_config_findopt
    - dns_rdataset_cleanup
    - ISC_LIST_FOREACH
    - dns_db_findnode
    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:687,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:688,1
    - Dst: named_config_getzonetype
      Src: /src/bind9/bin/named/zoneconf.c:689,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zmap
    - tmap
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 683
    functionDepth: 1
    functionLinenumber: 683
    functionLinenumberEnd: 690
    functionName: zonetype_fromconfig
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - named_config_findopt
    - named_config_getzonetype
    - INSIST
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t zonetype_fromconfig(const cfg_obj_t *zmap, const cfg_obj_t
      *tmap)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/named/zoneconf.c:706,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/zoneconf.c:716,1
    - Dst: strtoargvsub
      Src: /src/bind9/bin/named/zoneconf.c:716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 5
    argNames:
    - mctx
    - s
    - argcp
    - argvp
    - n
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int*
    - char***
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 720
    functionName: strtoargvsub
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 1
    functionsReached:
    - strtoargvsub
    - isc_mem_cget
    - RETERR
    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:731,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: 732
      start: 729
    functionDepth: 2
    functionLinenumber: 729
    functionLinenumberEnd: 732
    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:746,1
    - Dst: named_checknames_get
      Src: /src/bind9/bin/named/zoneconf.c:749,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:752,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:755,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: 756
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 756
    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:780,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:785,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/zoneconf.c:786,1
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/zoneconf.c:787,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/zoneconf.c:789,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/bin/named/zoneconf.c:804,1
    - Dst: dst_key_compare
      Src: /src/bind9/bin/named/zoneconf.c:808,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/zoneconf.c:809,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/bin/named/zoneconf.c:813,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/zoneconf.c:816,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/zoneconf.c:817,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: 825
      start: 766
    functionDepth: 1
    functionLinenumber: 766
    functionLinenumberEnd: 825
    functionName: isself
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_listeningon
    - dns_view_gettsig
    - ns_interfacemgr_getaclenv
    - dst_key_compare
    - isc_netaddr_fromsockaddr
    - dns_tsigkey_identity
    - dns_tsigkey_detach
    - dns_acl_allowed
    - 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:849,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:850,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: 857
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 857
    functionName: process_notifysoatype
    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_notifysoatype(dns_notifytype_t ntype, dns_zonetype_t
      ztype,\n\t\t      const char *zname, const cfg_obj_t **maps)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:873,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:875,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:876,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:878,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:881,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:886,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:887,1
    - Dst: dns_zone_setnotifydelay
      Src: /src/bind9/bin/named/zoneconf.c:888,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:888,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:891,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:892,1
    - Dst: dns_zone_setnotifydefer
      Src: /src/bind9/bin/named/zoneconf.c:893,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:893,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:896,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:897,1
    - Dst: dns_zone_setnotifysrc4
      Src: /src/bind9/bin/named/zoneconf.c:898,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:898,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:901,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:902,1
    - Dst: dns_zone_setnotifysrc6
      Src: /src/bind9/bin/named/zoneconf.c:903,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:903,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 5
    argNames:
    - type
    - maps
    - zone
    - raw
    - notifycfg
    argTypes:
    - dns_rdatatype_t
    - cfg_obj_t**
    - dns_zone_t*
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 904
    functionName: process_notify_options
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_zone_setnotifysrc6
    - cfg_obj_asuint32
    - dns_zone_setnotifytype
    - INSIST
    - cfg_obj_assockaddr
    - cfg_map_get
    - dns_zone_setnotifydefer
    - dns_zone_setnotifydelay
    - named_config_get
    - cfg_obj_asboolean
    - dns_zone_setnotifysrc4
    linkageType: ''
    returnType: void
    signature: "void process_notify_options(dns_rdatatype_t type, const cfg_obj_t
      **maps,\n\t\t       dns_zone_t *zone, dns_zone_t *raw, bool notifycfg)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:911,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:915,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:917,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/zoneconf.c:917,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/zoneconf.c:921,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:922,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:923,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:925,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:935,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:948,1
    - Dst: process_notify_options
      Src: /src/bind9/bin/named/zoneconf.c:951,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 3
    argNames:
    - maps
    - zone
    - raw
    argTypes:
    - cfg_obj_t**
    - dns_zone_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 956
      start: 906
    functionDepth: 2
    functionLinenumber: 906
    functionLinenumberEnd: 956
    functionName: process_notify_cfg
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - INSIST
    - process_notify_options
    - cfg_listelt_value
    - named_config_get
    - cfg_obj_asstring
    - strlen
    - dns_rdatatype_fromtext
    - UNCONST
    - cfg_map_getname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t process_notify_cfg(const cfg_obj_t **maps, dns_zone_t
      *zone, dns_zone_t *raw)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:915,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:917,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/zoneconf.c:917,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/zoneconf.c:921,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:922,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/zoneconf.c:923,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:925,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:935,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:948,1
    - Dst: process_notify_options
      Src: /src/bind9/bin/named/zoneconf.c:951,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 913
    functionDepth: 2
    functionLinenumber: 913
    functionLinenumberEnd: 952
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - INSIST
    - process_notify_options
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - dns_rdatatype_fromtext
    - UNCONST
    - cfg_map_getname
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, element)
  - BBCount: 114
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:986,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/zoneconf.c:1004,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/zoneconf.c:1007,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/zoneconf.c:1008,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1012,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1013,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:1017,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1025,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:1029,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1039,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/zoneconf.c:1039,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1039,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1049,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1049,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1051,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/zoneconf.c:1051,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1051,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/zoneconf.c:1053,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/zoneconf.c:1055,1
    - Dst: zonetype_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:1058,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:1060,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:1061,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:1063,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1067,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/zoneconf.c:1069,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1069,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1073,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1075,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:1076,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/named/zoneconf.c:1077,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/zoneconf.c:1078,1
    - Dst: strtoargv
      Src: /src/bind9/bin/named/zoneconf.c:1081,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/zoneconf.c:1083,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1084,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/zoneconf.c:1092,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/zoneconf.c:1093,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/zoneconf.c:1095,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1099,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1101,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1105,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1107,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1116,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1118,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1120,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1128,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: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1139,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1140,1
    - Dst: dns_zone_setmaxrecords
      Src: /src/bind9/bin/named/zoneconf.c:1141,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1141,1
    - Dst: dns_zone_setmaxrecords
      Src: /src/bind9/bin/named/zoneconf.c:1143,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1147,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1148,1
    - Dst: dns_zone_setmaxrrperset
      Src: /src/bind9/bin/named/zoneconf.c:1149,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1149,1
    - Dst: dns_zone_setmaxrrperset
      Src: /src/bind9/bin/named/zoneconf.c:1151,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1155,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1156,1
    - Dst: dns_zone_setmaxtypepername
      Src: /src/bind9/bin/named/zoneconf.c:1157,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1157,1
    - Dst: dns_zone_setmaxtypepername
      Src: /src/bind9/bin/named/zoneconf.c:1159,1
    - Dst: strlen
      Src: /src/bind9/bin/named/zoneconf.c:1164,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/zoneconf.c:1167,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/zoneconf.c:1169,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/zoneconf.c:1171,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/zoneconf.c:1172,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/zoneconf.c:1174,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/zoneconf.c:1176,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1181,1
    - Dst: dns_zone_setjournal
      Src: /src/bind9/bin/named/zoneconf.c:1183,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1183,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1190,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1190,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1199,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1199,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1203,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1203,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1208,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1209,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1210,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1211,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1217,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1218,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1220,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1222,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1225,1
    - Dst: dns_zone_setstatlevel
      Src: /src/bind9/bin/named/zoneconf.c:1228,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/zoneconf.c:1234,1
    - Dst: dns_rdatatypestats_create
      Src: /src/bind9/bin/named/zoneconf.c:1235,1
    - Dst: dns_dnssecsignstats_create
      Src: /src/bind9/bin/named/zoneconf.c:1236,1
    - Dst: dns_zone_setrequeststats
      Src: /src/bind9/bin/named/zoneconf.c:1238,1
    - Dst: dns_zone_setrcvquerystats
      Src: /src/bind9/bin/named/zoneconf.c:1239,1
    - Dst: dns_zone_setdnssecsignstats
      Src: /src/bind9/bin/named/zoneconf.c:1240,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/zoneconf.c:1243,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/bin/named/zoneconf.c:1247,1
    - Dst: dns_stats_detach
      Src: /src/bind9/bin/named/zoneconf.c:1251,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/bin/named/zoneconf.c:1265,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1266,1
    - Dst: dns_zone_setdefaultkasp
      Src: /src/bind9/bin/named/zoneconf.c:1267,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/zoneconf.c:1268,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1271,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1273,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/zoneconf.c:1274,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/bin/named/zoneconf.c:1275,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:1278,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1282,1
    - Dst: dns_zone_setkasp
      Src: /src/bind9/bin/named/zoneconf.c:1284,1
    - Dst: dns_zone_setkasp
      Src: /src/bind9/bin/named/zoneconf.c:1289,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_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1295,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1296,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1299,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1300,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1301,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1302,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1308,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1309,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1311,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1312,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1316,1
    - Dst: process_notifysoatype
      Src: /src/bind9/bin/named/zoneconf.c:1319,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:1322,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:1325,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1328,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/bin/named/zoneconf.c:1336,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1338,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/zoneconf.c:1338,1
    - Dst: dns_zone_setalsonotify
      Src: /src/bind9/bin/named/zoneconf.c:1340,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/bin/named/zoneconf.c:1343,1
    - Dst: dns_zone_setalsonotify
      Src: /src/bind9/bin/named/zoneconf.c:1345,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1349,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1350,1
    - Dst: dns_zone_setparentalsrc4
      Src: /src/bind9/bin/named/zoneconf.c:1351,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1351,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1354,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1355,1
    - Dst: dns_zone_setparentalsrc6
      Src: /src/bind9/bin/named/zoneconf.c:1356,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1356,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: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1361,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1362,1
    - Dst: dns_zone_setisself
      Src: /src/bind9/bin/named/zoneconf.c:1364,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1366,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1366,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1371,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1372,1
    - Dst: dns_zone_setmaxxfrout
      Src: /src/bind9/bin/named/zoneconf.c:1373,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1374,1
    - Dst: cfg_obj_asuint32
      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_setidleout
      Src: /src/bind9/bin/named/zoneconf.c:1380,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1381,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1382,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1385,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1386,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1388,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1390,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/zoneconf.c:1391,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1392,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1393,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1396,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1396,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/zoneconf.c:1400,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1403,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1405,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1408,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1409,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1410,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1411,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1412,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1412,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1413,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1413,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1417,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1417,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1419,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1419,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1427,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1429,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1432,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: cfg_obj_isstring
      Src: /src/bind9/bin/named/zoneconf.c:1439,1
    - Dst: dns_zone_setixfrratio
      Src: /src/bind9/bin/named/zoneconf.c:1440,1
    - Dst: dns_zone_setixfrratio
      Src: /src/bind9/bin/named/zoneconf.c:1442,1
    - Dst: cfg_obj_aspercentage
      Src: /src/bind9/bin/named/zoneconf.c:1442,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1446,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1447,1
    - Dst: dns_zone_setrequestexpire
      Src: /src/bind9/bin/named/zoneconf.c:1448,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1448,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1451,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1452,1
    - Dst: dns_zone_setrequestixfr
      Src: /src/bind9/bin/named/zoneconf.c:1453,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1453,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1456,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1457,1
    - Dst: dns_zone_setrequestixfrmaxdiffs
      Src: /src/bind9/bin/named/zoneconf.c:1458,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1458,1
    - Dst: checknames
      Src: /src/bind9/bin/named/zoneconf.c:1461,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1462,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1463,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1463,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1466,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1466,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1468,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1468,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1471,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1474,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1475,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1477,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1478,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1481,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1482,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1487,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1488,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1489,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1490,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1493,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1494,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1495,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1495,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1497,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1497,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1500,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1502,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1505,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1506,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1507,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1508,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1511,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1512,1
    - Dst: dns_zone_setzeronosoattl
      Src: /src/bind9/bin/named/zoneconf.c:1513,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1513,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1516,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1517,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1518,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1519,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1522,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1525,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1526,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1530,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/zoneconf.c:1533,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1534,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:1535,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1537,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/zoneconf.c:1537,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/zoneconf.c:1539,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1541,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/zoneconf.c:1542,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:1549,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1554,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/zoneconf.c:1555,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/zoneconf.c:1556,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1561,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/bin/named/zoneconf.c:1563,1
    - Dst: process_notify_options
      Src: /src/bind9/bin/named/zoneconf.c:1567,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1569,1
    - Dst: process_notify_cfg
      Src: /src/bind9/bin/named/zoneconf.c:1569,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:1572,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/zoneconf.c:1574,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1578,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1579,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1580,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/zoneconf.c:1581,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1582,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1583,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1586,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1586,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/zoneconf.c:1590,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/zoneconf.c:1592,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/bin/named/zoneconf.c:1596,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/zoneconf.c:1596,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1599,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/zoneconf.c:1601,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/zoneconf.c:1602,1
    - Dst: dns_zone_setmaxttl
      Src: /src/bind9/bin/named/zoneconf.c:1606,1
    - Dst: dns_zone_setmaxttl
      Src: /src/bind9/bin/named/zoneconf.c:1608,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1618,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1618,1
    - Dst: dns_zone_getupdateacl
      Src: /src/bind9/bin/named/zoneconf.c:1623,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/bin/named/zoneconf.c:1624,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/zoneconf.c:1625,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1632,1
    - Dst: configure_zone_ssutable
      Src: /src/bind9/bin/named/zoneconf.c:1632,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/bin/named/zoneconf.c:1644,1
    - Dst: dns_zone_setnsec3param
      Src: /src/bind9/bin/named/zoneconf.c:1645,1
    - Dst: dns_kasp_nsec3flags
      Src: /src/bind9/bin/named/zoneconf.c:1646,1
    - Dst: dns_kasp_nsec3iter
      Src: /src/bind9/bin/named/zoneconf.c:1647,1
    - Dst: dns_kasp_nsec3saltlen
      Src: /src/bind9/bin/named/zoneconf.c:1649,1
    - Dst: dns_zone_setnsec3param
      Src: /src/bind9/bin/named/zoneconf.c:1654,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1657,1
    - Dst: dns_kasp_sigvalidity_dnskey
      Src: /src/bind9/bin/named/zoneconf.c:1659,1
    - Dst: dns_zone_setkeyvalidityinterval
      Src: /src/bind9/bin/named/zoneconf.c:1660,1
    - Dst: dns_kasp_sigvalidity
      Src: /src/bind9/bin/named/zoneconf.c:1662,1
    - Dst: dns_zone_setsigvalidityinterval
      Src: /src/bind9/bin/named/zoneconf.c:1663,1
    - Dst: dns_kasp_sigrefresh
      Src: /src/bind9/bin/named/zoneconf.c:1665,1
    - Dst: dns_zone_setsigresigninginterval
      Src: /src/bind9/bin/named/zoneconf.c:1666,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1670,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1672,1
    - Dst: dns_zone_setkeydirectory
      Src: /src/bind9/bin/named/zoneconf.c:1673,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1677,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1678,1
    - Dst: dns_zone_setsignatures
      Src: /src/bind9/bin/named/zoneconf.c:1679,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1679,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1682,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1683,1
    - Dst: dns_zone_setnodes
      Src: /src/bind9/bin/named/zoneconf.c:1684,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1684,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1687,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1688,1
    - Dst: dns_zone_setprivatetype
      Src: /src/bind9/bin/named/zoneconf.c:1689,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1689,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1692,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1694,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1695,1
    - Dst: dns_zone_setrefreshkeyinterval
      Src: /src/bind9/bin/named/zoneconf.c:1695,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1696,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1700,1
    - Dst: configure_zone_acl
      Src: /src/bind9/bin/named/zoneconf.c:1700,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1711,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/bin/named/zoneconf.c:1715,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1716,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/zoneconf.c:1716,1
    - Dst: dns_zone_setparentals
      Src: /src/bind9/bin/named/zoneconf.c:1718,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/bin/named/zoneconf.c:1720,1
    - Dst: dns_zone_setparentals
      Src: /src/bind9/bin/named/zoneconf.c:1722,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1726,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:1728,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1729,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1735,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1736,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1739,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/zoneconf.c:1748,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/zoneconf.c:1750,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1758,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1760,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1764,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1767,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1768,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1769,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1770,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1773,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1775,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1778,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1780,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1781,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1784,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1785,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1786,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1786,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1789,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1789,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1791,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1791,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1794,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1796,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1797,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1800,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1801,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1802,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1803,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1806,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1807,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1808,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1808,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1811,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1811,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1813,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1813,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1816,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1818,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1819,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1822,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1823,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1824,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1824,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1827,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1827,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1829,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1829,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/zoneconf.c:1832,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1834,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1835,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1839,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1840,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1841,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1841,1
    - Dst: dns_zone_setserialupdatemethod
      Src: /src/bind9/bin/named/zoneconf.c:1842,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:1844,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:1844,1
    - Dst: dns_zone_setserialupdatemethod
      Src: /src/bind9/bin/named/zoneconf.c:1845,1
    - Dst: dns_zone_setserialupdatemethod
      Src: /src/bind9/bin/named/zoneconf.c:1848,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1863,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1866,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/zoneconf.c:1866,1
    - Dst: dns_zone_setxfracl
      Src: /src/bind9/bin/named/zoneconf.c:1867,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/zoneconf.c:1868,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1876,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1878,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/zoneconf.c:1886,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:1886,1
    - Dst: named_config_getremotesdef
      Src: /src/bind9/bin/named/zoneconf.c:1888,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1891,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/bin/named/zoneconf.c:1895,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1897,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/zoneconf.c:1897,1
    - Dst: dns_zone_setprimaries
      Src: /src/bind9/bin/named/zoneconf.c:1899,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/bin/named/zoneconf.c:1903,1
    - Dst: dns_zone_setprimaries
      Src: /src/bind9/bin/named/zoneconf.c:1905,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1912,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1913,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1914,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1916,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1919,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1920,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1922,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1922,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1924,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:1924,1
    - Dst: dns_zone_setminxfrratein
      Src: /src/bind9/bin/named/zoneconf.c:1925,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1930,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1931,1
    - Dst: dns_zone_setmaxxfrin
      Src: /src/bind9/bin/named/zoneconf.c:1932,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1933,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1934,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1937,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1938,1
    - Dst: dns_zone_setidlein
      Src: /src/bind9/bin/named/zoneconf.c:1939,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1940,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1941,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1944,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1945,1
    - Dst: dns_zone_setmaxrefreshtime
      Src: /src/bind9/bin/named/zoneconf.c:1946,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1946,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1949,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1950,1
    - Dst: dns_zone_setminrefreshtime
      Src: /src/bind9/bin/named/zoneconf.c:1951,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1951,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1954,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1955,1
    - Dst: dns_zone_setmaxretrytime
      Src: /src/bind9/bin/named/zoneconf.c:1956,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1956,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1959,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1960,1
    - Dst: dns_zone_setminretrytime
      Src: /src/bind9/bin/named/zoneconf.c:1961,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/zoneconf.c:1961,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1964,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1965,1
    - Dst: dns_zone_setxfrsource4
      Src: /src/bind9/bin/named/zoneconf.c:1966,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1966,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1969,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/zoneconf.c:1970,1
    - Dst: dns_zone_setxfrsource6
      Src: /src/bind9/bin/named/zoneconf.c:1971,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/zoneconf.c:1971,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:1974,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/zoneconf.c:1975,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:1976,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/zoneconf.c:1980,1
    - Dst: configure_staticstub
      Src: /src/bind9/bin/named/zoneconf.c:1980,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/zoneconf.c:1992,1
    CyclomaticComplexity: 176
    EdgeCount: 176
    ICount: 709
    argCount: 7
    argNames:
    - config
    - vconfig
    - zconfig
    - aclctx
    - kasplist
    - zone
    - raw
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - dns_kasplist_t*
    - dns_zone_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 958
    functionDepth: 3
    functionLinenumber: 958
    functionLinenumberEnd: 1995
    functionName: named_zone_configure
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_kasp_nsec3
    - isc_mem_put
    - dns_zone_getmctx
    - INSIST
    - dns_zone_setixfrratio
    - dns_zone_setoption
    - dns_zone_setisself
    - named_config_get
    - named_config_getclass
    - dns_zone_setrequeststats
    - strtoargv
    - isc_stats_detach
    - dns_zone_setnsec3param
    - dns_zone_setclass
    - dns_zone_setstatlevel
    - strcasecmp
    - dns_zone_setmaxrecords
    - process_notify_options
    - dns_ipkeylist_init
    - cfg_obj_asstring
    - dns_zone_settype
    - isc_mem_free
    - dns_kasp_zonemaxttl
    - configure_zone_acl
    - dns_zone_getorigin
    - dns_zone_setkeyvalidityinterval
    - cfg_obj_isstring
    - dns_zone_setmaxrefreshtime
    - dns_name_fromstring
    - dns_zone_setrcvquerystats
    - dns_zone_setsigvalidityinterval
    - dns_zone_setnodes
    - isc_mem_cput
    - dns_kasp_detach
    - cfg_obj_log
    - dns_zone_setrad
    - dns_zone_setxfrsource4
    - cfg_obj_isboolean
    - zonetype_fromconfig
    - process_notifysoatype
    - dns_zone_setfile
    - dns_zone_setidlein
    - dns_zone_setzeronosoattl
    - process_notify_cfg
    - dns_zone_setxfracl
    - dns_zone_setnotifytype
    - configure_zone_ssutable
    - dns_kasplist_find
    - dns_dnssecsignstats_create
    - dns_acl_isinsecure
    - checknames
    - dns_name_issubdomain
    - dns_kasp_sigvalidity_dnskey
    - cfg_obj_asduration
    - isc_log_write
    - dns_ipkeylist_clear
    - CHECK
    - UNREACHABLE
    - dns_zone_getupdateacl
    - ns_server_getoption
    - cfg_obj_assockaddr
    - cfg_obj_isduration
    - dns_kasp_nsec3saltlen
    - dns_zone_setmaxtypepername
    - dns_zone_setmaxretrytime
    - cfg_obj_aspercentage
    - dns_zone_setidleout
    - dns_zone_setmaxttl
    - cfg_map_get
    - dns_zone_setparentals
    - strlen
    - dns_zone_setserialupdatemethod
    - dns_kasp_nsec3flags
    - dns_acl_detach
    - dns_zone_setdefaultkasp
    - named_zone_templateopts
    - isc_statsmulti_detach
    - dns_zone_setminretrytime
    - dns_zone_setrequestixfr
    - dns_kasp_nsec3iter
    - cfg_obj_asuint32
    - dns_name_equal
    - dns_zone_setcheckdstype
    - dns_zone_setjournalsize
    - dns_acl_none
    - dns_kasp_sigvalidity
    - named_config_getremotesdef
    - cfg_obj_asboolean
    - dns_zone_setxfrsource6
    - dns_zone_setdbtype
    - dns_zone_setrefreshkeyinterval
    - dns_zone_setrequestexpire
    - dns_zone_setrequestixfrmaxdiffs
    - dns_zone_setkeydirectory
    - dns_zone_setprivatetype
    - isc_stats_create
    - REQUIRE
    - dns_zone_setparentalsrc4
    - dns_stats_detach
    - dns_zone_setmaxxfrin
    - dns_zone_setdnssecsignstats
    - isc_mem_strdup
    - dns_zone_setkasp
    - dns_zone_setmaxxfrout
    - dns_zone_setminxfrratein
    - cfg_tuple_get
    - snprintf
    - isc_mem_allocate
    - configure_staticstub
    - strcmp
    - dns_kasp_sigrefresh
    - dns_zone_setsignatures
    - dns_rdatatypestats_create
    - cfg_obj_asuint64
    - dns_zone_setalsonotify
    - dns_zone_setsigresigninginterval
    - dns_zone_setminrefreshtime
    - dns_zone_setmaxrrperset
    - dns_zone_setjournal
    - named_config_getipandkeylist
    - dns_zone_setparentalsrc6
    - isc_mem_get
    - dns_zone_getkasp
    - dns_fixedname_initname
    - dns_zone_setprimaries
    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 *aclctx,\n\t\t
      \    dns_kasplist_t *kasplist, dns_zone_t *zone,\n\t\t     dns_zone_t *raw)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/zoneconf.c:2006,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/zoneconf.c:2007,1
    - Dst: dns_sdlz_setdb
      Src: /src/bind9/bin/named/zoneconf.c:2007,1
    - Dst: dns_zone_dlzpostload
      Src: /src/bind9/bin/named/zoneconf.c:2008,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/zoneconf.c:2009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    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: 2011
      start: 2000
    functionDepth: 1
    functionLinenumber: 2000
    functionLinenumberEnd: 2011
    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
    - RETERR
    - 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:2026,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:2027,1
    - Dst: zonetype_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:2033,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:2034,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:2034,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/zoneconf.c:2040,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/zoneconf.c:2042,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/zoneconf.c:2043,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/zoneconf.c:2044,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/zoneconf.c:2047,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/zoneconf.c:2048,1
    - Dst: named_zone_inlinesigning
      Src: /src/bind9/bin/named/zoneconf.c:2052,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:2055,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:2055,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:2059,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:2059,1
    - Dst: zonetype_fromconfig
      Src: /src/bind9/bin/named/zoneconf.c:2064,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:2065,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:2065,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/zoneconf.c:2071,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2073,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/zoneconf.c:2079,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/zoneconf.c:2081,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/zoneconf.c:2081,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: 2087
      start: 2013
    functionDepth: 2
    functionLinenumber: 2013
    functionLinenumberEnd: 2087
    functionName: named_zone_reusable
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_zone_getfile
    - named_config_findopt
    - named_zone_templateopts
    - dns_zone_detach
    - dns_zone_log
    - cfg_tuple_get
    - cfg_obj_asstring
    - ISC_LOG_DEBUG
    - named_zone_inlinesigning
    - zonetype_fromconfig
    - dns_zone_getraw
    - dns_zone_gettype
    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:2102,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/zoneconf.c:2106,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2115,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:2119,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:2128,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/zoneconf.c:2131,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2131,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/bin/named/zoneconf.c:2137,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2137,1
    - Dst: dns_kasp_inlinesigning
      Src: /src/bind9/bin/named/zoneconf.c:2142,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/zoneconf.c:2143,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/zoneconf.c:2150,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/zoneconf.c:2151,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/zoneconf.c:2152,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: 2156
      start: 2089
    functionDepth: 1
    functionLinenumber: 2089
    functionLinenumberEnd: 2156
    functionName: named_zone_inlinesigning
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 1
    functionsReached:
    - strcmp
    - dns_kasp_inlinesigning
    - dns_kasp_detach
    - named_zone_templateopts
    - cfg_tuple_get
    - cfg_map_get
    - cfg_obj_isboolean
    - dns_kasplist_find
    - named_config_get
    - cfg_obj_asstring
    - cfg_obj_asboolean
    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:2163,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:2164,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2166,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2168,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2168,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:2170,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2170,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2171,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2171,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - config
    - zoptions
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2178
    functionName: named_zone_templateopts
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 4
    functionsReached:
    - strcasecmp
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    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:2168,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2168,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/zoneconf.c:2170,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/zoneconf.c:2170,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/zoneconf.c:2171,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/zoneconf.c:2171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2174
      start: 2167
    functionDepth: 1
    functionLinenumber: 2167
    functionLinenumberEnd: 2174
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(templates, e)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_unloadplugins
      Src: /src/bind9/bin/named/zoneconf.c:2193,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:2199,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/zoneconf.c:2203,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/zoneconf.c:2209,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/zoneconf.c:2211,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/bin/named/zoneconf.c:2213,1
    - Dst: dns_zone_sethooktable
      Src: /src/bind9/bin/named/zoneconf.c:2214,1
    - Dst: ns_plugins_create
      Src: /src/bind9/bin/named/zoneconf.c:2217,1
    - Dst: dns_zone_setplugins
      Src: /src/bind9/bin/named/zoneconf.c:2218,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/zoneconf.c:2220,1
    - Dst: cfg_pluginlist_foreach
      Src: /src/bind9/bin/named/zoneconf.c:2220,1
    - Dst: cfg_pluginlist_foreach
      Src: /src/bind9/bin/named/zoneconf.c:2224,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 5
    argNames:
    - zone
    - config
    - toptions
    - zoptions
    - aclctx
    argTypes:
    - dns_zone_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2230
      start: 2180
    functionDepth: 1
    functionLinenumber: 2180
    functionLinenumberEnd: 2230
    functionName: named_zone_loadplugins
    functionSourceFile: /src/bind9/bin/named/zoneconf.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - ns_hooktable_create
    - dns_zone_getmctx
    - cfg_map_get
    - dns_zone_setplugins
    - dns_zone_sethooktable
    - dns_zone_unloadplugins
    - cfg_pluginlist_foreach
    - RETERR
    - ns_plugins_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_zone_loadplugins(dns_zone_t *zone, const cfg_obj_t
      *config,\n\t\t       const cfg_obj_t *toptions, const cfg_obj_t *zoptions,\n\t\t
      \      cfg_aclconfctx_t *aclctx)"
  - 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:
    - UNUSED
    - memmove
    - atoi
    - strchr
    - sendto
    - free
    - memset
    - htons
    - pthread_mutex_unlock
    - inet_pton
    - close
    - RUNTIME_CHECK
    - usleep
    - __AFL_LOOP
    - pthread_mutex_lock
    - pthread_cond_wait
    - FD_ISSET
    - recvfrom
    - FD_ZERO
    - bind
    - FD_SET
    - named_server_flushonshutdown
    - socket
    - malloc
    - raise
    - getenv
    - read
    - isc_loopmgr_shutdown
    - strdup
    - select
    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:
    - UNUSED
    - setsockopt
    - INSIST
    - atoi
    - strchr
    - write
    - free
    - memset
    - htons
    - pthread_mutex_unlock
    - inet_pton
    - close
    - RUNTIME_CHECK
    - usleep
    - pthread_mutex_lock
    - pthread_cond_wait
    - connect
    - named_server_flushonshutdown
    - socket
    - malloc
    - read
    - isc_loopmgr_shutdown
    - strdup
    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:
    - pthread_mutex_unlock
    - raise
    - getenv
    - RUNTIME_CHECK
    - pthread_cond_signal
    - isc_loopmgr_shutdown
    - pthread_mutex_lock
    - 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:
    - getenv
    - pthread_create
    - RUNTIME_CHECK
    - pthread_mutex_init
    - pthread_cond_init
    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: 185
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 185
    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: 197
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 197
    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: 209
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 209
    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: 217
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 217
    functionName: CHECKFATAL
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKFATAL(op, msg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:507,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:510,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:514,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:521,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:535,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 7
    argNames:
    - vconfig
    - config
    - aclname
    - acltuplename
    - aclctx
    - mctx
    - aclp
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    - char*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    - dns_acl_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 541
    functionName: configure_view_acl
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_map_get
    - cfg_acl_fromconfig
    - named_config_get
    - dns_acl_detach
    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 char *aclname, const char *acltuplename,\n\t\t   cfg_aclconfctx_t
      *aclctx, isc_mem_t *mctx,\n\t\t   dns_acl_t **aclp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_nametree_detach
      Src: /src/bind9/bin/named/server.c:558,1
    - Dst: dns_nametree_create
      Src: /src/bind9/bin/named/server.c:560,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:563,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:567,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:574,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:583,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:584,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:589,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:591,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:592,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:593,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:593,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:594,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:594,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:595,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:595,1
    - Dst: dns_nametree_add
      Src: /src/bind9/bin/named/server.c:596,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:598,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:600,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/bin/named/server.c:608,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: 610
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 610
    functionName: configure_view_nametable
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_nametree_detach
    - cfg_obj_log
    - cfg_obj_isvoid
    - dns_name_fromtext
    - cfg_tuple_get
    - dns_nametree_create
    - cfg_map_get
    - dns_nametree_add
    - cfg_listelt_value
    - named_config_get
    - cfg_obj_asstring
    - dns_fixedname_initname
    - strlen
    - isc_buffer_add
    - CHECK
    - isc_buffer_constinit
    - isc_result_totext
    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:591,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:592,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:593,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:593,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:594,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:594,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:595,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:595,1
    - Dst: dns_nametree_add
      Src: /src/bind9/bin/named/server.c:596,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:598,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 603
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_name_fromtext
    - dns_nametree_add
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - CHECK
    - isc_buffer_constinit
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, element)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:638,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:639,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:642,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:642,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:645,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:645,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:648,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:648,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:650,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:650,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:653,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:654,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:654,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:655,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:655,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:656,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:656,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:659,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:659,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:661,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:664,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:667,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:669,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:672,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:676,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:680,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:681,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:703,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:706,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:709,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:712,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:718,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:718,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:719,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/server.c:719,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/server.c:720,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/bin/named/server.c:724,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/server.c:727,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:728,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:731,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/named/server.c:731,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:734,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/bin/named/server.c:734,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:741,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:744,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:747,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:754,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:754,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:755,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:755,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/server.c:756,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:761,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:766,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:771,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:777,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:784,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:789,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:793,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:798,1
    - Dst: memmove
      Src: /src/bind9/bin/named/server.c:802,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/bin/named/server.c:826,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/named/server.c:836,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:837,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:843,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 147
    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: 850
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 850
    functionName: ta_fromconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_hex_decodestring
    - dst_algorithm_supported
    - memmove
    - isc_buffer_add
    - strlen
    - CHECKM
    - dns_ds_fromkeyrdata
    - dns_name_fromtext
    - strcasecmp
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_buffer_init
    - cfg_obj_asuint32
    - isc_base64_decodestring
    - CHECK
    - UNREACHABLE
    - CLEANUP
    - cfg_obj_log
    - dst_algorithm_fromdata
    - dns_rdata_fromstruct
    - dns_fixedname_initname
    - isc_buffer_usedregion
    - isc_buffer_constinit
    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:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 852
    functionDepth: 1
    functionLinenumber: 852
    functionLinenumberEnd: 857
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ta_fromconfig
      Src: /src/bind9/bin/named/server.c:882,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:890,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:890,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:891,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:891,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:892,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:893,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:893,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:902,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:904,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:912,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:914,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:923,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/bin/named/server.c:932,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:935,1
    - Dst: dns_keytable_add
      Src: /src/bind9/bin/named/server.c:949,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    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: 954
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 954
    functionName: process_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_name_fromtext
    - dns_name_equal
    - ta_fromconfig
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - RETERR
    - dns_keytable_add
    - isc_buffer_constinit
    - dns_resolver_algorithm_supported
    - isc_result_totext
    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:968,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/bin/named/server.c:968,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:971,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:974,1
    - Dst: process_key
      Src: /src/bind9/bin/named/server.c:974,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:974,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:981,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: 984
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 984
    functionName: load_view_keys
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_keytable_detach
    - process_key
    - cfg_listelt_value
    - dns_view_getsecroots
    - CHECK
    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:971,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:974,1
    - Dst: process_key
      Src: /src/bind9/bin/named/server.c:974,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 970
    functionDepth: 3
    functionLinenumber: 970
    functionLinenumberEnd: 977
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - process_key
    - CHECK
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(keys, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:974,1
    - Dst: process_key
      Src: /src/bind9/bin/named/server.c:974,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 973
    functionDepth: 3
    functionLinenumber: 973
    functionLinenumberEnd: 976
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - process_key
    - CHECK
    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:995,1
    - Dst: dns_keytable_find
      Src: /src/bind9/bin/named/server.c:1000,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/bin/named/server.c:1003,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:1006,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1010
    functionName: keyloaded
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_keytable_find
    - dns_view_getsecroots
    - dns_keynode_detach
    - dns_keytable_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:1033,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1040,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1042,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1049,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1051,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/bin/named/server.c:1059,1
    - Dst: dns_view_initntatable
      Src: /src/bind9/bin/named/server.c:1060,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1072,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1078,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1078,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1082,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1092,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1097,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1097,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1102,1
    - Dst: load_view_keys
      Src: /src/bind9/bin/named/server.c:1102,1
    - Dst: keyloaded
      Src: /src/bind9/bin/named/server.c:1106,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1107,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:1110,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1115,1
    - Dst: load_view_keys
      Src: /src/bind9/bin/named/server.c:1115,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1116,1
    - Dst: load_view_keys
      Src: /src/bind9/bin/named/server.c:1116,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:1123,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1124,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/named/server.c:1126,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1129,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1132,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/bin/named/server.c:1135,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1136,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:1141,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1146,1
    - Dst: add_keydata_zone
      Src: /src/bind9/bin/named/server.c:1146,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 68
    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: 1151
      start: 1018
    functionDepth: 4
    functionLinenumber: 1018
    functionLinenumberEnd: 1151
    functionName: configure_view_dnsseckeys
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - load_view_keys
    - dns_view_initsecroots
    - cfg_tuple_get
    - cfg_map_get
    - isc_result_totext
    - add_keydata_zone
    - isc_log_write
    - named_config_get
    - cfg_obj_asstring
    - isc_file_isdirwritable
    - isc_file_isdirectory
    - dns_view_initntatable
    - CHECK
    - CLEANUP
    - keyloaded
    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:1166,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1167,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:1170,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1171,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1174,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:1177,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1189,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1190,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/server.c:1190,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1191,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:1191,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/server.c:1199,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/server.c:1202,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1205,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/named/server.c:1214,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/named/server.c:1221,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/named/server.c:1224,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/named/server.c:1227,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/server.c:1230,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1231,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1234,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: 1241
      start: 1156
    functionDepth: 1
    functionLinenumber: 1156
    functionLinenumberEnd: 1241
    functionName: get_view_querysource_dispatch
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_any6
    - cfg_obj_isvoid
    - INSIST
    - cfg_obj_assockaddr
    - isc_sockaddr_getport
    - isc_net_probeipv4
    - isc_net_probeipv6
    - dns_dispatch_createudp
    - isc_sockaddr_format
    - isc_sockaddr_equal
    - isc_result_totext
    - isc_log_write
    - named_config_get
    - isc_sockaddr_pf
    - UNREACHABLE
    - isc_sockaddr_any
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1254,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:1254,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1254,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1256,1
    - Dst: named_config_gettype
      Src: /src/bind9/bin/named/server.c:1256,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1256,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1259,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:1260,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1261,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1265,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1266,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1266,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1267,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1267,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/server.c:1268,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1269,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1269,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:1269,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1272,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1273,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:1273,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1274,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1275,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1276,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1280,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1282,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1285,1
    - Dst: dns_order_add
      Src: /src/bind9/bin/named/server.c:1294,1
    - Dst: dns_order_add
      Src: /src/bind9/bin/named/server.c:1297,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:1297,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 2
    argNames:
    - order
    - ent
    argTypes:
    - dns_order_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1300
    functionName: configure_order
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_order_add
    - strcmp
    - cfg_obj_log
    - dns_name_fromtext
    - INSIST
    - cfg_tuple_get
    - cfg_obj_isstring
    - strcasecmp
    - dns_fixedname_name
    - cfg_obj_asstring
    - strlen
    - RETERR
    - isc_buffer_add
    - named_config_getclass
    - dns_fixedname_init
    - isc_buffer_constinit
    - named_config_gettype
    - UNREACHABLE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_order(dns_order_t *order, const cfg_obj_t *ent)
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/bin/named/server.c:1310,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:1310,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1312,1
    - Dst: dns_peer_newprefix
      Src: /src/bind9/bin/named/server.c:1312,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1315,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1317,1
    - Dst: dns_peer_setbogus
      Src: /src/bind9/bin/named/server.c:1317,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1317,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1321,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1323,1
    - Dst: dns_peer_setprovideixfr
      Src: /src/bind9/bin/named/server.c:1323,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1323,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1327,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1329,1
    - Dst: dns_peer_setrequestexpire
      Src: /src/bind9/bin/named/server.c:1329,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1329,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1333,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1335,1
    - Dst: dns_peer_setrequestixfr
      Src: /src/bind9/bin/named/server.c:1335,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1335,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1339,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1341,1
    - Dst: dns_peer_setrequestixfrmaxdiffs
      Src: /src/bind9/bin/named/server.c:1341,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1342,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1346,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1348,1
    - Dst: dns_peer_setrequestnsid
      Src: /src/bind9/bin/named/server.c:1348,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1348,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1352,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1354,1
    - Dst: dns_peer_setrequestzoneversion
      Src: /src/bind9/bin/named/server.c:1354,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1355,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1359,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1361,1
    - Dst: dns_peer_setsendcookie
      Src: /src/bind9/bin/named/server.c:1361,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1361,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1365,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1367,1
    - Dst: dns_peer_setrequirecookie
      Src: /src/bind9/bin/named/server.c:1367,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1367,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1371,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1373,1
    - Dst: dns_peer_setsupportedns
      Src: /src/bind9/bin/named/server.c:1373,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1373,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1377,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1379,1
    - Dst: dns_peer_setudpsize
      Src: /src/bind9/bin/named/server.c:1379,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1380,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1384,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1386,1
    - Dst: dns_peer_setednsversion
      Src: /src/bind9/bin/named/server.c:1386,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1387,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1391,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1393,1
    - Dst: dns_peer_setmaxudp
      Src: /src/bind9/bin/named/server.c:1393,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1394,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1398,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1400,1
    - Dst: dns_peer_setpadding
      Src: /src/bind9/bin/named/server.c:1400,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1401,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1405,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1407,1
    - Dst: dns_peer_setforcetcp
      Src: /src/bind9/bin/named/server.c:1407,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1407,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1411,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1413,1
    - Dst: dns_peer_settcpkeepalive
      Src: /src/bind9/bin/named/server.c:1413,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1413,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1417,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1419,1
    - Dst: dns_peer_settransfers
      Src: /src/bind9/bin/named/server.c:1419,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:1419,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1423,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1425,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1426,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1427,1
    - Dst: dns_peer_settransferformat
      Src: /src/bind9/bin/named/server.c:1427,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:1429,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1430,1
    - Dst: dns_peer_settransferformat
      Src: /src/bind9/bin/named/server.c:1430,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:1432,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1437,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1439,1
    - Dst: dns_peer_setkeybycharp
      Src: /src/bind9/bin/named/server.c:1439,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1439,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1444,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1446,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1449,1
    - Dst: dns_peer_settransfersource
      Src: /src/bind9/bin/named/server.c:1449,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1450,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1455,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1457,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1460,1
    - Dst: dns_peer_setnotifysource
      Src: /src/bind9/bin/named/server.c:1460,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1460,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1465,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:1467,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1470,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/server.c:1470,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1471,1
    - Dst: dns_peer_setquerysource
      Src: /src/bind9/bin/named/server.c:1471,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:1471,1
    - Dst: dns_peer_detach
      Src: /src/bind9/bin/named/server.c:1478,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 139
    argCount: 3
    argNames:
    - cpeer
    - mctx
    - peerp
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - dns_peer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1480
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1480
    functionName: configure_peer
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_peer_setsupportedns
    - INSIST
    - cfg_map_get
    - dns_peer_settransfers
    - RETERR
    - dns_peer_setquerysource
    - dns_peer_setprovideixfr
    - dns_peer_setnotifysource
    - dns_peer_setrequestexpire
    - cfg_obj_asnetprefix
    - dns_peer_setednsversion
    - dns_peer_setkeybycharp
    - dns_peer_setrequestnsid
    - dns_peer_setrequestzoneversion
    - strcasecmp
    - dns_peer_settransfersource
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - dns_peer_setmaxudp
    - dns_peer_setudpsize
    - dns_peer_setrequirecookie
    - cfg_obj_asuint32
    - dns_peer_detach
    - dns_peer_setpadding
    - dns_peer_setrequestixfr
    - dns_peer_newprefix
    - cfg_obj_asboolean
    - CHECK
    - UNREACHABLE
    - cfg_map_getname
    - dns_peer_settransferformat
    - dns_peer_setsendcookie
    - dns_peer_settcpkeepalive
    - cfg_obj_assockaddr
    - dns_peer_setrequestixfrmaxdiffs
    - dns_peer_setbogus
    - 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:1490,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1490,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1491,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1491,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1493,1
    - Dst: dns_dyndb_load
      Src: /src/bind9/bin/named/server.c:1495,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1495,1
    - Dst: cfg_obj_file
      Src: /src/bind9/bin/named/server.c:1496,1
    - Dst: cfg_obj_line
      Src: /src/bind9/bin/named/server.c:1496,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1501,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1504,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: 1507
      start: 1482
    functionDepth: 1
    functionLinenumber: 1482
    functionLinenumberEnd: 1507
    functionName: configure_dyndb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - isc_result_totext
    - cfg_obj_line
    - isc_log_write
    - cfg_obj_asstring
    - dns_dyndb_load
    - cfg_obj_file
    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:1518,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1519,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1519,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1520,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1520,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1521,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1521,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1522,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1522,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1524,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:1529,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1529,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1529,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1530,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/named/server.c:1531,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1533,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1533,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1535,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1537,1
    - Dst: dns_resolver_disable_algorithm
      Src: /src/bind9/bin/named/server.c:1537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - disabled
    - resolver
    argTypes:
    - cfg_obj_t*
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1541
    functionName: disable_algorithms
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_disable_algorithm
    - cfg_obj_log
    - dns_name_fromtext
    - cfg_tuple_get
    - cfg_listelt_value
    - dst_algorithm_fromtext
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - CHECK
    - UNCONST
    - 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:1529,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1529,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1529,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1530,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/named/server.c:1531,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1533,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1533,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1535,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1537,1
    - Dst: dns_resolver_disable_algorithm
      Src: /src/bind9/bin/named/server.c:1537,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1525
    functionDepth: 1
    functionLinenumber: 1525
    functionLinenumberEnd: 1538
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_disable_algorithm
    - cfg_obj_log
    - cfg_listelt_value
    - dst_algorithm_fromtext
    - cfg_obj_asstring
    - strlen
    - CHECK
    - UNCONST
    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:1552,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1553,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1553,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1554,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1554,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1555,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1555,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1556,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1556,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1558,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:1563,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1563,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1563,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1564,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/named/server.c:1567,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1569,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1569,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1571,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1573,1
    - Dst: dns_resolver_disable_ds_digest
      Src: /src/bind9/bin/named/server.c:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 2
    argNames:
    - disabled
    - resolver
    argTypes:
    - cfg_obj_t*
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1543
    functionDepth: 1
    functionLinenumber: 1543
    functionLinenumberEnd: 1577
    functionName: disable_ds_digests
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_resolver_disable_ds_digest
    - dns_name_fromtext
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - dns_dsdigest_fromtext
    - CHECK
    - UNCONST
    - 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:1563,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1563,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1563,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1564,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/named/server.c:1567,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1569,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1569,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1571,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1573,1
    - Dst: dns_resolver_disable_ds_digest
      Src: /src/bind9/bin/named/server.c:1573,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1574
      start: 1559
    functionDepth: 1
    functionLinenumber: 1559
    functionLinenumberEnd: 1574
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_resolver_disable_ds_digest
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - dns_dsdigest_fromtext
    - CHECK
    - UNCONST
    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:1588,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1591,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1592,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1593,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1593,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1594,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1594,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1595,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:1596,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - disablelist
    - zonename
    argTypes:
    - cfg_obj_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1579
    functionDepth: 1
    functionLinenumber: 1579
    functionLinenumberEnd: 1602
    functionName: on_disable_list
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_name_equal
    - RUNTIME_CHECK
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - 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:1591,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1592,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1593,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1593,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1594,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1594,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1595,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:1596,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1590
    functionDepth: 1
    functionLinenumber: 1590
    functionLinenumberEnd: 1600
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_name_equal
    - RUNTIME_CHECK
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - 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:1611,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1617,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:1618,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:1630,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: 1632
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1632
    functionName: check_dbtype
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getdbtype
    - strcmp
    - CLEANUP
    - 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:1638,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:1642,1
    - Dst: dns_zone_setrequeststats
      Src: /src/bind9/bin/named/server.c:1644,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:1646,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: 1648
      start: 1634
    functionDepth: 1
    functionLinenumber: 1634
    functionLinenumberEnd: 1648
    functionName: setquerystats
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stats_create
    - isc_stats_detach
    - dns_zone_setstatlevel
    - dns_zone_setrequeststats
    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:1653,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1655,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:1655,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: 1662
      start: 1650
    functionDepth: 1
    functionLinenumber: 1650
    functionLinenumberEnd: 1662
    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:1674,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: 1681
      start: 1664
    functionDepth: 1
    functionLinenumber: 1664
    functionLinenumberEnd: 1681
    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:1691,1
    - Dst: dns_cache_getservestalettl
      Src: /src/bind9/bin/named/server.c:1699,1
    - Dst: dns_cache_getservestalerefresh
      Src: /src/bind9/bin/named/server.c:1700,1
    - Dst: dns_cache_getcachesize
      Src: /src/bind9/bin/named/server.c:1702,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: 1708
      start: 1683
    functionDepth: 2
    functionLinenumber: 1683
    functionLinenumberEnd: 1708
    functionName: cache_sharable
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_cache_getservestalettl
    - cache_reusable
    - dns_cache_getcachesize
    - dns_cache_getservestalerefresh
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:1715,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:1718,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1719,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:1719,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:1721,1
    - Dst: named_zone_configure_writeable_dlz
      Src: /src/bind9/bin/named/server.c:1723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - view
    - dlzdb
    - zone
    argTypes:
    - dns_view_t*
    - dns_dlzdb_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1713
    functionDepth: 2
    functionLinenumber: 1713
    functionLinenumberEnd: 1724
    functionName: dlzconfigure_callback
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - named_zone_configure_writeable_dlz
    - dns_zone_setstats
    - RETERR
    - dns_zonemgr_managezone
    - dns_zone_setclass
    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:1742,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:1745,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:1756,1
    - Dst: strlcat
      Src: /src/bind9/bin/named/server.c:1758,1
    - Dst: strlcat
      Src: /src/bind9/bin/named/server.c:1760,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:1771,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:1772,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1772,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:1773,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:1773,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1774,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:1774,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/named/server.c:1775,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:1776,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:1777,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1778,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:1778,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:1779,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:1780,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:1781,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/server.c:1782,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:1784,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:1787,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:1789,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:1790,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:1791,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:1792,1
    - Dst: setquerystats
      Src: /src/bind9/bin/named/server.c:1793,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:1794,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:1794,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:1795,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:1801,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    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: 1804
      start: 1726
    functionDepth: 2
    functionLinenumber: 1726
    functionLinenumberEnd: 1804
    functionName: dns64_reverse
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_zone_setoption
    - setquerystats
    - isc_buffer_add
    - strlen
    - dns_zone_setview
    - dns_zone_setqueryacl
    - dns_zone_setclass
    - dns_zone_setqueryonacl
    - dns_zone_setnotifytype
    - dns_name_fromtext
    - snprintf
    - dns_zone_setstats
    - dns_zone_settype
    - dns_zone_create
    - strcmp
    - dns_zone_setcheckdstype
    - isc_log_write
    - dns_zonemgr_managezone
    - dns_view_addzone
    - CHECK
    - dns_zone_setdbtype
    - strlcat
    - dns_zone_setorigin
    - dns_fixedname_initname
    - isc_buffer_constinit
    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:1811,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1814,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: 1818
      start: 1806
    functionDepth: 1
    functionLinenumber: 1806
    functionLinenumberEnd: 1818
    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:1825,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1828,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: 1831
      start: 1820
    functionDepth: 1
    functionLinenumber: 1820
    functionLinenumberEnd: 1831
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:1844,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:1846,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1849,1
    - Dst: dns_rpz_new_zone
      Src: /src/bind9/bin/named/server.c:1855,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1857,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:1859,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1863,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:1864,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1865,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:1867,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:1869,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1872,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:1873,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1873,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:1874,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:1876,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1879,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:1880,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:1881,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1889,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:1890,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:1891,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1901,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1901,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1902,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:1902,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1904,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1905,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1910,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:1913,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1919,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1923,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:1923,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1925,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:1925,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1927,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:1927,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1929,1
    - Dst: configure_rpz_name2
      Src: /src/bind9/bin/named/server.c:1929,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1931,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:1931,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1933,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:1933,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1935,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:1935,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1938,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:1939,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1942,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1942,1
    - Dst: dns_rpz_str2policy
      Src: /src/bind9/bin/named/server.c:1943,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1944,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1946,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1946,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:1947,1
    - Dst: configure_rpz_name
      Src: /src/bind9/bin/named/server.c:1947,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:1952,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1957,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:1958,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:1961,1
    - Dst: dns_rpz_str2ede
      Src: /src/bind9/bin/named/server.c:1962,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:1963,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:1969,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:1970,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:1973,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 101
    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: 1980
      start: 1833
    functionDepth: 2
    functionLinenumber: 1833
    functionLinenumberEnd: 1980
    functionName: configure_rpz_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rpz_str2policy
    - INSIST
    - configure_rpz_name2
    - RETERR
    - cfg_obj_isvoid
    - cfg_tuple_get
    - cfg_listelt_value
    - DNS_RPZ_ZBIT
    - dns_rpz_new_zone
    - cfg_obj_asstring
    - configure_rpz_name
    - dns_rpz_str2ede
    - isc_result_totext
    - cfg_obj_asduration
    - dns_name_equal
    - cfg_obj_isstring
    - cfg_obj_asboolean
    - cfg_obj_log
    - cfg_obj_isduration
    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:2000,1
    - Dst: cfg_list_length
      Src: /src/bind9/bin/named/server.c:2001,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2006,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2007,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2008,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2013,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2014,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2015,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:2019,1
    - Dst: dns_rpz_new_zones
      Src: /src/bind9/bin/named/server.c:2019,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:2025,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2028,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2029,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2029,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2035,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2036,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2036,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2042,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2043,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2043,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2049,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2050,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2051,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2056,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2057,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2058,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2063,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:2064,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2065,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2070,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2071,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2071,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2077,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2078,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2078,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2084,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2085,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2085,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2091,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:2092,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2092,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:2101,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:2119,1
    - Dst: configure_rpz_zone
      Src: /src/bind9/bin/named/server.c:2127,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2133,1
    - Dst: memcmp
      Src: /src/bind9/bin/named/server.c:2144,1
    - Dst: dns_rpz_zones_shutdown
      Src: /src/bind9/bin/named/server.c:2150,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/bin/named/server.c:2151,1
    - Dst: dns_rpz_zones_attach
      Src: /src/bind9/bin/named/server.c:2160,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/bin/named/server.c:2161,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2165,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2171,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 134
    argCount: 5
    argNames:
    - view
    - pview
    - rpz_obj
    - old_rpz_okp
    - first_time
    argTypes:
    - dns_view_t*
    - dns_view_t*
    - cfg_obj_t*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 1982
    functionDepth: 3
    functionLinenumber: 1982
    functionLinenumberEnd: 2175
    functionName: configure_rpz
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - INSIST
    - RETERR
    - cfg_obj_isuint32
    - cfg_list_length
    - dns_rpz_zones_detach
    - cfg_obj_isvoid
    - dns_rpz_new_zones
    - cfg_tuple_get
    - dns_view_detach
    - configure_rpz_zone
    - memcmp
    - dns_viewlist_find
    - cfg_obj_asduration
    - cfg_obj_asuint32
    - cfg_obj_asboolean
    - dns_rpz_zones_attach
    - cfg_obj_log
    - ns_server_getoption
    - cfg_obj_isduration
    - dns_rpz_zones_shutdown
    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, bool first_time)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:2119,1
    - Dst: configure_rpz_zone
      Src: /src/bind9/bin/named/server.c:2127,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2118
    functionDepth: 3
    functionLinenumber: 2118
    functionLinenumberEnd: 2137
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_detach
    - configure_rpz_zone
    - INSIST
    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:2192,1
    - Dst: isc_loop_get
      Src: /src/bind9/bin/named/server.c:2192,1
    - Dst: isc_tid
      Src: /src/bind9/bin/named/server.c:2192,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2196,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:2198,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:2199,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/server.c:2200,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/bin/named/server.c:2202,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2206,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2215,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2221,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2225,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:2229,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2230,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/bin/named/server.c:2239,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2242,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2251,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2260,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/bin/named/server.c:2264,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2265,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2275,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:2288,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:2291,1
    - Dst: dns_catz_generate_zonecfg
      Src: /src/bind9/bin/named/server.c:2294,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:2296,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2304,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2309,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:2311,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:2313,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:2317,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2318,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2318,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:2319,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:2320,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:2324,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:2324,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:2327,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:2328,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:2329,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:2334,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:2335,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2338,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2346,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2346,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:2352,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2355,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2359,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:2362,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:2363,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:2364,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:2368,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/bin/named/server.c:2373,1
    - Dst: dns_zone_set_parentcatz
      Src: /src/bind9/bin/named/server.c:2374,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:2378,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2381,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:2384,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/bin/named/server.c:2387,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/bin/named/server.c:2389,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/bin/named/server.c:2390,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/bin/named/server.c:2391,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:2392,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 111
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2393
    functionName: catz_addmodzone_cb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - dns_zone_load
    - isc_buffer_usedlength
    - isc_loop_shuttingdown
    - cfg_map_get
    - dns_view_thaw
    - isc_mem_putanddetach
    - dns_zone_set_parentcatz
    - RUNTIME_CHECK
    - cfg_listelt_value
    - dns_fwdtable_find
    - isc_loopmgr_resume
    - dns_zone_getadded
    - dns_zone_get_parentcatz
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_result_totext
    - dns_view_findzone
    - dns_view_delzone
    - dns_db_detach
    - dns_view_weakdetach
    - isc_loop_get
    - cfg_parse_buffer
    - isc_tid
    - isc_log_write
    - dns_catz_entry_detach
    - CHECK
    - dns_zone_getdb
    - configure_zone
    - CLEANUP
    - dns_catz_entry_getname
    - cfg_list_first
    - dns_name_totext
    - cfg_obj_detach
    - dns_catz_zone_detach
    - dns_catz_generate_zonecfg
    - dns_view_freeze
    - dns_zone_setadded
    - isc_buffer_base
    - isc_loopmgr_pause
    - dns_zone_unload
    - cfg_obj_islist
    - dns_forwarders_detach
    - isc_buffer_free
    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:2404,1
    - Dst: isc_loop_get
      Src: /src/bind9/bin/named/server.c:2404,1
    - Dst: isc_tid
      Src: /src/bind9/bin/named/server.c:2404,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:2408,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:2410,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2410,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2412,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2412,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2415,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:2423,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2424,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/bin/named/server.c:2432,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2433,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:2442,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:2443,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:2444,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:2447,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:2450,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:2452,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:2453,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:2455,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2459,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:2465,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2468,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/bin/named/server.c:2470,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/bin/named/server.c:2471,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/bin/named/server.c:2472,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:2473,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2474
      start: 2395
    functionDepth: 1
    functionLinenumber: 2395
    functionLinenumberEnd: 2474
    functionName: catz_delzone_cb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getfile
    - dns_zone_detach
    - isc_loop_shuttingdown
    - isc_mem_putanddetach
    - dns_zone_getjournal
    - isc_file_remove
    - dns_name_format
    - isc_loopmgr_resume
    - dns_zone_getadded
    - dns_zone_get_parentcatz
    - dns_view_findzone
    - dns_view_delzone
    - dns_db_detach
    - dns_view_weakdetach
    - isc_loop_get
    - isc_tid
    - isc_log_write
    - dns_catz_entry_detach
    - dns_zone_getdb
    - dns_catz_entry_getname
    - dns_catz_zone_detach
    - isc_loopmgr_pause
    - dns_zone_unload
    linkageType: ''
    returnType: void
    signature: void catz_delzone_cb(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:2491,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:2492,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:2495,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/server.c:2500,1
    - Dst: dns_catz_entry_attach
      Src: /src/bind9/bin/named/server.c:2502,1
    - Dst: dns_catz_zone_attach
      Src: /src/bind9/bin/named/server.c:2503,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/bin/named/server.c:2504,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:2506,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:2506,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: 2509
      start: 2476
    functionDepth: 1
    functionLinenumber: 2476
    functionLinenumberEnd: 2509
    functionName: catz_run
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_view_weakattach
    - isc_mem_get
    - isc_loop_main
    - dns_catz_zone_attach
    - isc_async_run
    - dns_catz_entry_attach
    - UNREACHABLE
    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:2514,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: 2515
      start: 2511
    functionDepth: 2
    functionLinenumber: 2511
    functionLinenumberEnd: 2515
    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:2520,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: 2521
      start: 2517
    functionDepth: 2
    functionLinenumber: 2517
    functionLinenumberEnd: 2521
    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:2526,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: 2527
      start: 2523
    functionDepth: 2
    functionLinenumber: 2523
    functionLinenumberEnd: 2527
    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:2535,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2536,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:2541,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:2542,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2544,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: 2545
      start: 2529
    functionDepth: 1
    functionLinenumber: 2529
    functionLinenumberEnd: 2545
    functionName: catz_changeview
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_view_findzone
    - dns_catz_entry_getname
    - dns_zone_detach
    - dns_view_addzone
    - dns_zone_setview
    linkageType: ''
    returnType: void
    signature: void catz_changeview(dns_catz_entry_t *entry, void *arg1, void *arg2)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:2560,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:2561,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2561,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/server.c:2563,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:2565,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/bin/named/server.c:2565,1
    - Dst: dns_catz_generate_zonecfg
      Src: /src/bind9/bin/named/server.c:2571,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:2573,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:2575,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2582,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2586,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2590,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2590,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:2591,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:2592,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:2594,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:2594,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:2596,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:2601,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2605,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:2611,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:2614,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 3
    argNames:
    - entry
    - arg1
    - arg2
    argTypes:
    - dns_catz_entry_t*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2615
    functionName: catz_reconfigure
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - cfg_map_get
    - cfg_listelt_value
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_result_totext
    - dns_view_findzone
    - cfg_parse_buffer
    - isc_log_write
    - CHECK
    - configure_zone
    - CLEANUP
    - dns_catz_entry_getname
    - cfg_list_first
    - dns_name_totext
    - cfg_obj_detach
    - dns_catz_generate_zonecfg
    - cfg_obj_islist
    - isc_buffer_free
    linkageType: ''
    returnType: void
    signature: void catz_reconfigure(dns_catz_entry_t *entry, void *arg1, void *arg2)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:2628,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/bin/named/server.c:2629,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:2630,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2632,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2632,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:2634,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:2636,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2641,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2646,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/bin/named/server.c:2647,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2648,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/bin/named/server.c:2650,1
    - Dst: named_config_getipandkeylist
      Src: /src/bind9/bin/named/server.c:2651,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2654,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2656,1
    - Dst: dns_catz_zone_add
      Src: /src/bind9/bin/named/server.c:2661,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2663,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:2665,1
    - Dst: dns_catz_zone_prereconfig
      Src: /src/bind9/bin/named/server.c:2669,1
    - Dst: dns_catz_zones_get_udata
      Src: /src/bind9/bin/named/server.c:2675,1
    - Dst: dns_catz_zone_for_each_entry2
      Src: /src/bind9/bin/named/server.c:2683,1
    - Dst: dns_catz_zone_for_each_entry2
      Src: /src/bind9/bin/named/server.c:2685,1
    - Dst: dns_catz_zone_resetdefoptions
      Src: /src/bind9/bin/named/server.c:2691,1
    - Dst: dns_catz_zone_getdefoptions
      Src: /src/bind9/bin/named/server.c:2692,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2702,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:2703,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2704,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2707,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:2708,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:2709,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:2710,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/named/server.c:2711,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:2712,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:2721,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/bin/named/server.c:2722,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:2723,1
    - Dst: dns_catz_zone_postreconfig
      Src: /src/bind9/bin/named/server.c:2726,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/server.c:2729,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/bin/named/server.c:2731,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 68
    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: 2735
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2735
    functionName: configure_catz_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - dns_catz_zone_prereconfig
    - isc_file_isdirectory
    - dns_catz_zone_for_each_entry2
    - dns_name_init
    - cfg_tuple_get
    - dns_catz_zone_getdefoptions
    - cfg_listelt_value
    - dns_ipkeylist_init
    - cfg_obj_asstring
    - isc_result_totext
    - cfg_obj_asduration
    - dns_catz_zone_postreconfig
    - dns_name_equal
    - cfg_obj_isstring
    - dns_ipkeylist_clear
    - dns_catz_zone_add
    - cfg_obj_istuple
    - cfg_obj_asboolean
    - dns_name_fromstring
    - dns_catz_zone_resetdefoptions
    - dns_catz_zones_get_udata
    - cfg_obj_log
    - named_config_getipandkeylist
    - cfg_obj_isboolean
    - cfg_obj_isduration
    - dns_name_free
    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:2753,1
    - Dst: cfg_list_length
      Src: /src/bind9/bin/named/server.c:2754,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:2761,1
    - Dst: dns_catz_zones_attach
      Src: /src/bind9/bin/named/server.c:2770,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/bin/named/server.c:2771,1
    - Dst: dns_catz_prereconfig
      Src: /src/bind9/bin/named/server.c:2772,1
    - Dst: dns_catz_zones_new
      Src: /src/bind9/bin/named/server.c:2774,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2779,1
    - Dst: configure_catz_zone
      Src: /src/bind9/bin/named/server.c:2779,1
    - Dst: dns_catz_postreconfig
      Src: /src/bind9/bin/named/server.c:2783,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:2790,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: 2794
      start: 2742
    functionDepth: 2
    functionLinenumber: 2742
    functionLinenumberEnd: 2794
    functionName: configure_catz
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_list_length
    - configure_catz_zone
    - cfg_tuple_get
    - dns_view_detach
    - dns_catz_postreconfig
    - dns_catz_zones_attach
    - dns_catz_prereconfig
    - dns_catz_zones_new
    - dns_catz_zones_detach
    - CHECK
    - dns_viewlist_find
    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:2779,1
    - Dst: configure_catz_zone
      Src: /src/bind9/bin/named/server.c:2779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2780
      start: 2778
    functionDepth: 2
    functionLinenumber: 2778
    functionLinenumberEnd: 2780
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_catz_zone
    - CHECK
    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: 2804
      start: 2796
    functionDepth: 0
    functionLinenumber: 2796
    functionLinenumberEnd: 2804
    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: 2819
      start: 2805
    functionDepth: 0
    functionLinenumber: 2805
    functionLinenumberEnd: 2819
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2836,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2838,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:2843,1
    - Dst: dns_rrl_init
      Src: /src/bind9/bin/named/server.c:2843,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:2845,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2847,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2849,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:2850,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2856,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2858,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2860,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2862,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2864,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2867,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/bin/named/server.c:2869,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2873,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2875,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:2876,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2883,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2885,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:2886,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2893,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2895,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:2896,1
    - Dst: htonl
      Src: /src/bind9/bin/named/server.c:2903,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2908,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:2910,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:2911,1
    - Dst: htonl
      Src: /src/bind9/bin/named/server.c:2920,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2928,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:2930,1
    - Dst: CHECK_RRL
      Src: /src/bind9/bin/named/server.c:2932,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:2937,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:2938,1
    - Dst: dns_rrl_view_destroy
      Src: /src/bind9/bin/named/server.c:2947,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 93
    argCount: 4
    argNames:
    - view
    - config
    - map
    - aclctx
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2949
      start: 2820
    functionDepth: 1
    functionLinenumber: 2820
    functionLinenumberEnd: 2949
    functionName: configure_rrl
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - CHECK_RRL
    - dns_rrl_init
    - cfg_obj_asuint32
    - dns_rrl_view_destroy
    - cfg_map_get
    - CHECK_RRL_RATE
    - cfg_acl_fromconfig
    - ISC_MAX
    - RETERR
    - cfg_obj_asboolean
    - htonl
    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,\n\t      cfg_aclconfctx_t *aclctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2961,1
    - Dst: dns_soa_buildrdata
      Src: /src/bind9/bin/named/server.c:2961,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/named/server.c:2961,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/server.c:2964,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:2968,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:2970,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/server.c:2971,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2972,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/server.c:2972,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:2973,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/server.c:2973,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:2977,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: 2980
      start: 2951
    functionDepth: 1
    functionLinenumber: 2951
    functionLinenumberEnd: 2980
    functionName: add_soa
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_soa_buildrdata
    - ISC_LIST_APPEND
    - dns_rdataset_init
    - dns_db_addrdataset
    - dns_rdatalist_init
    - CHECK
    - dns_db_findnode
    - dns_rdatalist_tordataset
    - dns_db_class
    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:2994,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/named/server.c:2997,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:2999,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/server.c:3000,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3001,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/named/server.c:3001,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/named/server.c:3001,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/server.c:3004,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3008,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:3010,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/server.c:3011,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3012,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/server.c:3012,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3013,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/named/server.c:3013,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:3017,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: 3020
      start: 2982
    functionDepth: 1
    functionLinenumber: 2982
    functionLinenumberEnd: 3020
    functionName: add_ns
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_name_init
    - dns_name_clone
    - ISC_LIST_APPEND
    - dns_rdataset_init
    - dns_rdata_fromstruct
    - dns_db_addrdataset
    - dns_rdatalist_init
    - CHECK
    - dns_db_findnode
    - dns_rdatalist_tordataset
    - dns_db_class
    - isc_buffer_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:3049,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:3050,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:3051,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3054,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3056,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3063,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3064,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3067,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3067,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3068,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3068,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/named/server.c:3069,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:3074,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3077,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3079,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3079,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3082,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3087,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3087,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3092,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/named/server.c:3092,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3095,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/named/server.c:3095,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3096,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/server.c:3097,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3099,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3099,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3103,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3103,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3105,1
    - Dst: add_soa
      Src: /src/bind9/bin/named/server.c:3105,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3106,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3106,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3108,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3108,1
    - Dst: check_dbtype
      Src: /src/bind9/bin/named/server.c:3126,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:3132,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:3136,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:3140,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:3142,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3149,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:3149,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:3150,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3151,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:3151,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/server.c:3153,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:3155,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:3156,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:3157,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:3159,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3162,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3163,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3164,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:3165,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:3166,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:3167,1
    - Dst: dns_zone_setautomatic
      Src: /src/bind9/bin/named/server.c:3168,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:3170,1
    - Dst: dns_zone_clearqueryacl
      Src: /src/bind9/bin/named/server.c:3172,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:3175,1
    - Dst: dns_zone_clearqueryonacl
      Src: /src/bind9/bin/named/server.c:3177,1
    - Dst: dns_zone_clearupdateacl
      Src: /src/bind9/bin/named/server.c:3179,1
    - Dst: dns_zone_setxfracl
      Src: /src/bind9/bin/named/server.c:3181,1
    - Dst: dns_zone_clearxfracl
      Src: /src/bind9/bin/named/server.c:3183,1
    - Dst: setquerystats
      Src: /src/bind9/bin/named/server.c:3186,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:3188,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3189,1
    - Dst: dns_zone_replacedb
      Src: /src/bind9/bin/named/server.c:3189,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3191,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:3192,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3193,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:3193,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3195,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:3199,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3200,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:3206,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:3209,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:3212,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3215,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 131
    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: 3218
      start: 3022
    functionDepth: 2
    functionLinenumber: 3022
    functionLinenumberEnd: 3218
    functionName: create_empty_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_clearxfracl
    - dns_zone_getfile
    - dns_zone_detach
    - dns_db_newversion
    - dns_db_create
    - dns_zone_clearqueryonacl
    - INSIST
    - cfg_map_get
    - dns_zone_setoption
    - setquerystats
    - dns_zone_clearupdateacl
    - dns_zone_setview
    - dns_zone_setqueryacl
    - dns_zone_setclass
    - dns_name_fullcompare
    - dns_zone_setxfracl
    - named_zone_templateopts
    - dns_zone_setnotifytype
    - strcasecmp
    - dns_zone_setqueryonacl
    - cfg_tuple_get
    - dns_name_format
    - dns_zone_replacedb
    - cfg_listelt_value
    - check_dbtype
    - cfg_obj_asstring
    - dns_zone_settype
    - dns_zone_setstats
    - add_ns
    - dns_zone_getraw
    - strcmp
    - dns_db_detach
    - dns_zone_setcheckdstype
    - isc_log_write
    - dns_zonemgr_createzone
    - dns_zone_setautomatic
    - dns_zonemgr_managezone
    - dns_zone_clearqueryacl
    - dns_db_closeversion
    - dns_name_clone
    - CHECK
    - dns_name_fromstring
    - dns_view_addzone
    - dns_zone_setdbtype
    - named_config_findopt
    - dns_zone_setorigin
    - add_soa
    - dns_zone_attach
    - dns_fixedname_initname
    - dns_zone_gettype
    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:3063,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3064,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3067,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3067,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3068,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3068,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/named/server.c:3069,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:3074,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3077,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3079,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3079,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:3082,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3087,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3087,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3092,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/named/server.c:3092,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3095,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/named/server.c:3095,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3096,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/named/server.c:3097,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3099,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3099,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3103,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:3103,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3105,1
    - Dst: add_soa
      Src: /src/bind9/bin/named/server.c:3105,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3106,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3106,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3108,1
    - Dst: add_ns
      Src: /src/bind9/bin/named/server.c:3108,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3109
      start: 3062
    functionDepth: 2
    functionLinenumber: 3062
    functionLinenumberEnd: 3109
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fullcompare
    - strcmp
    - named_config_findopt
    - named_zone_templateopts
    - dns_db_newversion
    - strcasecmp
    - dns_db_create
    - cfg_tuple_get
    - dns_name_clone
    - cfg_listelt_value
    - add_soa
    - cfg_obj_asstring
    - add_ns
    - CHECK
    - dns_name_fromstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(zonelist, element)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:3232,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3234,1
    - Dst: check_dbtype
      Src: /src/bind9/bin/named/server.c:3248,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/named/server.c:3258,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:3259,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3260,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:3260,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:3261,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:3262,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:3263,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/named/server.c:3264,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:3265,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:3266,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:3268,1
    - Dst: dns_zone_setautomatic
      Src: /src/bind9/bin/named/server.c:3270,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:3271,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:3273,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:3276,1
    - Dst: dns_zone_clearqueryacl
      Src: /src/bind9/bin/named/server.c:3278,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:3281,1
    - Dst: dns_zone_clearqueryonacl
      Src: /src/bind9/bin/named/server.c:3283,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:3285,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3286,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:3286,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:3288,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3289,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:3295,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 55
    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: 3298
      start: 3220
    functionDepth: 2
    functionLinenumber: 3220
    functionLinenumberEnd: 3298
    functionName: create_ipv4only_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_zone_clearqueryonacl
    - dns_zone_setoption
    - dns_zone_setview
    - dns_zone_setqueryacl
    - dns_zone_setclass
    - dns_zone_setqueryonacl
    - dns_zone_setnotifytype
    - dns_name_format
    - check_dbtype
    - dns_zone_setstats
    - dns_zone_settype
    - dns_zone_create
    - strcmp
    - dns_zone_setcheckdstype
    - isc_log_write
    - dns_zone_setautomatic
    - dns_zonemgr_managezone
    - dns_zone_clearqueryacl
    - dns_view_addzone
    - CHECK
    - dns_zone_setdbtype
    - dns_zone_setorigin
    - dns_zone_attach
    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:3311,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3320,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3321,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3322,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3323,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3325,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3327,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3329,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3331,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3333,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3340,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3341,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3346,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3347,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3349,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3363,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3363,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3366,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3368,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3370,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3370,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3376,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3378,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3381,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3383,1
    - Dst: cfg_obj_isuint64
      Src: /src/bind9/bin/named/server.c:3384,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/server.c:3385,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3387,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3397,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:3398,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3399,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3404,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:3405,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3406,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3406,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/bin/named/server.c:3411,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/bin/named/server.c:3415,1
    - Dst: fstrm_iothr_options_set_queue_model
      Src: /src/bind9/bin/named/server.c:3417,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3421,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3423,1
    - Dst: fstrm_iothr_options_set_buffer_hint
      Src: /src/bind9/bin/named/server.c:3424,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3428,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3431,1
    - Dst: fstrm_iothr_options_set_flush_timeout
      Src: /src/bind9/bin/named/server.c:3432,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3436,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3439,1
    - Dst: fstrm_iothr_options_set_input_queue_size
      Src: /src/bind9/bin/named/server.c:3440,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3444,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3447,1
    - Dst: fstrm_iothr_options_set_queue_notify_threshold
      Src: /src/bind9/bin/named/server.c:3448,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3452,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3455,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3455,1
    - Dst: fstrm_iothr_options_set_queue_model
      Src: /src/bind9/bin/named/server.c:3460,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3464,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:3467,1
    - Dst: fstrm_iothr_options_set_output_queue_size
      Src: /src/bind9/bin/named/server.c:3468,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3472,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:3475,1
    - Dst: fstrm_iothr_options_set_reopen_interval
      Src: /src/bind9/bin/named/server.c:3476,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3479,1
    - Dst: dns_dt_create
      Src: /src/bind9/bin/named/server.c:3479,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:3480,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3483,1
    - Dst: dns_dt_setupfile
      Src: /src/bind9/bin/named/server.c:3483,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3493,1
    - Dst: dns_dt_setversion
      Src: /src/bind9/bin/named/server.c:3496,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3497,1
    - Dst: dns_dt_setversion
      Src: /src/bind9/bin/named/server.c:3499,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3499,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3503,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:3504,1
    - Dst: gethostname
      Src: /src/bind9/bin/named/server.c:3507,1
    - Dst: dns_dt_setidentity
      Src: /src/bind9/bin/named/server.c:3508,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3510,1
    - Dst: dns_dt_setidentity
      Src: /src/bind9/bin/named/server.c:3512,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3513,1
    - Dst: dns_dtenv_attach
      Src: /src/bind9/bin/named/server.c:3516,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/bin/named/server.c:3523,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 157
    argCount: 2
    argNames:
    - maps
    - view
    argTypes:
    - cfg_obj_t**
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3527
      start: 3301
    functionDepth: 1
    functionLinenumber: 3301
    functionLinenumberEnd: 3527
    functionName: configure_dnstap
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - fstrm_iothr_options_set_queue_notify_threshold
    - dns_dt_setupfile
    - dns_dt_setidentity
    - named_config_get
    - CHECKM
    - dns_dt_create
    - gethostname
    - cfg_obj_isuint32
    - fstrm_iothr_options_set_output_queue_size
    - strcasecmp
    - cfg_obj_isvoid
    - cfg_tuple_get
    - fstrm_iothr_options_set_queue_model
    - cfg_listelt_value
    - fstrm_iothr_options_set_num_input_queues
    - cfg_obj_asstring
    - cfg_obj_isuint64
    - cfg_obj_asuint32
    - cfg_obj_asduration
    - cfg_obj_isstring
    - fstrm_iothr_options_set_input_queue_size
    - cfg_obj_asuint64
    - fstrm_iothr_options_init
    - dns_dt_setversion
    - dns_dtenv_attach
    - cfg_obj_log
    - isc_loop_main
    - cfg_obj_isboolean
    - fstrm_iothr_options_set_reopen_interval
    - fstrm_iothr_options_set_buffer_hint
    - fstrm_iothr_options_set_flush_timeout
    - fstrm_iothr_options_destroy
    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:3320,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3321,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3322,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3323,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3325,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3327,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3329,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3331,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3333,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3340,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:3341,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3346,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3347,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3349,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3354
      start: 3316
    functionDepth: 1
    functionLinenumber: 3316
    functionLinenumberEnd: 3354
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    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:3537,1
    - Dst: dns_acl_create
      Src: /src/bind9/bin/named/server.c:3539,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/bin/named/server.c:3541,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:3543,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:3545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3530
    functionDepth: 1
    functionLinenumber: 3530
    functionLinenumberEnd: 3547
    functionName: create_mapped_acl
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_acl_create
    - dns_iptable_addprefix
    - dns_acl_attach
    - isc_netaddr_fromin6
    - dns_acl_detach
    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:3557,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3560,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:3564,1
    - Dst: ns_plugin_register
      Src: /src/bind9/bin/named/server.c:3568,1
    - Dst: cfg_obj_file
      Src: /src/bind9/bin/named/server.c:3569,1
    - Dst: cfg_obj_line
      Src: /src/bind9/bin/named/server.c:3569,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3572,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:3575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 6
    argNames:
    - config
    - obj
    - aclctx
    - plugin_path
    - parameters
    - callback_data
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3579
      start: 3549
    functionDepth: 1
    functionLinenumber: 3549
    functionLinenumberEnd: 3579
    functionName: named_register_one_plugin
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ns_plugin_register
    - isc_result_totext
    - cfg_obj_line
    - isc_log_write
    - ns_plugin_expandpath
    - cfg_obj_file
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_register_one_plugin(const cfg_obj_t *config, const
      cfg_obj_t *obj,\n\t\t\t  cfg_aclconfctx_t *aclctx, const char *plugin_path,\n\t\t\t
      \ const char *parameters, void *callback_data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_meminfo_totalphys
      Src: /src/bind9/bin/named/server.c:3586,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3589,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3598,1
    - Dst: sanitized_max_cache_size
      Src: /src/bind9/bin/named/server.c:3605,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - obj
    - percent
    argTypes:
    - cfg_obj_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3606
      start: 3584
    functionDepth: 1
    functionLinenumber: 3584
    functionLinenumberEnd: 3606
    functionName: max_cache_size_as_percent
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_meminfo_totalphys
    - cfg_obj_log
    - sanitized_max_cache_size
    linkageType: ''
    returnType: size_t
    signature: size_t max_cache_size_as_percent(const cfg_obj_t *obj, uint32_t percent)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: max_cache_size_as_percent
      Src: /src/bind9/bin/named/server.c:3611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - view
    - obj
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3615
      start: 3608
    functionDepth: 2
    functionLinenumber: 3608
    functionLinenumberEnd: 3615
    functionName: default_max_cache_size
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - max_cache_size_as_percent
    linkageType: ''
    returnType: size_t
    signature: size_t default_max_cache_size(const dns_view_t *view, const cfg_obj_t
      *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3620,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3628,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - obj
    - value
    argTypes:
    - cfg_obj_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3617
    functionDepth: 1
    functionLinenumber: 3617
    functionLinenumberEnd: 3636
    functionName: sanitized_max_cache_size
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - cfg_obj_log
    linkageType: ''
    returnType: size_t
    signature: size_t sanitized_max_cache_size(const cfg_obj_t *obj, uint64_t value)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3656,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3657,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:3658,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3659,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3659,1
    - Dst: default_max_cache_size
      Src: /src/bind9/bin/named/server.c:3667,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:3668,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3669,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3670,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3670,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:3672,1
    - Dst: default_max_cache_size
      Src: /src/bind9/bin/named/server.c:3676,1
    - Dst: cfg_obj_ispercentage
      Src: /src/bind9/bin/named/server.c:3677,1
    - Dst: max_cache_size_as_percent
      Src: /src/bind9/bin/named/server.c:3678,1
    - Dst: cfg_obj_aspercentage
      Src: /src/bind9/bin/named/server.c:3679,1
    - Dst: cfg_obj_isuint64
      Src: /src/bind9/bin/named/server.c:3680,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/server.c:3681,1
    - Dst: sanitized_max_cache_size
      Src: /src/bind9/bin/named/server.c:3682,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:3684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - view
    - maps
    argTypes:
    - dns_view_t*
    - cfg_obj_t*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3686
      start: 3638
    functionDepth: 3
    functionLinenumber: 3638
    functionLinenumberEnd: 3686
    functionName: configure_max_cache_size
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - INSIST
    - strcasecmp
    - cfg_obj_isstring
    - cfg_obj_asuint64
    - sanitized_max_cache_size
    - named_config_get
    - cfg_obj_asstring
    - max_cache_size_as_percent
    - cfg_obj_ispercentage
    - cfg_obj_isuint64
    - default_max_cache_size
    - UNREACHABLE
    - cfg_obj_aspercentage
    linkageType: ''
    returnType: size_t
    signature: size_t configure_max_cache_size(dns_view_t *view, const cfg_obj_t *maps[4])
  - BBCount: 161
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:3764,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/bin/named/server.c:3764,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3767,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:3775,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:3791,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:3791,1
    - Dst: dns_view_setdstport
      Src: /src/bind9/bin/named/server.c:3792,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3800,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3802,1
    - Dst: configure_rpz
      Src: /src/bind9/bin/named/server.c:3802,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3807,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3808,1
    - Dst: configure_catz
      Src: /src/bind9/bin/named/server.c:3808,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3817,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3819,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3826,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3827,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:3827,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/bin/named/server.c:3842,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:3845,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:3847,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:3853,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3863,1
    - Dst: configure_newzones
      Src: /src/bind9/bin/named/server.c:3863,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3870,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3872,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3876,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3879,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:3883,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3883,1
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/bin/named/server.c:3885,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3888,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:3892,1
    - Dst: dns_dlzcreate
      Src: /src/bind9/bin/named/server.c:3893,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3893,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3896,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/server.c:3897,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3908,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3909,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3911,1
    - Dst: dns_dlzconfigure
      Src: /src/bind9/bin/named/server.c:3911,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3913,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3917,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3928,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3929,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3931,1
    - Dst: configure_max_cache_size
      Src: /src/bind9/bin/named/server.c:3933,1
    - Dst: named_checknames_get
      Src: /src/bind9/bin/named/server.c:3944,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3945,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3947,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3948,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3952,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:3955,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:3958,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3962,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3963,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3964,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3967,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:3968,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3969,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3972,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3973,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:3974,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3982,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3984,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:3990,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3992,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3998,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/bin/named/server.c:4002,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:4002,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4006,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/server.c:4009,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:4010,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4017,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4019,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4019,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4023,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4025,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4025,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4029,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4031,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4031,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4035,1
    - Dst: create_mapped_acl
      Src: /src/bind9/bin/named/server.c:4035,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4037,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4041,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4042,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4047,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4048,1
    - Dst: dns_dns64_create
      Src: /src/bind9/bin/named/server.c:4052,1
    - Dst: dns_dns64_append
      Src: /src/bind9/bin/named/server.c:4055,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4057,1
    - Dst: dns64_reverse
      Src: /src/bind9/bin/named/server.c:4057,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4060,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4063,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4066,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4072,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4073,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4074,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4077,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4078,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:4079,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4080,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4091,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4092,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4093,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4096,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4097,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4098,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4101,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4102,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4103,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4106,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4107,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4108,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4111,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4112,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4113,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4116,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4117,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4118,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4120,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4121,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:4122,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4122,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4130,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4131,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4132,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:4134,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:4138,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4144,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4145,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:4146,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4157,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4165,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4174,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4175,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4176,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:4178,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4208,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4210,1
    - Dst: cachelist_find
      Src: /src/bind9/bin/named/server.c:4215,1
    - Dst: cachelist_find
      Src: /src/bind9/bin/named/server.c:4222,1
    - Dst: cache_sharable
      Src: /src/bind9/bin/named/server.c:4226,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4230,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:4235,1
    - Dst: dns_cache_attach
      Src: /src/bind9/bin/named/server.c:4239,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4248,1
    - Dst: cache_reusable
      Src: /src/bind9/bin/named/server.c:4250,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4251,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:4253,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4260,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:4261,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:4263,1
    - Dst: dns_cache_attach
      Src: /src/bind9/bin/named/server.c:4265,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/server.c:4267,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/server.c:4268,1
    - Dst: dns_resolver_getqueryrttstats
      Src: /src/bind9/bin/named/server.c:4270,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4286,1
    - Dst: dns_cache_create
      Src: /src/bind9/bin/named/server.c:4286,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:4290,1
    - Dst: dns_cache_attach
      Src: /src/bind9/bin/named/server.c:4297,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:4298,1
    - Dst: dns_view_setcache
      Src: /src/bind9/bin/named/server.c:4301,1
    - Dst: dns_cache_setcachesize
      Src: /src/bind9/bin/named/server.c:4303,1
    - Dst: dns_cache_setservestalettl
      Src: /src/bind9/bin/named/server.c:4304,1
    - Dst: dns_cache_setservestalerefresh
      Src: /src/bind9/bin/named/server.c:4305,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:4307,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4310,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4311,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:4312,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4312,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4317,1
    - Dst: get_view_querysource_dispatch
      Src: /src/bind9/bin/named/server.c:4317,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4318,1
    - Dst: get_view_querysource_dispatch
      Src: /src/bind9/bin/named/server.c:4318,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/bin/named/server.c:4320,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:4322,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4325,1
    - Dst: dns_view_createresolver
      Src: /src/bind9/bin/named/server.c:4325,1
    - Dst: dns_delegdb_reuse
      Src: /src/bind9/bin/named/server.c:4333,1
    - Dst: dns_delegdb_create
      Src: /src/bind9/bin/named/server.c:4335,1
    - Dst: dns_delegdb_setconfig
      Src: /src/bind9/bin/named/server.c:4337,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:4345,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:4349,1
    - Dst: dns_resolver_setstats
      Src: /src/bind9/bin/named/server.c:4351,1
    - Dst: dns_rdatatypestats_create
      Src: /src/bind9/bin/named/server.c:4354,1
    - Dst: dns_resolver_setquerystats
      Src: /src/bind9/bin/named/server.c:4356,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/bin/named/server.c:4359,1
    - Dst: isc_histomulti_create
      Src: /src/bind9/bin/named/server.c:4363,1
    - Dst: dns_resolver_setqueryrttstats
      Src: /src/bind9/bin/named/server.c:4366,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:4382,1
    - Dst: dns_adb_setadbsize
      Src: /src/bind9/bin/named/server.c:4384,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:4387,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:4391,1
    - Dst: dns_adb_setadbsize
      Src: /src/bind9/bin/named/server.c:4393,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:4394,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4405,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4406,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4407,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4408,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4409,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:4410,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4411,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4414,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4416,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4419,1
    - Dst: dns_resolver_setquotaresponse
      Src: /src/bind9/bin/named/server.c:4422,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4427,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4428,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4430,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4431,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4433,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/bin/named/server.c:4434,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4436,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/bin/named/server.c:4437,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4439,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/bin/named/server.c:4440,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:4442,1
    - Dst: dns_adb_setquota
      Src: /src/bind9/bin/named/server.c:4444,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:4445,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: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:4455,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:4457,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4466,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4467,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4468,1
    - Dst: dns_resolver_settimeout
      Src: /src/bind9/bin/named/server.c:4469,1
    - Dst: dns_resolver_setzeronosoattl
      Src: /src/bind9/bin/named/server.c:4472,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4478,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4479,1
    - Dst: dns_view_setudpsize
      Src: /src/bind9/bin/named/server.c:4480,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4480,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4486,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4487,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4488,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4494,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4495,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4496,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4505,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4508,1
    - Dst: disable_algorithms
      Src: /src/bind9/bin/named/server.c:4508,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4508,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4517,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4520,1
    - Dst: disable_ds_digests
      Src: /src/bind9/bin/named/server.c:4520,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4520,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4531,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4532,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4534,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:4534,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4542,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4544,1
    - Dst: configure_alternates
      Src: /src/bind9/bin/named/server.c:4544,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4554,1
    - Dst: configure_rootdb
      Src: /src/bind9/bin/named/server.c:4554,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4560,1
    - Dst: named_transports_fromconfig
      Src: /src/bind9/bin/named/server.c:4560,1
    - Dst: dns_view_settransports
      Src: /src/bind9/bin/named/server.c:4562,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/bin/named/server.c:4563,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4569,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4570,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4571,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4574,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4575,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4576,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4581,1
    - Dst: named_tsigkeyring_fromconfig
      Src: /src/bind9/bin/named/server.c:4581,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/bin/named/server.c:4584,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/bin/named/server.c:4590,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/server.c:4591,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4593,1
    - Dst: dns_view_setkeyring
      Src: /src/bind9/bin/named/server.c:4595,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/server.c:4596,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:4601,1
    - Dst: dns_view_getdynamickeyring
      Src: /src/bind9/bin/named/server.c:4607,1
    - Dst: dns_view_setdynamickeyring
      Src: /src/bind9/bin/named/server.c:4609,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/server.c:4611,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:4612,1
    - Dst: dns_view_restorekeyring
      Src: /src/bind9/bin/named/server.c:4614,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4624,1
    - Dst: dns_peerlist_new
      Src: /src/bind9/bin/named/server.c:4625,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4627,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4630,1
    - Dst: configure_peer
      Src: /src/bind9/bin/named/server.c:4630,1
    - Dst: dns_peerlist_addpeer
      Src: /src/bind9/bin/named/server.c:4631,1
    - Dst: dns_peer_detach
      Src: /src/bind9/bin/named/server.c:4632,1
    - Dst: dns_peerlist_detach
      Src: /src/bind9/bin/named/server.c:4634,1
    - Dst: dns_order_detach
      Src: /src/bind9/bin/named/server.c:4646,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4651,1
    - Dst: dns_order_create
      Src: /src/bind9/bin/named/server.c:4653,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4656,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4658,1
    - Dst: configure_order
      Src: /src/bind9/bin/named/server.c:4658,1
    - Dst: dns_order_attach
      Src: /src/bind9/bin/named/server.c:4660,1
    - Dst: dns_order_detach
      Src: /src/bind9/bin/named/server.c:4661,1
    - Dst: dns_aclenv_copy
      Src: /src/bind9/bin/named/server.c:4667,1
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/server.c:4667,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4676,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4676,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4678,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4678,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4685,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4686,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4696,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4697,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4698,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4699,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4700,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:4703,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4712,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4713,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4714,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4717,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4718,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4719,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4722,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4723,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:4724,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4725,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4731,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4732,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4734,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4737,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4742,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4743,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4744,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4745,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4747,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4750,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4754,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4755,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4756,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4759,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4760,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4761,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4763,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4763,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4765,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4765,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4768,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4768,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4770,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4770,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4773,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4773,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4776,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4776,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/server.c:4780,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/server.c:4781,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4783,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4783,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4786,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4786,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4796,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4796,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4804,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4805,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4806,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4811,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4811,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4814,1
    - Dst: configure_view_nametable
      Src: /src/bind9/bin/named/server.c:4814,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4821,1
    - Dst: configure_view_nametable
      Src: /src/bind9/bin/named/server.c:4821,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4824,1
    - Dst: configure_view_nametable
      Src: /src/bind9/bin/named/server.c:4824,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4833,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4833,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4838,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:4838,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4843,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4844,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4845,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4848,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4849,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4850,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4853,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4854,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4855,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4858,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4859,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4860,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4864,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_asuint32
      Src: /src/bind9/bin/named/server.c:4868,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4868,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:4871,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4877,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4877,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4877,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4881,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4882,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4883,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4886,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4887,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4888,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4891,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4892,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4893,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_asuint32
      Src: /src/bind9/bin/named/server.c:4898,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:4901,1
    - Dst: dns_resolver_setclientsperquery
      Src: /src/bind9/bin/named/server.c:4909,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4917,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4918,1
    - Dst: dns_view_setmaxrrperset
      Src: /src/bind9/bin/named/server.c:4919,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4919,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4926,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4927,1
    - Dst: dns_view_setmaxtypepername
      Src: /src/bind9/bin/named/server.c:4928,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4928,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4931,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4932,1
    - Dst: dns_resolver_setmaxdepth
      Src: /src/bind9/bin/named/server.c:4933,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4933,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4936,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4937,1
    - Dst: dns_resolver_setmaxqueries
      Src: /src/bind9/bin/named/server.c:4938,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4938,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4941,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4942,1
    - Dst: dns_view_setmaxrestarts
      Src: /src/bind9/bin/named/server.c:4943,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4943,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4946,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4947,1
    - Dst: dns_view_setmaxqueries
      Src: /src/bind9/bin/named/server.c:4948,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4948,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4951,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4952,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4953,1
    - Dst: dns_view_setmaxdelegationservers
      Src: /src/bind9/bin/named/server.c:4953,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4953,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4956,1
    - Dst: dns_resolver_setmaxvalidations
      Src: /src/bind9/bin/named/server.c:4958,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4959,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4963,1
    - Dst: dns_resolver_setmaxvalidationfails
      Src: /src/bind9/bin/named/server.c:4966,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4967,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4971,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4972,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4973,1
    - Dst: dns_resolver_setfetchesperzone
      Src: /src/bind9/bin/named/server.c:4974,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4974,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4975,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:4976,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:4977,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4980,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:4982,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:4985,1
    - Dst: dns_resolver_setquotaresponse
      Src: /src/bind9/bin/named/server.c:4988,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:4993,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:4994,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4995,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4996,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:4997,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:4998,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5004,1
    - Dst: configure_view_dnsseckeys
      Src: /src/bind9/bin/named/server.c:5004,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5008,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5009,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:5010,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5013,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5014,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:5015,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5018,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5020,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5021,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5023,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5037,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5039,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5043,1
    - Dst: isc_hash_get_initializer
      Src: /src/bind9/bin/named/server.c:5046,1
    - Dst: dns_dyndb_createctx
      Src: /src/bind9/bin/named/server.c:5047,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5051,1
    - Dst: configure_dyndb
      Src: /src/bind9/bin/named/server.c:5051,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5059,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5061,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5069,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/bin/named/server.c:5070,1
    - Dst: ns_plugins_create
      Src: /src/bind9/bin/named/server.c:5074,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5078,1
    - Dst: cfg_pluginlist_foreach
      Src: /src/bind9/bin/named/server.c:5078,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5088,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5089,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5096,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5117,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5120,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5122,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5122,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5122,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:5124,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5125,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:5125,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:5126,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5133,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5135,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5135,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5135,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:5137,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5138,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/named/server.c:5138,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:5139,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5146,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5147,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:5148,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5149,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5155,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5156,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5158,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5160,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:5163,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5176,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5176,1
    - Dst: on_disable_list
      Src: /src/bind9/bin/named/server.c:5179,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5187,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5190,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/bin/named/server.c:5198,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/bin/named/server.c:5204,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5213,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5222,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:5224,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5227,1
    - Dst: create_empty_zone
      Src: /src/bind9/bin/named/server.c:5227,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5231,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5238,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:5241,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:5242,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5258,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5260,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5266,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5268,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5273,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/bin/named/server.c:5274,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5280,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5280,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5284,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5287,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/bin/named/server.c:5294,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/bin/named/server.c:5300,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5309,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:5318,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:5320,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5323,1
    - Dst: create_ipv4only_zone
      Src: /src/bind9/bin/named/server.c:5323,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5327,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5333,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5335,1
    - Dst: configure_rrl
      Src: /src/bind9/bin/named/server.c:5335,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5342,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5343,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:5344,1
    - Dst: dns_view_setfailttl
      Src: /src/bind9/bin/named/server.c:5348,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5354,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:5356,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5357,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5357,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5357,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5368,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:5370,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5377,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5378,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5379,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5379,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5380,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5382,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/bin/named/server.c:5382,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5392,1
    - Dst: configure_dnstap
      Src: /src/bind9/bin/named/server.c:5392,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5404,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:5407,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5412,1
    - Dst: configure_rpz
      Src: /src/bind9/bin/named/server.c:5421,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:5425,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:5438,1
    - Dst: configure_catz
      Src: /src/bind9/bin/named/server.c:5447,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:5450,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:5460,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:5464,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5470,1
    - Dst: configure_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:5471,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:5485,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:5488,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:5491,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:5494,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/server.c:5497,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:5500,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/named/server.c:5503,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/named/server.c:5506,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:5509,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/bin/named/server.c:5512,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/bin/named/server.c:5515,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/bin/named/server.c:5518,1
    - Dst: dns_order_detach
      Src: /src/bind9/bin/named/server.c:5521,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:5524,1
    - Dst: dns_dyndb_destroyctx
      Src: /src/bind9/bin/named/server.c:5527,1
    CyclomaticComplexity: 201
    EdgeCount: 201
    ICount: 1034
    argCount: 12
    argNames:
    - view
    - viewlist
    - config
    - vconfig
    - cachelist
    - oldcachelist
    - kasplist
    - bindkeys
    - mctx
    - aclctx
    - tlsctx_client_cache
    - first_time
    argTypes:
    - dns_view_t*
    - dns_viewlist_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - named_cachelist_t*
    - named_cachelist_t*
    - dns_kasplist_t*
    - cfg_obj_t*
    - isc_mem_t*
    - cfg_aclconfctx_t*
    - isc_tlsctx_cache_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5531
      start: 3697
    functionDepth: 5
    functionLinenumber: 3697
    functionLinenumberEnd: 5531
    functionName: configure_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_buffer_usedlength
    - dns_adb_setquota
    - dns_view_setmaxrestarts
    - dns_tsigkeyring_add
    - named_config_get
    - dns_resolver_getqueryrttstats
    - dns_peerlist_detach
    - dns_cache_detach
    - isc_stats_detach
    - strcasecmp
    - named_checknames_get
    - dns_fwdtable_find
    - configure_view_acl
    - dns_tsigkey_detach
    - cfg_obj_asstring
    - isc_mem_free
    - configure_forward
    - dns_peerlist_addpeer
    - create_ipv4only_zone
    - dns_ntatable_add
    - cfg_obj_isstring
    - isc_histomulti_create
    - configure_alternates
    - dns_name_fromstring
    - dns_resolver_setmaxvalidationfails
    - dns_dyndb_createctx
    - configure_zone
    - dns_view_settransports
    - ns_plugins_create
    - isc_mem_cput
    - cfg_obj_log
    - dns_cache_attach
    - dns_transport_list_detach
    - dns_adb_setadbsize
    - dns_resolver_setmaxvalidations
    - dns_name_totext
    - cfg_obj_isboolean
    - dns_cache_getname
    - dns_tsigkey_createfromkey
    - dns_forwarders_detach
    - dns_resolver_setzeronosoattl
    - dns_delegdb_setconfig
    - dns_resolver_setquotaresponse
    - ns_hooktable_create
    - isc_commandline_strtoargv
    - dns_delegdb_reuse
    - cfg_acl_fromconfig
    - cfg_pluginlist_foreach
    - dns_resolver_setclientsperquery
    - dns_dns64_create
    - dns_resolver_settimeout
    - dns_dispatch_detach
    - cfg_obj_asnetprefix
    - dns_view_setudpsize
    - DNS_VIEW_VALID
    - configure_rootdb
    - dns_view_detach
    - configure_peer
    - named_tsigkeyring_fromconfig
    - disable_ds_digests
    - dns_resolver_getstats
    - dns_order_create
    - dns_order_detach
    - dns_view_setkeyring
    - configure_view_dnsseckeys
    - create_mapped_acl
    - UNEXPECTED_ERROR
    - dns_view_getdynamickeyring
    - dns_view_findzone
    - cfg_obj_asduration
    - dns_peer_detach
    - ns_interfacemgr_getaclenv
    - isc_hash_get_initializer
    - ISC_LIST_EMPTY
    - isc_log_write
    - configure_newzones
    - CHECK
    - UNREACHABLE
    - dns_aclenv_copy
    - named_config_getport
    - dns_cache_setservestalerefresh
    - cfg_obj_assockaddr
    - dns_cache_create
    - dns_view_freeze
    - dns_order_attach
    - dns_fixedname_name
    - dns_view_setmaxqueries
    - configure_zone_setviewcommit
    - dns_zone_detach
    - cfg_map_get
    - ISC_MAX
    - disable_algorithms
    - create_empty_zone
    - dns_view_thaw
    - configure_catz
    - dns_resolver_setstats
    - ISC_LOG_DEBUG
    - dns_acl_detach
    - dns_view_setmaxrrperset
    - dns_view_restorekeyring
    - configure_view_nametable
    - isc_statsmulti_detach
    - dns_cache_setcachesize
    - cachelist_find
    - cfg_listelt_value
    - dns_view_setdstport
    - DNS_RPZ_ZBIT
    - named_transports_fromconfig
    - dns_viewlist_find
    - dns_delegdb_create
    - dns_cache_setservestalettl
    - dns_dlzconfigure
    - cfg_obj_asuint32
    - dns_view_setdynamickeyring
    - dns_acl_none
    - cache_sharable
    - dns_resolver_setmaxdepth
    - dns_dyndb_destroyctx
    - cfg_obj_asboolean
    - dns_ntatable_detach
    - dns64_reverse
    - get_view_querysource_dispatch
    - configure_max_cache_size
    - CLEANUP
    - configure_rrl
    - dns_dns64_append
    - dns_resolver_setmaxqueries
    - dns_resolver_getquerystats
    - dns_tsigkeyring_detach
    - dns_resolver_setfetchesperzone
    - dns_view_setfailttl
    - dns_view_getadb
    - dns_adb_detach
    - isc_stats_create
    - REQUIRE
    - isc_mem_strdup
    - configure_dnstap
    - dns_peerlist_new
    - CHECKM
    - dns_view_getntatable
    - dns_view_createresolver
    - cfg_obj_isvoid
    - dns_name_format
    - dns_resolver_setquerystats
    - cfg_tuple_get
    - dns_acl_attach
    - dns_resolver_setqueryrttstats
    - isc_buffer_init
    - strcmp
    - configure_rpz
    - dns_rdatatypestats_create
    - dns_view_setmaxtypepername
    - configure_order
    - cfg_obj_asfixedpoint
    - isc_netaddr_fromsockaddr
    - dns_view_setcache
    - dns_view_setmaxdelegationservers
    - isc_histomulti_detach
    - cache_reusable
    - cfg_map_getname
    - configure_dyndb
    - isc_mem_get
    - on_disable_list
    - ISC_LIST_APPEND
    - dns_dlzcreate
    - dns_fixedname_initname
    - ARRAY_SIZE
    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       const
      cfg_obj_t *bindkeys, isc_mem_t *mctx,\n\t       cfg_aclconfctx_t *aclctx,\n\t
      \      isc_tlsctx_cache_t *tlsctx_client_cache, bool first_time)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3826,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3827,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:3827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3831
      start: 3825
    functionDepth: 1
    functionLinenumber: 3825
    functionLinenumberEnd: 3831
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_zone
    - cfg_listelt_value
    - CHECK
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(zonelist, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3876,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3879,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:3883,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3883,1
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/bin/named/server.c:3885,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3888,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:3892,1
    - Dst: dns_dlzcreate
      Src: /src/bind9/bin/named/server.c:3893,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:3893,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:3896,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/server.c:3897,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:3908,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:3909,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:3911,1
    - Dst: dns_dlzconfigure
      Src: /src/bind9/bin/named/server.c:3911,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3913,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:3917,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3921
      start: 3875
    functionDepth: 1
    functionLinenumber: 3875
    functionLinenumberEnd: 3921
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - dns_dlzconfigure
    - isc_commandline_strtoargv
    - cfg_map_get
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - isc_mem_strdup
    - dns_dlzcreate
    - cfg_obj_asstring
    - isc_mem_free
    - cfg_obj_asboolean
    - CHECK
    - cfg_map_getname
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(dlzlist, element)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:3998,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/bin/named/server.c:4002,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:4002,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4006,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/server.c:4009,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:4010,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4017,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4019,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4019,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4023,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4025,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4025,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4029,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4031,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:4031,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4035,1
    - Dst: create_mapped_acl
      Src: /src/bind9/bin/named/server.c:4035,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/server.c:4037,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4041,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4042,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:4047,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:4048,1
    - Dst: dns_dns64_create
      Src: /src/bind9/bin/named/server.c:4052,1
    - Dst: dns_dns64_append
      Src: /src/bind9/bin/named/server.c:4055,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4057,1
    - Dst: dns64_reverse
      Src: /src/bind9/bin/named/server.c:4057,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4060,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4063,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:4066,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4068
      start: 3997
    functionDepth: 3
    functionLinenumber: 3997
    functionLinenumberEnd: 4068
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - create_mapped_acl
    - dns_acl_detach
    - cfg_obj_assockaddr
    - dns_dns64_create
    - cfg_map_get
    - dns_acl_attach
    - cfg_acl_fromconfig
    - isc_netaddr_fromsockaddr
    - cfg_listelt_value
    - dns_dns64_append
    - dns64_reverse
    - cfg_obj_asboolean
    - CHECK
    - cfg_obj_asnetprefix
    - cfg_map_getname
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4508,1
    - Dst: disable_algorithms
      Src: /src/bind9/bin/named/server.c:4508,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4510
      start: 4507
    functionDepth: 2
    functionLinenumber: 4507
    functionLinenumberEnd: 4510
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - disable_algorithms
    - CHECK
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(disabled, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4520,1
    - Dst: disable_ds_digests
      Src: /src/bind9/bin/named/server.c:4520,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:4520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4522
      start: 4519
    functionDepth: 2
    functionLinenumber: 4519
    functionLinenumberEnd: 4522
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - disable_ds_digests
    - cfg_listelt_value
    - CHECK
    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:4627,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4630,1
    - Dst: configure_peer
      Src: /src/bind9/bin/named/server.c:4630,1
    - Dst: dns_peerlist_addpeer
      Src: /src/bind9/bin/named/server.c:4631,1
    - Dst: dns_peer_detach
      Src: /src/bind9/bin/named/server.c:4632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4633
      start: 4626
    functionDepth: 2
    functionLinenumber: 4626
    functionLinenumberEnd: 4633
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_peer_detach
    - configure_peer
    - cfg_listelt_value
    - CHECK
    - dns_peerlist_addpeer
    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:4656,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:4658,1
    - Dst: configure_order
      Src: /src/bind9/bin/named/server.c:4658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4659
      start: 4654
    functionDepth: 2
    functionLinenumber: 4654
    functionLinenumberEnd: 4659
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_order
    - cfg_listelt_value
    - CHECK
    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:5043,1
    - Dst: isc_hash_get_initializer
      Src: /src/bind9/bin/named/server.c:5046,1
    - Dst: dns_dyndb_createctx
      Src: /src/bind9/bin/named/server.c:5047,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5051,1
    - Dst: configure_dyndb
      Src: /src/bind9/bin/named/server.c:5051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5052
      start: 5042
    functionDepth: 2
    functionLinenumber: 5042
    functionLinenumberEnd: 5052
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_dyndb
    - isc_hash_get_initializer
    - cfg_listelt_value
    - CHECK
    - 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:5377,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5378,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5379,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5379,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5380,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5382,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/bin/named/server.c:5382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5384
      start: 5373
    functionDepth: 1
    functionLinenumber: 5373
    functionLinenumberEnd: 5384
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_fixedname_initname
    - CHECK
    - dns_name_fromstring
    - dns_ntatable_add
    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:5470,1
    - Dst: configure_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:5471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5480
      start: 5468
    functionDepth: 1
    functionLinenumber: 5468
    functionLinenumberEnd: 5480
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - configure_zone_setviewcommit
    - cfg_listelt_value
    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:5539,1
    - Dst: dns_view_setrootdb
      Src: /src/bind9/bin/named/server.c:5541,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:5542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - view
    - filename
    argTypes:
    - dns_view_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5546
      start: 5533
    functionDepth: 1
    functionLinenumber: 5533
    functionLinenumberEnd: 5546
    functionName: configure_rootdb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_rootns_create
    - dns_db_detach
    - dns_view_setrootdb
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_rootdb(dns_view_t *view, const char *filename)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:5559,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:5559,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5562,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5563,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5564,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5566,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5576,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5580,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/server.c:5583,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5586,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5587,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:5591,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5591,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:5592,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5592,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5593,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5594,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:5594,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5597,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5598,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5599,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5601,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5608,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:5613,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:5614,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:5615,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5617,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: 5622
      start: 5548
    functionDepth: 1
    functionLinenumber: 5548
    functionLinenumberEnd: 5622
    functionName: configure_alternates
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - isc_buffer_add
    - strlen
    - CHECKM
    - cfg_obj_isuint32
    - dns_name_fromtext
    - isc_sockaddr_getport
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - cfg_obj_asuint32
    - CHECK
    - named_config_getport
    - dns_resolver_addalternate
    - cfg_obj_log
    - cfg_obj_assockaddr
    - dns_fixedname_initname
    - isc_buffer_constinit
    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:5580,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/server.c:5583,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5586,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5587,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:5591,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5591,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:5592,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5592,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:5593,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5594,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:5594,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5597,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5598,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5599,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5601,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5608,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:5613,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:5614,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:5615,1
    - Dst: dns_resolver_addalternate
      Src: /src/bind9/bin/named/server.c:5617,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5618
      start: 5579
    functionDepth: 1
    functionLinenumber: 5579
    functionLinenumberEnd: 5618
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - dns_resolver_addalternate
    - cfg_obj_log
    - cfg_obj_asuint32
    - dns_name_fromtext
    - cfg_obj_assockaddr
    - cfg_tuple_get
    - isc_sockaddr_getport
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - dns_fixedname_initname
    - CHECK
    - isc_buffer_constinit
    - cfg_obj_isuint32
    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:5628,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:5629,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5633,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5638,1
    - Dst: find_maplist
      Src: /src/bind9/bin/named/server.c:5639,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5642,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:5649,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:5650,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/server.c:5651,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: 5655
      start: 5624
    functionDepth: 1
    functionLinenumber: 5624
    functionLinenumberEnd: 5655
    functionName: validate_tls
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - find_maplist
    - dns_name_init
    - strcasecmp
    - isc_mem_get
    - dns_fixedname_initname
    - dns_name_fromstring
    - dns_name_dup
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:5671,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:5676,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:5676,1
    - Dst: CHECKM
      Src: /src/bind9/bin/named/server.c:5677,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:5677,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5680,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:5681,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:5682,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5684,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5696,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:5697,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5698,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:5700,1
    - Dst: validate_tls
      Src: /src/bind9/bin/named/server.c:5700,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5708,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:5712,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:5715,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/bin/named/server.c:5718,1
    - Dst: validate_tls
      Src: /src/bind9/bin/named/server.c:5723,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:5726,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:5731,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:5732,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:5733,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:5736,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:5737,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:5740,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5742,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5751,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5752,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:5754,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:5757,1
    - Dst: dns_fwdtable_addfwd
      Src: /src/bind9/bin/named/server.c:5762,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:5766,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5767,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:5769,1
    - Dst: dns_view_sfd_add
      Src: /src/bind9/bin/named/server.c:5774,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:5779,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:5780,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/server.c:5782,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:5783,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:5786,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    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: 5790
      start: 5657
    functionDepth: 1
    functionLinenumber: 5657
    functionLinenumberEnd: 5790
    functionName: configure_forward
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_INIT
    - RETERR
    - CHECKM
    - cfg_obj_isuint32
    - ISC_LINK_INIT
    - strcasecmp
    - isc_sockaddr_getport
    - cfg_tuple_get
    - dns_name_format
    - dns_view_sfd_add
    - cfg_listelt_value
    - cfg_obj_getsockaddrtls
    - cfg_obj_asstring
    - dns_fwdtable_addfwd
    - validate_tls
    - isc_result_totext
    - cfg_obj_asuint32
    - cfg_obj_isstring
    - ISC_LIST_EMPTY
    - UNREACHABLE
    - named_config_getport
    - cfg_obj_log
    - isc_mem_get
    - cfg_obj_assockaddr
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    - dns_name_free
    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:5712,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:5715,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/bin/named/server.c:5718,1
    - Dst: validate_tls
      Src: /src/bind9/bin/named/server.c:5723,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:5726,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/server.c:5731,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/server.c:5732,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/server.c:5733,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:5736,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:5737,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5738
      start: 5711
    functionDepth: 1
    functionLinenumber: 5711
    functionLinenumberEnd: 5738
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - isc_mem_put
    - isc_mem_get
    - cfg_obj_assockaddr
    - isc_sockaddr_getport
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - cfg_obj_getsockaddrtls
    - validate_tls
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(faddresses, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:5799,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:5800,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5805,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5805,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5806,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5807,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:5807,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/named/server.c:5809,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:5810,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:5814,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: 5826
      start: 5792
    functionDepth: 1
    functionLinenumber: 5792
    functionLinenumberEnd: 5826
    functionName: get_viewinfo
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - named_config_getclass
    - cfg_tuple_get
    - dns_rdataclass_ismeta
    - isc_log_write
    - cfg_obj_asstring
    - CHECK
    - CLEANUP
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:5840,1
    - Dst: get_viewinfo
      Src: /src/bind9/bin/named/server.c:5840,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:5841,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - vconfig
    - viewlist
    - viewp
    argTypes:
    - cfg_obj_t*
    - dns_viewlist_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5845
      start: 5833
    functionDepth: 2
    functionLinenumber: 5833
    functionLinenumberEnd: 5845
    functionName: find_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - RETERR
    - get_viewinfo
    - dns_viewlist_find
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:5862,1
    - Dst: get_viewinfo
      Src: /src/bind9/bin/named/server.c:5862,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5864,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:5871,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/named/server.c:5873,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/named/server.c:5876,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:5878,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:5879,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - vconfig
    - viewlist
    - viewp
    argTypes:
    - cfg_obj_t*
    - dns_viewlist_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5881
      start: 5854
    functionDepth: 2
    functionLinenumber: 5854
    functionLinenumberEnd: 5881
    functionName: create_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - get_viewinfo
    - INSIST
    - isc_nonce_buf
    - ISC_LIST_APPEND
    - dns_view_attach
    - RETERR
    - dns_viewlist_find
    - dns_view_create
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:5888,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/bin/named/server.c:5888,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:5889,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - buf
    - len
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5893
      start: 5883
    functionDepth: 1
    functionLinenumber: 5883
    functionLinenumberEnd: 5893
    functionName: emit_text
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_MAGIC_VALID
    - REQUIRE
    - putmem
    linkageType: ''
    returnType: void
    signature: void emit_text(void *arg, const char *buf, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/server.c:5900,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:5907,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5908,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:5908,1
    - Dst: dns_zone_setcfg
      Src: /src/bind9/bin/named/server.c:5910,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:5910,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:5913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - zconfig
    argTypes:
    - dns_zone_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5915
      start: 5895
    functionDepth: 1
    functionLinenumber: 5895
    functionLinenumberEnd: 5915
    functionName: save_zoneconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_setcfg
    - isc_buffer_free
    - putnull
    - isc_buffer_base
    - isc_buffer_allocate
    - CHECK
    - cfg_printx
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t save_zoneconfig(dns_zone_t *zone, const cfg_obj_t *zconfig)
  - BBCount: 45
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5953,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5955,1
    - Dst: named_zone_templateopts
      Src: /src/bind9/bin/named/server.c:5956,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5961,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5961,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:5962,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5962,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:5963,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:5963,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/server.c:5964,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5965,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:5965,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:5965,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:5967,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:5969,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:5969,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5969,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5974,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:5975,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:5980,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:5984,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:5987,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:5989,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:5993,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:5996,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:5999,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6002,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:6004,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:6007,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6009,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6011,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:6014,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6017,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:6017,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6018,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:6026,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:6029,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6030,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:6030,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6037,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6039,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:6041,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6043,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6049,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6051,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6054,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:6057,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:6059,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6060,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6062,1
    - Dst: configure_rootdb
      Src: /src/bind9/bin/named/server.c:6062,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6064,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6078,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6082,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6084,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6086,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:6086,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6094,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6096,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:6098,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6100,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6106,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6107,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6109,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:6109,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6111,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6112,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6113,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:6113,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6115,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6117,1
    - Dst: named_zone_configure
      Src: /src/bind9/bin/named/server.c:6117,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6119,1
    - Dst: save_zoneconfig
      Src: /src/bind9/bin/named/server.c:6119,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6120,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:6128,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6134,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6136,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:6137,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6139,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:6152,1
    - Dst: dns_catz_zone_get
      Src: /src/bind9/bin/named/server.c:6159,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6176,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:6182,1
    - Dst: named_zone_reusable
      Src: /src/bind9/bin/named/server.c:6190,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6192,1
    - Dst: dns_zone_get_rpz_num
      Src: /src/bind9/bin/named/server.c:6196,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6199,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6207,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6213,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:6213,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6214,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6215,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6216,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:6216,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6217,1
    - Dst: dns_zone_rpz_enable
      Src: /src/bind9/bin/named/server.c:6220,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6222,1
    - Dst: dns_zone_catz_enable
      Src: /src/bind9/bin/named/server.c:6233,1
    - Dst: dns_zone_catz_is_enabled
      Src: /src/bind9/bin/named/server.c:6234,1
    - Dst: dns_zone_catz_disable
      Src: /src/bind9/bin/named/server.c:6235,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6243,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6246,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6248,1
    - Dst: configure_forward
      Src: /src/bind9/bin/named/server.c:6248,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/bin/named/server.c:6256,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6262,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6263,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6264,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:6265,1
    - Dst: named_zone_inlinesigning
      Src: /src/bind9/bin/named/server.c:6268,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:6272,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/named/server.c:6274,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/server.c:6274,1
    - Dst: dns_zone_gettid
      Src: /src/bind9/bin/named/server.c:6275,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6276,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6277,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6278,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6279,1
    - Dst: dns_zone_link
      Src: /src/bind9/bin/named/server.c:6279,1
    - Dst: named_config_findopt
      Src: /src/bind9/bin/named/server.c:6281,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6284,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6295,1
    - Dst: named_zone_configure
      Src: /src/bind9/bin/named/server.c:6295,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6297,1
    - Dst: save_zoneconfig
      Src: /src/bind9/bin/named/server.c:6297,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6303,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/named/server.c:6303,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:6313,1
    - Dst: dns_catz_dbupdate_callback
      Src: /src/bind9/bin/named/server.c:6315,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:6316,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:6323,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:6324,1
    - Dst: named_zone_loadplugins
      Src: /src/bind9/bin/named/server.c:6327,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6332,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6335,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6338,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 226
    argCount: 11
    argNames:
    - config
    - zconfig
    - vconfig
    - view
    - viewlist
    - kasplist
    - aclctx
    - 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*
    - cfg_aclconfctx_t*
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6342
      start: 5920
    functionDepth: 4
    functionLinenumber: 5920
    functionLinenumberEnd: 6342
    functionName: configure_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 4
    functionsReached:
    - dns_zone_catz_is_enabled
    - dns_zone_catz_disable
    - dns_zone_detach
    - dns_zone_catz_enable
    - INSIST
    - dns_zone_getmctx
    - cfg_map_get
    - dns_zone_rekey
    - save_zoneconfig
    - isc_buffer_add
    - strlen
    - dns_zone_get_rpz_num
    - named_zone_loadplugins
    - dns_zone_setview
    - named_config_getclass
    - configure_rootdb
    - named_zone_templateopts
    - named_zone_configure
    - dns_name_fromtext
    - strcasecmp
    - cfg_tuple_get
    - dns_catz_zone_get
    - dns_view_detach
    - cfg_obj_asstring
    - dns_zone_setstats
    - named_zone_inlinesigning
    - configure_forward
    - dns_viewlist_find
    - named_zone_reusable
    - dns_zone_getraw
    - dns_zone_create
    - dns_zone_link
    - dns_view_findzone
    - dns_db_detach
    - dns_zone_rpz_enable
    - dns_name_equal
    - isc_log_write
    - dns_catz_dbupdate_callback
    - dns_zonemgr_createzone
    - dns_zonemgr_managezone
    - dns_view_addzone
    - dns_zone_gettid
    - CHECK
    - dns_fixedname_init
    - dns_zone_getdb
    - CLEANUP
    - cfg_obj_log
    - named_config_findopt
    - dns_zone_getkasp
    - dns_zone_setorigin
    - dns_zone_attach
    - dns_zone_setadded
    - dns_fixedname_name
    - isc_buffer_constinit
    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       cfg_aclconfctx_t *aclctx, bool
      added, bool old_rpz_ok,\n\t       bool is_catz_member, bool modify)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6356,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:6359,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6367,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6369,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:6370,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6371,1
    - Dst: dns_zone_synckeyzone
      Src: /src/bind9/bin/named/server.c:6372,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6376,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6380,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/bin/named/server.c:6380,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/named/server.c:6381,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:6383,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6384,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/bin/named/server.c:6384,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/named/server.c:6387,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/named/server.c:6390,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/named/server.c:6391,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/named/server.c:6392,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6394,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/named/server.c:6394,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6396,1
    - Dst: dns_acl_none
      Src: /src/bind9/bin/named/server.c:6396,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/named/server.c:6397,1
    - Dst: dns_zone_setqueryonacl
      Src: /src/bind9/bin/named/server.c:6398,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:6399,1
    - Dst: dns_zone_setcheckdstype
      Src: /src/bind9/bin/named/server.c:6401,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:6402,1
    - Dst: dns_zone_setnotifytype
      Src: /src/bind9/bin/named/server.c:6403,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/named/server.c:6404,1
    - Dst: dns_zone_setjournalsize
      Src: /src/bind9/bin/named/server.c:6405,1
    - Dst: dns_zone_setstats
      Src: /src/bind9/bin/named/server.c:6407,1
    - Dst: setquerystats
      Src: /src/bind9/bin/named/server.c:6408,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6411,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:6413,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6415,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:6422,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/server.c:6425,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 3
    argNames:
    - view
    - directory
    - mctx
    argTypes:
    - dns_view_t*
    - char*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6429
      start: 6347
    functionDepth: 2
    functionLinenumber: 6347
    functionLinenumberEnd: 6429
    functionName: add_keydata_zone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_zone_setoption
    - setquerystats
    - dns_zone_setfile
    - dns_zone_setview
    - dns_acl_detach
    - dns_zone_setqueryacl
    - dns_zone_setclass
    - dns_zone_setqueryonacl
    - dns_zone_setnotifytype
    - dns_view_detach
    - dns_zone_setstats
    - dns_zone_settype
    - dns_viewlist_find
    - strcmp
    - dns_zone_setcheckdstype
    - dns_zone_setjournalsize
    - dns_acl_none
    - dns_zone_synckeyzone
    - isc_log_write
    - dns_zonemgr_createzone
    - dns_zonemgr_managezone
    - CHECK
    - dns_zone_setorigin
    - dns_zone_attach
    - dns_zone_setviewcommit
    - isc_file_sanitize
    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:6440,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6441,1
    - Dst: isc_quota_max
      Src: /src/bind9/bin/named/server.c:6442,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:6442,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: 6443
      start: 6434
    functionDepth: 1
    functionLinenumber: 6434
    functionLinenumberEnd: 6443
    functionName: configure_server_quota
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_quota_max
    - named_config_get
    - cfg_obj_asuint32
    - 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:6454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6455
      start: 6450
    functionDepth: 1
    functionLinenumber: 6450
    functionLinenumberEnd: 6455
    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: 6479
      start: 6468
    functionDepth: 0
    functionLinenumber: 6468
    functionLinenumberEnd: 6479
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6486,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6490,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:6494,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:6497,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/bin/named/server.c:6500,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/bin/named/server.c:6501,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/named/server.c:6502,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/named/server.c:6503,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6504,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:6505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6506
      start: 6481
    functionDepth: 1
    functionLinenumber: 6481
    functionLinenumberEnd: 6506
    functionName: tat_done
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_detach
    - dns_resolver_freefresp
    - INSIST
    - dns_rdataset_cleanup
    - dns_view_detach
    - isc_mem_putanddetach
    - dns_resolver_destroyfetch
    linkageType: ''
    returnType: void
    signature: void tat_done(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:6532,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/bin/named/server.c:6533,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/named/server.c:6540,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:6541,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:6542,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:6543,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/named/server.c:6549,1
    - Dst: qsort
      Src: /src/bind9/bin/named/server.c:6557,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:6567,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/bin/named/server.c:6571,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:6573,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/bin/named/server.c:6577,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:6580,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: 6581
      start: 6523
    functionDepth: 1
    functionLinenumber: 6523
    functionLinenumberEnd: 6581
    functionName: get_tat_qname
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - qsort
    - isc_textregion_consume
    - RUNTIME_CHECK
    - dns_keynode_dsset
    - dns_rdataset_init
    - dns_rdata_reset
    - snprintf
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_name_fromstring
    - dns_rdata_tostruct
    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:6540,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:6541,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:6542,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:6543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6548
      start: 6536
    functionDepth: 1
    functionLinenumber: 6536
    functionLinenumberEnd: 6548
    functionName: (&dsset)
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:6594,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/server.c:6595,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:6597,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6598,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:6624,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/bin/named/server.c:6625,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/bin/named/server.c:6628,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/bin/named/server.c:6637,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:6647,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/server.c:6648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6650
      start: 6583
    functionDepth: 1
    functionLinenumber: 6583
    functionLinenumberEnd: 6650
    functionName: tat_send
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_resolver_createfetch
    - dns_name_format
    - dns_view_detach
    - isc_log_write
    - dns_view_bestzonecut
    - isc_mem_putanddetach
    - dns_fixedname_initname
    - dns_delegset_detach
    - dns_fixedname_name
    linkageType: ''
    returnType: void
    signature: void tat_send(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6660,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6661,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:6662,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:6666,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:6669,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:6670,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/named/server.c:6671,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:6671,1
    - Dst: get_tat_qname
      Src: /src/bind9/bin/named/server.c:6672,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:6672,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:6675,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/server.c:6678,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:6680,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:6696,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:6696,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: 6697
      start: 6652
    functionDepth: 2
    functionLinenumber: 6652
    functionLinenumberEnd: 6697
    functionName: dotat
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - isc_mem_attach
    - isc_mem_put
    - isc_mem_get
    - get_tat_qname
    - isc_loop_main
    - dns_rdataset_init
    - isc_async_run
    - dns_view_attach
    - dns_fixedname_initname
    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:6706,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/bin/named/server.c:6711,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:6717,1
    - Dst: dns_keytable_forall
      Src: /src/bind9/bin/named/server.c:6718,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:6719,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6721
      start: 6699
    functionDepth: 1
    functionLinenumber: 6699
    functionLinenumberEnd: 6721
    functionName: tat_timer_tick
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_keytable_forall
    - dns_keytable_detach
    - isc_loop_main
    - dns_view_getsecroots
    - 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:6726,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:6728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6735
      start: 6723
    functionDepth: 1
    functionLinenumber: 6723
    functionLinenumberEnd: 6735
    functionName: pps_timer_tick
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - atomic_load_relaxed
    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:6747,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:6753,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - server
    - field
    - value
    argTypes:
    - named_server_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6757
      start: 6742
    functionDepth: 1
    functionLinenumber: 6742
    functionLinenumberEnd: 6757
    functionName: setstring
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_strdup
    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:6766,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:6767,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:6769,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6769,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: 6771
      start: 6764
    functionDepth: 1
    functionLinenumber: 6764
    functionLinenumberEnd: 6771
    functionName: setoptstring
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - setstring
    - 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:6775,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/named/server.c:6779,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:6780,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:6780,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6782
      start: 6773
    functionDepth: 1
    functionLinenumber: 6773
    functionLinenumberEnd: 6782
    functionName: removed
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_gettype
    - dns_zonetype_name
    - dns_zone_log
    - dns_zone_getview
    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:6787,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:6788,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/named/server.c:6792,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/server.c:6793,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:6795,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/named/server.c:6799,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - server
    - mctx
    argTypes:
    - named_server_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6804
      start: 6784
    functionDepth: 1
    functionLinenumber: 6784
    functionLinenumberEnd: 6804
    functionName: cleanup_session_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_name_dynamic
    - isc_mem_free
    - dns_name_free
    - isc_file_remove
    - dst_key_free
    linkageType: ''
    returnType: void
    signature: void cleanup_session_key(named_server_t *server, isc_mem_t *mctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6820,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:6824,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/named/server.c:6824,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:6830,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6831,1
    - Dst: dst_key_tobuffer
      Src: /src/bind9/bin/named/server.c:6831,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/server.c:6833,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:6834,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6835,1
    - Dst: isc_base64_totext
      Src: /src/bind9/bin/named/server.c:6835,1
    - Dst: named_os_openfile
      Src: /src/bind9/bin/named/server.c:6838,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6840,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:6842,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:6845,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/named/server.c:6849,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:6850,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:6851,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6853,1
    - Dst: isc_stdio_flush
      Src: /src/bind9/bin/named/server.c:6853,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6854,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:6854,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:6860,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:6864,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:6866,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:6867,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/named/server.c:6870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    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: 6874
      start: 6806
    functionDepth: 5
    functionLinenumber: 6806
    functionLinenumberEnd: 6874
    functionName: generate_session_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dst_hmac_algorithm_totext
    - isc_buffer_usedlength
    - fprintf
    - RETERR
    - isc_file_remove
    - isc_stdio_close
    - isc_stdio_flush
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    - isc_base64_totext
    - isc_log_write
    - dst_key_tobuffer
    - dst_key_generate
    - CHECK
    - CLEANUP
    - named_os_openfile
    - isc_buffer_base
    - isc_buffer_usedregion
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:6891,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:6893,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6896,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:6903,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6904,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6905,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:6906,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:6906,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:6907,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:6907,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:6908,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:6909,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:6909,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:6912,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6913,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:6914,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/server.c:6915,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:6919,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:6933,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:6934,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6943,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6944,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6945,1
    - Dst: cleanup_session_key
      Src: /src/bind9/bin/named/server.c:6947,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6951,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6952,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6953,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6954,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:6955,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:6957,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/server.c:6958,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/server.c:6959,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:6961,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:6966,1
    - Dst: generate_session_key
      Src: /src/bind9/bin/named/server.c:6966,1
    - Dst: cleanup_session_key
      Src: /src/bind9/bin/named/server.c:6974,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 66
    argCount: 4
    argNames:
    - maps
    - server
    - mctx
    - first_time
    argTypes:
    - cfg_obj_t**
    - named_server_t*
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6976
      start: 6876
    functionDepth: 6
    functionLinenumber: 6876
    functionLinenumberEnd: 6976
    functionName: configure_session_key
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_mem_strdup
    - named_config_get
    - strlen
    - isc_buffer_add
    - RETERR
    - named_config_getkeyalgorithm
    - dns_name_dup
    - dns_name_init
    - cfg_obj_isvoid
    - dns_name_fromtext
    - generate_session_key
    - cfg_obj_asstring
    - cleanup_session_key
    - strcmp
    - dns_name_equal
    - CHECK
    - cfg_obj_log
    - isc_mem_get
    - dns_fixedname_initname
    - isc_buffer_constinit
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:6981,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:6984,1
    - Dst: mdb_env_close
      Src: /src/bind9/bin/named/server.c:6988,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:6993,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:6996,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:6999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7003
      start: 6978
    functionDepth: 1
    functionLinenumber: 6978
    functionLinenumberEnd: 7003
    functionName: newzone_cleanup
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_detach
    - isc_mem_free
    - mdb_env_close
    linkageType: ''
    returnType: void
    signature: void newzone_cleanup(dns_view_t *view)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_sanitize
      Src: /src/bind9/bin/named/server.c:7010,1
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/server.c:7014,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:7018,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/bin/named/server.c:7024,1
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/server.c:7025,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:7033,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 4
    argNames:
    - view
    - suffix
    - buffer
    - buflen
    argTypes:
    - dns_view_t*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7035
      start: 7005
    functionDepth: 1
    functionLinenumber: 7005
    functionLinenumberEnd: 7035
    functionName: nz_filename
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_file_sanitize
    - strlcpy
    - isc_file_exists
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nz_filename(dns_view_t *view, const char *suffix, char
      *buffer, size_t buflen)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7048,1
    - Dst: newzone_cleanup
      Src: /src/bind9/bin/named/server.c:7051,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:7054,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7059,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7065,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:7067,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7074,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:7077,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:7077,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7084,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7086,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/named/server.c:7087,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7089,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:7092,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/bin/named/server.c:7095,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7096,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:7104,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7107,1
    - Dst: nz_filename
      Src: /src/bind9/bin/named/server.c:7107,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:7108,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7113,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/bin/named/server.c:7115,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7117,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7122,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7130,1
    - Dst: nz_filename
      Src: /src/bind9/bin/named/server.c:7130,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:7131,1
    - Dst: mdb_env_create
      Src: /src/bind9/bin/named/server.c:7134,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7136,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:7139,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7140,1
    - Dst: mdb_env_set_mapsize
      Src: /src/bind9/bin/named/server.c:7144,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7146,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:7150,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7151,1
    - Dst: mdb_env_open
      Src: /src/bind9/bin/named/server.c:7156,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7159,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/named/server.c:7162,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7163,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/bin/named/server.c:7172,1
    - Dst: nzd_load_nzf
      Src: /src/bind9/bin/named/server.c:7176,1
    - Dst: newzone_cleanup
      Src: /src/bind9/bin/named/server.c:7181,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 90
    argCount: 3
    argNames:
    - view
    - config
    - vconfig
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7183
      start: 7037
    functionDepth: 3
    functionLinenumber: 7037
    functionLinenumberEnd: 7183
    functionName: setup_newzones
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_map_get
    - mdb_env_set_mapsize
    - isc_mem_strdup
    - mdb_env_open
    - nzd_load_nzf
    - named_config_get
    - isc_file_isdirectory
    - newzone_cleanup
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_attach
    - isc_result_totext
    - mdb_env_create
    - cfg_obj_asuint64
    - isc_log_write
    - isc_file_isdirwritable
    - mdb_strerror
    - cfg_obj_asboolean
    - CHECK
    - cfg_obj_log
    - cfg_list_first
    - nz_filename
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setup_newzones(dns_view_t *view, cfg_obj_t *config, cfg_obj_t
      *vconfig)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7195,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:7195,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:7196,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:7198,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:7203,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:7209,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7211,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:7216,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/bin/named/server.c:7218,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:7221,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7222,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: 7223
      start: 7185
    functionDepth: 1
    functionLinenumber: 7185
    functionLinenumberEnd: 7223
    functionName: configure_zone_setviewcommit
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 2
    functionsReached:
    - dns_view_findzone
    - dns_zone_detach
    - dns_zone_setviewrevert
    - cfg_tuple_get
    - dns_view_detach
    - cfg_obj_asstring
    - dns_fixedname_initname
    - dns_zone_setviewcommit
    - dns_viewlist_find
    - dns_name_fromstring
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7236,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7237,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7238,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7239,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7240,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/server.c:7242,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7246,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7250,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7253,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/named/server.c:7253,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7256,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:7256,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7257,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:7257,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7258,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:7258,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7259,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:7259,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7260,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:7260,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:7262,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:7265,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7268,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:7282,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    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: 7286
      start: 7225
    functionDepth: 1
    functionLinenumber: 7225
    functionLinenumberEnd: 7286
    functionName: data_to_cfg
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_reserve
    - cfg_obj_detach
    - cfg_parse_buffer
    - snprintf
    - isc_log_write
    - putmem
    - CHECK
    - putstr
    - isc_buffer_clear
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: mdb_cursor_open
      Src: /src/bind9/bin/named/server.c:7321,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/server.c:7326,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/named/server.c:7328,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/named/server.c:7330,1
    - Dst: data_to_cfg
      Src: /src/bind9/bin/named/server.c:7335,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7344,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:7347,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7351,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:7351,1
    - Dst: callback
      Src: /src/bind9/bin/named/server.c:7356,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:7365,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:7369,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:7372,1
    - Dst: mdb_cursor_close
      Src: /src/bind9/bin/named/server.c:7373,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 8
    argNames:
    - callback
    - config
    - vconfig
    - view
    - aclctx
    - kasplist
    - txn
    - dbi
    argTypes:
    - newzone_cfg_cb_t
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_view_t*
    - cfg_aclconfctx_t*
    - dns_kasplist_t*
    - MDB_txn*
    - MDB_dbi
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7376
      start: 7308
    functionDepth: 2
    functionLinenumber: 7308
    functionLinenumberEnd: 7376
    functionName: for_all_newzone_cfgs
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_list_first
    - cfg_map_get
    - callback
    - cfg_obj_detach
    - isc_buffer_free
    - cfg_listelt_value
    - mdb_cursor_get
    - isc_buffer_allocate
    - cfg_obj_islist
    - data_to_cfg
    - mdb_cursor_close
    - mdb_cursor_open
    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
      *aclctx, dns_kasplist_t *kasplist,\n\t\t     MDB_txn *txn, MDB_dbi dbi)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:7385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - zconfig
    - config
    - vconfig
    - view
    - aclctx
    - kasplist
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_view_t*
    - cfg_aclconfctx_t*
    - dns_kasplist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7388
      start: 7381
    functionDepth: 0
    functionLinenumber: 7381
    functionLinenumberEnd: 7388
    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
      *aclctx, dns_kasplist_t *kasplist)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7397,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7398,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7399,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:7400,1
    - Dst: configure_zone_setviewcommit
      Src: /src/bind9/bin/named/server.c:7402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 6
    argNames:
    - zconfig
    - config
    - vconfig
    - view
    - aclctx
    - kasplist
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_view_t*
    - cfg_aclconfctx_t*
    - dns_kasplist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7405
      start: 7393
    functionDepth: 2
    functionLinenumber: 7393
    functionLinenumberEnd: 7405
    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
      *aclctx, dns_kasplist_t *kasplist)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:7418,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:7420,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:7422,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7426,1
    - Dst: for_all_newzone_cfgs
      Src: /src/bind9/bin/named/server.c:7431,1
    - Dst: for_all_newzone_cfgs
      Src: /src/bind9/bin/named/server.c:7442,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:7447,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:7449,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 5
    argNames:
    - view
    - config
    - vconfig
    - aclctx
    - kasplist
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - dns_kasplist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7452
      start: 7407
    functionDepth: 3
    functionLinenumber: 7407
    functionLinenumberEnd: 7452
    functionName: configure_newzones
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - nzd_close
    - LOCK
    - isc_log_write
    - nzd_open
    - for_all_newzone_cfgs
    - UNLOCK
    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 *aclctx, dns_kasplist_t *kasplist)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7468,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7470,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7478,1
    - Dst: get_viewinfo
      Src: /src/bind9/bin/named/server.c:7478,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:7480,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7483,1
    - Dst: cfg_list_next
      Src: /src/bind9/bin/named/server.c:7483,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7488,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:7488,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7489,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7491,1
    - Dst: setup_newzones
      Src: /src/bind9/bin/named/server.c:7491,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7496,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7504,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:7504,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7505,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7507,1
    - Dst: setup_newzones
      Src: /src/bind9/bin/named/server.c:7507,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7511,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7517,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7518,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:7518,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7519,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7523,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - config
    - viewlist
    - nzp
    argTypes:
    - cfg_obj_t*
    - dns_viewlist_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7526
      start: 7458
    functionDepth: 4
    functionLinenumber: 7458
    functionLinenumberEnd: 7526
    functionName: create_views
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_viewinfo
    - INSIST
    - create_view
    - cfg_map_get
    - dns_view_detach
    - cfg_listelt_value
    - setup_newzones
    - CHECK
    - cfg_list_next
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_views(cfg_obj_t *config, dns_viewlist_t *viewlist,
      bool *nzp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7470,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7478,1
    - Dst: get_viewinfo
      Src: /src/bind9/bin/named/server.c:7478,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:7480,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7483,1
    - Dst: cfg_list_next
      Src: /src/bind9/bin/named/server.c:7483,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7488,1
    - Dst: create_view
      Src: /src/bind9/bin/named/server.c:7488,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7489,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:7491,1
    - Dst: setup_newzones
      Src: /src/bind9/bin/named/server.c:7491,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7496,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7497
      start: 7469
    functionDepth: 4
    functionLinenumber: 7469
    functionLinenumberEnd: 7497
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - get_viewinfo
    - INSIST
    - create_view
    - dns_view_detach
    - cfg_listelt_value
    - setup_newzones
    - CHECK
    - cfg_list_next
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(views, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7547,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7549,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7552,1
    - Dst: find_view
      Src: /src/bind9/bin/named/server.c:7552,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:7554,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7559,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:7563,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:7569,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7570,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7579,1
    - Dst: find_view
      Src: /src/bind9/bin/named/server.c:7579,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:7580,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7585,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:7588,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7589,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:7596,1
    - Dst: dns_view_setviewcommit
      Src: /src/bind9/bin/named/server.c:7597,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:7609,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 9
    argNames:
    - config
    - bindkeys
    - aclctx
    - tlsctx_client_cache
    - viewlist
    - cachelist
    - kasplist
    - server
    - first_time
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_tlsctx_cache_t*
    - dns_viewlist_t*
    - named_cachelist_t*
    - dns_kasplist_t*
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7614
      start: 7528
    functionDepth: 3
    functionLinenumber: 7528
    functionLinenumberEnd: 7614
    functionName: configure_views
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cfg_map_get
    - dns_view_detach
    - cfg_listelt_value
    - dns_view_freeze
    - configure_view
    - RETERR
    - find_view
    - ISC_LIST_FOREACH
    - dns_view_setviewcommit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_views(cfg_obj_t *config, const cfg_obj_t *bindkeys,\n\t\tcfg_aclconfctx_t
      *aclctx,\n\t\tisc_tlsctx_cache_t *tlsctx_client_cache,\n\t\tdns_viewlist_t *viewlist,
      named_cachelist_t *cachelist,\n\t\tdns_kasplist_t *kasplist, named_server_t
      *server,\n\t\tbool first_time)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7549,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7552,1
    - Dst: find_view
      Src: /src/bind9/bin/named/server.c:7552,1
    - Dst: configure_view
      Src: /src/bind9/bin/named/server.c:7554,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7559,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:7563,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:7569,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:7570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7571
      start: 7548
    functionDepth: 3
    functionLinenumber: 7548
    functionLinenumberEnd: 7571
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_view_detach
    - cfg_listelt_value
    - dns_view_freeze
    - configure_view
    - RETERR
    - find_view
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(views, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7626,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/named/server.c:7626,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7632,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7634,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7636,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/named/server.c:7636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - config
    - keystorelist
    argTypes:
    - cfg_obj_t*
    - dns_keystorelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7641
      start: 7616
    functionDepth: 1
    functionLinenumber: 7616
    functionLinenumberEnd: 7641
    functionName: configure_keystores
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - RETERR
    - cfg_keystore_fromconfig
    - cfg_listelt_value
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_keystores(const cfg_obj_t *config, dns_keystorelist_t
      *keystorelist)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7634,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7636,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/named/server.c:7636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7638
      start: 7633
    functionDepth: 1
    functionLinenumber: 7633
    functionLinenumberEnd: 7638
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - RETERR
    - cfg_keystore_fromconfig
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(keystores, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7658,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7660,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7663,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/named/server.c:7663,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7666,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/named/server.c:7667,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7671,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:7671,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/bin/named/server.c:7671,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/bin/named/server.c:7672,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:7675,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:7677,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - config
    - kasplist
    - keystorelist
    argTypes:
    - cfg_obj_t*
    - dns_kasplist_t*
    - dns_keystorelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7680
      start: 7643
    functionDepth: 1
    functionLinenumber: 7643
    functionLinenumberEnd: 7680
    functionName: configure_kasplist
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_kasp_freeze
    - dns_kasp_detach
    - INSIST
    - cfg_kasp_fromconfig
    - cfg_map_get
    - cfg_listelt_value
    - dns_kasp_attach
    - dns_kasp_getname
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t configure_kasplist(const cfg_obj_t *config, dns_kasplist_t
      *kasplist,\n\t\t   dns_keystorelist_t *keystorelist)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:7660,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:7663,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/named/server.c:7663,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7666,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/named/server.c:7667,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7671,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:7671,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/bin/named/server.c:7671,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/bin/named/server.c:7672,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:7675,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7676
      start: 7659
    functionDepth: 1
    functionLinenumber: 7659
    functionLinenumberEnd: 7676
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_kasp_freeze
    - dns_kasp_detach
    - INSIST
    - cfg_kasp_fromconfig
    - cfg_listelt_value
    - dns_kasp_attach
    - dns_kasp_getname
    - RETERR
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(kasps, element)
  - BBCount: 92
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_getaclenv
      Src: /src/bind9/bin/named/server.c:7714,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7718,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:7719,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:7724,1
    - Dst: isc_loop
      Src: /src/bind9/bin/named/server.c:7724,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:7724,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7726,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7727,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7728,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7729,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:7730,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:7737,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/bin/named/server.c:7744,1
    - Dst: configure_keystores
      Src: /src/bind9/bin/named/server.c:7749,1
    - Dst: configure_kasplist
      Src: /src/bind9/bin/named/server.c:7754,1
    - Dst: create_views
      Src: /src/bind9/bin/named/server.c:7759,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/named/server.c:7765,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:7769,1
    - Dst: dns_dyndb_cleanup
      Src: /src/bind9/bin/named/server.c:7774,1
    - Dst: getcwd
      Src: /src/bind9/bin/named/server.c:7781,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7782,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:7790,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/named/server.c:7793,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7797,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7798,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7799,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7802,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7803,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7804,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7807,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7808,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7809,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7812,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7813,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7814,1
    - Dst: named_geoip_unload
      Src: /src/bind9/bin/named/server.c:7821,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7830,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7831,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:7832,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:7833,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:7833,1
    - Dst: named_geoip_load
      Src: /src/bind9/bin/named/server.c:7834,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:7842,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:7844,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:7845,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:7847,1
    - Dst: configure_server_quota
      Src: /src/bind9/bin/named/server.c:7848,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/bin/named/server.c:7851,1
    - Dst: ISC_MAX
      Src: /src/bind9/bin/named/server.c:7853,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:7855,1
    - Dst: isc_quota_soft
      Src: /src/bind9/bin/named/server.c:7868,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7871,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:7873,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7876,1
    - Dst: configure_view_acl
      Src: /src/bind9/bin/named/server.c:7883,1
    - Dst: dns_dispatchmgr_setblackhole
      Src: /src/bind9/bin/named/server.c:7891,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7896,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7897,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:7898,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7904,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7905,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7906,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7908,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7914,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7922,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7923,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7924,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7926,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7932,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7940,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7941,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7942,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7944,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7950,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7958,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7959,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7960,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7962,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:7970,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:7971,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:7972,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7974,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:7980,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/named/server.c:7987,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/named/server.c:7988,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/named/server.c:7989,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/named/server.c:7990,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/bin/named/server.c:7991,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8002,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8003,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8004,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8005,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8008,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8009,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8010,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8011,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8014,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8015,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8016,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8017,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8020,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8021,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8022,1
    - Dst: CAP_IF_NOT_ZERO
      Src: /src/bind9/bin/named/server.c:8023,1
    - Dst: isc_nm_setnetbuffers
      Src: /src/bind9/bin/named/server.c:8025,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/named/server.c:8033,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/named/server.c:8034,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/bin/named/server.c:8036,1
    - Dst: isc_netmgr_portrange
      Src: /src/bind9/bin/named/server.c:8037,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/named/server.c:8038,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:8039,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8040,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/bin/named/server.c:8047,1
    - Dst: isc_netmgr_portrange
      Src: /src/bind9/bin/named/server.c:8048,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/named/server.c:8049,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:8050,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8051,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/bin/named/server.c:8058,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8065,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8066,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8067,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8071,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8072,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8073,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: dns_zonemgr_settransfersin
      Src: /src/bind9/bin/named/server.c:8088,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8088,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8091,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8092,1
    - Dst: dns_zonemgr_settransfersperns
      Src: /src/bind9/bin/named/server.c:8093,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8093,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8096,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8097,1
    - Dst: dns_zonemgr_setnotifyrate
      Src: /src/bind9/bin/named/server.c:8098,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8098,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8101,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8102,1
    - Dst: dns_zonemgr_setstartupnotifyrate
      Src: /src/bind9/bin/named/server.c:8103,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8104,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8107,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8108,1
    - Dst: dns_zonemgr_setserialqueryrate
      Src: /src/bind9/bin/named/server.c:8109,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8109,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:8117,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8128,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8129,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:8130,1
    - Dst: ns_interfacemgr_setbacklog
      Src: /src/bind9/bin/named/server.c:8134,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8137,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8138,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8139,1
    - Dst: isc_nm_setloadbalancesockets
      Src: /src/bind9/bin/named/server.c:8142,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8142,1
    - Dst: isc_nm_getloadbalancesockets
      Src: /src/bind9/bin/named/server.c:8143,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8144,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:8149,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8162,1
    - Dst: listenlist_fromconfig
      Src: /src/bind9/bin/named/server.c:8166,1
    - Dst: ns_interfacemgr_setlistenon4
      Src: /src/bind9/bin/named/server.c:8173,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/bin/named/server.c:8175,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8186,1
    - Dst: listenlist_fromconfig
      Src: /src/bind9/bin/named/server.c:8190,1
    - Dst: ns_interfacemgr_setlistenon6
      Src: /src/bind9/bin/named/server.c:8197,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/bin/named/server.c:8199,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:8215,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/bin/named/server.c:8216,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:8217,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8225,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8239,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8240,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/named/server.c:8241,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8248,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8249,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8250,1
    - Dst: ns_interfacemgr_dynamic_updates_are_reliable
      Src: /src/bind9/bin/named/server.c:8253,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8261,1
    - Dst: ns_interfacemgr_routeconnect
      Src: /src/bind9/bin/named/server.c:8268,1
    - Dst: ns_interfacemgr_routedisconnect
      Src: /src/bind9/bin/named/server.c:8270,1
    - Dst: isc_timer_stop
      Src: /src/bind9/bin/named/server.c:8274,1
    - Dst: isc_interval_set
      Src: /src/bind9/bin/named/server.c:8276,1
    - Dst: isc_timer_start
      Src: /src/bind9/bin/named/server.c:8277,1
    - Dst: isc_interval_set
      Src: /src/bind9/bin/named/server.c:8281,1
    - Dst: isc_timer_start
      Src: /src/bind9/bin/named/server.c:8282,1
    - Dst: isc_interval_set
      Src: /src/bind9/bin/named/server.c:8284,1
    - Dst: isc_timer_start
      Src: /src/bind9/bin/named/server.c:8285,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8291,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:8292,1
    - Dst: named_os_writepidfile
      Src: /src/bind9/bin/named/server.c:8293,1
    - Dst: named_os_writepidfile
      Src: /src/bind9/bin/named/server.c:8295,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8295,1
    - Dst: named_os_writepidfile
      Src: /src/bind9/bin/named/server.c:8299,1
    - Dst: configure_session_key
      Src: /src/bind9/bin/named/server.c:8311,1
    - Dst: configure_views
      Src: /src/bind9/bin/named/server.c:8313,1
    - Dst: named_tkeyctx_fromconfig
      Src: /src/bind9/bin/named/server.c:8329,1
    - Dst: dns_tkeyctx_destroy
      Src: /src/bind9/bin/named/server.c:8331,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8343,1
    - Dst: nzd_env_close
      Src: /src/bind9/bin/named/server.c:8344,1
    - Dst: named_os_changeuser
      Src: /src/bind9/bin/named/server.c:8354,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/bin/named/server.c:8360,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8361,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8372,1
    - Dst: nzd_env_reopen
      Src: /src/bind9/bin/named/server.c:8373,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8387,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8393,1
    - Dst: named_logconfig
      Src: /src/bind9/bin/named/server.c:8395,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8397,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8402,1
    - Dst: isc_logconfig_create
      Src: /src/bind9/bin/named/server.c:8409,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8412,1
    - Dst: named_logconfig
      Src: /src/bind9/bin/named/server.c:8414,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8416,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8420,1
    - Dst: named_log_setdefaultchannels
      Src: /src/bind9/bin/named/server.c:8424,1
    - Dst: named_log_setdefaultsslkeylogfile
      Src: /src/bind9/bin/named/server.c:8425,1
    - Dst: named_log_setunmatchedcategory
      Src: /src/bind9/bin/named/server.c:8426,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8428,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8433,1
    - Dst: named_log_setdefaultcategory
      Src: /src/bind9/bin/named/server.c:8436,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8438,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8443,1
    - Dst: isc_logconfig_set
      Src: /src/bind9/bin/named/server.c:8448,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8451,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:8452,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8468,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8469,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8470,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8472,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8474,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8482,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:8483,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8484,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:8485,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8486,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8495,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8497,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8499,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:8505,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8507,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/named/server.c:8510,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8514,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/server.c:8516,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8516,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/server.c:8518,1
    - Dst: named_main_setmemstats
      Src: /src/bind9/bin/named/server.c:8520,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8524,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8525,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8526,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8526,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8529,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8530,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8531,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8531,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8534,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8535,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8536,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8536,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8539,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8540,1
    - Dst: setstring
      Src: /src/bind9/bin/named/server.c:8541,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8541,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8544,1
    - Dst: setoptstring
      Src: /src/bind9/bin/named/server.c:8546,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8553,1
    - Dst: setoptstring
      Src: /src/bind9/bin/named/server.c:8555,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8562,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/named/server.c:8564,1
    - Dst: ns_server_setserverid
      Src: /src/bind9/bin/named/server.c:8567,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/server.c:8568,1
    - Dst: ns_server_setserverid
      Src: /src/bind9/bin/named/server.c:8570,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8571,1
    - Dst: ns_server_setserverid
      Src: /src/bind9/bin/named/server.c:8573,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:8575,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8578,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8580,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8586,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8587,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:8588,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8591,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:8592,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:8593,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8593,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:8596,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/server.c:8600,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:8609,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8610,1
    - Dst: memset
      Src: /src/bind9/bin/named/server.c:8613,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:8615,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:8617,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:8625,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:8627,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:8629,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:8633,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/bin/named/server.c:8638,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:8642,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8648,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8654,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/named/server.c:8661,1
    - Dst: dns_zonemgr_setkeystores
      Src: /src/bind9/bin/named/server.c:8684,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:8707,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/bin/named/server.c:8710,1
    - Dst: dns_zonemgr_set_tlsctx_cache
      Src: /src/bind9/bin/named/server.c:8712,1
    - Dst: named_server_loadnta
      Src: /src/bind9/bin/named/server.c:8714,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:8719,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:8721,1
    - Dst: named_os_restoreuser
      Src: /src/bind9/bin/named/server.c:8726,1
    - Dst: named_statschannels_configure
      Src: /src/bind9/bin/named/server.c:8730,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8733,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8736,1
    - Dst: named_controls_configure
      Src: /src/bind9/bin/named/server.c:8743,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8746,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8748,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/bin/named/server.c:8752,1
    - Dst: named_os_changeuser
      Src: /src/bind9/bin/named/server.c:8758,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8767,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:8768,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:8769,1
    - Dst: isc_logconfig_destroy
      Src: /src/bind9/bin/named/server.c:8774,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8778,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:8779,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:8780,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:8781,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/named/server.c:8785,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/named/server.c:8786,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:8793,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8796,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:8797,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:8800,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:8801,1
    - Dst: dns_view_setviewrevert
      Src: /src/bind9/bin/named/server.c:8803,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/server.c:8804,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8806,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:8810,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8814,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:8815,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/named/server.c:8816,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8820,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:8821,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/named/server.c:8822,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/bin/named/server.c:8827,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8830,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:8831,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8832,1
    CyclomaticComplexity: 123
    EdgeCount: 123
    ICount: 671
    argCount: 5
    argNames:
    - effectiveconfig
    - bindkeys
    - server
    - first_time
    - newzones_allowed
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - named_server_t*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8835
      start: 7682
    functionDepth: 7
    functionLinenumber: 7682
    functionLinenumberEnd: 8835
    functionName: apply_configuration
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - setstring
    - INSIST
    - isc_mem_put
    - isc_buffer_usedlength
    - isc_tlsctx_cache_detach
    - listenlist_fromconfig
    - named_config_get
    - ISC_LIST_INIT
    - named_logconfig
    - named_tkeyctx_fromconfig
    - ISC_LIST_INITANDAPPEND
    - isc_nm_setnetbuffers
    - dns_cache_detach
    - isc_nm_setidletimeout
    - strcasecmp
    - ns_interfacemgr_routedisconnect
    - RUNTIME_CHECK
    - configure_view_acl
    - cfg_obj_asstring
    - nzd_env_close
    - dns_keystore_detach
    - ns_interfacemgr_setbacklog
    - isc_time_now
    - cfg_obj_isstring
    - isc_nm_setinitialtimeout
    - isc_file_isdirwritable
    - UNCONST
    - dns_zonemgr_setstartupnotifyrate
    - dns_kasp_detach
    - cfg_obj_log
    - dns_view_setviewrevert
    - cfg_obj_isboolean
    - isc_nm_setprimariestimeout
    - dns_dyndb_cleanup
    - named_geoip_load
    - isc_hex_decodestring
    - named_log_setdefaultchannels
    - cfg_acl_fromconfig
    - configure_views
    - isc_nm_setloadbalancesockets
    - memset
    - dns_zonemgr_setserialqueryrate
    - dns_view_detach
    - isc_nm_getloadbalancesockets
    - ns_interfacemgr_setlistenon6
    - cfg_obj_asduration
    - isc_timer_start
    - ns_interfacemgr_getaclenv
    - named_server_loadnta
    - named_os_restoreuser
    - named_log_setdefaultcategory
    - isc_log_write
    - UNREACHABLE
    - cfg_aclconfctx_detach
    - named_config_getport
    - ns_server_getoption
    - isc_netmgr_portrange
    - isc_nm_setadvertisedtimeout
    - isc_tlsctx_cache_create
    - named_geoip_unload
    - configure_kasplist
    - ISC_LIST_UNLINK
    - dns_zonemgr_setkeystores
    - cfg_map_get
    - ns_interfacemgr_setlistenon4
    - ISC_MAX
    - ISC_LOG_DEBUG
    - isc_loop
    - named_statschannels_configure
    - isc_portset_destroy
    - dns_zonemgr_setnotifyrate
    - isc_tlsctx_cache_attach
    - isc_portset_create
    - isc_net_getportrange
    - dns_view_apply
    - named_log_setdefaultsslkeylogfile
    - cfg_listelt_value
    - ns_interfacemgr_dynamic_updates_are_reliable
    - isc_loopmgr_resume
    - ns_interfacemgr_scan
    - named_os_writepidfile
    - isc_nm_setkeepalivetimeout
    - cfg_obj_asuint32
    - dns_dispatchmgr_setavailports
    - isc_logconfig_create
    - named_os_changeuser
    - cfg_obj_asboolean
    - isc_interval_set
    - named_main_setmemstats
    - ns_server_setoption
    - isc_loop_main
    - isc_quota_getmax
    - dns_zonemgr_settransfersin
    - dns_tkeyctx_destroy
    - dns_zonemgr_set_tlsctx_cache
    - REQUIRE
    - isc_logconfig_set
    - ns_listenlist_detach
    - isc_nonce_buf
    - dns_zonemgr_settransfersperns
    - configure_session_key
    - nzd_env_reopen
    - create_views
    - cfg_obj_isvoid
    - cfg_tuple_get
    - configure_keystores
    - isc_logconfig_destroy
    - ns_interfacemgr_routeconnect
    - isc_buffer_init
    - isc_result_totext
    - strcmp
    - cfg_aclconfctx_create
    - CAP_IF_NOT_ZERO
    - named_controls_configure
    - named_log_setunmatchedcategory
    - getcwd
    - configure_server_quota
    - isc_portset_addrange
    - isc_mem_get
    - isc_quota_soft
    - setoptstring
    - isc_loopmgr_pause
    - ISC_LIST_FOREACH
    - isc_mem_debugon
    - isc_timer_stop
    - dns_dispatchmgr_setblackhole
    - ns_server_setserverid
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t apply_configuration(cfg_obj_t *effectiveconfig, cfg_obj_t
      *bindkeys,\n\t\t    named_server_t *server, bool first_time,\n\t\t    bool *newzones_allowed)"
  - 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: 7999
      start: 7993
    functionDepth: 0
    functionLinenumber: 7993
    functionLinenumberEnd: 7999
    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:8482,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:8483,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8484,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:8485,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:8486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8491
      start: 8478
    functionDepth: 1
    functionLinenumber: 8478
    functionLinenumberEnd: 8491
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ns_server_setoption
    - strcasecmp
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    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:8609,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:8610,1
    - Dst: memset
      Src: /src/bind9/bin/named/server.c:8613,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:8615,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:8617,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:8625,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:8627,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:8629,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:8633,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/bin/named/server.c:8638,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:8642,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8648,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8654,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8659
      start: 8608
    functionDepth: 1
    functionLinenumber: 8608
    functionLinenumberEnd: 8659
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodestring
    - isc_mem_put
    - isc_mem_get
    - isc_buffer_usedlength
    - cfg_listelt_value
    - isc_log_write
    - cfg_obj_asstring
    - ISC_LIST_INITANDAPPEND
    - memset
    - isc_buffer_init
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:8800,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:8801,1
    - Dst: dns_view_setviewrevert
      Src: /src/bind9/bin/named/server.c:8803,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/server.c:8804,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:8806,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8807
      start: 8799
    functionDepth: 1
    functionLinenumber: 8799
    functionLinenumberEnd: 8807
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 7
    functionsReached:
    - strcmp
    - ISC_LIST_UNLINK
    - dns_view_setviewrevert
    - dns_view_detach
    - dns_view_apply
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(viewlist, view, link)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8845,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:8846,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:8848,1
    - Dst: named_config_parsedefaults
      Src: /src/bind9/bin/named/server.c:8848,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:8849,1
    - Dst: named_config_parsefile
      Src: /src/bind9/bin/named/server.c:8849,1
    - Dst: access
      Src: /src/bind9/bin/named/server.c:8858,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8859,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/server.c:8865,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8869,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8876,1
    - Dst: cfg_effective_config
      Src: /src/bind9/bin/named/server.c:8882,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:8889,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/server.c:8891,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:8897,1
    - Dst: apply_configuration
      Src: /src/bind9/bin/named/server.c:8902,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:8913,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:8917,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/server.c:8924,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:8929,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:8934,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:8937,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:8940,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:8943,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - server
    - first_time
    argTypes:
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8947
      start: 8837
    functionDepth: 8
    functionLinenumber: 8837
    functionLinenumberEnd: 8947
    functionName: load_configuration
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_effective_config
    - cfg_parse_file
    - cfg_obj_detach
    - isc_buffer_free
    - isc_log_write
    - named_config_parsedefaults
    - ISC_LOG_DEBUG
    - isc_buffer_allocate
    - apply_configuration
    - access
    - named_config_parsefile
    - cfg_printx
    - CHECK
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_configuration(named_server_t *server, bool first_time)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/named/server.c:8955,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:8956,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8964,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8969,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:8973,1
    - Dst: dns_zone_synckeyzone
      Src: /src/bind9/bin/named/server.c:8975,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8977,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:8984,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:8994,1
    - Dst: dns_zonemgr_forcemaint
      Src: /src/bind9/bin/named/server.c:8994,1
    - Dst: named_os_started
      Src: /src/bind9/bin/named/server.c:8997,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:8999,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/named/server.c:9001,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:9003,1
    - Dst: getpid
      Src: /src/bind9/bin/named/server.c:9006,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:9008,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9010,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - zl
    argTypes:
    - zoneload_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9012
      start: 8949
    functionDepth: 2
    functionLinenumber: 8949
    functionLinenumberEnd: 9012
    functionName: destroy_zoneload
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_crypto_fips_mode
    - isc_mem_put
    - getpid
    - named_os_notify_systemd
    - named_os_started
    - dns_zone_synckeyzone
    - dns_zonemgr_forcemaint
    - isc_log_write
    - ISC_LIST_FOREACH
    - isc_refcount_destroy
    - CHECKFATAL
    - atomic_store
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void destroy_zoneload(zoneload_t *zl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zoneload_unref
      Src: /src/bind9/bin/named/server.c:9017,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9020
      start: 9015
    functionDepth: 0
    functionLinenumber: 9015
    functionLinenumberEnd: 9020
    functionName: view_loaded
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - zoneload_unref
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t view_loaded(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:9025,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/bin/named/server.c:9029,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9034,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:9036,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:9045,1
    - Dst: zoneload_ref
      Src: /src/bind9/bin/named/server.c:9058,1
    - Dst: dns_view_asyncload
      Src: /src/bind9/bin/named/server.c:9059,1
    - Dst: zoneload_unref
      Src: /src/bind9/bin/named/server.c:9061,1
    - Dst: zoneload_detach
      Src: /src/bind9/bin/named/server.c:9066,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 24
    argCount: 2
    argNames:
    - server
    - reconfig
    argTypes:
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9068
      start: 9022
    functionDepth: 1
    functionLinenumber: 9022
    functionLinenumberEnd: 9068
    functionName: load_zones
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_REFCOUNT_INITIALIZER
    - zoneload_unref
    - dns_zone_load
    - dns_view_asyncload
    - isc_mem_get
    - zoneload_ref
    - ISC_LIST_FOREACH
    - zoneload_detach
    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:9076,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9078,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/named/server.c:9078,1
    - Dst: dns_dispatchmgr_setstats
      Src: /src/bind9/bin/named/server.c:9081,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9089,1
    - Dst: ns_interfacemgr_create
      Src: /src/bind9/bin/named/server.c:9089,1
    - Dst: isc_timer_create
      Src: /src/bind9/bin/named/server.c:9094,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9094,1
    - Dst: isc_timer_create
      Src: /src/bind9/bin/named/server.c:9097,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9097,1
    - Dst: isc_timer_create
      Src: /src/bind9/bin/named/server.c:9100,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9100,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9103,1
    - Dst: load_configuration
      Src: /src/bind9/bin/named/server.c:9103,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9105,1
    - Dst: load_zones
      Src: /src/bind9/bin/named/server.c:9105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9109
      start: 9070
    functionDepth: 9
    functionLinenumber: 9070
    functionLinenumberEnd: 9109
    functionName: run_server
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_dispatchmgr_setstats
    - ns_interfacemgr_create
    - isc_timer_create
    - isc_loop_main
    - load_configuration
    - load_zones
    - dns_zonemgr_create
    - CHECKFATAL
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: void
    signature: void run_server(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9113,1
    - Dst: NAMED_SERVER_VALID
      Src: /src/bind9/bin/named/server.c:9113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - server
    - flush
    argTypes:
    - named_server_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9116
      start: 9111
    functionDepth: 1
    functionLinenumber: 9111
    functionLinenumberEnd: 9116
    functionName: named_server_flushonshutdown
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - NAMED_SERVER_VALID
    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:9123,1
    - Dst: named_os_notify_close
      Src: /src/bind9/bin/named/server.c:9124,1
    - Dst: isc_signal_stop
      Src: /src/bind9/bin/named/server.c:9126,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/bin/named/server.c:9127,1
    - Dst: isc_signal_stop
      Src: /src/bind9/bin/named/server.c:9129,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/bin/named/server.c:9130,1
    - Dst: ns_interfacemgr_shutdown
      Src: /src/bind9/bin/named/server.c:9136,1
    - Dst: named_controls_shutdown
      Src: /src/bind9/bin/named/server.c:9138,1
    - Dst: named_statschannels_shutdown
      Src: /src/bind9/bin/named/server.c:9140,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:9142,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9144,1
    - Dst: cleanup_session_key
      Src: /src/bind9/bin/named/server.c:9148,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/bin/named/server.c:9151,1
    - Dst: named_server_saventa
      Src: /src/bind9/bin/named/server.c:9154,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_kasp_detach
      Src: /src/bind9/bin/named/server.c:9158,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9161,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9162,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/named/server.c:9163,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9166,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:9167,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9168,1
    - Dst: dns_view_flushonshutdown
      Src: /src/bind9/bin/named/server.c:9169,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9170,1
    - Dst: dns_dyndb_cleanup
      Src: /src/bind9/bin/named/server.c:9176,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9178,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:9179,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/named/server.c:9180,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9181,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/bin/named/server.c:9184,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/bin/named/server.c:9185,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/bin/named/server.c:9186,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/bin/named/server.c:9188,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/named/server.c:9190,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/bin/named/server.c:9192,1
    - Dst: named_geoip_shutdown
      Src: /src/bind9/bin/named/server.c:9195,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:9198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 45
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9199
      start: 9118
    functionDepth: 2
    functionLinenumber: 9118
    functionLinenumberEnd: 9199
    functionName: shutdown_server
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_signal_destroy
    - isc_timer_destroy
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_signal_stop
    - named_statschannels_shutdown
    - dns_cache_detach
    - dns_zonemgr_shutdown
    - ns_interfacemgr_detach
    - named_os_notify_close
    - dns_view_detach
    - ISC_LIST_NEXT
    - isc_loopmgr_resume
    - cleanup_session_key
    - dns_view_flushonshutdown
    - dns_keystore_detach
    - ns_interfacemgr_shutdown
    - named_os_notify_systemd
    - isc_log_write
    - dns_dispatchmgr_detach
    - cfg_aclconfctx_detach
    - dns_kasp_detach
    - named_geoip_shutdown
    - named_controls_shutdown
    - named_server_saventa
    - isc_loopmgr_pause
    - ISC_LIST_FOREACH
    - dns_dyndb_cleanup
    linkageType: ''
    returnType: void
    signature: void shutdown_server(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9210,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:9213,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/bin/named/server.c:9219,1
    - Dst: dns_message_checksig
      Src: /src/bind9/bin/named/server.c:9220,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/bin/named/server.c:9222,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9225,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9227,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9232,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: 9239
      start: 9201
    functionDepth: 1
    functionLinenumber: 9201
    functionLinenumberEnd: 9239
    functionName: get_matching_view_sync
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_tsigkey_identity
    - dns_message_resetsig
    - dns_acl_allowed
    - dns_view_attach
    - ISC_LIST_FOREACH
    - dns_message_checksig
    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:9247,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9248,1
    - Dst: matching_view_ctx_t*::cb
      Src: /src/bind9/bin/named/server.c:9251,1
    - Dst: dns_aclenv_detach
      Src: /src/bind9/bin/named/server.c:9253,1
    - Dst: isc_quota_release
      Src: /src/bind9/bin/named/server.c:9256,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9259,1
    - Dst: isc_loop_detach
      Src: /src/bind9/bin/named/server.c:9261,1
    - Dst: ns_server_detach
      Src: /src/bind9/bin/named/server.c:9262,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9263,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/named/server.c:9264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - cbarg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9265
      start: 9241
    functionDepth: 1
    functionLinenumber: 9241
    functionLinenumberEnd: 9265
    functionName: get_matching_view_done
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - matching_view_ctx_t*::cb
    - INSIST
    - isc_mem_put
    - dns_message_detach
    - dns_aclenv_detach
    - isc_quota_release
    - dns_view_detach
    - dns_view_attach
    - isc_loop_detach
    - ns_server_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:9270,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:9272,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:9280,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - view
    - rdclass
    argTypes:
    - dns_view_t*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9282
      start: 9267
    functionDepth: 1
    functionLinenumber: 9267
    functionLinenumberEnd: 9282
    functionName: get_matching_view_next
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - ISC_LIST_HEAD
    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:9293,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9296,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/named/server.c:9298,1
    - Dst: get_matching_view_done
      Src: /src/bind9/bin/named/server.c:9307,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/bin/named/server.c:9311,1
    - Dst: get_matching_view_next
      Src: /src/bind9/bin/named/server.c:9313,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9314,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9319,1
    - Dst: dns_message_checksig_async
      Src: /src/bind9/bin/named/server.c:9320,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9323,1
    - Dst: get_matching_view_done
      Src: /src/bind9/bin/named/server.c:9331,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - cbarg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9332
      start: 9284
    functionDepth: 2
    functionLinenumber: 9284
    functionLinenumberEnd: 9332
    functionName: get_matching_view_continue
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_view_detach
    - dns_message_checksig_async
    - dns_tsigkey_identity
    - dns_message_resetsig
    - dns_acl_allowed
    - get_matching_view_done
    - dns_view_attach
    - get_matching_view_next
    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:9346,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9347,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9348,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9349,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9350,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9351,1
    - Dst: get_matching_view_sync
      Src: /src/bind9/bin/named/server.c:9355,1
    - Dst: get_matching_view_next
      Src: /src/bind9/bin/named/server.c:9361,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/bin/named/server.c:9367,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:9369,1
    - Dst: dns_aclenv_ref
      Src: /src/bind9/bin/named/server.c:9373,1
    - Dst: ns_server_attach
      Src: /src/bind9/bin/named/server.c:9381,1
    - Dst: isc_loop_attach
      Src: /src/bind9/bin/named/server.c:9382,1
    - Dst: dns_message_attach
      Src: /src/bind9/bin/named/server.c:9383,1
    - Dst: dns_acl_match
      Src: /src/bind9/bin/named/server.c:9397,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/bin/named/server.c:9406,1
    - Dst: isc_quota_release
      Src: /src/bind9/bin/named/server.c:9409,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:9415,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:9420,1
    - Dst: dns_message_checksig_async
      Src: /src/bind9/bin/named/server.c:9421,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9423,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: 9426
      start: 9337
    functionDepth: 2
    functionLinenumber: 9337
    functionLinenumberEnd: 9426
    functionName: get_matching_view
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_mem_get
    - isc_loop_attach
    - isc_quota_acquire
    - isc_quota_release
    - dns_message_checksig_async
    - dns_message_resetsig
    - isc_async_run
    - dns_view_attach
    - dns_acl_match
    - get_matching_view_next
    - dns_aclenv_ref
    - dns_message_attach
    - get_matching_view_sync
    - ns_server_attach
    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:9431,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9435,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9436,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9437,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:9438,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9442,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9443,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9444,1
    - Dst: atomic_init
      Src: /src/bind9/bin/named/server.c:9446,1
    - Dst: ns_server_create
      Src: /src/bind9/bin/named/server.c:9448,1
    - Dst: named_geoip_init
      Src: /src/bind9/bin/named/server.c:9456,1
    - Dst: isc_loop_setup
      Src: /src/bind9/bin/named/server.c:9464,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9464,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/bin/named/server.c:9465,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9465,1
    - Dst: isc_signal_new
      Src: /src/bind9/bin/named/server.c:9468,1
    - Dst: isc_signal_new
      Src: /src/bind9/bin/named/server.c:9472,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:9475,1
    - Dst: isc_nm_setstats
      Src: /src/bind9/bin/named/server.c:9477,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:9479,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/named/server.c:9482,1
    - Dst: CHECKFATAL
      Src: /src/bind9/bin/named/server.c:9485,1
    - Dst: named_controls_create
      Src: /src/bind9/bin/named/server.c:9485,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9488,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:9490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 2
    argNames:
    - mctx
    - serverp
    argTypes:
    - isc_mem_t*
    - named_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9495
      start: 9428
    functionDepth: 1
    functionLinenumber: 9428
    functionLinenumberEnd: 9495
    functionName: named_server_create
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - named_geoip_init
    - isc_loop_main
    - isc_nm_setstats
    - isc_signal_new
    - isc_mem_strdup
    - isc_loop_setup
    - isc_loop_teardown
    - named_controls_create
    - ISC_LIST_INIT
    - atomic_init
    - CHECKFATAL
    - isc_stats_create
    - ns_server_create
    linkageType: ''
    returnType: void
    signature: void named_server_create(isc_mem_t *mctx, named_server_t **serverp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9500,1
    - Dst: NAMED_SERVER_VALID
      Src: /src/bind9/bin/named/server.c:9500,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/bin/named/server.c:9504,1
    - Dst: named_controls_destroy
      Src: /src/bind9/bin/named/server.c:9508,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:9510,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:9511,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/server.c:9512,1
    - Dst: ns_server_detach
      Src: /src/bind9/bin/named/server.c:9515,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9518,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9519,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9520,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9521,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9524,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:9527,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/bin/named/server.c:9531,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9534,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9534,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9535,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9535,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9536,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9536,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:9537,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/server.c:9537,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:9540,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/named/server.c:9544,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:9548,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/server.c:9552,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:9556,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:9560,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 1
    argNames:
    - serverp
    argTypes:
    - named_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9562
      start: 9497
    functionDepth: 1
    functionLinenumber: 9497
    functionLinenumberEnd: 9562
    functionName: named_server_destroy
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - cfg_obj_detach
    - isc_tlsctx_cache_detach
    - NAMED_SERVER_VALID
    - ISC_LIST_EMPTY
    - dns_zonemgr_detach
    - isc_mem_free
    - named_controls_destroy
    - dns_dtenv_detach
    - isc_buffer_free
    - isc_stats_detach
    - ns_server_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:9567,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9569,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9571,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9572,1
    - Dst: named_os_shutdown
      Src: /src/bind9/bin/named/server.c:9574,1
    - Dst: _exit
      Src: /src/bind9/bin/named/server.c:9575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - result
    argTypes:
    - char*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9576
      start: 9564
    functionDepth: 3
    functionLinenumber: 9564
    functionLinenumberEnd: 9576
    functionName: fatal
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 16
    functionsReached:
    - _exit
    - isc_log_write
    - isc_loopmgr_pause
    - named_os_shutdown
    - isc_result_totext
    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:9581,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9583,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:9587,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9588,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9591,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9595
      start: 9578
    functionDepth: 9
    functionLinenumber: 9578
    functionLinenumberEnd: 9595
    functionName: loadconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - load_configuration
    - atomic_store
    - isc_result_totext
    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:9600,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9604,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:9611,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/bin/named/server.c:9614,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:9616,1
    - Dst: loadconfig
      Src: /src/bind9/bin/named/server.c:9616,1
    - Dst: load_zones
      Src: /src/bind9/bin/named/server.c:9618,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9620,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9623,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9625,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:9626,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:9629,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9631,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9634
      start: 9597
    functionDepth: 10
    functionLinenumber: 9597
    functionLinenumberEnd: 9634
    functionName: reload
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - loadconfig
    - named_os_notify_systemd
    - isc_time_monotonic
    - isc_log_write
    - load_zones
    - CHECK
    - atomic_exchange
    - atomic_store
    - isc_result_totext
    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:9643,1
    - Dst: reload
      Src: /src/bind9/bin/named/server.c:9645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9646
      start: 9639
    functionDepth: 11
    functionLinenumber: 9639
    functionLinenumberEnd: 9646
    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:9652,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:9654,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9654,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - signum
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9655
      start: 9648
    functionDepth: 1
    functionLinenumber: 9648
    functionLinenumberEnd: 9655
    functionName: named_server_reloadwanted
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - REQUIRE
    - isc_loop_main
    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:9662,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:9664,1
    - Dst: isc_log_closefilelogs
      Src: /src/bind9/bin/named/server.c:9667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9668
      start: 9660
    functionDepth: 1
    functionLinenumber: 9660
    functionLinenumberEnd: 9668
    functionName: named_server_closelogs
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - UNUSED
    - isc_log_closefilelogs
    linkageType: ''
    returnType: void
    signature: void named_server_closelogs(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9674,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:9676,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:9676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - signum
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9677
      start: 9670
    functionDepth: 1
    functionLinenumber: 9670
    functionLinenumberEnd: 9677
    functionName: named_server_closelogswanted
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - REQUIRE
    - isc_loop_main
    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:9682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9687
      start: 9680
    functionDepth: 0
    functionLinenumber: 9680
    functionLinenumberEnd: 9687
    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:9691,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9696
      start: 9689
    functionDepth: 0
    functionLinenumber: 9689
    functionLinenumberEnd: 9696
    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:9700,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - active
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9703
      start: 9698
    functionDepth: 0
    functionLinenumber: 9698
    functionLinenumberEnd: 9703
    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: 9708
      start: 9705
    functionDepth: 0
    functionLinenumber: 9705
    functionLinenumberEnd: 9708
    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:9714,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/server.c:9715,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/bin/named/server.c:9717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9718
      start: 9712
    functionDepth: 1
    functionLinenumber: 9712
    functionLinenumberEnd: 9718
    functionName: named_server_scan_interfaces
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - ISC_LOG_DEBUG
    - ns_interfacemgr_scan
    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:9735,1
    - Dst: isc_lex_close
      Src: /src/bind9/bin/named/server.c:9740,1
    - Dst: isc_lex_close
      Src: /src/bind9/bin/named/server.c:9744,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9749,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:9750,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9755,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:9755,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:9756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 2
    argNames:
    - lex
    - text
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9768
      start: 9729
    functionDepth: 1
    functionLinenumber: 9729
    functionLinenumberEnd: 9768
    functionName: next_token
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_lex_gettoken
    - putnull
    - isc_lex_close
    - putstr
    - isc_result_totext
    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:9798,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:9802,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:9810,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:9818,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:9820,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:9822,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:9825,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:9829,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:9830,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:9830,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:9833,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:9837,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:9838,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:9838,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:9841,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:9848,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:9853,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:9857,1
    - Dst: dns_viewlist_findzone
      Src: /src/bind9/bin/named/server.c:9861,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:9865,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:9869,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:9876,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:9879,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:9886,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:9892,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:9896,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:9904,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9913,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:9915,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:9921,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: 9925
      start: 9782
    functionDepth: 2
    functionLinenumber: 9782
    functionLinenumberEnd: 9925
    functionName: zone_from_args
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - dns_view_findzone
    - dns_zone_detach
    - dns_rdataclass_fromtext
    - next_token
    - dns_viewlist_findzone
    - dns_view_detach
    - putnull
    - dns_zone_attach
    - snprintf
    - strlen
    - dns_fixedname_initname
    - CHECK
    - dns_name_fromstring
    - putstr
    - dns_viewlist_find
    - strlcpy
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:9940,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:9943,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:9945,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:9946,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:9948,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:9951,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:9951,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:9956,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:9958,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:9959,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:9960,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:9962,1
    - Dst: dns_zone_getredirecttype
      Src: /src/bind9/bin/named/server.c:9966,1
    - Dst: dns_zone_stopxfr
      Src: /src/bind9/bin/named/server.c:9969,1
    - Dst: dns_zone_forcexfr
      Src: /src/bind9/bin/named/server.c:9971,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9973,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9974,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:9974,1
    - Dst: dns_zone_getredirecttype
      Src: /src/bind9/bin/named/server.c:9976,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9977,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9978,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:9978,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:9979,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:9981,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:9984,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9986
      start: 9930
    functionDepth: 3
    functionLinenumber: 9930
    functionLinenumberEnd: 9986
    functionName: named_server_retransfercommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - dns_zone_detach
    - dns_zone_forcexfr
    - next_token
    - dns_zonetype_name
    - putnull
    - dns_zone_attach
    - dns_zone_getredirecttype
    - RETERR
    - zone_from_args
    - dns_zone_stopxfr
    - putstr
    - dns_zone_getraw
    - dns_zone_gettype
    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:9999,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10001,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:10001,1
    - Dst: reload
      Src: /src/bind9/bin/named/server.c:10004,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:10017,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/bin/named/server.c:10021,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10022,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:10025,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10026,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10050,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10051,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 50
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10054
      start: 9991
    functionDepth: 11
    functionLinenumber: 9991
    functionLinenumberEnd: 10054
    functionName: named_server_reloadcommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_zone_load
    - putnull
    - dns_zone_refresh
    - RETERR
    - reload
    - zone_from_args
    - putstr
    - dns_zone_gettype
    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:10066,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10069,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10071,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10073,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10074,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10078,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10080,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10083,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10085,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10086,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10089,1
    - Dst: ns_stats_reset_highwater
      Src: /src/bind9/bin/named/server.c:10093,1
    - Dst: ns_stats_reset_highwater
      Src: /src/bind9/bin/named/server.c:10097,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: 10102
      start: 10059
    functionDepth: 2
    functionLinenumber: 10059
    functionLinenumberEnd: 10102
    functionName: named_server_resetstatscommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - next_token
    - putnull
    - ns_stats_reset_highwater
    - 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:10110,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10114,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/named/server.c:10118,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:10124,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/bin/named/server.c:10127,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10129,1
    - Dst: loadconfig
      Src: /src/bind9/bin/named/server.c:10129,1
    - Dst: load_zones
      Src: /src/bind9/bin/named/server.c:10131,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10133,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10136,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10138,1
    - Dst: atomic_store
      Src: /src/bind9/bin/named/server.c:10139,1
    - Dst: named_os_notify_systemd
      Src: /src/bind9/bin/named/server.c:10142,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 2
    argNames:
    - server
    - text
    argTypes:
    - named_server_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10147
      start: 10107
    functionDepth: 10
    functionLinenumber: 10107
    functionLinenumberEnd: 10147
    functionName: named_server_reconfigcommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_buffer_printf
    - named_os_notify_systemd
    - loadconfig
    - isc_time_monotonic
    - isc_log_write
    - load_zones
    - CHECK
    - atomic_exchange
    - atomic_store
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_reconfigcommand(named_server_t *server, isc_buffer_t
      *text)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10158,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10160,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:10160,1
    - Dst: dns_zone_notify
      Src: /src/bind9/bin/named/server.c:10166,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10167,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10168,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10172
      start: 10152
    functionDepth: 3
    functionLinenumber: 10152
    functionLinenumberEnd: 10172
    functionName: named_server_notifycommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - putnull
    - RETERR
    - zone_from_args
    - putstr
    - dns_zone_notify
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10185,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10187,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:10187,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:10193,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10195,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:10196,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10197,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:10200,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/bin/named/server.c:10204,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10205,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10206,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10207,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10211,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10212,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10215
      start: 10177
    functionDepth: 3
    functionLinenumber: 10177
    functionLinenumberEnd: 10215
    functionName: named_server_refreshcommand
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - putnull
    - dns_zone_attach
    - dns_zone_refresh
    - RETERR
    - zone_from_args
    - putstr
    - dns_zone_getraw
    - dns_zone_gettype
    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:10224,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:10229,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10231,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10234,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10234,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10235,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10235,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10238,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10238,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10239,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10239,1
    - Dst: ns_server_setoption
      Src: /src/bind9/bin/named/server.c:10250,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10252,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: 10256
      start: 10217
    functionDepth: 2
    functionLinenumber: 10217
    functionLinenumberEnd: 10256
    functionName: named_server_setortoggle
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ns_server_getoption
    - ns_server_setoption
    - strcasecmp
    - next_token
    - isc_log_write
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10266,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10268,1
    - Dst: ns_listenlist_create
      Src: /src/bind9/bin/named/server.c:10268,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10272,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10273,1
    - Dst: listenelt_fromconfig
      Src: /src/bind9/bin/named/server.c:10273,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:10275,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/bin/named/server.c:10281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 7
    argNames:
    - listenlist
    - config
    - aclctx
    - 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: 10283
      start: 10258
    functionDepth: 1
    functionLinenumber: 10258
    functionLinenumberEnd: 10283
    functionName: listenlist_fromconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ns_listenlist_detach
    - ISC_LIST_APPEND
    - ns_listenlist_create
    - cfg_listelt_value
    - listenelt_fromconfig
    - RETERR
    - CHECK
    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 *aclctx, isc_mem_t *mctx,\n\t\t
      \     uint16_t family, isc_tlsctx_cache_t *tlsctx_cache,\n\t\t      ns_listenlist_t
      **target)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10272,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10273,1
    - Dst: listenelt_fromconfig
      Src: /src/bind9/bin/named/server.c:10273,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:10275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10276
      start: 10270
    functionDepth: 1
    functionLinenumber: 10270
    functionLinenumberEnd: 10276
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - listenelt_fromconfig
    - CHECK
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(listenlist, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10290,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10291,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10293,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10299,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10300,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10300,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:10300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - config
    - listname
    - name
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10308
      start: 10285
    functionDepth: 1
    functionLinenumber: 10285
    functionLinenumberEnd: 10308
    functionName: find_maplist
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - strcasecmp
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_map_getname
    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:10299,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10300,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10300,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/server.c:10300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10305
      start: 10298
    functionDepth: 1
    functionLinenumber: 10298
    functionLinenumberEnd: 10305
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(maplist, elt)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10338,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10340,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:10341,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10343,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:10344,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10345,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10347,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10349,1
    - Dst: find_maplist
      Src: /src/bind9/bin/named/server.c:10363,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:10365,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10367,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10371,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10371,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10372,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10374,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10374,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10375,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10377,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10380,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10383,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10386,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10389,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10391,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/bin/named/server.c:10393,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10396,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10398,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/bin/named/server.c:10398,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10403,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10406,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10409,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10412,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10415,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10419,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10422,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:10426,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10431,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/server.c:10435,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10456,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:10457,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10458,1
    - Dst: find_maplist
      Src: /src/bind9/bin/named/server.c:10464,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10465,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/server.c:10467,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10469,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10476,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/server.c:10477,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10482,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10482,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10489,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10489,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10496,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10496,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:10503,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/server.c:10503,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10508,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10511,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10514,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:10515,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10516,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10518,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10519,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:10521,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:10524,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10530,1
    - Dst: listenelt_http
      Src: /src/bind9/bin/named/server.c:10530,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10536,1
    - Dst: ns_listenelt_create
      Src: /src/bind9/bin/named/server.c:10536,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/server.c:10541,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:10541,1
    - Dst: ns_listenelt_destroy
      Src: /src/bind9/bin/named/server.c:10544,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 127
    argCount: 7
    argNames:
    - listener
    - config
    - aclctx
    - 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: 10551
      start: 10314
    functionDepth: 1
    functionLinenumber: 10314
    functionLinenumberEnd: 10551
    functionName: listenelt_fromconfig
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_tls_protocol_supported
    - INSIST
    - ns_listenelt_create
    - cfg_map_get
    - cfg_acl_fromconfig
    - RETERR
    - cfg_obj_isuint32
    - listenelt_http
    - strcasecmp
    - cfg_tuple_get
    - RUNTIME_CHECK
    - cfg_listelt_value
    - cfg_obj_asstring
    - isc_tls_protocol_name_to_version
    - find_maplist
    - cfg_obj_asuint32
    - cfg_obj_isstring
    - cfg_obj_asboolean
    - CHECK
    - ns_listenelt_destroy
    - UNREACHABLE
    - named_config_getport
    - cfg_obj_log
    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 *aclctx, 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:10389,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10391,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/bin/named/server.c:10393,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10396,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10398,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/bin/named/server.c:10398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10400
      start: 10387
    functionDepth: 1
    functionLinenumber: 10387
    functionLinenumberEnd: 10400
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_tls_protocol_supported
    - INSIST
    - cfg_listelt_value
    - cfg_obj_asstring
    - isc_tls_protocol_name_to_version
    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:10568,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10571,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10572,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10587,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10588,1
    - Dst: cfg_list_length
      Src: /src/bind9/bin/named/server.c:10589,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10592,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10595,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10596,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:10599,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10602,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/server.c:10603,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/named/server.c:10607,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:10611,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10612,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:10613,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:10616,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10619,1
    - Dst: ns_listenelt_create_http
      Src: /src/bind9/bin/named/server.c:10621,1
    - Dst: ns_listenelt_destroy
      Src: /src/bind9/bin/named/server.c:10633,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: 10636
      start: 10554
    functionDepth: 1
    functionLinenumber: 10554
    functionLinenumberEnd: 10636
    functionName: listenelt_http
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_list_length
    - cfg_obj_asuint32
    - INSIST
    - cfg_map_get
    - ns_listenelt_create_http
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    - isc_mem_allocate
    - 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:10611,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:10612,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/server.c:10613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10614
      start: 10610
    functionDepth: 1
    functionLinenumber: 10610
    functionLinenumberEnd: 10614
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_listelt_value
    - isc_mem_strdup
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(eplist, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECKMF
      Src: /src/bind9/bin/named/server.c:10644,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:10644,1
    - Dst: named_stats_dump
      Src: /src/bind9/bin/named/server.c:10647,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:10651,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10654,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10657,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10662
      start: 10639
    functionDepth: 1
    functionLinenumber: 10639
    functionLinenumberEnd: 10662
    functionName: named_server_dumpstats
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - isc_stdio_open
    - named_stats_dump
    - isc_log_write
    - CHECKMF
    - isc_result_totext
    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:10669,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:10671,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:10672,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:10673,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/bin/named/server.c:10673,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10675
      start: 10664
    functionDepth: 1
    functionLinenumber: 10664
    functionLinenumberEnd: 10675
    functionName: add_zone_tolist
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_TAIL
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_zone_attach
    - ISC_LINK_INIT
    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:10684,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:10690,1
    - Dst: dns_view_attach
      Src: /src/bind9/bin/named/server.c:10692,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/server.c:10693,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:10694,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/server.c:10695,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/server.c:10697,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - dctx
    - view
    argTypes:
    - struct dumpcontext*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10701
      start: 10677
    functionDepth: 1
    functionLinenumber: 10677
    functionLinenumberEnd: 10701
    functionName: add_view_tolist
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_view_attach
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - dns_view_apply
    - ISC_LINK_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:10705,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:10706,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:10707,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:10708,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:10709,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:10710,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:10712,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:10713,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:10716,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:10719,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:10722,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:10725,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/bin/named/server.c:10728,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:10730,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - struct dumpcontext*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10731
      start: 10703
    functionDepth: 1
    functionLinenumber: 10703
    functionLinenumberEnd: 10731
    functionName: dumpcontext_destroy
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - dns_dumpctx_detach
    - ISC_LIST_UNLINK
    - dns_zone_detach
    - isc_mem_put
    - dns_db_detach
    - dns_view_detach
    - ISC_LIST_FOREACH
    - dns_db_closeversion
    linkageType: ''
    returnType: void
    signature: void dumpcontext_destroy(struct dumpcontext *dctx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/bin/named/server.c:10743,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/server.c:10746,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:10750,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10755,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/server.c:10757,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10758,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:10760,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/server.c:10770,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10773,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/server.c:10776,1
    - Dst: dns_master_dumptostreamasync
      Src: /src/bind9/bin/named/server.c:10777,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/named/server.c:10779,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10784,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10785,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/server.c:10795,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10799,1
    - Dst: dns_delegdb_dump
      Src: /src/bind9/bin/named/server.c:10800,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:10807,1
    - Dst: dns_adb_dump
      Src: /src/bind9/bin/named/server.c:10809,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:10810,1
    - Dst: dns_badcache_print
      Src: /src/bind9/bin/named/server.c:10814,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:10817,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:10824,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:10827,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/server.c:10830,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:10832,1
    - Dst: dns_zone_name
      Src: /src/bind9/bin/named/server.c:10836,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10837,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:10838,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10840,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10841,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:10844,1
    - Dst: dns_master_dumptostreamasync
      Src: /src/bind9/bin/named/server.c:10845,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/bin/named/server.c:10847,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10853,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10854,1
    - Dst: POST
      Src: /src/bind9/bin/named/server.c:10856,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/server.c:10865,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:10871,1
    - Dst: isc_stdio_flush
      Src: /src/bind9/bin/named/server.c:10872,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10874,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10879,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:10881,1
    - Dst: dumpcontext_destroy
      Src: /src/bind9/bin/named/server.c:10883,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 133
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10884
      start: 10733
    functionDepth: 2
    functionLinenumber: 10733
    functionLinenumberEnd: 10884
    functionName: dumpdone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_dumpctx_detach
    - INSIST
    - fprintf
    - dns_db_currentversion
    - dns_zone_getloop
    - dns_badcache_print
    - isc_stdio_flush
    - ISC_LIST_NEXT
    - isc_result_totext
    - dns_db_detach
    - ISC_LIST_HEAD
    - isc_log_write
    - dns_db_closeversion
    - dns_zone_getdb
    - dns_adb_detach
    - dumpcontext_destroy
    - dns_master_dumptostreamasync
    - dns_db_attach
    - dns_zone_name
    - isc_loop_main
    - dns_view_iscacheshared
    - dns_cache_getname
    - POST
    - dns_adb_dump
    - dns_delegdb_dump
    - dns_view_getadb
    linkageType: ''
    returnType: void
    signature: void dumpdone(void *arg, isc_result_t result)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:10895,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10898,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:10903,1
    - Dst: CHECKMF
      Src: /src/bind9/bin/named/server.c:10913,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:10913,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10916,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:10918,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10922,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10925,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10926,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10928,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10929,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10932,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10933,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10940,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10941,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10946,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10947,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10952,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10953,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10959,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10960,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10965,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:10970,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:10971,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10975,1
    - Dst: add_view_tolist
      Src: /src/bind9/bin/named/server.c:10975,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10979,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10979,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10980,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10980,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10981,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:10981,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:10982,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:10982,1
    - Dst: dumpdone
      Src: /src/bind9/bin/named/server.c:10984,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:10987,1
    - Dst: dumpdone
      Src: /src/bind9/bin/named/server.c:10992,1
    - Dst: dumpcontext_destroy
      Src: /src/bind9/bin/named/server.c:10996,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 88
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10998
      start: 10886
    functionDepth: 3
    functionLinenumber: 10886
    functionLinenumberEnd: 10998
    functionName: named_server_dumpdb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - isc_stdio_open
    - dumpdone
    - isc_mem_get
    - add_view_tolist
    - next_token
    - putnull
    - isc_log_write
    - ISC_LIST_FOREACH
    - CHECK
    - putstr
    - CHECKMF
    - dumpcontext_destroy
    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:11010,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11013,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11016,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11022,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11023,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11024,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:11026,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11028,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11029,1
    - Dst: CHECKMF
      Src: /src/bind9/bin/named/server.c:11030,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:11035,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:11036,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11037,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11037,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11038,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11038,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11039,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11039,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11040,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11043,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11044,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:11048,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/bin/named/server.c:11050,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11055,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11056,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11056,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11059,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11059,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11060,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11060,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11061,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11061,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11062,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11063,1
    - Dst: dns_keytable_totext
      Src: /src/bind9/bin/named/server.c:11063,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:11066,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:11068,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11073,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11074,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11074,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11076,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11076,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11077,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11078,1
    - Dst: dns_ntatable_totext
      Src: /src/bind9/bin/named/server.c:11078,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11082,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/bin/named/server.c:11088,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:11091,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11095,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11096,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11098,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11098,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:11099,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/server.c:11100,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:11101,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:11102,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11103,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11107,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11110,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11112,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: 11115
      start: 11000
    functionDepth: 2
    functionLinenumber: 11000
    functionLinenumberEnd: 11115
    functionName: named_server_dumpsecroots
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_usedlength
    - fprintf
    - dns_keytable_totext
    - dns_view_getntatable
    - isc_stdio_close
    - isc_stdio_open
    - next_token
    - putnull
    - dns_view_getsecroots
    - isc_result_totext
    - dns_ntatable_totext
    - strcmp
    - isc_time_now
    - dns_keytable_detach
    - isc_log_write
    - dns_ntatable_detach
    - CHECK
    - putstr
    - isc_buffer_clear
    - isc_time_formattimestamp
    - isc_buffer_base
    - ISC_LIST_FOREACH
    - CHECKMF
    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:11122,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/named/server.c:11122,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11124,1
    - Dst: ns_interfacemgr_dumprecursing
      Src: /src/bind9/bin/named/server.c:11125,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11127,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11128,1
    - Dst: dns_resolver_dumpfetches
      Src: /src/bind9/bin/named/server.c:11130,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/server.c:11134,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/named/server.c:11138,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11141,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11144,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11146,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11149
      start: 11117
    functionDepth: 1
    functionLinenumber: 11117
    functionLinenumberEnd: 11149
    functionName: named_server_dumprecursing
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - isc_stdio_open
    - dns_resolver_dumpfetches
    - ns_interfacemgr_dumprecursing
    - fprintf
    - isc_log_write
    - ISC_LIST_FOREACH
    - CHECKMF
    - isc_result_totext
    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:11157,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11160,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11166,1
    - Dst: strtol
      Src: /src/bind9/bin/named/server.c:11172,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/server.c:11178,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11179,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - server
    - lex
    argTypes:
    - named_server_t*
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11183
      start: 11151
    functionDepth: 2
    functionLinenumber: 11151
    functionLinenumberEnd: 11183
    functionName: named_server_setdebuglevel
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - next_token
    - isc_log_setdebuglevel
    - isc_log_write
    - strtol
    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:11193,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11196,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11202,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11207,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11207,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11208,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11208,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11211,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11211,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11212,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11212,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11215,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11215,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11222,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11224,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11225,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11226,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11227,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11233,1
    - Dst: dns_view_flushcache
      Src: /src/bind9/bin/named/server.c:11233,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11238,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11238,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11240,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11240,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11241,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11241,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11244,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11244,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11245,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11245,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11246,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11246,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11250,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11250,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11260,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: 11262
      start: 11185
    functionDepth: 2
    functionLinenumber: 11185
    functionLinenumberEnd: 11262
    functionName: named_server_validation
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcasecmp
    - next_token
    - putnull
    - isc_loopmgr_pause
    - isc_loopmgr_resume
    - ISC_LIST_FOREACH
    - CHECK
    - putstr
    - dns_view_flushcache
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_delegdb_getconfig
      Src: /src/bind9/bin/named/server.c:11266,1
    - Dst: dns_delegdb_shutdown
      Src: /src/bind9/bin/named/server.c:11268,1
    - Dst: dns_delegdb_detach
      Src: /src/bind9/bin/named/server.c:11269,1
    - Dst: dns_delegdb_create
      Src: /src/bind9/bin/named/server.c:11270,1
    - Dst: dns_delegdb_setconfig
      Src: /src/bind9/bin/named/server.c:11271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11272
      start: 11264
    functionDepth: 1
    functionLinenumber: 11264
    functionLinenumberEnd: 11272
    functionName: flush_delegdb
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_delegdb_detach
    - dns_delegdb_getconfig
    - dns_delegdb_setconfig
    - dns_delegdb_create
    - dns_delegdb_shutdown
    linkageType: ''
    returnType: void
    signature: void flush_delegdb(dns_view_t *view)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11282,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11288,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11290,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11307,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11308,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11313,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11325,1
    - Dst: dns_view_flushcache
      Src: /src/bind9/bin/named/server.c:11330,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11333,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11337,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11350,1
    - Dst: flush_delegdb
      Src: /src/bind9/bin/named/server.c:11351,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/server.c:11353,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11357,1
    - Dst: dns_view_flushcache
      Src: /src/bind9/bin/named/server.c:11361,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11364,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11369,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11375,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11381,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11386,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11393,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11403,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 2
    argNames:
    - server
    - lex
    argTypes:
    - named_server_t*
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11405
      start: 11274
    functionDepth: 2
    functionLinenumber: 11274
    functionLinenumberEnd: 11405
    functionName: named_server_flushcache
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - next_token
    - flush_delegdb
    - dns_view_iscacheshared
    - isc_log_write
    - isc_loopmgr_pause
    - isc_loopmgr_resume
    - ISC_LIST_FOREACH
    - dns_view_flushcache
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_flushcache(named_server_t *server, isc_lex_t
      *lex)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_flushnode
      Src: /src/bind9/bin/named/server.c:11417,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11419,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - view
    - name
    - target
    - tree
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11428
      start: 11407
    functionDepth: 1
    functionLinenumber: 11407
    functionLinenumberEnd: 11428
    functionName: flushnode_cache
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - dns_view_flushnode
    - isc_result_totext
    linkageType: ''
    returnType: bool
    signature: "bool flushnode_cache(dns_view_t *view, const dns_name_t *name, const
      char *target,\n\t\tbool tree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_delegdb_delete
      Src: /src/bind9/bin/named/server.c:11435,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11437,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11442,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - view
    - name
    - target
    - tree
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11446
      start: 11430
    functionDepth: 1
    functionLinenumber: 11430
    functionLinenumberEnd: 11446
    functionName: flushnode_delegcache
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_delegdb_delete
    - isc_result_totext
    - isc_log_write
    linkageType: ''
    returnType: bool
    signature: "bool flushnode_delegcache(dns_view_t *view, const dns_name_t *name,\n\t\t
      \    const char *target, bool tree)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11458,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - viewname
    - target
    - tree
    - deleg
    argTypes:
    - char*
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11467
      start: 11448
    functionDepth: 1
    functionLinenumber: 11448
    functionLinenumberEnd: 11467
    functionName: logflushcachesuccess
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    linkageType: ''
    returnType: void
    signature: "void logflushcachesuccess(const char *viewname, const char *target,
      bool tree,\n\t\t     bool deleg)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11481,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11487,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:11492,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:11493,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:11493,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:11494,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:11494,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:11495,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:11496,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:11496,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11499,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11501,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11503,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11504,1
    - Dst: flushnode_cache
      Src: /src/bind9/bin/named/server.c:11510,1
    - Dst: flushnode_delegcache
      Src: /src/bind9/bin/named/server.c:11514,1
    - Dst: logflushcachesuccess
      Src: /src/bind9/bin/named/server.c:11520,1
    - Dst: logflushcachesuccess
      Src: /src/bind9/bin/named/server.c:11525,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11531,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11540,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 3
    argNames:
    - server
    - lex
    - tree
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11542
      start: 11469
    functionDepth: 2
    functionLinenumber: 11469
    functionLinenumberEnd: 11542
    functionName: named_server_flushnode
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - strcasecmp
    - flushnode_delegcache
    - next_token
    - isc_log_write
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - RETERR
    - isc_loopmgr_pause
    - ISC_LIST_FOREACH
    - flushnode_cache
    - logflushcachesuccess
    - isc_loopmgr_resume
    - isc_buffer_constinit
    - strlcpy
    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:11555,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11566,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11567,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11569,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11571,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11573,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/bin/named/server.c:11575,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:11578,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:11580,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11583,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11586,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11586,1
    - Dst: gethostname
      Src: /src/bind9/bin/named/server.c:11588,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:11589,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11591,1
    - Dst: named_os_uname
      Src: /src/bind9/bin/named/server.c:11592,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11593,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11593,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11595,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11596,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11596,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11598,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11599,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11599,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11602,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11605,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11608,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11608,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11610,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11611,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11611,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11613,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11614,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11614,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11616,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11618,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11618,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11620,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11621,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11621,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11623,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11624,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11624,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11626,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11627,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11627,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11629,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11631,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11631,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11633,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11635,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11635,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11637,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:11638,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11641,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11641,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11643,1
    - Dst: ns_server_getoption
      Src: /src/bind9/bin/named/server.c:11644,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11647,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11647,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11649,1
    - Dst: named_server_getmemprof
      Src: /src/bind9/bin/named/server.c:11650,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11651,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11651,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11653,1
    - Dst: isc_quota_getused
      Src: /src/bind9/bin/named/server.c:11654,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/bin/named/server.c:11655,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/bin/named/server.c:11656,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11657,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11657,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11659,1
    - Dst: ns_stats_get_highwater
      Src: /src/bind9/bin/named/server.c:11660,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11663,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11663,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11665,1
    - Dst: isc_quota_getused
      Src: /src/bind9/bin/named/server.c:11666,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/bin/named/server.c:11667,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11668,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11668,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11670,1
    - Dst: ns_stats_get_highwater
      Src: /src/bind9/bin/named/server.c:11671,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11673,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11673,1
    - Dst: atomic_load
      Src: /src/bind9/bin/named/server.c:11675,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:11677,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11680,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11680,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11683,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11683,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:11684,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11684,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 77
    argCount: 2
    argNames:
    - server
    - text
    argTypes:
    - named_server_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11689
      start: 11544
    functionDepth: 2
    functionLinenumber: 11544
    functionLinenumberEnd: 11689
    functionName: named_server_status
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zonemgr_getcount
    - named_server_getmemprof
    - ns_server_getoption
    - ns_stats_get_highwater
    - isc_time_formathttptimestamp
    - atomic_load
    - putnull
    - isc_quota_getmax
    - named_os_uname
    - snprintf
    - isc_quota_getused
    - isc_quota_getsoft
    - CHECK
    - putstr
    - gethostname
    - strlcpy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_status(named_server_t *server, isc_buffer_t
      *text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11702,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11704,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:11709,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11713,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:11715,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:11715,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:11721,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11723,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:11730,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:11733,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11736,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11738
      start: 11694
    functionDepth: 3
    functionLinenumber: 11694
    functionLinenumberEnd: 11738
    functionName: named_server_rekey
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - strcasecmp
    - dns_zone_getkasp
    - next_token
    - dns_zone_rekey
    - RETERR
    - zone_from_args
    - dns_zone_gettype
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_rekey(named_server_t *server, isc_lex_t *lex,
      isc_buffer_t *text)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:11750,1
    - Dst: synczone
      Src: /src/bind9/bin/named/server.c:11752,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11753,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:11756,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:11761,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:11763,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11768
      start: 11743
    functionDepth: 1
    functionLinenumber: 11743
    functionLinenumberEnd: 11768
    functionName: synczone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_zone_detach
    - dns_zone_getjournal
    - dns_zone_flush
    - synczone
    - isc_file_remove
    - dns_zone_getraw
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t synczone(dns_zone_t *zone, void *uap)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11779,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11781,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11783,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11785,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11785,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:11788,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11791,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:11793,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:11793,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11796,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11798,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/server.c:11799,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11806,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11807,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11810,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11814,1
    - Dst: synczone
      Src: /src/bind9/bin/named/server.c:11815,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11816,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:11818,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11819,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11820,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/server.c:11828,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/server.c:11828,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:11830,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:11830,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11831,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11835,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11836,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11838
      start: 11770
    functionDepth: 3
    functionLinenumber: 11770
    functionLinenumberEnd: 11838
    functionName: named_server_sync
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - REQUIRE
    - strcmp
    - dns_zone_detach
    - dns_name_format
    - next_token
    - isc_log_write
    - isc_loopmgr_pause
    - RETERR
    - zone_from_args
    - ISC_LIST_FOREACH
    - isc_loopmgr_resume
    - dns_zone_getview
    - dns_rdataclass_format
    - dns_zone_getclass
    - synczone
    - dns_view_apply
    - isc_result_totext
    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:11855,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/server.c:11857,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:11857,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11861,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:11862,1
    - Dst: dns_view_freezezones
      Src: /src/bind9/bin/named/server.c:11863,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11869,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11870,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11873,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:11876,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11878,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:11879,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11880,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:11882,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11884,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/bin/named/server.c:11888,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11889,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:11893,1
    - Dst: dns_zone_getupdatedisabled
      Src: /src/bind9/bin/named/server.c:11894,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:11903,1
    - Dst: dns_zone_setupdatedisabled
      Src: /src/bind9/bin/named/server.c:11910,1
    - Dst: dns_zone_loadandthaw
      Src: /src/bind9/bin/named/server.c:11914,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:11938,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11941,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:11942,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:11945,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11946,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:11947,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/server.c:11955,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/server.c:11955,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:11957,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:11957,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:11959,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:11962,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:11963,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: 11965
      start: 11843
    functionDepth: 3
    functionLinenumber: 11843
    functionLinenumberEnd: 11965
    functionName: named_server_freeze
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_view_freezezones
    - RETERR
    - dns_zone_loadandthaw
    - dns_name_format
    - dns_zone_getupdatedisabled
    - putnull
    - isc_loopmgr_resume
    - dns_zone_getraw
    - isc_result_totext
    - dns_zone_getclass
    - strcmp
    - dns_zone_getorigin
    - dns_zone_setupdatedisabled
    - isc_log_write
    - dns_rdataclass_format
    - dns_zone_getview
    - putstr
    - dns_zone_attach
    - isc_loopmgr_pause
    - zone_from_args
    - dns_zone_isdynamic
    - ISC_LIST_FOREACH
    - dns_zone_flush
    - dns_zone_gettype
    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:11974,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:11976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - text
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11977
      start: 11972
    functionDepth: 1
    functionLinenumber: 11972
    functionLinenumberEnd: 11977
    functionName: named_smf_add_message
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_smf_add_message(isc_buffer_t *text)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11997,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11998,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:11999,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12000,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:12003,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12003,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:12004,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12004,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:12006,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:12008,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:12011,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/named/server.c:12018,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12020,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/server.c:12020,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12023,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12023,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:12024,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12025,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:12029,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/server.c:12029,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12032,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12035,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12037,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12039,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12040,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12041,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12044,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12046,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12048,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12052,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12052,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12053,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12053,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12055,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12056,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12056,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12057,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12058,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12059,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12062,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12062,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12067,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12068,1
    - Dst: named_config_getclass
      Src: /src/bind9/bin/named/server.c:12068,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12071,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/server.c:12072,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12073,1
    - Dst: dns_viewlist_find
      Src: /src/bind9/bin/named/server.c:12078,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12080,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12081,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12082,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:12097,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:12100,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 83
    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: 12104
      start: 11980
    functionDepth: 1
    functionLinenumber: 11980
    functionLinenumberEnd: 12104
    functionName: newzone_parse
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - REQUIRE
    - isc_buffer_forward
    - cfg_map_get
    - isc_buffer_add
    - strlen
    - named_config_getclass
    - strcasecmp
    - cfg_tuple_get
    - dns_view_detach
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_viewlist_find
    - isc_buffer_init
    - cfg_obj_isstring
    - cfg_parse_buffer
    - CHECK
    - putstr
    - UNREACHABLE
    - CLEANUP
    - cfg_list_first
    - cfg_obj_detach
    - cfg_obj_islist
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12111,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12112,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12113,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/server.c:12115,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/server.c:12117,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:12121,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:12122,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:12125,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/server.c:12126,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12129,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12129,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/named/server.c:12130,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:12131,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/server.c:12135,1
    - Dst: cfg_list_unlink
      Src: /src/bind9/bin/named/server.c:12136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - view
    - config
    - zname
    argTypes:
    - dns_view_t*
    - cfg_obj_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12141
      start: 12106
    functionDepth: 1
    functionLinenumber: 12106
    functionLinenumberEnd: 12141
    functionName: delete_zoneconf
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_equal
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_list_unlink
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    - cfg_obj_islist
    - dns_name_fromstring
    - UNCONST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t delete_zoneconf(dns_view_t *view, const cfg_obj_t *config,\n\t\tconst
      dns_name_t *zname)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12155,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12155,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:12164,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:12173,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:12175,1
    - Dst: nzd_writable
      Src: /src/bind9/bin/named/server.c:12178,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12180,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12181,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12181,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12182,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12182,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12183,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12183,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12184,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12189,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/bin/named/server.c:12191,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12196,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:12201,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:12202,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:12206,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12208,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12211,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12211,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12212,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12212,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12212,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12219,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:12221,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:12223,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12225,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12228,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:12237,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12241,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12241,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12242,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12242,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12242,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12244,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:12248,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:12249,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:12250,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:12254,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/bin/named/server.c:12259,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12262,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:12262,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12263,1
    - Dst: nzd_save
      Src: /src/bind9/bin/named/server.c:12263,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:12268,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:12271,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12275,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 90
    argCount: 6
    argNames:
    - server
    - view
    - name
    - zoneobj
    - redirect
    - text
    argTypes:
    - named_server_t*
    - dns_view_t*
    - dns_name_t*
    - cfg_obj_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12279
      start: 12143
    functionDepth: 3
    functionLinenumber: 12143
    functionLinenumberEnd: 12279
    functionName: do_addzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - nzd_save
    - dns_zone_load
    - dns_zone_detach
    - TCHECK
    - dns_view_thaw
    - UNLOCK
    - cfg_tuple_get
    - nzd_open
    - isc_loopmgr_resume
    - isc_result_totext
    - dns_view_findzone
    - dns_view_delzone
    - dns_db_detach
    - nzd_close
    - LOCK
    - isc_log_write
    - CHECK
    - dns_zone_getdb
    - putstr
    - configure_zone
    - CLEANUP
    - nzd_writable
    - isccfg_check_zoneconf
    - dns_zone_attach
    - dns_zone_setadded
    - dns_view_freeze
    - isc_loopmgr_pause
    - dns_zone_unload
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_addzone(named_server_t *server, dns_view_t *view,
      dns_name_t *name,\n\t   const cfg_obj_t *zoneobj, bool redirect, isc_buffer_t
      *text)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12295,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/server.c:12297,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:12305,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:12311,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:12317,1
    - Dst: dns_zone_getmodded
      Src: /src/bind9/bin/named/server.c:12318,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12319,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:12321,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:12323,1
    - Dst: nzd_writable
      Src: /src/bind9/bin/named/server.c:12325,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12327,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12327,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12328,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12328,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12329,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12329,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12331,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12337,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/bin/named/server.c:12339,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12344,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/named/server.c:12349,1
    - Dst: configure_zone
      Src: /src/bind9/bin/named/server.c:12350,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/named/server.c:12354,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:12356,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12359,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12359,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12360,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12360,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12360,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12367,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:12369,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12371,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/named/server.c:12371,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12378,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:12382,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:12383,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12385,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12385,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12387,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12387,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12387,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/named/server.c:12393,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12405,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12405,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12406,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12406,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12407,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12407,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12408,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12408,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12408,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12409,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12409,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12410,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12410,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12411,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12411,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12413,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:12417,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:12418,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:12419,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:12423,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12428,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:12428,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12429,1
    - Dst: nzd_save
      Src: /src/bind9/bin/named/server.c:12429,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12431,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12431,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12432,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12432,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12433,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12433,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12435,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:12435,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12436,1
    - Dst: nzd_save
      Src: /src/bind9/bin/named/server.c:12436,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12438,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12438,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12439,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12439,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12440,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12440,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12441,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12441,1
    - Dst: dns_zone_setmodded
      Src: /src/bind9/bin/named/server.c:12444,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:12448,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:12451,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12453,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 124
    argCount: 7
    argNames:
    - server
    - view
    - name
    - zname
    - zoneobj
    - redirect
    - text
    argTypes:
    - named_server_t*
    - dns_view_t*
    - dns_name_t*
    - char*
    - cfg_obj_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12457
      start: 12281
    functionDepth: 3
    functionLinenumber: 12281
    functionLinenumberEnd: 12457
    functionName: do_modzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - nzd_save
    - dns_zone_detach
    - dns_zone_load
    - TCHECK
    - dns_view_thaw
    - delete_zoneconf
    - dns_zone_setmodded
    - UNLOCK
    - cfg_tuple_get
    - dns_zone_getmodded
    - nzd_open
    - isc_loopmgr_resume
    - dns_zone_getadded
    - isc_result_totext
    - dns_zone_getorigin
    - dns_view_findzone
    - dns_view_delzone
    - dns_db_detach
    - nzd_close
    - LOCK
    - isc_log_write
    - CHECK
    - putstr
    - isc_buffer_clear
    - dns_zone_getdb
    - configure_zone
    - CLEANUP
    - nzd_writable
    - isccfg_check_zoneconf
    - dns_zone_attach
    - dns_view_freeze
    - isc_loopmgr_pause
    - dns_zone_unload
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t do_modzone(named_server_t *server, dns_view_t *view,
      dns_name_t *name,\n\t   const char *zname, const cfg_obj_t *zoneobj, bool redirect,\n\t
      \  isc_buffer_t *text)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12476,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:12478,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:12481,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:12481,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12485,1
    - Dst: newzone_parse
      Src: /src/bind9/bin/named/server.c:12485,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12490,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12491,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12492,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12493,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/server.c:12496,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12496,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/server.c:12497,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12497,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:12498,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:12498,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:12500,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12501,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:12501,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/server.c:12504,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12505,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12507,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12512,1
    - Dst: do_addzone
      Src: /src/bind9/bin/named/server.c:12512,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12515,1
    - Dst: do_modzone
      Src: /src/bind9/bin/named/server.c:12515,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12519,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:12525,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12528,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:12529,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:12532,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/named/server.c:12535,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 3
    argNames:
    - server
    - command
    - text
    argTypes:
    - named_server_t*
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12539
      start: 12462
    functionDepth: 4
    functionLinenumber: 12462
    functionLinenumberEnd: 12539
    functionName: named_server_changezone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - REQUIRE
    - INSIST
    - isc_buffer_usedlength
    - isc_buffer_add
    - strlen
    - dns_name_fromtext
    - cfg_tuple_get
    - dns_view_detach
    - putnull
    - do_modzone
    - cfg_obj_asstring
    - isc_time_now
    - dns_name_equal
    - do_addzone
    - isc_log_write
    - newzone_parse
    - CHECK
    - putstr
    - CLEANUP
    - cfg_obj_detach
    - dns_fixedname_initname
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_changezone(named_server_t *server, char
      *command,\n\t\t\tisc_buffer_t *text)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/server.c:12543,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12545,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12548,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12550,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:12551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 3
    argNames:
    - file
    - first
    - text
    argTypes:
    - char*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12555
      start: 12541
    functionDepth: 1
    functionLinenumber: 12541
    functionLinenumberEnd: 12555
    functionName: inuse
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - putstr
    - putnull
    - isc_file_exists
    linkageType: ''
    returnType: bool
    signature: bool inuse(const char *file, bool first, isc_buffer_t *text)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12578,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:12582,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:12583,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:12583,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12585,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:12593,1
    - Dst: dns_zone_getmodded
      Src: /src/bind9/bin/named/server.c:12594,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:12596,1
    - Dst: nzd_open
      Src: /src/bind9/bin/named/server.c:12600,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12602,1
    - Dst: nzd_save
      Src: /src/bind9/bin/named/server.c:12607,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12611,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12614,1
    - Dst: nzd_close
      Src: /src/bind9/bin/named/server.c:12618,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/server.c:12626,1
    - Dst: delete_zoneconf
      Src: /src/bind9/bin/named/server.c:12632,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:12633,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12635,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12638,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:12642,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:12645,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:12646,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:12647,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:12651,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:12657,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:12658,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12660,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12663,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:12666,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:12667,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12669,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12672,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:12676,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:12677,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12679,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12683,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:12686,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:12687,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12689,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:12693,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12699,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12701,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/server.c:12702,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 70
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12703
      start: 12566
    functionDepth: 3
    functionLinenumber: 12566
    functionLinenumberEnd: 12703
    functionName: rmzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - nzd_save
    - dns_zone_getfile
    - dns_zone_detach
    - isc_mem_put
    - delete_zoneconf
    - dns_zone_getjournal
    - isc_file_remove
    - UNLOCK
    - dns_name_format
    - cfg_tuple_get
    - dns_zone_getmodded
    - nzd_open
    - dns_zone_getadded
    - dns_zone_getraw
    - isc_result_totext
    - dns_zone_getorigin
    - dns_db_detach
    - nzd_close
    - LOCK
    - isc_log_write
    - dns_zone_getview
    - dns_zone_getdb
    - dns_zone_unload
    linkageType: ''
    returnType: void
    signature: void rmzone(void *arg)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12722,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12725,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12731,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12736,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:12736,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12738,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12741,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:12741,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12743,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:12746,1
    - Dst: dns_zone_get_rpz_num
      Src: /src/bind9/bin/named/server.c:12749,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12750,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12750,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12751,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12751,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12752,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12752,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12754,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/server.c:12757,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12760,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12760,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12761,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:12764,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12765,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12767,1
    - Dst: dns_view_delzone
      Src: /src/bind9/bin/named/server.c:12767,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/server.c:12771,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/named/server.c:12776,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/named/server.c:12777,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/bin/named/server.c:12777,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:12780,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:12783,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12785,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12785,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12786,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12786,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12787,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12787,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12789,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12789,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12790,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12790,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12791,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12791,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12793,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12793,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12794,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12794,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12795,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12795,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:12796,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:12797,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:12798,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12803,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12803,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12804,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12804,1
    - Dst: TCHECK
      Src: /src/bind9/bin/named/server.c:12805,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12805,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:12807,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:12808,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:12810,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:12811,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:12814,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:12815,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:12817,1
    - Dst: inuse
      Src: /src/bind9/bin/named/server.c:12818,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:12822,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:12827,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12832,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:12833,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12836,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12839,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 85
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12843
      start: 12708
    functionDepth: 3
    functionLinenumber: 12708
    functionLinenumberEnd: 12843
    functionName: named_server_delzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_getfile
    - dns_zone_detach
    - INSIST
    - isc_buffer_usedlength
    - TCHECK
    - dns_zone_get_rpz_num
    - dns_zone_getjournal
    - dns_zone_getloop
    - inuse
    - next_token
    - putnull
    - dns_zone_getadded
    - dns_zone_getraw
    - strcmp
    - dns_view_delzone
    - isc_time_now
    - isc_log_write
    - dns_zone_getview
    - CHECK
    - putstr
    - CLEANUP
    - isc_mem_get
    - dns_zone_attach
    - isc_async_run
    - zone_from_args
    - dns_zone_gettype
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12856,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12859,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:12859,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12861,1
    - Dst: dns_zone_getcfg
      Src: /src/bind9/bin/named/server.c:12864,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:12865,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:12868,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12871,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12871,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12872,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12872,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12873,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:12873,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12878,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:12879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12883
      start: 12848
    functionDepth: 3
    functionLinenumber: 12848
    functionLinenumberEnd: 12883
    functionName: named_server_showzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - isc_buffer_usedlength
    - putnull
    - zone_from_args
    - dns_zone_getcfg
    - CHECK
    - putstr
    - CLEANUP
    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:12896,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12899,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12901,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12906,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:12907,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:12907,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12908,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12909,1
    - Dst: putmem
      Src: /src/bind9/bin/named/server.c:12911,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/server.c:12912,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12913,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:12915,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12919,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:12920,1
    - Dst: named_config_parsedefaults
      Src: /src/bind9/bin/named/server.c:12920,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/named/server.c:12921,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/server.c:12922,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:12929,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:12930,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12934
      start: 12885
    functionDepth: 2
    functionLinenumber: 12885
    functionLinenumberEnd: 12934
    functionName: named_server_showconf
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcasecmp
    - isc_buffer_usedlength
    - cfg_obj_detach
    - next_token
    - putnull
    - named_config_parsedefaults
    - isc_buffer_base
    - putmem
    - CHECK
    - cfg_printx
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t named_server_showconf(named_server_t *server, isc_lex_t
      *lex,\n\t\t      isc_buffer_t *text)"
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:12961,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/server.c:12963,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12966,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12972,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12977,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12979,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12980,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12983,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:12987,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12988,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:12993,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:12998,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:13001,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13003,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:13007,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13009,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:13013,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:13014,1
    - Dst: sscanf
      Src: /src/bind9/bin/named/server.c:13019,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/named/server.c:13025,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13030,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13033,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:13042,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:13045,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13046,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/named/server.c:13046,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:13048,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13051,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13052,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13056,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:13056,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13059,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13062,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:13062,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13064,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:13067,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13072,1
    - Dst: dns_zone_keydone
      Src: /src/bind9/bin/named/server.c:13072,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13073,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13074,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13076,1
    - Dst: dns_zone_setnsec3param
      Src: /src/bind9/bin/named/server.c:13076,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13079,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13080,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13082,1
    - Dst: dns_zone_setserial
      Src: /src/bind9/bin/named/server.c:13082,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13083,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13084,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/bin/named/server.c:13086,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/server.c:13087,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13088,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:13088,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13089,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/named/server.c:13089,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:13090,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/named/server.c:13092,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13096,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13097,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:13112,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:13114,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13115,1
    - Dst: dns_private_totext
      Src: /src/bind9/bin/named/server.c:13115,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13117,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13117,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13119,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13119,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13123,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13123,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13126,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13128,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/named/server.c:13132,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/named/server.c:13134,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:13137,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:13140,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13143,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 148
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13147
      start: 12936
    functionDepth: 3
    functionLinenumber: 12936
    functionLinenumberEnd: 13147
    functionName: named_server_signing
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_hex_decodestring
    - dns_zone_detach
    - isc_buffer_usedlength
    - dns_rdataset_init
    - dns_db_currentversion
    - dns_nsec3_maxiterations
    - dns_zone_setnsec3param
    - strcasecmp
    - next_token
    - putnull
    - snprintf
    - strlcpy
    - isc_buffer_init
    - dns_zone_getorigin
    - strcmp
    - dns_db_detach
    - sscanf
    - dns_db_findrdataset
    - dns_zone_setserial
    - CHECK
    - dns_rdataset_current
    - putstr
    - dns_zone_getdb
    - dns_private_totext
    - dns_db_closeversion
    - CLEANUP
    - dns_db_detachnode
    - dns_zone_getkasp
    - isc_parse_uint32
    - dns_rdataset_cleanup
    - dns_zone_keydone
    - zone_from_args
    - dns_zone_getprivatetype
    - dns_db_findnode
    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:13112,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:13114,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13115,1
    - Dst: dns_private_totext
      Src: /src/bind9/bin/named/server.c:13115,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13117,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13117,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13119,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13121
      start: 13102
    functionDepth: 1
    functionLinenumber: 13102
    functionLinenumberEnd: 13121
    functionName: (&privset)
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_private_totext
    - dns_rdataset_current
    - CHECK
    - putstr
    - isc_buffer_init
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&privset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13158,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13159,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/server.c:13159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - cmd
    - full
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13164
      start: 13149
    functionDepth: 0
    functionLinenumber: 13149
    functionLinenumberEnd: 13164
    functionName: argcheck
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    linkageType: ''
    returnType: bool
    signature: bool argcheck(char *cmd, const char *full)
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:13194,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13197,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13203,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/server.c:13209,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/named/server.c:13210,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/server.c:13213,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13215,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13217,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13219,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13221,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13224,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13230,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13233,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13234,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13238,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13249,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13252,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13253,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13255,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13258,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13261,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/named/server.c:13262,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13266,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13269,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13271,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13274,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13276,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/named/server.c:13276,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13280,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13282,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13285,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13287,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/bin/named/server.c:13287,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13292,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13298,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:13300,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13301,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13315,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13320,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13325,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:13325,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13328,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13332,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13335,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:13339,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13346,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:13346,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:13347,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:13348,1
    - Dst: dns_zone_getdnsseckeys
      Src: /src/bind9/bin/named/server.c:13349,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:13350,1
    - Dst: dns_zone_dnssecstatus
      Src: /src/bind9/bin/named/server.c:13362,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13364,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13364,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13366,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13366,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:13375,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:13376,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:13379,1
    - Dst: dns_keymgr_checkds_id
      Src: /src/bind9/bin/named/server.c:13381,1
    - Dst: dns_keymgr_checkds
      Src: /src/bind9/bin/named/server.c:13385,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:13388,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:13396,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:13400,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13401,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13401,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13402,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13402,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13403,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13403,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13405,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13405,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13407,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13407,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13409,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13409,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13411,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13411,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13412,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13412,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13415,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13415,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13421,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13421,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13423,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13423,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13423,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:13431,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:13432,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/server.c:13435,1
    - Dst: dns_keymgr_rollover
      Src: /src/bind9/bin/named/server.c:13436,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/server.c:13438,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:13446,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:13450,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13451,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13451,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13452,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13452,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13453,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13453,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13455,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13455,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13456,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13456,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13459,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13459,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13465,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13465,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13467,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13467,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13467,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:13471,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13474,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13474,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13478,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13479,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:13483,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:13486,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/server.c:13490,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/named/server.c:13491,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/server.c:13491,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13495,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 239
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13499
      start: 13166
    functionDepth: 3
    functionLinenumber: 13166
    functionLinenumberEnd: 13499
    functionName: named_server_dnssec
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_zone_detach
    - dns_keymgr_checkds_id
    - dns_zone_getmctx
    - dns_keymgr_checkds
    - dns_keymgr_rollover
    - dns_zone_getdnsseckeys
    - dst_algorithm_fromtext
    - dns_zone_rekey
    - dns_dnsseckey_destroy
    - ISC_LIST_INIT
    - strlen
    - dns_db_currentversion
    - dns_time32_fromtext
    - UNLOCK
    - strcasecmp
    - next_token
    - putnull
    - isc_time_set
    - snprintf
    - dns_zone_dnssecstatus
    - isc_time_seconds
    - isc_result_totext
    - isc_time_now
    - dns_db_detach
    - LOCK
    - dns_db_closeversion
    - CHECK
    - dns_zone_getdb
    - putstr
    - isc_parse_uint16
    - CLEANUP
    - dns_zone_getkasp
    - argcheck
    - isc_time_formattimestamp
    - zone_from_args
    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:13490,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/named/server.c:13491,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/server.c:13491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13492
      start: 13489
    functionDepth: 1
    functionLinenumber: 13489
    functionLinenumberEnd: 13492
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 22
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    - dns_zone_getmctx
    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:13505,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/named/server.c:13510,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: 13512
      start: 13501
    functionDepth: 1
    functionLinenumber: 13501
    functionLinenumberEnd: 13512
    functionName: putmem
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 5
    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:13516,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13517
      start: 13514
    functionDepth: 0
    functionLinenumber: 13514
    functionLinenumberEnd: 13517
    functionName: putstr
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 31
    functionsReached:
    - strlen
    - putmem
    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:13523,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/named/server.c:13528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - val
    argTypes:
    - isc_buffer_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13530
      start: 13519
    functionDepth: 1
    functionLinenumber: 13519
    functionLinenumberEnd: 13530
    functionName: putuint8
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 5
    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:13534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13535
      start: 13532
    functionDepth: 2
    functionLinenumber: 13532
    functionLinenumberEnd: 13535
    functionName: putnull
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 20
    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:13562,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:13564,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:13565,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:13566,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:13567,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/named/server.c:13568,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13570,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:13570,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13572,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13576,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:13576,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/bin/named/server.c:13577,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:13581,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13582,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:13582,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/server.c:13585,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/bin/named/server.c:13588,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/server.c:13591,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:13598,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/server.c:13600,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:13604,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/bin/named/server.c:13608,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:13609,1
    - Dst: dns_db_issecure
      Src: /src/bind9/bin/named/server.c:13612,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:13613,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:13616,1
    - Dst: dns_zone_getincludes
      Src: /src/bind9/bin/named/server.c:13617,1
    - Dst: dns_zone_getloadtime
      Src: /src/bind9/bin/named/server.c:13620,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:13621,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/bin/named/server.c:13627,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:13628,1
    - Dst: dns_zone_getrefreshtime
      Src: /src/bind9/bin/named/server.c:13629,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:13630,1
    - Dst: dns_zone_getrefreshkeytime
      Src: /src/bind9/bin/named/server.c:13637,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:13638,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/bin/named/server.c:13644,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/bin/named/server.c:13645,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:13657,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/bin/named/server.c:13659,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/bin/named/server.c:13664,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:13666,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/named/server.c:13667,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/bin/named/server.c:13667,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:13669,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:13671,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:13672,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13678,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13678,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13679,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13679,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13681,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13681,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13682,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13682,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13686,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13686,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13687,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13687,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13689,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13689,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13691,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13691,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13696,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13696,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13697,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13697,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13699,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13699,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13700,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13700,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13703,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13703,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13704,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13704,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:13706,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13707,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13707,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13708,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13708,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:13711,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13712,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13712,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13713,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13713,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:13716,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13717,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13717,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13718,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13718,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13722,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13722,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13724,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13724,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13726,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13726,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13729,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13729,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13733,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13733,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:13734,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13735,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13735,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13736,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13736,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13739,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13739,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:13742,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13743,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13743,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13744,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13744,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13745,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13745,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13746,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13746,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13750,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13750,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13752,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13752,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13754,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13754,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13757,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13757,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13760,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13760,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13761,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13761,1
    - Dst: dns_zone_getadded
      Src: /src/bind9/bin/named/server.c:13761,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13766,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13769,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:13773,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:13776,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/bin/named/server.c:13780,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:13784,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/server.c:13787,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13790,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:13793,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 170
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13796
      start: 13537
    functionDepth: 3
    functionLinenumber: 13537
    functionLinenumberEnd: 13796
    functionName: named_server_zonestatus
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_nodecount
    - dns_zone_getfile
    - dns_zone_detach
    - dns_zone_getmctx
    - isc_time_formathttptimestamp
    - dns_zone_getsigresigninginterval
    - dns_zone_getrefreshtime
    - dns_zone_getrefreshkeytime
    - dns_name_format
    - isc_time_settoepoch
    - putnull
    - isc_time_set
    - snprintf
    - isc_mem_free
    - isc_time_isepoch
    - dns_zone_getadded
    - dns_zone_getraw
    - dns_zone_getloadtime
    - dns_db_detach
    - dns_rdatatype_format
    - dns_zonetype_name
    - CHECK
    - dns_zone_getdb
    - putstr
    - CLEANUP
    - dns_db_issecure
    - dns_zone_getkasp
    - DNS_TYPEPAIR_COVERS
    - dns_zone_getincludes
    - dns_db_getsigningtime
    - zone_from_args
    - dns_zone_getserial
    - dns_zone_getexpiretime
    - dns_zone_isdynamic
    - dns_fixedname_initname
    - dns_zone_gettype
    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:13819,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:13821,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/server.c:13823,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13826,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13833,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:13838,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13840,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13842,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13845,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13848,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13851,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13854,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13858,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/bin/named/server.c:13859,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13862,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13867,1
    - Dst: argcheck
      Src: /src/bind9/bin/named/server.c:13872,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13875,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13878,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13882,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13883,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:13883,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13887,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:13901,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:13903,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:13905,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:13910,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13911,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:13911,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:13914,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13916,1
    - Dst: dns_ntatable_totext
      Src: /src/bind9/bin/named/server.c:13916,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13918,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:13918,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13924,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13928,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13933,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:13940,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:13942,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/server.c:13946,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13946,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/server.c:13947,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:13947,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:13948,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/server.c:13948,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13953,1
    - Dst: strlcpy
      Src: /src/bind9/bin/named/server.c:13955,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:13959,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:13960,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/named/server.c:13963,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:13965,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:13966,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:13967,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:13985,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/bin/named/server.c:13988,1
    - Dst: dns_view_flushnode
      Src: /src/bind9/bin/named/server.c:13994,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:13995,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:13998,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14001,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/bin/named/server.c:14001,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14005,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/bin/named/server.c:14006,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14009,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14009,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14013,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14013,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14014,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14014,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14015,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14015,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14016,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14016,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14017,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14017,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14018,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14018,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14020,1
    - Dst: dns_ntatable_delete
      Src: /src/bind9/bin/named/server.c:14027,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14037,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14037,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14041,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14041,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14042,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14042,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14044,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14044,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14045,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14045,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14046,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14046,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14049,1
    - Dst: dns_view_saventa
      Src: /src/bind9/bin/named/server.c:14057,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14059,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14063,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14071,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:14075,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14080,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14081,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/bin/named/server.c:14085,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: 14088
      start: 13798
    functionDepth: 3
    functionLinenumber: 13798
    functionLinenumberEnd: 14088
    functionName: named_server_nta
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_ntatable_delete
    - REQUIRE
    - UNUSED
    - isc_buffer_usedlength
    - isc_buffer_add
    - strlen
    - dns_view_getntatable
    - dns_name_fromtext
    - next_token
    - putnull
    - isc_time_set
    - isc_loopmgr_resume
    - dns_ttl_fromtext
    - strlcpy
    - isc_buffer_init
    - isc_result_totext
    - dns_ntatable_totext
    - strcmp
    - dns_ntatable_add
    - isc_stdtime_now
    - isc_log_write
    - dns_view_saventa
    - dns_ntatable_detach
    - CHECK
    - putstr
    - CLEANUP
    - dns_rdataclass_fromtext
    - argcheck
    - isc_time_formattimestamp
    - dns_view_flushnode
    - isc_loopmgr_pause
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    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:14092,1
    - Dst: dns_view_saventa
      Src: /src/bind9/bin/named/server.c:14093,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14096,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14105
      start: 14090
    functionDepth: 1
    functionLinenumber: 14090
    functionLinenumberEnd: 14105
    functionName: named_server_saventa
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_view_saventa
    - isc_result_totext
    - ISC_LIST_FOREACH
    - isc_log_write
    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:14109,1
    - Dst: dns_view_loadnta
      Src: /src/bind9/bin/named/server.c:14110,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14116,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14120,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14125
      start: 14107
    functionDepth: 1
    functionLinenumber: 14107
    functionLinenumberEnd: 14125
    functionName: named_server_loadnta
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - dns_view_loadnta
    - isc_result_totext
    - ISC_LIST_FOREACH
    - isc_log_write
    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:14132,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14134,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14134,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14135,1
    - Dst: dns_zone_synckeyzone
      Src: /src/bind9/bin/named/server.c:14135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14139
      start: 14127
    functionDepth: 1
    functionLinenumber: 14127
    functionLinenumberEnd: 14139
    functionName: mkey_refresh
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - snprintf
    - putstr
    - dns_zone_synckeyzone
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t mkey_refresh(dns_view_t *view, isc_buffer_t *text)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14151,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14154,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14156,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14156,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:14158,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:14163,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:14166,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:14167,1
    - Dst: dns_zone_unload
      Src: /src/bind9/bin/named/server.c:14168,1
    - Dst: dns_zone_getfile
      Src: /src/bind9/bin/named/server.c:14172,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:14173,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14177,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14179,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/bin/named/server.c:14182,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/named/server.c:14183,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14187,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14189,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14193,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14193,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14194,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:14197,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:14201,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 38
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14203
      start: 14141
    functionDepth: 1
    functionLinenumber: 14141
    functionLinenumberEnd: 14203
    functionName: mkey_destroy
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_getfile
    - dns_db_detach
    - dns_zone_detach
    - snprintf
    - isc_log_write
    - isc_loopmgr_pause
    - dns_zone_unload
    - dns_zone_flush
    - dns_zone_getjournal
    - isc_loopmgr_resume
    - CHECK
    - dns_zone_getdb
    - putstr
    - isc_file_remove
    - CLEANUP
    - isc_result_totext
    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:14211,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14214,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/named/server.c:14214,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/named/server.c:14215,1
    - Dst: dns_rriterator_init
      Src: /src/bind9/bin/named/server.c:14216,1
    - Dst: dns_rriterator_first
      Src: /src/bind9/bin/named/server.c:14217,1
    - Dst: dns_rriterator_nextrrset
      Src: /src/bind9/bin/named/server.c:14218,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/bin/named/server.c:14226,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/named/server.c:14228,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/server.c:14235,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14236,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14237,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14237,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/named/server.c:14249,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:14250,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:14251,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:14252,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/named/server.c:14254,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/named/server.c:14255,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/named/server.c:14256,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14258,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14259,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14259,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/named/server.c:14261,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14262,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14263,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14263,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14266,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14271,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14271,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14273,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14274,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14275,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14277,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14277,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14280,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14281,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14283,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14285,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14285,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14288,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14289,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14291,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14293,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14295,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14298,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14301,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14301,1
    - Dst: dns_rriterator_destroy
      Src: /src/bind9/bin/named/server.c:14311,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/named/server.c:14312,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:14315,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 69
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14319
      start: 14205
    functionDepth: 1
    functionLinenumber: 14205
    functionLinenumberEnd: 14319
    functionName: mkey_dumpzone
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_rriterator_nextrrset
    - dns_secalg_format
    - isc_time_formathttptimestamp
    - dns_rdata_toregion
    - dns_rriterator_init
    - isc_region_consume
    - dns_db_currentversion
    - dns_rdataset_isassociated
    - dns_name_format
    - RUNTIME_CHECK
    - isc_time_set
    - snprintf
    - dns_rdata_tostruct
    - dns_rriterator_first
    - dns_rriterator_destroy
    - dns_db_detach
    - isc_stdtime_now
    - dns_rdata_reset
    - dns_rriterator_current
    - dst_region_computeid
    - dns_rdataset_current
    - CHECK
    - dns_db_closeversion
    - putstr
    - dns_zone_getdb
    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:14249,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/named/server.c:14250,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/named/server.c:14251,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/server.c:14252,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/named/server.c:14254,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/named/server.c:14255,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/named/server.c:14256,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14258,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14259,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14259,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/named/server.c:14261,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14262,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14263,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14263,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14266,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14271,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14271,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14273,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14274,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14275,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14277,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14277,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14280,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14281,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14283,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14285,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14285,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/named/server.c:14288,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14289,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14291,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14293,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14295,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14298,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14301,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14301,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14302
      start: 14240
    functionDepth: 1
    functionLinenumber: 14240
    functionLinenumberEnd: 14302
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_secalg_format
    - RUNTIME_CHECK
    - isc_time_formathttptimestamp
    - dns_rdata_reset
    - dns_rdata_toregion
    - isc_time_set
    - snprintf
    - dst_region_computeid
    - dns_rdataset_current
    - CHECK
    - putstr
    - isc_region_consume
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(kdset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14327,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14327,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14328,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14328,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14330,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14330,1
    - Dst: dns_zone_getrefreshkeytime
      Src: /src/bind9/bin/named/server.c:14332,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/server.c:14333,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14334,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14334,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/bin/named/server.c:14336,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14337,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14337,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14340,1
    - Dst: mkey_dumpzone
      Src: /src/bind9/bin/named/server.c:14340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - view
    - text
    argTypes:
    - dns_view_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14344
      start: 14321
    functionDepth: 2
    functionLinenumber: 14321
    functionLinenumberEnd: 14344
    functionName: mkey_status
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_time_formathttptimestamp
    - mkey_dumpzone
    - isc_time_isepoch
    - CHECK
    - putstr
    - dns_zone_getrefreshkeytime
    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:14356,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14359,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14365,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14370,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14372,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14374,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14376,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14379,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14380,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14381,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14385,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:14389,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:14390,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14392,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14394,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14397,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:14400,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:14402,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14409,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14411,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14411,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14423,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14423,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14425,1
    - Dst: mkey_refresh
      Src: /src/bind9/bin/named/server.c:14425,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14429,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14429,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14431,1
    - Dst: mkey_status
      Src: /src/bind9/bin/named/server.c:14431,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14434,1
    - Dst: dns_zone_flush
      Src: /src/bind9/bin/named/server.c:14434,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14438,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14438,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14440,1
    - Dst: mkey_destroy
      Src: /src/bind9/bin/named/server.c:14440,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/server.c:14443,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14453,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14453,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14457,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14458,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 93
    argCount: 3
    argNames:
    - server
    - lex
    - text
    argTypes:
    - named_server_t*
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14462
      start: 14346
    functionDepth: 3
    functionLinenumber: 14346
    functionLinenumberEnd: 14462
    functionName: named_server_mkeys
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - mkey_refresh
    - strcasecmp
    - dns_rdataclass_fromtext
    - isc_buffer_usedlength
    - mkey_status
    - next_token
    - putnull
    - mkey_destroy
    - snprintf
    - strlen
    - dns_zone_flush
    - ISC_LIST_FOREACH
    - CHECK
    - putstr
    - UNREACHABLE
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_server_mkeys(named_server_t *server, isc_lex_t *lex,
      isc_buffer_t *text)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/server.c:14473,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14480,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14486,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14489,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14495,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14497,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14499,1
    - Dst: sscanf
      Src: /src/bind9/bin/named/server.c:14502,1
    - Dst: dns_dt_reopen
      Src: /src/bind9/bin/named/server.c:14514,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:14517,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:14518,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/server.c:14519,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: 14522
      start: 14464
    functionDepth: 2
    functionLinenumber: 14464
    functionLinenumberEnd: 14522
    functionName: named_server_dnstap
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - strcasecmp
    - sscanf
    - next_token
    - dns_dt_reopen
    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:14532,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/bin/named/server.c:14537,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/bin/named/server.c:14538,1
    - Dst: isc_nm_getidletimeout
      Src: /src/bind9/bin/named/server.c:14539,1
    - Dst: isc_nm_getkeepalivetimeout
      Src: /src/bind9/bin/named/server.c:14540,1
    - Dst: isc_nm_getadvertisedtimeout
      Src: /src/bind9/bin/named/server.c:14541,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14544,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14546,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:14546,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14549,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14552,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14555,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14559,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:14559,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14562,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14565,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14568,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14572,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:14572,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14575,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14578,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14581,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14585,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:14585,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14588,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14591,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14595,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/named/server.c:14595,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14598,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14601,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/named/server.c:14604,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/named/server.c:14605,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/named/server.c:14606,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/named/server.c:14607,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/bin/named/server.c:14608,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14611,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14612,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14612,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14613,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14614,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14614,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14615,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14617,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14617,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14618,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14620,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14620,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14621,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14622,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14622,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14625,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14626,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 2
    argNames:
    - lex
    - text
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14630
      start: 14524
    functionDepth: 3
    functionLinenumber: 14524
    functionLinenumberEnd: 14630
    functionName: named_server_tcptimeouts
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - isc_nm_getidletimeout
    - isc_nm_setkeepalivetimeout
    - isc_nm_getprimariestimeout
    - isc_nm_setidletimeout
    - isc_nm_getinitialtimeout
    - isc_nm_setadvertisedtimeout
    - isc_parse_uint32
    - next_token
    - isc_nm_setinitialtimeout
    - isc_nm_getadvertisedtimeout
    - isc_buffer_usedlength
    - putnull
    - isc_nm_getkeepalivetimeout
    - snprintf
    - isc_nm_setprimariestimeout
    - CHECK
    - putstr
    - CLEANUP
    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:14643,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14646,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14651,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14656,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14656,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14657,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14657,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14660,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14660,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14661,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14661,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14664,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14666,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14666,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14673,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14678,1
    - Dst: strlen
      Src: /src/bind9/bin/named/server.c:14684,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/server.c:14685,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14688,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14690,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/named/server.c:14699,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:14701,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/server.c:14710,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/server.c:14721,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/bin/named/server.c:14722,1
    - Dst: dns_db_getservestalerefresh
      Src: /src/bind9/bin/named/server.c:14723,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/server.c:14724,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14726,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14726,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14728,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14728,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14729,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14729,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14733,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14733,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14737,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14737,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14744,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14744,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14748,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14748,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14755,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14755,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14759,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14759,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14763,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14763,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14770,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14776,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14776,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/named/server.c:14786,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14788,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14789,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: 14793
      start: 14632
    functionDepth: 3
    functionLinenumber: 14632
    functionLinenumberEnd: 14793
    functionName: named_server_servestale
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - dns_db_attach
    - dns_db_detach
    - dns_rdataclass_fromtext
    - strcasecmp
    - isc_buffer_usedlength
    - next_token
    - dns_db_getservestalerefresh
    - putnull
    - snprintf
    - dns_db_getservestalettl
    - strlen
    - isc_loopmgr_pause
    - isc_loopmgr_resume
    - ISC_LIST_FOREACH
    - CHECK
    - putstr
    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:14803,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14806,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14812,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/server.c:14813,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14823,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/server.c:14827,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14833,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14833,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14835,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14835,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14836,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14836,1
    - Dst: dns_adb_getquota
      Src: /src/bind9/bin/named/server.c:14838,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14839,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14842,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14845,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14845,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14846,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14847,1
    - Dst: dns_adb_dumpquota
      Src: /src/bind9/bin/named/server.c:14847,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14848,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14849,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14849,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14852,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14852,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14853,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14853,1
    - Dst: dns_resolver_getfetchesperzone
      Src: /src/bind9/bin/named/server.c:14854,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14855,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14858,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14860,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14860,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14861,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14862,1
    - Dst: dns_resolver_dumpquota
      Src: /src/bind9/bin/named/server.c:14862,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14863,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14864,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14864,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:14866,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/server.c:14870,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/server.c:14872,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14873,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: 14877
      start: 14795
    functionDepth: 3
    functionLinenumber: 14795
    functionLinenumberEnd: 14877
    functionName: named_server_fetchlimit
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_adb_detach
    - dns_resolver_getfetchesperzone
    - strcasecmp
    - isc_buffer_usedlength
    - next_token
    - dns_adb_dumpquota
    - dns_resolver_dumpquota
    - putnull
    - snprintf
    - ISC_LIST_FOREACH
    - CHECK
    - putstr
    - dns_view_getadb
    - dns_adb_getquota
    - CLEANUP
    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:14888,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14894,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14899,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14900,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14903,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/server.c:14907,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14909,1
    - Dst: zone_from_args
      Src: /src/bind9/bin/named/server.c:14909,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/server.c:14911,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/bin/named/server.c:14913,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14915,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14915,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14916,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14916,1
    - Dst: dns_kasp_offlineksk
      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:14922,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14922,1
    - Dst: dns_zone_import_skr
      Src: /src/bind9/bin/named/server.c:14926,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14928,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14928,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14929,1
    - Dst: putstr
      Src: /src/bind9/bin/named/server.c:14929,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/server.c:14929,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/server.c:14930,1
    - Dst: putnull
      Src: /src/bind9/bin/named/server.c:14930,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/bin/named/server.c:14933,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/named/server.c:14938,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: 14942
      start: 14879
    functionDepth: 3
    functionLinenumber: 14879
    functionLinenumberEnd: 14942
    functionName: named_server_skr
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - strcasecmp
    - dns_zone_getkasp
    - next_token
    - putnull
    - dns_zone_rekey
    - snprintf
    - dns_kasp_offlineksk
    - zone_from_args
    - dns_zone_import_skr
    - CHECK
    - putstr
    - CLEANUP
    - isc_result_totext
    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:14951,1
    - Dst: next_token
      Src: /src/bind9/bin/named/server.c:14956,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14959,1
    - Dst: memprof_dump
      Src: /src/bind9/bin/named/server.c:14960,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14962,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14967,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14973,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14973,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14974,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14974,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14977,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14977,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14978,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/server.c:14978,1
    - Dst: memprof_toggle
      Src: /src/bind9/bin/named/server.c:14985,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14987,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/server.c:14991,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14998
      start: 14944
    functionDepth: 2
    functionLinenumber: 14944
    functionLinenumberEnd: 14998
    functionName: named_server_togglememprof
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - memprof_toggle
    - next_token
    - memprof_dump
    - isc_log_write
    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:15007,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:15012,1
    - Dst: mallctl
      Src: /src/bind9/bin/named/server.c:15019,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:15024,1
    - Dst: mallctl
      Src: /src/bind9/bin/named/server.c:15032,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/server.c:15037,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15045
      start: 15001
    functionDepth: 0
    functionLinenumber: 15001
    functionLinenumberEnd: 15045
    functionName: named_server_getmemprof
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached:
    - mallctl
    - INSIST
    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: 15051
      start: 15048
    functionDepth: 0
    functionLinenumber: 15048
    functionLinenumberEnd: 15051
    functionName: named_server_getmemprof
    functionSourceFile: /src/bind9/bin/named/server.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      named_server_getmemprof(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_tkeyctx_create
      Src: /src/bind9/bin/named/tkeyconf.c:34,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tkeyconf.c:36,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tkeyconf.c:38,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/tkeyconf.c:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - options
    - mctx
    - tctxp
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    - dns_tkeyctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 43
    functionName: named_tkeyctx_fromconfig
    functionSourceFile: /src/bind9/bin/named/tkeyconf.c
    functionUses: 1
    functionsReached:
    - cfg_map_get
    - cfg_obj_asstring
    - isc_mem_strdup
    - dns_tkeyctx_create
    linkageType: ''
    returnType: void
    signature: "void 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:
    - snprintf
    - ISC_LOG_DEBUG
    - MMDB_open
    - isc_log_write
    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
    - REQUIRE
    - UNUSED
    - 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: 6
    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: CHECK
      Src: /src/bind9/bin/named/tsigconf.c:70,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:76,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/tsigconf.c:77,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/tsigconf.c:80,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/tsigconf.c:84,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:87,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:88,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/tsigconf.c:89,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/tsigconf.c:90,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/tsigconf.c:91,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/tsigconf.c:91,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/tsigconf.c:92,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/named/tsigconf.c:94,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/tsigconf.c:96,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/bin/named/tsigconf.c:98,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:102,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/named/tsigconf.c:109,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:110,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/tsigconf.c:117,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/tsigconf.c:119,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/tsigconf.c:120,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 45
    argCount: 3
    argNames:
    - list
    - ring
    - mctx
    argTypes:
    - cfg_obj_t*
    - dns_tsigkeyring_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 33
    functionDepth: 1
    functionLinenumber: 33
    functionLinenumberEnd: 122
    functionName: add_initial_keys
    functionSourceFile: /src/bind9/bin/named/tsigconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - INSIST
    - isc_buffer_usedlength
    - cfg_map_get
    - dns_tsigkey_create
    - dns_tsigkeyring_add
    - isc_buffer_add
    - strlen
    - named_config_getkeyalgorithm
    - dns_name_fromtext
    - cfg_listelt_value
    - dns_tsigkey_detach
    - cfg_obj_asstring
    - isc_buffer_init
    - isc_result_totext
    - isc_base64_decodestring
    - CHECK
    - cfg_map_getname
    - CLEANUP
    - cfg_obj_log
    - isc_mem_get
    - dns_fixedname_initname
    - dst_key_setbits
    - isc_buffer_constinit
    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: 5
    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: CHECK
      Src: /src/bind9/bin/named/tsigconf.c:70,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:76,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/tsigconf.c:77,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/tsigconf.c:80,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/tsigconf.c:84,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/tsigconf.c:87,1
    - Dst: strlen
      Src: /src/bind9/bin/named/tsigconf.c:88,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/tsigconf.c:89,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/tsigconf.c:90,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/tsigconf.c:91,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/tsigconf.c:91,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/tsigconf.c:92,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/named/tsigconf.c:94,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/tsigconf.c:96,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/bin/named/tsigconf.c:98,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:102,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/named/tsigconf.c:109,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/named/tsigconf.c:110,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 111
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/tsigconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - INSIST
    - isc_buffer_usedlength
    - cfg_map_get
    - dns_tsigkey_create
    - dns_tsigkeyring_add
    - isc_buffer_add
    - strlen
    - named_config_getkeyalgorithm
    - dns_name_fromtext
    - cfg_listelt_value
    - dns_tsigkey_detach
    - cfg_obj_asstring
    - isc_buffer_init
    - isc_base64_decodestring
    - CHECK
    - cfg_map_getname
    - CLEANUP
    - cfg_obj_log
    - isc_mem_get
    - dns_fixedname_initname
    - dst_key_setbits
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(list, element)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/tsigconf.c:133,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/tsigconf.c:140,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/bin/named/tsigconf.c:144,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/tsigconf.c:151,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/tsigconf.c:155,1
    - Dst: add_initial_keys
      Src: /src/bind9/bin/named/tsigconf.c:155,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/named/tsigconf.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    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: 164
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 164
    functionName: named_tsigkeyring_fromconfig
    functionSourceFile: /src/bind9/bin/named/tsigconf.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_tuple_get
    - cfg_map_get
    - dns_tsigkeyring_detach
    - CHECK
    - add_initial_keys
    - dns_tsigkeyring_create
    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: 2
    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: CHECK
      Src: /src/bind9/bin/named/log.c:47,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:49,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/bin/named/log.c:50,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/bin/named/log.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - safe
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 58
    functionName: named_log_init
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 1
    functionsReached:
    - named_log_setdefaultsslkeylogfile
    - named_log_setdefaultchannels
    - isc_logconfig_get
    - named_log_setsafechannels
    - named_log_setdefaultcategory
    - rcu_read_unlock
    - rcu_read_lock
    - CHECK
    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:74,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:83,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:94,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:103,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/log.c:110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 111
    functionName: named_log_setdefaultchannels
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 3
    functionsReached:
    - isc_log_createchannel
    - isc_log_setdebuglevel
    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:118,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/log.c:125,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:133,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/log.c:137,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/log.c:139,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:147,1
    - Dst: isc_log_createchannel
      Src: /src/bind9/bin/named/log.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 159
    functionName: named_log_setsafechannels
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 1
    functionsReached:
    - isc_log_createchannel
    - isc_log_setdebuglevel
    - UNREACHABLE
    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:173,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/log.c:184,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/named/log.c:189,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 193
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/log.c:199,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/log.c:199,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/log.c:204,1
    - Dst: isc_log_usechannel
      Src: /src/bind9/bin/named/log.c:208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 216
    functionName: named_log_setdefaultcategory
    functionSourceFile: /src/bind9/bin/named/log.c
    functionUses: 3
    functionsReached:
    - isc_log_usechannel
    - CHECK
    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:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lcfg
    argTypes:
    - isc_logconfig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 225
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/control.c:42,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/control.c:44,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/named/control.c:44,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/bin/named/control.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - lex
    - cmdp
    argTypes:
    - isc_lex_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 55
    functionName: getcommand
    functionSourceFile: /src/bind9/bin/named/control.c
    functionUses: 0
    functionsReached:
    - isc_lex_ungettoken
    - REQUIRE
    - RETERR
    - isc_lex_gettoken
    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:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - str
    - command
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    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: 52
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/named/control.c:80,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/bin/named/control.c:81,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/control.c:88,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/bin/named/control.c:88,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/named/control.c:90,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:90,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/control.c:92,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:92,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/control.c:93,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:93,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/control.c:94,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/bin/named/control.c:94,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/control.c:96,1
    - Dst: getcommand
      Src: /src/bind9/bin/named/control.c:96,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:101,1
    - Dst: strlen
      Src: /src/bind9/bin/named/control.c:102,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:103,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/control.c:105,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:115,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:116,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:117,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:118,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:119,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/control.c:121,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/control.c:126,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/control.c:129,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:137,1
    - Dst: named_smf_add_message
      Src: /src/bind9/bin/named/control.c:145,1
    - Dst: named_server_flushonshutdown
      Src: /src/bind9/bin/named/control.c:161,1
    - Dst: named_os_shutdownmsg
      Src: /src/bind9/bin/named/control.c:162,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/named/control.c:163,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:165,1
    - Dst: named_smf_add_message
      Src: /src/bind9/bin/named/control.c:172,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: command_compare
      Src: /src/bind9/bin/named/control.c:184,1
    - Dst: named_server_changezone
      Src: /src/bind9/bin/named/control.c:186,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:187,1
    - Dst: isc_log_closefilelogs
      Src: /src/bind9/bin/named/control.c:188,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:190,1
    - Dst: named_server_delzone
      Src: /src/bind9/bin/named/control.c:191,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:192,1
    - Dst: named_server_dnssec
      Src: /src/bind9/bin/named/control.c:193,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:194,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:195,1
    - Dst: named_server_dnstap
      Src: /src/bind9/bin/named/control.c:197,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:198,1
    - Dst: named_server_dumpdb
      Src: /src/bind9/bin/named/control.c:199,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:200,1
    - Dst: named_server_dumpstats
      Src: /src/bind9/bin/named/control.c:201,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:202,1
    - Dst: named_server_fetchlimit
      Src: /src/bind9/bin/named/control.c:203,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:204,1
    - Dst: named_server_flushcache
      Src: /src/bind9/bin/named/control.c:205,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:206,1
    - Dst: named_server_flushnode
      Src: /src/bind9/bin/named/control.c:207,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:208,1
    - Dst: named_server_flushnode
      Src: /src/bind9/bin/named/control.c:209,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:210,1
    - Dst: named_server_freeze
      Src: /src/bind9/bin/named/control.c:211,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:212,1
    - Dst: named_server_skr
      Src: /src/bind9/bin/named/control.c:213,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:214,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:215,1
    - Dst: named_server_rekey
      Src: /src/bind9/bin/named/control.c:217,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:218,1
    - Dst: named_server_togglememprof
      Src: /src/bind9/bin/named/control.c:219,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:220,1
    - Dst: named_server_mkeys
      Src: /src/bind9/bin/named/control.c:221,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:222,1
    - Dst: named_server_notifycommand
      Src: /src/bind9/bin/named/control.c:223,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:224,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/named/control.c:226,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:228,1
    - Dst: named_server_nta
      Src: /src/bind9/bin/named/control.c:229,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:230,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:232,1
    - Dst: named_server_setortoggle
      Src: /src/bind9/bin/named/control.c:233,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:236,1
    - Dst: named_server_reconfigcommand
      Src: /src/bind9/bin/named/control.c:237,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:238,1
    - Dst: named_server_dumprecursing
      Src: /src/bind9/bin/named/control.c:239,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:240,1
    - Dst: named_server_refreshcommand
      Src: /src/bind9/bin/named/control.c:241,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:242,1
    - Dst: named_server_reloadcommand
      Src: /src/bind9/bin/named/control.c:243,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:244,1
    - Dst: named_server_resetstatscommand
      Src: /src/bind9/bin/named/control.c:245,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:247,1
    - Dst: named_server_setortoggle
      Src: /src/bind9/bin/named/control.c:248,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:251,1
    - Dst: named_server_retransfercommand
      Src: /src/bind9/bin/named/control.c:252,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:254,1
    - Dst: named_server_scan_interfaces
      Src: /src/bind9/bin/named/control.c:255,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:257,1
    - Dst: named_server_dumpsecroots
      Src: /src/bind9/bin/named/control.c:258,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:259,1
    - Dst: named_server_servestale
      Src: /src/bind9/bin/named/control.c:260,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:261,1
    - Dst: named_server_showconf
      Src: /src/bind9/bin/named/control.c:262,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:263,1
    - Dst: named_server_showzone
      Src: /src/bind9/bin/named/control.c:264,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:265,1
    - Dst: named_server_signing
      Src: /src/bind9/bin/named/control.c:266,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:267,1
    - Dst: named_server_status
      Src: /src/bind9/bin/named/control.c:268,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:269,1
    - Dst: named_server_sync
      Src: /src/bind9/bin/named/control.c:270,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:271,1
    - Dst: named_server_tcptimeouts
      Src: /src/bind9/bin/named/control.c:272,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:273,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:274,1
    - Dst: named_server_freeze
      Src: /src/bind9/bin/named/control.c:276,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:277,1
    - Dst: named_server_setdebuglevel
      Src: /src/bind9/bin/named/control.c:278,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:279,1
    - Dst: named_server_validation
      Src: /src/bind9/bin/named/control.c:280,1
    - Dst: command_compare
      Src: /src/bind9/bin/named/control.c:281,1
    - Dst: named_server_zonestatus
      Src: /src/bind9/bin/named/control.c:282,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/control.c:284,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/named/control.c:292,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 186
    argCount: 3
    argNames:
    - message
    - readonly
    - text
    argTypes:
    - isccc_sexpr_t*
    - bool
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 66
    functionDepth: 12
    functionLinenumber: 66
    functionLinenumberEnd: 296
    functionName: named_control_docommand
    functionSourceFile: /src/bind9/bin/named/control.c
    functionUses: 0
    functionsReached:
    - named_server_showconf
    - named_server_nta
    - named_server_zonestatus
    - isc_log_setdebuglevel
    - named_server_dnstap
    - isccc_cc_lookupstring
    - isc_buffer_add
    - strlen
    - RETERR
    - ISC_LOG_DEBUG
    - named_server_changezone
    - isccc_alist_lookup
    - named_server_skr
    - named_server_dnssec
    - named_server_mkeys
    - named_server_resetstatscommand
    - named_server_togglememprof
    - named_server_tcptimeouts
    - named_server_dumpsecroots
    - named_server_setortoggle
    - named_server_freeze
    - isccc_alist_alistp
    - isc_lex_openbuffer
    - named_server_rekey
    - isc_lex_create
    - getcommand
    - named_server_servestale
    - named_server_sync
    - isc_buffer_init
    - named_server_retransfercommand
    - named_server_signing
    - named_smf_add_message
    - isc_log_write
    - named_server_dumpdb
    - named_server_flushonshutdown
    - named_server_dumprecursing
    - named_server_reloadcommand
    - CHECK
    - named_server_dumpstats
    - isc_lex_destroy
    - CLEANUP
    - named_server_flushcache
    - isc_log_closefilelogs
    - named_server_notifycommand
    - named_server_delzone
    - command_compare
    - named_server_status
    - named_server_setdebuglevel
    - named_server_flushnode
    - named_server_refreshcommand
    - isc_loopmgr_shutdown
    - named_server_fetchlimit
    - named_server_showzone
    - named_server_scan_interfaces
    - named_server_validation
    - named_os_shutdownmsg
    - named_server_reconfigcommand
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getoptions
      Src: /src/bind9/bin/named/statschannel.c:122,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/statschannel.c:126,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:127,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/statschannel.c:131,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 136
    functionName: user_zonetype
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_zone_getoptions
    - dns_zone_gettype
    - dns_zone_getview
    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: 195
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 195
    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:220,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:221,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:223,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:231,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: 233
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 233
    functionName: set_desc
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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: snprintf
      Src: /src/bind9/bin/named/statschannel.c:252,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:254,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 16
    argCount: 4
    argNames:
    - prefix
    - i
    - inf
    - ext
    argTypes:
    - char*
    - int
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 257
    functionName: get_sizehisto_desc
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - snprintf
    - INSIST
    linkageType: ''
    returnType: char
    signature: 'char *

      get_sizehisto_desc(const char *prefix, int i, int inf, bool ext)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:272,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:274,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:278,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:283,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:287,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:289,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:292,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:296,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:298,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 6
    argNames:
    - prefix
    - i
    - inf
    - min
    - max
    - ext
    argTypes:
    - char*
    - unsigned int
    - unsigned int
    - uint64_t
    - uint64_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 301
    functionName: get_rtthisto_desc
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - snprintf
    - INSIST
    linkageType: ''
    returnType: char
    signature: "char *\nget_rtthisto_desc(const char *prefix, unsigned int i, unsigned
      int inf,\n\t\t  uint64_t min, uint64_t max, bool ext)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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:328,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:329,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:337,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:338,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:339,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: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: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:356,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:360,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:361,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:362,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:367,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:376,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:378,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:383,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:384,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:385,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:386,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:387,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:388,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:389,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:390,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:391,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:393,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:396,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:399,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:400,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:401,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:403,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:405,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:406,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:407,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:408,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:409,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:410,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:411,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:412,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:413,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:414,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:417,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:421,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:422,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:424,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:426,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:428,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:431,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:435,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:436,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:437,1
    - Dst: SET_NSSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:440,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:442,1
    - Dst: SET_NSHIGHWATERSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:463,1
    - Dst: SET_NSHIGHWATERSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:465,1
    - Dst: SET_NSHIGHWATERSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:467,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:470,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: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:493,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:494,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:495,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:496,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:497,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:498,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:499,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:500,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:501,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:502,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:503,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:504,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:506,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:508,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:509,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:510,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:511,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:512,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:513,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:515,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:517,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:518,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:519,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:521,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:522,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:523,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:524,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:525,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:527,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:529,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:530,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:531,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:532,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:533,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:534,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:536,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:538,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:539,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:540,1
    - Dst: SET_RESSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:542,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:547,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:566,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:567,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:568,1
    - Dst: SET_ADBSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:569,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:571,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:592,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:593,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:594,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:595,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:596,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:597,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:598,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:599,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:600,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:601,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:602,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:603,1
    - Dst: SET_ZONESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:605,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:606,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:633,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: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:639,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:640,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:641,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:642,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:643,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:645,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:647,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:649,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:651,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:653,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:655,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:657,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:659,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:661,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:663,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:665,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:667,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:669,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:671,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:673,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:675,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:676,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:677,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:678,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:679,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:680,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:681,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:682,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:683,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:684,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:685,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:686,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:687,1
    - Dst: SET_SOCKSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:689,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:691,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:712,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:716,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:720,1
    - Dst: SET_DNSSECSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:722,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:723,1
    - Dst: SET_DNSTAPSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:743,1
    - Dst: SET_DNSTAPSTATDESC
      Src: /src/bind9/bin/named/statschannel.c:744,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:745,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:757,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:759,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:762,1
    - Dst: SET_GLUECACHESTATDESC
      Src: /src/bind9/bin/named/statschannel.c:765,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:768,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:772,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:775,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:778,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:781,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:784,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:787,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:790,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:793,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:796,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:800,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:803,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:806,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:809,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:812,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:815,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:818,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/statschannel.c:821,1
    - Dst: get_sizehisto_desc
      Src: /src/bind9/bin/named/statschannel.c:830,1
    - Dst: get_sizehisto_desc
      Src: /src/bind9/bin/named/statschannel.c:834,1
    - Dst: get_sizehisto_desc
      Src: /src/bind9/bin/named/statschannel.c:843,1
    - Dst: get_sizehisto_desc
      Src: /src/bind9/bin/named/statschannel.c:852,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 336
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 873
    functionName: init_desc
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - get_sizehisto_desc
    - INSIST
    - SET_SOCKSTATDESC
    - SET_ZONESTATDESC
    - SET_DNSSECSTATDESC
    - SET_NSSTATDESC
    - SET_GLUECACHESTATDESC
    - SET_ADBSTATDESC
    - SET_DNSTAPSTATDESC
    - SET_RESSTATDESC
    - SET_NSHIGHWATERSTATDESC
    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: 324
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 324
    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: 461
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 461
    functionName: SET_NSHIGHWATERSTATDESC
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: SET_NSHIGHWATERSTATDESC(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: 489
      start: 482
    functionDepth: 0
    functionLinenumber: 482
    functionLinenumberEnd: 489
    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: 565
      start: 559
    functionDepth: 0
    functionLinenumber: 559
    functionLinenumberEnd: 565
    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: 590
      start: 583
    functionDepth: 0
    functionLinenumber: 583
    functionLinenumberEnd: 590
    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: 625
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 625
    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: 710
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 710
    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: 742
      start: 735
    functionDepth: 0
    functionLinenumber: 735
    functionLinenumberEnd: 742
    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: 756
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 756
    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:888,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: 890
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 890
    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:903,1
    - Dst: isc_stats_dump
      Src: /src/bind9/bin/named/statschannel.c:904,1
    - Dst: dump_counters
      Src: /src/bind9/bin/named/statschannel.c:906,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: 908
      start: 892
    functionDepth: 1
    functionLinenumber: 892
    functionLinenumberEnd: 908
    functionName: dump_stats
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dump_counters
    - memset
    - isc_stats_dump
    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: memset
      Src: /src/bind9/bin/named/statschannel.c:922,1
    - Dst: isc_statsmulti_dump
      Src: /src/bind9/bin/named/statschannel.c:923,1
    - Dst: dump_counters
      Src: /src/bind9/bin/named/statschannel.c:925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 9
    argNames:
    - stats
    - type
    - arg
    - category
    - desc
    - ncounters
    - indices
    - values
    - options
    argTypes:
    - isc_statsmulti_t*
    - isc_statsformat_t
    - void*
    - char*
    - char**
    - int
    - int*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 910
    functionDepth: 1
    functionLinenumber: 910
    functionLinenumberEnd: 927
    functionName: dump_statsmulti
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dump_counters
    - memset
    - isc_statsmulti_dump
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dump_statsmulti(isc_statsmulti_t *stats, isc_statsformat_t
      type, void *arg,\n\t\tconst char *category, const char **desc, int ncounters,\n\t\tint
      *indices, uint64_t *values, int options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_histomulti_merge
      Src: /src/bind9/bin/named/statschannel.c:937,1
    - Dst: isc_histo_get
      Src: /src/bind9/bin/named/statschannel.c:939,1
    - Dst: get_rtthisto_desc
      Src: /src/bind9/bin/named/statschannel.c:948,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/bin/named/statschannel.c:953,1
    - Dst: dump_counters
      Src: /src/bind9/bin/named/statschannel.c:955,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 10
    argNames:
    - hm
    - type
    - arg
    - category
    - desc
    - desc_prefix
    - ncounters
    - indices
    - values
    - options
    argTypes:
    - isc_histomulti_t*
    - isc_statsformat_t
    - void*
    - char*
    - char**
    - char*
    - int
    - int*
    - uint64_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 930
    functionDepth: 1
    functionLinenumber: 930
    functionLinenumberEnd: 957
    functionName: dump_histo
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dump_counters
    - get_rtthisto_desc
    - isc_histo_destroy
    - isc_histomulti_merge
    - 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, const char *desc_prefix,\n\t
      \  int ncounters, int *indices, uint64_t *values, int options)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:976,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:983,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:987,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1003,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1015,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1015,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1019,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1019,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1023,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1023,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1025,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1025,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1028,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1028,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1030,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1030,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1033,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1033,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1035,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1035,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1038,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1038,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1040,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1040,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1048,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1052,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1060,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: 1064
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 1064
    functionName: dump_counters
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 3
    functionsReached:
    - UNUSED
    - TRY0
    - fprintf
    - xmlTextWriterStartElement
    - xmlTextWriterWriteAttribute
    - xmlTextWriterEndElement
    - isc_log_write
    - json_object_new_int64
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - json_object_new_object
    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:1080,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/named/statschannel.c:1083,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/bin/named/statschannel.c:1083,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1093,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1099,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1099,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1100,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1100,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1103,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1103,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1105,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1105,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1111,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1115,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1122,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: 1127
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1127
    functionName: rdtypestat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_format
    - TRY0
    - fprintf
    - DNS_RDATASTATSTYPE_ATTR
    - xmlTextWriterStartElement
    - xmlTextWriterWriteAttribute
    - DNS_RDATASTATSTYPE_BASE
    - xmlTextWriterEndElement
    - isc_log_write
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - json_object_new_int64
    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:1131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - type
    - attr
    argTypes:
    - dns_rdatastatstype_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1129
    functionDepth: 1
    functionLinenumber: 1129
    functionLinenumberEnd: 1132
    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:1152,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/bin/named/statschannel.c:1156,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/named/statschannel.c:1161,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/bin/named/statschannel.c:1161,1
    - Dst: rdatastatstype_attr
      Src: /src/bind9/bin/named/statschannel.c:1166,1
    - Dst: rdatastatstype_attr
      Src: /src/bind9/bin/named/statschannel.c:1167,1
    - Dst: rdatastatstype_attr
      Src: /src/bind9/bin/named/statschannel.c:1168,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1173,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1180,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1180,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1181,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1181,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1182,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1182,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1185,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1185,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1187,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1187,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1188,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1188,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1189,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1189,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1191,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1191,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/statschannel.c:1197,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1199,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1203,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1210,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: 1214
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1214
    functionName: rdatasetstats_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_format
    - TRY0
    - fprintf
    - DNS_RDATASTATSTYPE_ATTR
    - xmlTextWriterStartElement
    - DNS_RDATASTATSTYPE_BASE
    - xmlTextWriterEndElement
    - snprintf
    - isc_log_write
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - rdatastatstype_attr
    - json_object_new_int64
    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:1230,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/bin/named/statschannel.c:1231,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/statschannel.c:1232,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1237,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1242,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1242,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1243,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1243,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1245,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1245,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1246,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1246,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1252,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1256,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1264,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: 1269
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1269
    functionName: opcodestat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - fprintf
    - TRY0
    - xmlTextWriterStartElement
    - xmlTextWriterWriteAttribute
    - xmlTextWriterEndElement
    - isc_log_write
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - dns_opcode_totext
    - isc_buffer_init
    - 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:1285,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/bin/named/statschannel.c:1286,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/statschannel.c:1287,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1292,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1297,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1297,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1298,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1298,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1300,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1300,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1301,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1301,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1307,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1311,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1319,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: 1324
      start: 1271
    functionDepth: 1
    functionLinenumber: 1271
    functionLinenumberEnd: 1324
    functionName: rcodestat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_rcode_totext
    - isc_buffer_usedlength
    - fprintf
    - TRY0
    - xmlTextWriterStartElement
    - xmlTextWriterWriteAttribute
    - xmlTextWriterEndElement
    - isc_log_write
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - isc_buffer_init
    - json_object_new_int64
    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:1343,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:1349,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1354,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1354,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1355,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1355,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1357,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1357,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1358,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1358,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:1364,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:1368,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1375,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - kval
    - val
    - arg
    argTypes:
    - uint32_t
    - uint64_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1327
    functionDepth: 1
    functionLinenumber: 1327
    functionLinenumberEnd: 1380
    functionName: dnssecsignstat_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - TRY0
    - fprintf
    - xmlTextWriterStartElement
    - xmlTextWriterWriteAttribute
    - snprintf
    - xmlTextWriterEndElement
    - isc_log_write
    - xmlTextWriterWriteFormatString
    - json_object_object_add
    - 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:1409,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1417,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1417,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:1419,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1420,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1420,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:1423,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:1424,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1425,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1425,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1428,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1428,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:1429,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1433,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1433,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1435,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1435,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1437,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1437,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:1438,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1439,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1439,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1441,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1441,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1443,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1443,1
    - Dst: dns_zone_getloadtime
      Src: /src/bind9/bin/named/statschannel.c:1450,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:1452,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1453,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1453,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1455,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1455,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/statschannel.c:1457,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/bin/named/statschannel.c:1458,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:1459,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1460,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1460,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1462,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1462,1
    - Dst: dns_zone_getrefreshtime
      Src: /src/bind9/bin/named/statschannel.c:1464,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:1465,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1466,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1466,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1468,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1468,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/bin/named/statschannel.c:1479,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1481,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1481,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1483,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1483,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1487,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1487,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1492,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1492,1
    - Dst: dns_zone_getgluecachestats
      Src: /src/bind9/bin/named/statschannel.c:1495,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1497,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1497,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1499,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1499,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1503,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1503,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1510,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1510,1
    - Dst: dns_zone_getrcvquerystats
      Src: /src/bind9/bin/named/statschannel.c:1513,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1515,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1515,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1517,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1517,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1522,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1524,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1527,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1527,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/bin/named/statschannel.c:1530,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1533,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1533,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1535,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1535,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:1540,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1543,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1546,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1546,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1549,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1549,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1551,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1551,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:1556,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1559,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1562,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1562,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1566,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1566,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1570,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 87
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1573
    functionName: zone_xmlrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_rdatatypestats_dump
    - xmlTextWriterEndElement
    - dns_zone_getgluecachestats
    - dns_zone_getrefreshtime
    - xmlTextWriterStartElement
    - user_zonetype
    - dns_zone_nameonly
    - isc_time_formatISO8601
    - dns_zone_getloadtime
    - dns_zone_getstatlevel
    - dns_zone_getclass
    - xmlTextWriterWriteString
    - dns_zone_getrcvquerystats
    - isc_log_write
    - dns_rdataclass_format
    - CHECK
    - dns_zone_getdnssecsignstats
    - dns_dnssecsignstats_dump
    - TRY0
    - xmlTextWriterWriteAttribute
    - dump_stats
    - dns_zone_getserial
    - xmlTextWriterWriteFormatString
    - dns_zone_getexpiretime
    - dns_zone_getrequeststats
    - dns_zone_gettype
    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:1597,1
    - Dst: dns_zone_getxfr
      Src: /src/bind9/bin/named/statschannel.c:1602,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:1618,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1629,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1629,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:1631,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1632,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1632,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:1635,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:1636,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1637,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1637,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1640,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1640,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:1641,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:1647,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1647,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1649,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1649,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:1650,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1651,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1651,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1653,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1653,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1655,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1655,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1657,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1657,1
    - Dst: dns_xfrin_getendserial
      Src: /src/bind9/bin/named/statschannel.c:1659,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1661,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1661,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1664,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1664,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1667,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1667,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1669,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1669,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1671,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1671,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1672,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1672,1
    - Dst: ISC_XMLCHAR
      Src: /src/bind9/bin/named/statschannel.c:1673,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1674,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1674,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1676,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1676,1
    - Dst: dns_xfrin_getstate
      Src: /src/bind9/bin/named/statschannel.c:1680,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1684,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1684,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1686,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1686,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1689,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1689,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1691,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1691,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/statschannel.c:1694,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1696,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1696,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1698,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1698,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1699,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1699,1
    - Dst: ISC_XMLCHAR
      Src: /src/bind9/bin/named/statschannel.c:1701,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1702,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1702,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1704,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1704,1
    - Dst: dns_xfrin_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:1706,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1707,1
    - Dst: dns_zone_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:1710,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1711,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1714,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1714,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1716,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1716,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1718,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1718,1
    - Dst: dns_xfrin_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:1720,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1721,1
    - Dst: dns_zone_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:1724,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:1725,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1729,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1729,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1732,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1732,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1734,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1734,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1736,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1736,1
    - Dst: dns_xfrin_getsoatransporttype
      Src: /src/bind9/bin/named/statschannel.c:1739,1
    - Dst: dns_zone_getrequesttransporttype
      Src: /src/bind9/bin/named/statschannel.c:1741,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1744,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1744,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1747,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1747,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1750,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1750,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1753,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1753,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1757,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1757,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1760,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1760,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1762,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1762,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1764,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1764,1
    - Dst: dns_xfrin_gettransporttype
      Src: /src/bind9/bin/named/statschannel.c:1766,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1768,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1768,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1771,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1771,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1775,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1775,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1778,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1778,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1780,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1780,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1782,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1782,1
    - Dst: dns_xfrin_gettsigkeyname
      Src: /src/bind9/bin/named/statschannel.c:1784,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:1788,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1794,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1794,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1796,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1796,1
    - Dst: dns_xfrin_getstarttime
      Src: /src/bind9/bin/named/statschannel.c:1798,1
    - Dst: dns_zone_getxfrintime
      Src: /src/bind9/bin/named/statschannel.c:1799,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:1800,1
    - Dst: isc_time_subtract
      Src: /src/bind9/bin/named/statschannel.c:1804,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/named/statschannel.c:1805,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1806,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1806,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1808,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1808,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1810,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1810,1
    - Dst: dns_xfrin_getstats
      Src: /src/bind9/bin/named/statschannel.c:1813,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1815,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1815,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1816,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1816,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1817,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1817,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1818,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1818,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1819,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1819,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1820,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1820,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1821,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1821,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1822,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1822,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1823,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1823,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1824,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1824,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1825,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/bin/named/statschannel.c:1825,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1826,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1826,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1828,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1828,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1830,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1830,1
    - Dst: ISC_XMLCHAR
      Src: /src/bind9/bin/named/statschannel.c:1831,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1833,1
    - Dst: xmlTextWriterWriteString
      Src: /src/bind9/bin/named/statschannel.c:1833,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1835,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1835,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1837,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1837,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:1840,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:1847,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:1850,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 191
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1575
    functionDepth: 2
    functionLinenumber: 1575
    functionLinenumberEnd: 1854
    functionName: xfrin_xmlrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_xfrin_getendserial
    - dns_xfrin_getstats
    - xmlTextWriterEndElement
    - dns_zone_getprimaryaddr
    - isc_sockaddr_format
    - dns_xfrin_detach
    - dns_xfrin_getprimaryaddr
    - dns_xfrin_getstate
    - dns_xfrin_gettsigkeyname
    - dns_name_format
    - xmlTextWriterStartElement
    - dns_zone_getxfr
    - dns_xfrin_getsourceaddr
    - user_zonetype
    - dns_zone_nameonly
    - dns_zone_getstatlevel
    - dns_zone_getclass
    - isc_time_seconds
    - isc_time_now
    - dns_zone_getrequesttransporttype
    - xmlTextWriterWriteString
    - dns_xfrin_getstarttime
    - dns_zone_getsourceaddr
    - isc_log_write
    - dns_rdataclass_format
    - isc_time_subtract
    - UNREACHABLE
    - dns_xfrin_gettransporttype
    - TRY0
    - xmlTextWriterWriteAttribute
    - dns_zone_getserial
    - xmlTextWriterWriteFormatString
    - dns_zone_getxfrintime
    - dns_xfrin_getsoatransporttype
    - ISC_XMLCHAR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t xfrin_xmlrender(dns_zone_t *zone, void *arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:1862,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:1885,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:1886,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:1888,1
    - Dst: xmlNewTextWriterDoc
      Src: /src/bind9/bin/named/statschannel.c:1890,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1894,1
    - Dst: xmlTextWriterStartDocument
      Src: /src/bind9/bin/named/statschannel.c:1894,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1895,1
    - Dst: xmlTextWriterWritePI
      Src: /src/bind9/bin/named/statschannel.c:1895,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1898,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1898,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1899,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1899,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1907,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1907,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1908,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1908,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1910,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1910,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1911,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1911,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1913,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1913,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1914,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1914,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1916,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1916,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1917,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1917,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: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: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1925,1
    - Dst: dns_opcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1928,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1930,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1932,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1932,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1934,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1934,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1935,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1935,1
    - Dst: dns_rcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1938,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1940,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1942,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1942,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1944,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1944,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1945,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1945,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:1949,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1951,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1953,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1953,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1955,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1955,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1956,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1956,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1959,1
    - Dst: dump_statsmulti
      Src: /src/bind9/bin/named/statschannel.c:1959,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1967,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1967,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1973,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1973,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: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1976,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1979,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1979,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1984,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1984,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1990,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:1990,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1991,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:1991,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:1993,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:1993,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:1998,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:1998,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2003,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2003,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2005,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2005,1
    - Dst: dns_dt_getstats
      Src: /src/bind9/bin/named/statschannel.c:2008,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2009,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:2013,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2014,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2016,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2016,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2022,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2022,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2023,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2023,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2026,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2026,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2031,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2031,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2033,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2033,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2036,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2036,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2037,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2037,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2038,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2038,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: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2043,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2043,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:2050,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2050,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2051,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2051,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2054,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2054,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2060,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2060,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2061,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2061,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2063,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2063,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2064,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2064,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2065,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2065,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2068,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2068,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2073,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2073,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2074,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2074,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2075,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2075,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2078,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2078,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2084,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2084,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2085,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2085,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2086,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2086,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2088,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2088,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2089,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2089,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2090,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2090,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2091,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2091,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2094,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2094,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2099,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2099,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2101,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2101,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2102,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2102,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2105,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2105,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2111,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2111,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2112,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2112,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2114,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2114,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2115,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2115,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2116,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2116,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2119,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2119,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2124,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2124,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2126,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2126,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2127,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2127,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2130,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2130,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2136,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2136,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2137,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2137,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2138,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2138,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2139,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2139,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/named/statschannel.c:2146,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2147,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2147,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2156,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2156,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2157,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2157,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2161,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2161,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2163,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/statschannel.c:2163,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2165,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2165,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2169,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2169,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2171,1
    - Dst: dns_zt_apply
      Src: /src/bind9/bin/named/statschannel.c:2171,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2173,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2173,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2177,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2177,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/statschannel.c:2178,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2182,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2182,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2183,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2183,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/statschannel.c:2186,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:2189,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2191,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/bin/named/statschannel.c:2193,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2194,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2194,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2197,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2197,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2198,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2198,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/statschannel.c:2200,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2202,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2202,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:2208,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2209,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2209,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/named/statschannel.c:2211,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2213,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2213,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2215,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2215,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/statschannel.c:2217,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/bin/named/statschannel.c:2219,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2221,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2222,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2222,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2226,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2226,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2227,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2227,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/statschannel.c:2229,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2231,1
    - Dst: dns_adb_getstats
      Src: /src/bind9/bin/named/statschannel.c:2231,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/statschannel.c:2236,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2237,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2239,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2239,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2242,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2242,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2243,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2243,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2245,1
    - Dst: dns_cache_renderxml
      Src: /src/bind9/bin/named/statschannel.c:2245,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2246,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2246,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2248,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2248,1
    - Dst: dns_resolver_getqueryrttstats
      Src: /src/bind9/bin/named/statschannel.c:2250,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2252,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2252,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2253,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2253,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2256,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2256,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/bin/named/statschannel.c:2261,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2263,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2263,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2265,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2265,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2266,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/bin/named/statschannel.c:2266,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:2270,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:2270,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/bin/named/statschannel.c:2276,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2278,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2278,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2280,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2280,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2282,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2282,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/statschannel.c:2284,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2286,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2286,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2289,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/bin/named/statschannel.c:2289,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2290,1
    - Dst: isc_mem_renderxml
      Src: /src/bind9/bin/named/statschannel.c:2290,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2291,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2291,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2294,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/bin/named/statschannel.c:2294,1
    - Dst: TRY0
      Src: /src/bind9/bin/named/statschannel.c:2295,1
    - Dst: xmlTextWriterEndDocument
      Src: /src/bind9/bin/named/statschannel.c:2295,1
    - Dst: xmlDocDumpFormatMemoryEnc
      Src: /src/bind9/bin/named/statschannel.c:2297,1
    - Dst: xmlFreeTextWriter
      Src: /src/bind9/bin/named/statschannel.c:2302,1
    - Dst: xmlFreeDoc
      Src: /src/bind9/bin/named/statschannel.c:2303,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:2307,1
    - Dst: xmlFreeTextWriter
      Src: /src/bind9/bin/named/statschannel.c:2310,1
    - Dst: xmlFreeDoc
      Src: /src/bind9/bin/named/statschannel.c:2313,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 226
    argCount: 4
    argNames:
    - server
    - flags
    - buflen
    - buf
    argTypes:
    - named_server_t*
    - uint32_t
    - int*
    - xmlChar**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2316
      start: 1856
    functionDepth: 2
    functionLinenumber: 1856
    functionLinenumberEnd: 2316
    functionName: generatexml
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - xmlTextWriterWritePI
    - dns_rdatatypestats_dump
    - dump_statsmulti
    - xmlTextWriterEndElement
    - dns_resolver_getqueryrttstats
    - isc_stats_detach
    - xmlTextWriterEndDocument
    - dns_view_apply
    - dns_db_getrrsetstats
    - dns_rdatasetstats_dump
    - isc_statsmulti_detach
    - dns_adb_getstats
    - xmlDocDumpFormatMemoryEnc
    - xmlTextWriterStartElement
    - ISC_LIST_NEXT
    - dns_resolver_getstats
    - dns_cache_renderxml
    - isc_time_formatISO8601ms
    - dns_zt_apply
    - isc_mem_renderxml
    - isc_time_now
    - xmlFreeTextWriter
    - dns_rcodestats_dump
    - xmlFreeDoc
    - ISC_LIST_HEAD
    - isc_log_write
    - isc_histomulti_detach
    - CHECK
    - dump_histo
    - dns_adb_detach
    - TRY0
    - xmlNewTextWriterDoc
    - dns_cache_getname
    - xmlTextWriterWriteAttribute
    - dns_resolver_getquerystats
    - dump_stats
    - xmlTextWriterStartDocument
    - dns_dt_getstats
    - dns_opcodestats_dump
    - dns_view_getadb
    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:2320,1
    - Dst: xmlFree
      Src: /src/bind9/bin/named/statschannel.c:2322,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/statschannel.c:2322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - buffer
    - arg
    argTypes:
    - isc_buffer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2323
      start: 2318
    functionDepth: 1
    functionLinenumber: 2318
    functionLinenumberEnd: 2323
    functionName: wrap_xmlfree
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_buffer_base
    - 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:2334,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/bin/named/statschannel.c:2340,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/statschannel.c:2341,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:2345,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: 2350
      start: 2325
    functionDepth: 3
    functionLinenumber: 2325
    functionLinenumberEnd: 2350
    functionName: render_xml
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_buffer_reinit
    - isc_buffer_add
    - generatexml
    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:2357,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2358,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2359,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: 2361
      start: 2352
    functionDepth: 4
    functionLinenumber: 2352
    functionLinenumberEnd: 2361
    functionName: render_xml_all
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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:2368,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2369,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2370,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: 2372
      start: 2363
    functionDepth: 4
    functionLinenumber: 2363
    functionLinenumberEnd: 2372
    functionName: render_xml_status
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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:2379,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2380,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2381,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: 2383
      start: 2374
    functionDepth: 4
    functionLinenumber: 2374
    functionLinenumberEnd: 2383
    functionName: render_xml_server
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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:2390,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2391,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2392,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: 2394
      start: 2385
    functionDepth: 4
    functionLinenumber: 2385
    functionLinenumberEnd: 2394
    functionName: render_xml_zones
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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:2401,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2402,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2403,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: 2405
      start: 2396
    functionDepth: 4
    functionLinenumber: 2396
    functionLinenumberEnd: 2405
    functionName: render_xml_xfrins
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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:2412,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2413,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2414,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: 2416
      start: 2407
    functionDepth: 4
    functionLinenumber: 2407
    functionLinenumberEnd: 2416
    functionName: render_xml_net
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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:2423,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2424,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2425,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: 2427
      start: 2418
    functionDepth: 4
    functionLinenumber: 2418
    functionLinenumberEnd: 2427
    functionName: render_xml_mem
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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:2434,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:2435,1
    - Dst: render_xml
      Src: /src/bind9/bin/named/statschannel.c:2436,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: 2438
      start: 2429
    functionDepth: 4
    functionLinenumber: 2429
    functionLinenumberEnd: 2438
    functionName: render_xml_traffic
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - render_xml
    - UNUSED
    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: 2462
      start: 2455
    functionDepth: 0
    functionLinenumber: 2455
    functionLinenumberEnd: 2462
    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:2465,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/statschannel.c:2465,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - buffer
    - arg
    argTypes:
    - isc_buffer_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2469
      start: 2463
    functionDepth: 1
    functionLinenumber: 2463
    functionLinenumberEnd: 2469
    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:2474,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2480,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2480,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2481,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2482,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2484,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2485,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2488,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2489,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: 2492
      start: 2471
    functionDepth: 0
    functionLinenumber: 2471
    functionLinenumberEnd: 2492
    functionName: addzone
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 6
    functionsReached:
    - json_object_object_add
    - json_object_new_int64
    - json_object_new_string
    - json_object_new_object
    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:2508,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:2513,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:2516,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:2517,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:2520,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2521,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2522,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2524,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2525,1
    - Dst: dns_zone_getloadtime
      Src: /src/bind9/bin/named/statschannel.c:2538,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:2540,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2541,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2541,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/bin/named/statschannel.c:2543,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/bin/named/statschannel.c:2544,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:2545,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2546,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2547,1
    - Dst: dns_zone_getrefreshtime
      Src: /src/bind9/bin/named/statschannel.c:2549,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/named/statschannel.c:2550,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2551,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2552,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/bin/named/statschannel.c:2563,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2565,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/statschannel.c:2567,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2570,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2575,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2579,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2580,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2583,1
    - Dst: dns_zone_getgluecachestats
      Src: /src/bind9/bin/named/statschannel.c:2587,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2589,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/statschannel.c:2591,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:2594,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2600,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2604,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2605,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2608,1
    - Dst: dns_zone_getrcvquerystats
      Src: /src/bind9/bin/named/statschannel.c:2612,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2615,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2616,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:2621,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2624,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2628,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2629,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2632,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/bin/named/statschannel.c:2636,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2639,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2640,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:2645,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2649,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2653,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2654,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2657,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2661,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:2662,1
    - Dst: dns_dnssecsignstats_dump
      Src: /src/bind9/bin/named/statschannel.c:2667,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2671,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:2675,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2678,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2682,1
    - Dst: json_object_array_add
      Src: /src/bind9/bin/named/statschannel.c:2687,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2693,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 125
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2696
      start: 2494
    functionDepth: 2
    functionLinenumber: 2494
    functionLinenumberEnd: 2696
    functionName: zone_jsonrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_rdatatypestats_dump
    - dns_zone_getgluecachestats
    - json_object_object_add
    - dns_zone_getrefreshtime
    - json_object_new_object
    - json_object_get_object
    - user_zonetype
    - dns_zone_nameonly
    - isc_time_formatISO8601
    - dns_zone_getloadtime
    - dns_zone_getstatlevel
    - dns_zone_getclass
    - json_object_new_string
    - dns_zone_getrcvquerystats
    - dns_rdataclass_format
    - dns_zone_getdnssecsignstats
    - CLEANUP
    - json_object_put
    - dns_dnssecsignstats_dump
    - json_object_array_add
    - dump_stats
    - dns_zone_getserial
    - dns_zone_getrequeststats
    - dns_zone_getexpiretime
    - addzone
    - CHECKMEM
    - dns_zone_gettype
    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:2723,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/bin/named/statschannel.c:2728,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/bin/named/statschannel.c:2731,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/named/statschannel.c:2732,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/named/statschannel.c:2735,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2736,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2737,1
    - Dst: addzone
      Src: /src/bind9/bin/named/statschannel.c:2739,1
    - Dst: user_zonetype
      Src: /src/bind9/bin/named/statschannel.c:2740,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/statschannel.c:2744,1
    - Dst: dns_zone_getxfr
      Src: /src/bind9/bin/named/statschannel.c:2747,1
    - Dst: dns_xfrin_getendserial
      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: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2775,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2777,1
    - Dst: dns_xfrin_getstate
      Src: /src/bind9/bin/named/statschannel.c:2782,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2784,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2785,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2787,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2788,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2790,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2791,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2793,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2794,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2796,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2797,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/statschannel.c:2799,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2802,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2804,1
    - Dst: dns_xfrin_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:2808,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2809,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2810,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2811,1
    - Dst: dns_zone_getsourceaddr
      Src: /src/bind9/bin/named/statschannel.c:2813,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2814,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2815,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2816,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2818,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2819,1
    - Dst: dns_xfrin_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:2823,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2824,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2825,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2826,1
    - Dst: dns_zone_getprimaryaddr
      Src: /src/bind9/bin/named/statschannel.c:2828,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:2829,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2830,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2832,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2834,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2835,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2838,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2839,1
    - Dst: dns_xfrin_getsoatransporttype
      Src: /src/bind9/bin/named/statschannel.c:2844,1
    - Dst: dns_zone_getrequesttransporttype
      Src: /src/bind9/bin/named/statschannel.c:2846,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2850,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2851,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2853,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2854,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2856,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2857,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2859,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2860,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2863,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2864,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2867,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2868,1
    - Dst: dns_xfrin_gettransporttype
      Src: /src/bind9/bin/named/statschannel.c:2872,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2874,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2875,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2877,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2878,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2881,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2882,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2885,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2886,1
    - Dst: dns_xfrin_gettsigkeyname
      Src: /src/bind9/bin/named/statschannel.c:2890,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:2894,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2896,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2898,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2900,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2903,1
    - Dst: dns_xfrin_getstarttime
      Src: /src/bind9/bin/named/statschannel.c:2907,1
    - Dst: dns_zone_getxfrintime
      Src: /src/bind9/bin/named/statschannel.c:2908,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:2909,1
    - Dst: isc_time_subtract
      Src: /src/bind9/bin/named/statschannel.c:2913,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/named/statschannel.c:2914,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2915,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2916,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2918,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2919,1
    - Dst: dns_xfrin_getstats
      Src: /src/bind9/bin/named/statschannel.c:2923,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2925,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2926,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2927,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2928,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2929,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2931,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2933,1
    - Dst: json_object_new_int64
      Src: /src/bind9/bin/named/statschannel.c:2934,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2939,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2941,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:2943,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:2944,1
    - Dst: json_object_array_add
      Src: /src/bind9/bin/named/statschannel.c:2947,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/bin/named/statschannel.c:2953,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:2956,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 162
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2698
    functionDepth: 2
    functionLinenumber: 2698
    functionLinenumberEnd: 2959
    functionName: xfrin_jsonrender
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_xfrin_getendserial
    - dns_xfrin_getstats
    - dns_zone_getprimaryaddr
    - json_object_object_add
    - isc_sockaddr_format
    - dns_xfrin_getprimaryaddr
    - dns_xfrin_detach
    - dns_xfrin_getstate
    - dns_xfrin_gettsigkeyname
    - dns_name_format
    - dns_zone_getxfr
    - dns_xfrin_getsourceaddr
    - user_zonetype
    - dns_zone_nameonly
    - dns_zone_getstatlevel
    - dns_zone_getclass
    - isc_time_seconds
    - isc_time_now
    - dns_zone_getrequesttransporttype
    - json_object_new_string
    - dns_xfrin_getstarttime
    - dns_zone_getsourceaddr
    - dns_rdataclass_format
    - isc_time_subtract
    - UNREACHABLE
    - CLEANUP
    - json_object_new_int64
    - dns_xfrin_gettransporttype
    - json_object_put
    - json_object_array_add
    - dns_zone_getserial
    - dns_zone_getxfrintime
    - addzone
    - dns_xfrin_getsoatransporttype
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t xfrin_jsonrender(dns_zone_t *zone, void *arg)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:2991,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:2992,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:2993,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:2995,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:3003,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3004,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3005,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/named/statschannel.c:3007,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:3008,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:3009,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/named/statschannel.c:3011,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:3013,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3014,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3015,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:3017,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3018,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3019,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:3021,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3022,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3023,1
    - Dst: json_object_new_string
      Src: /src/bind9/bin/named/statschannel.c:3024,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3025,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3026,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3030,1
    - Dst: dns_opcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3036,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3039,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3043,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3044,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3046,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3050,1
    - Dst: dns_rcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3055,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3058,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3062,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3063,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3065,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3069,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3074,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3077,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3081,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3082,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3084,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3088,1
    - Dst: dump_statsmulti
      Src: /src/bind9/bin/named/statschannel.c:3093,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3098,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3104,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3110,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3114,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3115,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3117,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3121,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3126,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3131,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3135,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3136,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3139,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3143,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3148,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3153,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3157,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3158,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3160,1
    - Dst: dns_dt_getstats
      Src: /src/bind9/bin/named/statschannel.c:3167,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3168,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3171,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:3176,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3178,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3182,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3183,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3186,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3195,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3196,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3198,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:3200,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3201,1
    - Dst: CHECKMEM
      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_new_array
      Src: /src/bind9/bin/named/statschannel.c:3208,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3209,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3212,1
    - Dst: dns_view_apply
      Src: /src/bind9/bin/named/statschannel.c:3212,1
    - Dst: json_object_array_length
      Src: /src/bind9/bin/named/statschannel.c:3216,1
    - Dst: json_object_object_add
      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_new_array
      Src: /src/bind9/bin/named/statschannel.c:3222,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3223,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3226,1
    - Dst: dns_zt_apply
      Src: /src/bind9/bin/named/statschannel.c:3226,1
    - Dst: json_object_array_length
      Src: /src/bind9/bin/named/statschannel.c:3230,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3231,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3233,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3241,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3242,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3243,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/statschannel.c:3245,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3247,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3248,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3250,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3258,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3263,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:3265,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/statschannel.c:3268,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3271,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3272,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:3276,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3280,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3285,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/bin/named/statschannel.c:3287,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/named/statschannel.c:3291,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3293,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3294,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/bin/named/statschannel.c:3298,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3302,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3307,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3311,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3312,1
    - Dst: dns_cache_renderjson
      Src: /src/bind9/bin/named/statschannel.c:3314,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3317,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3321,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/statschannel.c:3324,1
    - Dst: dns_adb_getstats
      Src: /src/bind9/bin/named/statschannel.c:3326,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/statschannel.c:3327,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3330,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3331,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3333,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3341,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3342,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3345,1
    - Dst: dns_resolver_getqueryrttstats
      Src: /src/bind9/bin/named/statschannel.c:3349,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3352,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3353,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3355,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3355,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/bin/named/statschannel.c:3363,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3365,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3370,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3371,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3373,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3373,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/bin/named/statschannel.c:3381,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3383,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3393,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:3398,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3403,1
    - Dst: json_object_get_object
      Src: /src/bind9/bin/named/statschannel.c:3407,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3408,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3411,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3416,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3417,1
    - Dst: isc_mem_renderjson
      Src: /src/bind9/bin/named/statschannel.c:3419,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3421,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3425,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3429,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3430,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3432,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3433,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3435,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3436,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3438,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3439,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3441,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3442,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3444,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3445,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3447,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3448,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3450,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3451,1
    - Dst: json_object_new_object
      Src: /src/bind9/bin/named/statschannel.c:3453,1
    - Dst: CHECKMEM
      Src: /src/bind9/bin/named/statschannel.c:3454,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3456,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3456,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3462,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3462,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3468,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3468,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3474,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3474,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3480,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3480,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3486,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3486,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3492,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3492,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3498,1
    - Dst: dump_histo
      Src: /src/bind9/bin/named/statschannel.c:3498,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3504,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3507,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3509,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3512,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3514,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3517,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3519,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3522,1
    - Dst: json_object_object_add
      Src: /src/bind9/bin/named/statschannel.c:3524,1
    - Dst: json_object_to_json_string_ext
      Src: /src/bind9/bin/named/statschannel.c:3536,1
    - Dst: strlen
      Src: /src/bind9/bin/named/statschannel.c:3538,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3549,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3552,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3555,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3558,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3561,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3564,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3567,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3570,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3573,1
    - Dst: json_object_put
      Src: /src/bind9/bin/named/statschannel.c:3576,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 367
    argCount: 5
    argNames:
    - server
    - msglen
    - msg
    - rootp
    - flags
    argTypes:
    - named_server_t*
    - size_t*
    - char**
    - json_object**
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3580
      start: 2961
    functionDepth: 2
    functionLinenumber: 2961
    functionLinenumberEnd: 3580
    functionName: generatejson
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdatatypestats_dump
    - dump_statsmulti
    - isc_mem_renderjson
    - dns_resolver_getqueryrttstats
    - strlen
    - json_object_object_add
    - isc_stats_detach
    - dns_view_apply
    - dns_db_getrrsetstats
    - json_object_get_object
    - json_object_new_object
    - dns_rdatasetstats_dump
    - isc_statsmulti_detach
    - dns_adb_getstats
    - dns_resolver_getstats
    - isc_time_formatISO8601ms
    - dns_zt_apply
    - isc_time_now
    - dns_rcodestats_dump
    - dns_cache_renderjson
    - json_object_new_string
    - json_object_new_array
    - isc_histomulti_detach
    - CHECK
    - dump_histo
    - json_object_put
    - dns_adb_detach
    - json_object_to_json_string_ext
    - json_object_array_length
    - dns_resolver_getquerystats
    - dump_stats
    - dns_dt_getstats
    - ISC_LIST_FOREACH
    - dns_opcodestats_dump
    - dns_view_getadb
    - CHECKMEM
    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:3593,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/statschannel.c:3598,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/bin/named/statschannel.c:3599,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/statschannel.c:3600,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3604,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: 3609
      start: 3582
    functionDepth: 3
    functionLinenumber: 3582
    functionLinenumberEnd: 3609
    functionName: render_json
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - generatejson
    - isc_buffer_reinit
    - isc_log_write
    - isc_buffer_add
    - UNCONST
    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:3616,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3617,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3618,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: 3620
      start: 3611
    functionDepth: 4
    functionLinenumber: 3611
    functionLinenumberEnd: 3620
    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:3627,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3628,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3629,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: 3631
      start: 3622
    functionDepth: 4
    functionLinenumber: 3622
    functionLinenumberEnd: 3631
    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:3638,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3639,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3640,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: 3642
      start: 3633
    functionDepth: 4
    functionLinenumber: 3633
    functionLinenumberEnd: 3642
    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:3649,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3650,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3651,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: 3653
      start: 3644
    functionDepth: 4
    functionLinenumber: 3644
    functionLinenumberEnd: 3653
    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:3660,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3661,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3662,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: 3664
      start: 3655
    functionDepth: 4
    functionLinenumber: 3655
    functionLinenumberEnd: 3664
    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:3671,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3672,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3673,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: 3675
      start: 3666
    functionDepth: 4
    functionLinenumber: 3666
    functionLinenumberEnd: 3675
    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:3682,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3683,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3684,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: 3686
      start: 3677
    functionDepth: 4
    functionLinenumber: 3677
    functionLinenumberEnd: 3686
    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:3693,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3694,1
    - Dst: render_json
      Src: /src/bind9/bin/named/statschannel.c:3695,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: 3697
      start: 3688
    functionDepth: 4
    functionLinenumber: 3688
    functionLinenumberEnd: 3697
    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:3713,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3714,1
    - Dst: isc_httpdurl_isstatic
      Src: /src/bind9/bin/named/statschannel.c:3720,1
    - Dst: isc_httpd_if_modified_since
      Src: /src/bind9/bin/named/statschannel.c:3725,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/named/statschannel.c:3727,1
    - Dst: isc_time_secondsastimet
      Src: /src/bind9/bin/named/statschannel.c:3731,1
    - Dst: isc_httpdurl_loadtime
      Src: /src/bind9/bin/named/statschannel.c:3736,1
    - Dst: isc_time_secondsastimet
      Src: /src/bind9/bin/named/statschannel.c:3738,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/statschannel.c:3755,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/bin/named/statschannel.c:3756,1
    - Dst: strlen
      Src: /src/bind9/bin/named/statschannel.c:3756,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/statschannel.c:3757,1
    - Dst: strlen
      Src: /src/bind9/bin/named/statschannel.c:3757,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: 3760
      start: 3706
    functionDepth: 1
    functionLinenumber: 3706
    functionLinenumberEnd: 3760
    functionName: render_xsl
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_time_secondsastimet
    - isc_httpdurl_loadtime
    - isc_buffer_reinit
    - isc_httpdurl_isstatic
    - isc_buffer_add
    - strlen
    - isc_time_isepoch
    - UNCONST
    - isc_httpd_if_modified_since
    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:3766,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3767,1
    - Dst: isc_httpdmgr_shutdown
      Src: /src/bind9/bin/named/statschannel.c:3771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - listener
    argTypes:
    - named_statschannel_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3772
      start: 3763
    functionDepth: 1
    functionLinenumber: 3763
    functionLinenumberEnd: 3772
    functionName: shutdown_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_sockaddr_format
    - 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:3779,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:3784,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/statschannel.c:3786,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/statschannel.c:3788,1
    - Dst: dns_acl_match
      Src: /src/bind9/bin/named/statschannel.c:3789,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/statschannel.c:3793,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/statschannel.c:3796,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:3798,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - fromaddr
    - arg
    argTypes:
    - isc_sockaddr_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3804
      start: 3775
    functionDepth: 1
    functionLinenumber: 3775
    functionLinenumberEnd: 3804
    functionName: client_ok
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ns_interfacemgr_getaclenv
    - isc_netaddr_fromsockaddr
    - LOCK
    - isc_log_write
    - dns_acl_match
    - isc_sockaddr_format
    - UNLOCK
    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:3812,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/statschannel.c:3813,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/named/statschannel.c:3813,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3816,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/named/statschannel.c:3818,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/statschannel.c:3819,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3820
      start: 3808
    functionDepth: 1
    functionLinenumber: 3808
    functionLinenumberEnd: 3820
    functionName: destroy_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LINK_LINKED
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - dns_acl_detach
    linkageType: ''
    returnType: void
    signature: void destroy_listener(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3829,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3830,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3831,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3832,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3833,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3834,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/statschannel.c:3835,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/statschannel.c:3845,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/statschannel.c:3847,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/named/statschannel.c:3848,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/statschannel.c:3849,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:3851,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/statschannel.c:3852,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/statschannel.c:3853,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/statschannel.c:3856,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3858,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/statschannel.c:3860,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3861,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/statschannel.c:3863,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/statschannel.c:3864,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/statschannel.c:3865,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/statschannel.c:3867,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/statschannel.c:3870,1
    - Dst: isc_httpdmgr_create
      Src: /src/bind9/bin/named/statschannel.c:3870,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3875,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3877,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3879,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3882,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3885,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3888,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3891,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3894,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3897,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3900,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3903,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3907,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3909,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3912,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3915,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3918,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3921,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3924,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3927,1
    - Dst: isc_httpdmgr_addurl
      Src: /src/bind9/bin/named/statschannel.c:3930,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:3936,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3944,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/named/statschannel.c:3946,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/statschannel.c:3947,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 59
    argCount: 7
    argNames:
    - server
    - listenerp
    - listen_params
    - config
    - addr
    - aclctx
    - 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: 3951
      start: 3823
    functionDepth: 1
    functionLinenumber: 3823
    functionLinenumberEnd: 3951
    functionName: add_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - UNUSED
    - dns_acl_any
    - isc_net_probeipv6
    - cfg_acl_fromconfig
    - isc_mem_putanddetach
    - dns_acl_detach
    - ISC_LINK_INIT
    - cfg_tuple_get
    - dns_acl_attach
    - isc_sockaddr_pf
    - isc_log_write
    - CHECK
    - isc_httpdmgr_addurl
    - CLEANUP
    - isc_mutex_init
    - isc_mem_get
    - isc_net_probeipv4
    - isc_httpdmgr_create
    - cfg_obj_islist
    - isc_mutex_destroy
    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 *aclctx,\n\t     const char *socktext)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:3963,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/named/statschannel.c:3964,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:3978,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/statschannel.c:3979,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/statschannel.c:3980,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/statschannel.c:3983,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/statschannel.c:3987,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3989,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/statschannel.c:3990,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/statschannel.c:3991,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/statschannel.c:3993,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:3995,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:3998,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 7
    argNames:
    - server
    - listenerp
    - listen_params
    - config
    - addr
    - aclctx
    - 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: 4002
      start: 3953
    functionDepth: 1
    functionLinenumber: 3953
    functionLinenumberEnd: 4002
    functionName: update_listener
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - dns_acl_any
    - cfg_obj_log
    - cfg_tuple_get
    - dns_acl_attach
    - cfg_acl_fromconfig
    - isc_sockaddr_equal
    - LOCK
    - cfg_obj_islist
    - ISC_LIST_FOREACH
    - dns_acl_detach
    - UNLOCK
    - isc_result_totext
    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 *aclctx,\n\t\tconst char *socktext)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_once_do
      Src: /src/bind9/bin/named/statschannel.c:4011,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/statschannel.c:4013,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/statschannel.c:4018,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:4030,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:4036,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:4042,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:4053,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/statschannel.c:4054,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:4065,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:4067,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/statschannel.c:4068,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/statschannel.c:4069,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/statschannel.c:4070,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:4075,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:4078,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/statschannel.c:4080,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/statschannel.c:4085,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:4094,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/statschannel.c:4102,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:4107,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:4114,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/statschannel.c:4119,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4126,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:4127,1
    - Dst: shutdown_listener
      Src: /src/bind9/bin/named/statschannel.c:4128,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/named/statschannel.c:4131,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 3
    argNames:
    - server
    - config
    - aclctx
    argTypes:
    - named_server_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4004
    functionDepth: 1
    functionLinenumber: 4004
    functionLinenumberEnd: 4133
    functionName: named_statschannels_configure
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - ISC_LIST_UNLINK
    - cfg_map_get
    - add_listener
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_sockaddr_getport
    - cfg_tuple_get
    - cfg_listelt_value
    - shutdown_listener
    - isc_result_totext
    - update_listener
    - isc_log_write
    - isc_once_do
    - cfg_obj_log
    - cfg_obj_assockaddr
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - ISC_LIST_FOREACH
    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 *aclctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:4053,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/statschannel.c:4054,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/statschannel.c:4065,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:4067,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/statschannel.c:4068,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/statschannel.c:4069,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/statschannel.c:4070,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:4075,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:4078,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/statschannel.c:4080,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/statschannel.c:4085,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:4094,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/statschannel.c:4102,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:4107,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:4114,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/statschannel.c:4119,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4123
      start: 4049
    functionDepth: 1
    functionLinenumber: 4049
    functionLinenumberEnd: 4123
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - update_listener
    - ISC_LIST_UNLINK
    - cfg_obj_log
    - isc_sockaddr_getport
    - cfg_tuple_get
    - cfg_map_get
    - cfg_obj_assockaddr
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - add_listener
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_result_totext
    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:4065,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/statschannel.c:4067,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/statschannel.c:4068,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/statschannel.c:4069,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/statschannel.c:4070,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/statschannel.c:4075,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/statschannel.c:4078,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/statschannel.c:4080,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/statschannel.c:4085,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:4094,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/statschannel.c:4102,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/statschannel.c:4107,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/statschannel.c:4114,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/statschannel.c:4119,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4059
    functionDepth: 1
    functionLinenumber: 4059
    functionLinenumberEnd: 4122
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - update_listener
    - ISC_LIST_UNLINK
    - cfg_obj_log
    - isc_sockaddr_getport
    - cfg_tuple_get
    - cfg_obj_assockaddr
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - add_listener
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_result_totext
    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:4137,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/statschannel.c:4138,1
    - Dst: shutdown_listener
      Src: /src/bind9/bin/named/statschannel.c:4139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - server
    argTypes:
    - named_server_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4141
      start: 4135
    functionDepth: 1
    functionLinenumber: 4135
    functionLinenumberEnd: 4141
    functionName: named_statschannels_shutdown
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - shutdown_listener
    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:4154,1
    - Dst: isc_once_do
      Src: /src/bind9/bin/named/statschannel.c:4156,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4162,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4164,1
    - Dst: dns_opcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:4165,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4168,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:4169,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4172,1
    - Dst: dns_rcodestats_dump
      Src: /src/bind9/bin/named/statschannel.c:4173,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4176,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4177,1
    - Dst: dns_resolver_getquerystats
      Src: /src/bind9/bin/named/statschannel.c:4179,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4183,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4184,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4186,1
    - Dst: dns_rdatatypestats_dump
      Src: /src/bind9/bin/named/statschannel.c:4188,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/bin/named/statschannel.c:4189,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4192,1
    - Dst: dump_statsmulti
      Src: /src/bind9/bin/named/statschannel.c:4193,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4199,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4203,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4204,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4208,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4209,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4210,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4213,1
    - Dst: dns_resolver_getstats
      Src: /src/bind9/bin/named/statschannel.c:4215,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4219,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4220,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4222,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4224,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/named/statschannel.c:4227,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4230,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4231,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4232,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4233,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4235,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/statschannel.c:4236,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/statschannel.c:4241,1
    - Dst: dns_cache_dumpstats
      Src: /src/bind9/bin/named/statschannel.c:4244,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4247,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4248,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/named/statschannel.c:4251,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4255,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4256,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4258,1
    - Dst: dns_cache_getname
      Src: /src/bind9/bin/named/statschannel.c:4259,1
    - Dst: dns_view_iscacheshared
      Src: /src/bind9/bin/named/statschannel.c:4261,1
    - Dst: dns_rdatasetstats_dump
      Src: /src/bind9/bin/named/statschannel.c:4268,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4272,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/statschannel.c:4273,1
    - Dst: dns_view_getadb
      Src: /src/bind9/bin/named/statschannel.c:4277,1
    - Dst: dns_adb_getstats
      Src: /src/bind9/bin/named/statschannel.c:4279,1
    - Dst: dns_adb_detach
      Src: /src/bind9/bin/named/statschannel.c:4280,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4285,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4286,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4288,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4290,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4295,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4296,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4300,1
    - Dst: dns_zonemgr_first_zone
      Src: /src/bind9/bin/named/statschannel.c:4302,1
    - Dst: dns_zonemgr_next_zone
      Src: /src/bind9/bin/named/statschannel.c:4304,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/bin/named/statschannel.c:4306,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/statschannel.c:4309,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:4314,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/statschannel.c:4314,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4316,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4317,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4318,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4320,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4322,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4329,1
    - Dst: dns_zonemgr_first_zone
      Src: /src/bind9/bin/named/statschannel.c:4331,1
    - Dst: dns_zonemgr_next_zone
      Src: /src/bind9/bin/named/statschannel.c:4333,1
    - Dst: dns_zone_getgluecachestats
      Src: /src/bind9/bin/named/statschannel.c:4335,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/named/statschannel.c:4338,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/named/statschannel.c:4343,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/named/statschannel.c:4343,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4345,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/statschannel.c:4346,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4347,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4349,1
    - Dst: dump_stats
      Src: /src/bind9/bin/named/statschannel.c:4351,1
    - Dst: fprintf
      Src: /src/bind9/bin/named/statschannel.c:4359,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 127
    argCount: 2
    argNames:
    - server
    - fp
    argTypes:
    - named_server_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4362
      start: 4143
    functionDepth: 2
    functionLinenumber: 4143
    functionLinenumberEnd: 4362
    functionName: named_stats_dump
    functionSourceFile: /src/bind9/bin/named/statschannel.c
    functionUses: 1
    functionsReached:
    - dns_rdatatypestats_dump
    - dump_statsmulti
    - fprintf
    - dns_zone_getgluecachestats
    - dns_cache_dumpstats
    - isc_stats_detach
    - dns_rdatasetstats_dump
    - dns_db_getrrsetstats
    - isc_statsmulti_detach
    - dns_adb_getstats
    - dns_name_format
    - dns_resolver_getstats
    - dns_zone_getorigin
    - strcmp
    - isc_stdtime_now
    - dns_rcodestats_dump
    - isc_once_do
    - dns_zone_getview
    - dns_adb_detach
    - dns_cache_getname
    - dns_view_iscacheshared
    - dns_resolver_getquerystats
    - dump_stats
    - dns_zonemgr_next_zone
    - dns_zone_getrequeststats
    - ISC_LIST_FOREACH
    - dns_zonemgr_first_zone
    - dns_opcodestats_dump
    - dns_view_getadb
    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_constinit
      Src: /src/bind9/bin/named/config.c:55,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/config.c:57,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/named/config.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - conf
    argTypes:
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 63
    functionName: named_config_parsedefaults
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 2
    functionsReached:
    - isc_buffer_add
    - isc_buffer_constinit
    - cfg_parse_buffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_config_parsedefaults(cfg_obj_t **conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:69,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/config.c:71,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/config.c:75,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/config.c:75,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/config.c:84,1
    - Dst: isccfg_check_namedconf
      Src: /src/bind9/bin/named/config.c:84,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/config.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - conf
    argTypes:
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 95
    functionName: named_config_parsefile
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_parse_file
    - cfg_obj_detach
    - isc_log_write
    - CHECK
    - isccfg_check_namedconf
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t named_config_parsefile(cfg_obj_t **conf)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:103,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: 108
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: named_config_get
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 17
    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:115,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:118,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:121,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: 125
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 125
    functionName: named_config_findopt
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - cfg_map_get
    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:135,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:137,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:141,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/named/config.c:147,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:152,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:153,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:156,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:156,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:159,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: 168
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 168
    functionName: named_checknames_get
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - strcasecmp
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_obj_islist
    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:152,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:153,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:156,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:156,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:159,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 164
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - strcasecmp
    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: 179
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 179
    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: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    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:187,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/config.c:191,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:191,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:192,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/named/config.c:193,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:195,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: 199
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 199
    functionName: named_config_getclass
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 5
    functionsReached:
    - cfg_obj_log
    - dns_rdataclass_fromtext
    - cfg_obj_isstring
    - cfg_obj_asstring
    - strlen
    - UNCONST
    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:207,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/config.c:211,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:211,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:212,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/config.c:213,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:215,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: 219
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 219
    functionName: named_config_gettype
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - cfg_obj_log
    - cfg_obj_isstring
    - cfg_obj_asstring
    - strlen
    - dns_rdatatype_fromtext
    - UNCONST
    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:226,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:227,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:227,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:229,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:230,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:233,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:235,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:237,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:239,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/named/config.c:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 1
    argNames:
    - zonetypeobj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 245
    functionName: named_config_getzonetype
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - cfg_obj_asstring
    - UNREACHABLE
    - strcasecmp
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t named_config_getzonetype(const cfg_obj_t *zonetypeobj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:252,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:254,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/config.c:256,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/config.c:256,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:258,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:259,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:259,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 4
    argNames:
    - cctx
    - list
    - name
    - ret
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 268
    functionName: named_config_getremotesdef
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - strcasecmp
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - RETERR
    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:258,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:259,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:259,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 265
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:273,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/named/config.c:280,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/config.c:285,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/config.c:286,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:288,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/config.c:289,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:289,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/config.c:290,1
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:290,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/named/config.c:291,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/named/config.c:292,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/config.c:292,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/config.c:295,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/config.c:298,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/named/config.c:298,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: 301
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 301
    functionName: named_config_getname
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - isc_mem_put
    - dns_name_fromtext
    - isc_mem_get
    - cfg_obj_isstring
    - dns_fixedname_name
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - dns_name_dup
    - dns_fixedname_init
    - isc_buffer_constinit
    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: 309
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 309
    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: 316
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 316
    functionName: shrink_array
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: shrink_array(mctx, array, newlen, oldlen)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:346,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:347,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:348,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:349,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/named/config.c:355,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:356,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:358,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/config.c:378,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/config.c:379,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/named/config.c:381,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/config.c:384,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/config.c:385,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/named/config.c:387,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/config.c:390,1
    - Dst: cfg_list_next
      Src: /src/bind9/bin/named/config.c:391,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:398,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:398,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:400,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:400,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/config.c:401,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/config.c:401,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/named/config.c:415,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/config.c:416,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/config.c:421,1
    - Dst: cfg_list_next
      Src: /src/bind9/bin/named/config.c:422,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:427,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/bin/named/config.c:431,1
    - Dst: named_config_getremotesdef
      Src: /src/bind9/bin/named/config.c:432,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:441,1
    - Dst: getipandkeylist
      Src: /src/bind9/bin/named/config.c:447,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:456,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:457,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:458,1
    - Dst: grow_array
      Src: /src/bind9/bin/named/config.c:459,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/config.c:461,1
    - Dst: named_config_getname
      Src: /src/bind9/bin/named/config.c:463,1
    - Dst: named_config_getname
      Src: /src/bind9/bin/named/config.c:474,1
    - Dst: named_config_getname
      Src: /src/bind9/bin/named/config.c:481,1
    - Dst: named_config_getname
      Src: /src/bind9/bin/named/config.c:492,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/config.c:497,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/config.c:509,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/config.c:512,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 109
    argCount: 9
    argNames:
    - defport
    - deftlsport
    - config
    - list
    - listport
    - listkey
    - listtls
    - mctx
    - s
    argTypes:
    - in_port_t
    - in_port_t
    - cfg_obj_t*
    - cfg_obj_t*
    - in_port_t
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    - getipandkeylist_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 538
    functionName: getipandkeylist
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 3
    functionsReached:
    - isc_sockaddr_setport
    - isc_sockaddr_any6
    - grow_array
    - cfg_obj_isuint32
    - isc_sockaddr_any
    - strcasecmp
    - isc_sockaddr_getport
    - cfg_tuple_get
    - cfg_obj_issockaddr
    - cfg_listelt_value
    - cfg_obj_asstring
    - isc_sockaddr_pf
    - cfg_obj_asuint32
    - named_config_getremotesdef
    - getipandkeylist
    - cfg_obj_log
    - cfg_obj_assockaddr
    - cfg_list_first
    - named_config_getname
    - cfg_list_next
    - ARRAY_SIZE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t getipandkeylist(in_port_t defport, in_port_t deftlsport,\n\t\tconst
      cfg_obj_t *config, const cfg_obj_t *list,\n\t\tin_port_t listport, const cfg_obj_t
      *listkey,\n\t\tconst cfg_obj_t *listtls, isc_mem_t *mctx,\n\t\tgetipandkeylist_state_t
      *s)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:548,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:549,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:550,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:551,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:552,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:553,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/config.c:554,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/config.c:559,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/config.c:559,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/config.c:561,1
    - Dst: named_config_getport
      Src: /src/bind9/bin/named/config.c:561,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/config.c:566,1
    - Dst: getipandkeylist
      Src: /src/bind9/bin/named/config.c:566,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:569,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:570,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:571,1
    - Dst: shrink_array
      Src: /src/bind9/bin/named/config.c:572,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:580,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:581,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:582,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:591,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:602,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/named/config.c:609,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/config.c:610,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/config.c:612,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:614,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/named/config.c:621,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/config.c:622,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/config.c:624,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:626,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:629,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/named/config.c:633,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    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: 637
      start: 540
    functionDepth: 3
    functionLinenumber: 540
    functionLinenumberEnd: 637
    functionName: named_config_getipandkeylist
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 2
    functionsReached:
    - named_config_getport
    - REQUIRE
    - isc_mem_cput
    - dns_name_dynamic
    - INSIST
    - isc_mem_put
    - shrink_array
    - CHECK
    - dns_name_free
    - getipandkeylist
    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:648,1
    - Dst: named_config_get
      Src: /src/bind9/bin/named/config.c:655,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/config.c:656,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:657,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/config.c:658,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:659,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/named/config.c:662,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - config
    - type
    - portp
    argTypes:
    - cfg_obj_t*
    - char*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 639
    functionDepth: 2
    functionLinenumber: 639
    functionLinenumberEnd: 664
    functionName: named_config_getport
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 6
    functionsReached:
    - cfg_obj_log
    - cfg_obj_asuint32
    - INSIST
    - cfg_map_get
    - named_config_get
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/named/config.c:697,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/named/config.c:698,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/config.c:709,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/named/config.c:709,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/named/config.c:718,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/named/config.c:719,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - str
    - typep
    - digestbits
    argTypes:
    - char*
    - unsigned int*
    - uint16_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 721
    functionName: named_config_getkeyalgorithm
    functionSourceFile: /src/bind9/bin/named/config.c
    functionUses: 3
    functionsReached:
    - strncasecmp
    - SET_IF_NOT_NULL
    - strlen
    - RETERR
    - isc_parse_uint16
    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:116,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/named/builtin.c:121,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:125,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/named/builtin.c:126,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/builtin.c:130,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:135,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/builtin.c:137,1
    - Dst: UNCONST
      Src: /src/bind9/bin/named/builtin.c:138,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/bin/named/builtin.c:140,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/named/builtin.c:141,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/named/builtin.c:142,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/named/builtin.c:143,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/builtin.c:145,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/builtin.c:146,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: 149
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 149
    functionName: putrdata
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_rdata_fromregion
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - isc_buffer_copyregion
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - dns_rdatalist_init
    - UNCONST
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:161,1
    - Dst: VALID_BDBNODE
      Src: /src/bind9/bin/named/builtin.c:161,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:162,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:163,1
    - Dst: strlen
      Src: /src/bind9/bin/named/builtin.c:168,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/builtin.c:169,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/named/builtin.c:169,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/named/builtin.c:171,1
    - Dst: strlen
      Src: /src/bind9/bin/named/builtin.c:173,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/named/builtin.c:174,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/builtin.c:175,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/builtin.c:177,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/bin/named/builtin.c:177,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/builtin.c:179,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/named/builtin.c:180,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/named/builtin.c:182,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:185,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/builtin.c:185,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/builtin.c:186,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/builtin.c:189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 4
    argNames:
    - node
    - type
    - ttl
    - data
    argTypes:
    - bdbnode_t*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 151
    functionDepth: 2
    functionLinenumber: 151
    functionLinenumberEnd: 192
    functionName: putrr
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_lex_destroy
    - VALID_BDBNODE
    - isc_buffer_usedlength
    - isc_buffer_free
    - isc_lex_openbuffer
    - isc_buffer_add
    - dns_rdatatype_fromtext
    - strlen
    - RETERR
    - isc_lex_create
    - isc_buffer_allocate
    - dns_rdata_fromtext
    - isc_buffer_base
    - isc_buffer_constinit
    - putrdata
    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:206,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:207,1
    - Dst: snprintf
      Src: /src/bind9/bin/named/builtin.c:209,1
    - Dst: putrr
      Src: /src/bind9/bin/named/builtin.c:215,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: 216
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 216
    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:221,1
    - Dst: memmove
      Src: /src/bind9/bin/named/builtin.c:227,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - node
    - text
    argTypes:
    - bdbnode_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 229
    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:284,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: 286
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 286
    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:322,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/builtin.c:324,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:346,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:361,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:363,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:378,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:380,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:395,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:397,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:412,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:414,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:429,1
    - Dst: ZLEN
      Src: /src/bind9/bin/named/builtin.c:431,1
    - Dst: dns64_rdata
      Src: /src/bind9/bin/named/builtin.c:439,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:455,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:459,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: 461
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 461
    functionName: dns64_cname
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns64_rdata
    - memset
    - ZLEN
    - putrdata
    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: 345
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 345
    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:466,1
    - Dst: dns64_cname
      Src: /src/bind9/bin/named/builtin.c:468,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: 472
      start: 463
    functionDepth: 3
    functionLinenumber: 463
    functionLinenumberEnd: 472
    functionName: builtin_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - dns64_cname
    - bdb_t*::lookup
    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:487,1
    - Dst: putrr
      Src: /src/bind9/bin/named/builtin.c:492,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - bdb
    - node
    argTypes:
    - bdb_t*
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 498
    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:506,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 511
    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:519,1
    - Dst: gethostname
      Src: /src/bind9/bin/named/builtin.c:523,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:526,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 513
    functionDepth: 3
    functionLinenumber: 513
    functionLinenumberEnd: 528
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/named/builtin.c:555,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 558
    functionName: authors_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - RETERR
    - 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:564,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:567,1
    - Dst: puttxt
      Src: /src/bind9/bin/named/builtin.c:569,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 560
    functionDepth: 3
    functionLinenumber: 560
    functionLinenumberEnd: 573
    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:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 580
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/named/builtin.c:587,1
    - Dst: putrdata
      Src: /src/bind9/bin/named/builtin.c:587,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 590
    functionName: ipv4only_lookup
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - RETERR
    - 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:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 599
    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: bdbnode_attachnode
      Src: /src/bind9/bin/named/builtin.c:622,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: 623
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 623
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - bdbnode_attachnode
    linkageType: ''
    returnType: void
    signature: "void rdataset_clone(const dns_rdataset_t *source,\n\t       dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/named/builtin.c:639,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/bin/named/builtin.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rdatalist
    - ISC_ATTR_UNUSED
    - node
    - rdataset
    argTypes:
    - dns_rdatalist_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 643
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 643
    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 ISC_ATTR_UNUSED,\n\t
      \    dns_dbnode_t *node, dns_rdataset_t *rdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: new_rdataset
      Src: /src/bind9/bin/named/builtin.c:687,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: 689
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 689
    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:702,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:705,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:708,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/builtin.c:714,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/builtin.c:716,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 717
    functionName: destroy
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 23
    functionsReached:
    - dns_name_free
    - isc_mem_free
    - isc_mem_putanddetach
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroy(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:730,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 734
    functionName: currentversion
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_BDB
    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:741,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:741,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:742,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:743,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: 747
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 747
    functionName: attachversion
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_BDB
    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:754,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:754,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:755,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:756,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: 759
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 759
    functionName: closeversion
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - VALID_BDB
    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:765,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:765,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:767,1
    - Dst: dns_db_attach
      Src: /src/bind9/bin/named/builtin.c:774,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/bin/named/builtin.c:775,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/named/builtin.c:777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - bdb
    - nodep
    argTypes:
    - bdb_t*
    - bdbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 783
    functionName: createnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - dns_rdatacallbacks_init
    - isc_mem_get
    - VALID_BDB
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t createnode(bdb_t *bdb, bdbnode_t **nodep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/builtin.c:793,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/builtin.c:794,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/builtin.c:795,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/builtin.c:796,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/builtin.c:798,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/builtin.c:799,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_buffer_free
      Src: /src/bind9/bin/named/builtin.c:804,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/builtin.c:808,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/named/builtin.c:809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - node
    argTypes:
    - bdbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 810
    functionName: destroynode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_db_detach
    - isc_mem_put
    - ISC_LIST_FOREACH
    - isc_buffer_free
    linkageType: ''
    returnType: void
    signature: void destroynode(bdbnode_t *node)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:824,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:824,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:825,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:827,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/named/builtin.c:829,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:831,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:831,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/builtin.c:832,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/named/builtin.c:833,1
    - Dst: RETERR
      Src: /src/bind9/bin/named/builtin.c:836,1
    - Dst: createnode
      Src: /src/bind9/bin/named/builtin.c:836,1
    - Dst: builtin_lookup
      Src: /src/bind9/bin/named/builtin.c:838,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:841,1
    - Dst: builtin_authority
      Src: /src/bind9/bin/named/builtin.c:846,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 6
    argNames:
    - db
    - name
    - create
    - ISC_ATTR_UNUSED
    - clientinfo ISC_ATTR_UNUSED
    - 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: 855
      start: 812
    functionDepth: 5
    functionLinenumber: 812
    functionLinenumberEnd: 855
    functionName: findnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - destroynode
    - dns_name_equal
    - builtin_authority
    - VALID_BDB
    - builtin_lookup
    - dns_name_getlabelsequence
    - RETERR
    - createnode
    - dns_name_countlabels
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnode(dns_db_t *db, const dns_name_t *name, bool create,\n\t
      dns_clientinfomethods_t *methods ISC_ATTR_UNUSED,\n\t dns_clientinfo_t *clientinfo
      ISC_ATTR_UNUSED,\n\t dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:873,1
    - Dst: VALID_BDB
      Src: /src/bind9/bin/named/builtin.c:873,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:874,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:875,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/named/builtin.c:877,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:881,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/named/builtin.c:882,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/named/builtin.c:884,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/named/builtin.c:887,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/named/builtin.c:897,1
    - Dst: findnode
      Src: /src/bind9/bin/named/builtin.c:898,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:926,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:940,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/named/builtin.c:946,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/named/builtin.c:947,1
    - Dst: destroynode
      Src: /src/bind9/bin/named/builtin.c:960,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:977,1
    - Dst: findrdataset
      Src: /src/bind9/bin/named/builtin.c:987,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/named/builtin.c:1001,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/named/builtin.c:1005,1
    - Dst: bdbnode_detachnode
      Src: /src/bind9/bin/named/builtin.c:1011,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 91
    argCount: 12
    argNames:
    - db
    - name
    - version
    - type
    - options
    - now
    - nodep
    - foundname
    - ISC_ATTR_UNUSED
    - clientinfo ISC_ATTR_UNUSED
    - 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: 1015
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 1015
    functionName: find
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 14
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - destroynode
    - dns_rdataset_cleanup
    - VALID_BDB
    - dns_rdataset_init
    - dns_name_getlabelsequence
    - bdbnode_detachnode
    - dns_fixedname_initname
    - findrdataset
    - findnode
    - dns_name_countlabels
    - dns_name_issubdomain
    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,\n     dns_clientinfomethods_t
      *methods ISC_ATTR_UNUSED,\n     dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED,
      dns_rdataset_t *rdataset,\n     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment
      Src: /src/bind9/bin/named/builtin.c:1021,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1024
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1024
    functionName: bdbnode_attachnode
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    linkageType: ''
    returnType: void
    signature: void bdbnode_attachnode(dns_dbnode_t *source, dns_dbnode_t **targetp
      DNS__DB_FLARG)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/builtin.c:1047,1
    - Dst: VALID_BDBNODE
      Src: /src/bind9/bin/named/builtin.c:1047,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1049,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1050,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1051,1
    - Dst: UNUSED
      Src: /src/bind9/bin/named/builtin.c:1052,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/named/builtin.c:1058,1
    - Dst: new_rdataset
      Src: /src/bind9/bin/named/builtin.c:1060,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: 1066
      start: 1040
    functionDepth: 2
    functionLinenumber: 1040
    functionLinenumberEnd: 1066
    functionName: findrdataset
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - UNUSED
    - VALID_BDBNODE
    - new_rdataset
    - ISC_LIST_FOREACH
    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:1074,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:1076,1
    - Dst: bdbnode_attachnode
      Src: /src/bind9/bin/named/builtin.c:1086,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: 1091
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1091
    functionName: allrdatasets
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - bdbnode_attachnode
    - isc_mem_get
    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:1112,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/builtin.c:1118,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/named/builtin.c:1124,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/builtin.c:1125,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/named/builtin.c:1126,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/named/builtin.c:1127,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/builtin.c:1129,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1130,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1132,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1134,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1136,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1138,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1141,1
    - Dst: strcmp
      Src: /src/bind9/bin/named/builtin.c:1144,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/builtin.c:1154,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/builtin.c:1157,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/builtin.c:1158,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/builtin.c:1160,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/named/builtin.c:1171,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:1173,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/builtin.c:1176,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/builtin.c:1179,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 64
    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: 1181
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1181
    functionName: create
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 37
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - strcmp
    - dns_name_init
    - INSIST
    - isc_mem_get
    - isc_mem_strdup
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_name_free
    - dns_name_dup
    - CLEANUP
    - isc_refcount_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/named/builtin.c:1193,1
    - Dst: dns_db_register
      Src: /src/bind9/bin/named/builtin.c:1193,1
    - Dst: dns_db_register
      Src: /src/bind9/bin/named/builtin.c:1196,1
    - Dst: dns_db_unregister
      Src: /src/bind9/bin/named/builtin.c:1199,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1189
    functionDepth: 1
    functionLinenumber: 1189
    functionLinenumberEnd: 1204
    functionName: named_builtin_init
    functionSourceFile: /src/bind9/bin/named/builtin.c
    functionUses: 1
    functionsReached:
    - RETERR
    - 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:1209,1
    - Dst: dns_db_unregister
      Src: /src/bind9/bin/named/builtin.c:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1214
    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:
    - va_start
    - ISC_LOG_DEBUG
    - 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:
    - MAYBE_UNLOCK
    - UNUSED
    - MAYBE_LOCK
    - dlopen_data_t*::dlz_allnodes
    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_UNLOCK
    - UNUSED
    - MAYBE_LOCK
    - 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_UNLOCK
    - dlopen_data_t*::dlz_authority
    - UNUSED
    - MAYBE_LOCK
    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:
    - MAYBE_UNLOCK
    - UNUSED
    - MAYBE_LOCK
    - dlopen_data_t*::dlz_findzonedb
    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_UNLOCK
    - dlopen_data_t*::dlz_lookup
    - UNUSED
    - MAYBE_LOCK
    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
    - uv_dlsym
    - dlopen_log
    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:
    - dlopen_data_t*::dlz_create
    - isc_mem_create
    - UNUSED
    - isc_mutex_init
    - uv_dlopen
    - dlopen_data_t*::dlz_version
    - MAYBE_UNLOCK
    - isc_mem_get
    - dlopen_dlz_destroy
    - uv_dlerror
    - dlopen_log
    - isc_mem_strdup
    - dl_load_symbol
    - MAYBE_LOCK
    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:
    - MAYBE_UNLOCK
    - UNUSED
    - uv_dlclose
    - isc_mem_free
    - isc_mem_putanddetach
    - MAYBE_LOCK
    - isc_mutex_destroy
    - 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:
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_newversion
    - UNUSED
    - MAYBE_LOCK
    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:
    - MAYBE_UNLOCK
    - UNUSED
    - MAYBE_LOCK
    - dlopen_data_t*::dlz_closeversion
    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:
    - MAYBE_UNLOCK
    - UNUSED
    - dlopen_data_t*::dlz_configure
    - MAYBE_LOCK
    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:
    - dlopen_data_t*::dlz_ssumatch
    - UNUSED
    - MAYBE_LOCK
    - MAYBE_UNLOCK
    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:
    - MAYBE_UNLOCK
    - UNUSED
    - dlopen_data_t*::dlz_addrdataset
    - MAYBE_LOCK
    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_UNLOCK
    - dlopen_data_t*::dlz_subrdataset
    - UNUSED
    - MAYBE_LOCK
    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:
    - MAYBE_UNLOCK
    - dlopen_data_t*::dlz_delrdataset
    - UNUSED
    - MAYBE_LOCK
    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:
    - UNEXPECTED_ERROR
    - isc_result_totext
    - dlopen_log
    - dns_sdlzregister
    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:
    - dns_sdlzunregister
    - dlopen_log
    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:
    - cfg_obj_log
    - parse_transport_tls_versions
    - parse_transport_bool_option
    - cfg_listelt_value
    - parse_transport_option
    - cfg_obj_asstring
    - dns_transport_new
    - create_name
    - cfg_map_getname
    - dns_transport_set_tlsname
    - isc_result_totext
    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: 0
    functionsReached:
    - parse_transport_tls_versions
    - parse_transport_bool_option
    - cfg_listelt_value
    - parse_transport_option
    - cfg_obj_asstring
    - dns_transport_new
    - create_name
    - cfg_map_getname
    - dns_transport_set_tlsname
    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: CLEANUP
      Src: /src/bind9/bin/named/transportconf.c:150,1
    - Dst: create_name
      Src: /src/bind9/bin/named/transportconf.c:153,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:155,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:157,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:158,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:160,1
    - Dst: parse_transport_tls_versions
      Src: /src/bind9/bin/named/transportconf.c:162,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:164,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:166,1
    - Dst: parse_transport_bool_option
      Src: /src/bind9/bin/named/transportconf.c:168,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:171,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:173,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/transportconf.c:179,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/transportconf.c:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - transportlist
    - list
    argTypes:
    - cfg_obj_t*
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 183
    functionName: add_tls_transports
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cfg_obj_log
    - parse_transport_tls_versions
    - parse_transport_bool_option
    - cfg_listelt_value
    - parse_transport_option
    - cfg_obj_asstring
    - dns_transport_new
    - create_name
    - dns_transport_set_tlsname
    - cfg_map_getname
    - CLEANUP
    - isc_result_totext
    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: CLEANUP
      Src: /src/bind9/bin/named/transportconf.c:150,1
    - Dst: create_name
      Src: /src/bind9/bin/named/transportconf.c:153,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:155,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:157,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:158,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:160,1
    - Dst: parse_transport_tls_versions
      Src: /src/bind9/bin/named/transportconf.c:162,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:164,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:166,1
    - Dst: parse_transport_bool_option
      Src: /src/bind9/bin/named/transportconf.c:168,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:171,1
    - Dst: parse_transport_option
      Src: /src/bind9/bin/named/transportconf.c:173,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 175
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_transport_tls_versions
    - parse_transport_bool_option
    - cfg_listelt_value
    - parse_transport_option
    - cfg_obj_asstring
    - dns_transport_new
    - create_name
    - dns_transport_set_tlsname
    - cfg_map_getname
    - CLEANUP
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(transportlist, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/transportconf.c:191,1
    - Dst: add_tls_transports
      Src: /src/bind9/bin/named/transportconf.c:193,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/transportconf.c:198,1
    - Dst: add_doh_transports
      Src: /src/bind9/bin/named/transportconf.c:200,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: 205
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 205
    functionName: transport_list_fromconfig
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - add_tls_transports
    - add_doh_transports
    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:213,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/named/transportconf.c:215,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/named/transportconf.c:216,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/named/transportconf.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 221
    functionName: transport_list_add_ephemeral
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_transport_set_tlsname
    - dns_transport_new
    - create_name
    linkageType: ''
    returnType: void
    signature: void transport_list_add_ephemeral(dns_transport_list_t *list)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_list_new
      Src: /src/bind9/bin/named/transportconf.c:227,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/transportconf.c:229,1
    - Dst: transport_list_add_ephemeral
      Src: /src/bind9/bin/named/transportconf.c:231,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/transportconf.c:234,1
    - Dst: transport_list_fromconfig
      Src: /src/bind9/bin/named/transportconf.c:234,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/transportconf.c:238,1
    - Dst: transport_list_fromconfig
      Src: /src/bind9/bin/named/transportconf.c:239,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/bin/named/transportconf.c:245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    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: 247
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 247
    functionName: named_transports_fromconfig
    functionSourceFile: /src/bind9/bin/named/transportconf.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_transport_list_detach
    - cfg_tuple_get
    - dns_transport_list_new
    - transport_list_add_ephemeral
    - CHECK
    - transport_list_fromconfig
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/bin/named/controlconf.c:155,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:158,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - key
    - mctx
    argTypes:
    - controlkey_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 161
    functionName: free_controlkey
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_put
    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:165,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:166,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - keylist
    - mctx
    argTypes:
    - controlkeylist_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 169
    functionName: free_controlkeylist
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - free_controlkey
    - 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:173,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:174,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/controlconf.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:175,1
    - Dst: free_controlkeylist
      Src: /src/bind9/bin/named/controlconf.c:177,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:180,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/named/controlconf.c:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - listener
    argTypes:
    - controllistener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 184
    functionName: free_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - free_controlkeylist
    - ISC_LIST_EMPTY
    - isc_mem_putanddetach
    - dns_acl_detach
    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:202,1
    - Dst: conn_shutdown
      Src: /src/bind9/bin/named/controlconf.c:203,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:206,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:209,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:210,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/bin/named/controlconf.c:214,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/bin/named/controlconf.c:215,1
    - Dst: controllistener_detach
      Src: /src/bind9/bin/named/controlconf.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - listener
    argTypes:
    - controllistener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 217
    functionName: shutdown_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_nmsocket_close
    - conn_shutdown
    - controllistener_detach
    - isc_log_write
    - isc_nm_stoplistening
    - ISC_LIST_FOREACH
    - isc_sockaddr_format
    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:222,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/named/controlconf.c:227,1
    - Dst: dns_acl_match
      Src: /src/bind9/bin/named/controlconf.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - sockaddr
    - listener
    argTypes:
    - isc_sockaddr_t*
    - controllistener_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 232
    functionName: address_ok
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - dns_acl_match
    - isc_netaddr_fromsockaddr
    - ns_interfacemgr_getaclenv
    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:245,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:248,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/bin/named/controlconf.c:254,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:256,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:257,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:260,1
    - Dst: conn_shutdown
      Src: /src/bind9/bin/named/controlconf.c:264,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:267,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: 268
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 268
    functionName: control_senddone
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - controlconnection_detach
    - conn_shutdown
    - isccc_ccmsg_readmessage
    - isc_log_write
    - isc_nmhandle_peeraddr
    - isc_sockaddr_format
    - isc_result_totext
    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:273,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:275,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:276,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - ccmsg
    - result
    argTypes:
    - isccc_ccmsg_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: log_invalid
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_sockaddr_format
    - isc_nmhandle_peeraddr
    - isc_result_totext
    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:286,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/bin/named/controlconf.c:289,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:292,1
    - Dst: REGION_SIZE
      Src: /src/bind9/bin/named/controlconf.c:293,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/controlconf.c:296,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 298
    functionName: conn_cleanup
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isccc_sexpr_free
    - REGION_SIZE
    - isc_buffer_free
    linkageType: ''
    returnType: void
    signature: void conn_cleanup(controlconnection_t *conn)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:308,1
    - Dst: isccc_cc_createresponse
      Src: /src/bind9/bin/named/controlconf.c:308,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/named/controlconf.c:317,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/bin/named/controlconf.c:319,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:326,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/bin/named/controlconf.c:327,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/controlconf.c:333,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/controlconf.c:335,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/bin/named/controlconf.c:336,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/named/controlconf.c:342,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/bin/named/controlconf.c:344,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/named/controlconf.c:350,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/named/controlconf.c:353,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/named/controlconf.c:355,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:357,1
    - Dst: isccc_cc_towire
      Src: /src/bind9/bin/named/controlconf.c:357,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/controlconf.c:360,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/named/controlconf.c:361,1
    - Dst: controlconnection_ref
      Src: /src/bind9/bin/named/controlconf.c:367,1
    - Dst: isccc_ccmsg_sendmessage
      Src: /src/bind9/bin/named/controlconf.c:368,1
    - Dst: conn_cleanup
      Src: /src/bind9/bin/named/controlconf.c:371,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 300
    functionDepth: 2
    functionLinenumber: 300
    functionLinenumberEnd: 372
    functionName: control_respond
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isccc_cc_definestring
    - controlconnection_ref
    - isc_buffer_usedlength
    - isc_buffer_putuint32
    - conn_cleanup
    - isccc_cc_defineuint32
    - isccc_cc_createresponse
    - isc_buffer_add
    - isc_buffer_base
    - isc_buffer_allocate
    - isccc_alist_lookup
    - CHECK
    - isc_buffer_clear
    - isccc_cc_towire
    - isccc_ccmsg_sendmessage
    - isc_buffer_init
    - isc_result_totext
    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:380,1
    - Dst: control_respond
      Src: /src/bind9/bin/named/controlconf.c:382,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 374
    functionDepth: 13
    functionLinenumber: 374
    functionLinenumberEnd: 387
    functionName: control_command
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - control_respond
    - controlconnection_detach
    - named_control_docommand
    linkageType: ''
    returnType: void
    signature: void control_command(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isccc_ccmsg_disconnect
      Src: /src/bind9/bin/named/controlconf.c:401,1
    - Dst: controlconnection_detach
      Src: /src/bind9/bin/named/controlconf.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 405
    functionName: conn_shutdown
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 2
    functionsReached:
    - controlconnection_detach
    - isccc_ccmsg_disconnect
    linkageType: ''
    returnType: void
    signature: void conn_shutdown(controlconnection_t *conn)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:539,1
    - Dst: isccc_ccmsg_invalidate
      Src: /src/bind9/bin/named/controlconf.c:543,1
    - Dst: conn_cleanup
      Src: /src/bind9/bin/named/controlconf.c:545,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/named/controlconf.c:548,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:551,1
    - Dst: named_fuzz_notify
      Src: /src/bind9/bin/named/controlconf.c:554,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:558,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:559,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:561,1
    - Dst: controllistener_detach
      Src: /src/bind9/bin/named/controlconf.c:563,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - conn
    argTypes:
    - controlconnection_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 536
    functionDepth: 2
    functionLinenumber: 536
    functionLinenumberEnd: 564
    functionName: conn_free
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - conn_cleanup
    - isccc_ccmsg_invalidate
    - controllistener_detach
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_buffer_free
    - named_fuzz_notify
    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:570,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:571,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:573,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:577,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:578,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:579,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/bin/named/controlconf.c:583,1
    - Dst: controllistener_ref
      Src: /src/bind9/bin/named/controlconf.c:584,1
    - Dst: isccc_ccmsg_init
      Src: /src/bind9/bin/named/controlconf.c:589,1
    - Dst: isccc_ccmsg_setmaxsize
      Src: /src/bind9/bin/named/controlconf.c:592,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:594,1
    - Dst: isccc_ccmsg_readmessage
      Src: /src/bind9/bin/named/controlconf.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - listener
    - handle
    argTypes:
    - controllistener_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 598
    functionName: newconnection
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_get
    - ISC_LIST_APPEND
    - controllistener_ref
    - isccc_ccmsg_readmessage
    - isc_log_write
    - ISC_LOG_DEBUG
    - isccc_ccmsg_setmaxsize
    - isccc_ccmsg_init
    - isc_result_totext
    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:607,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/bin/named/controlconf.c:612,1
    - Dst: address_ok
      Src: /src/bind9/bin/named/controlconf.c:613,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:615,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:616,1
    - Dst: newconnection
      Src: /src/bind9/bin/named/controlconf.c:623,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: 625
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 625
    functionName: control_newconn
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - newconnection
    - isc_nmhandle_peeraddr
    - address_ok
    - isc_sockaddr_format
    - shutdown_listener
    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:629,1
    - Dst: shutdown_listener
      Src: /src/bind9/bin/named/controlconf.c:633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - controls
    argTypes:
    - named_controls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 627
    functionDepth: 0
    functionLinenumber: 627
    functionLinenumberEnd: 635
    functionName: controls_shutdown
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_FOREACH
    - shutdown_listener
    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:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - controls
    argTypes:
    - named_controls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 653
    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:662,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:663,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/controlconf.c:663,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/controlconf.c:664,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: 671
      start: 655
    functionDepth: 1
    functionLinenumber: 655
    functionLinenumberEnd: 671
    functionName: cfgkeylist_find
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    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:662,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:663,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/controlconf.c:663,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/named/controlconf.c:664,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 668
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    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:682,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:683,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/controlconf.c:684,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:685,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/controlconf.c:690,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:691,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: 693
      start: 673
    functionDepth: 1
    functionLinenumber: 673
    functionLinenumberEnd: 693
    functionName: controlkeylist_fromcfg
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    - ISC_LINK_INIT
    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:682,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:683,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/controlconf.c:684,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:685,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/controlconf.c:690,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 692
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    - ISC_LINK_INIT
    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:706,1
    - Dst: cfgkeylist_find
      Src: /src/bind9/bin/named/controlconf.c:707,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:709,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:713,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:714,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:722,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:723,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/controlconf.c:724,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:726,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:727,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/controlconf.c:729,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:732,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:737,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:738,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/controlconf.c:743,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/controlconf.c:744,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:747,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:751,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:752,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:753,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/controlconf.c:757,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:758,1
    - Dst: memmove
      Src: /src/bind9/bin/named/controlconf.c:760,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/controlconf.c:760,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: 764
      start: 695
    functionDepth: 2
    functionLinenumber: 695
    functionLinenumberEnd: 764
    functionName: register_keys
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - cfg_obj_log
    - memmove
    - INSIST
    - isc_mem_get
    - isc_base64_decodestring
    - cfgkeylist_find
    - cfg_map_get
    - isc_buffer_usedlength
    - free_controlkey
    - cfg_obj_asstring
    - isc_buffer_base
    - ISC_LIST_FOREACH
    - named_config_getkeyalgorithm
    - isc_buffer_init
    - isc_result_totext
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:780,1
    - Dst: isc_file_exists
      Src: /src/bind9/bin/named/controlconf.c:783,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:787,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/named/controlconf.c:787,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:788,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:788,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:790,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/named/controlconf.c:795,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:796,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/named/controlconf.c:796,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:798,1
    - Dst: isccfg_check_key
      Src: /src/bind9/bin/named/controlconf.c:798,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:800,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:801,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/controlconf.c:802,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:804,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/named/controlconf.c:805,1
    - Dst: named_config_getkeyalgorithm
      Src: /src/bind9/bin/named/controlconf.c:807,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:809,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/named/controlconf.c:818,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/named/controlconf.c:819,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:822,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:824,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/named/controlconf.c:828,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:829,1
    - Dst: memmove
      Src: /src/bind9/bin/named/controlconf.c:830,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/named/controlconf.c:830,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:831,1
    - Dst: free_controlkey
      Src: /src/bind9/bin/named/controlconf.c:837,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/named/controlconf.c:840,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 45
    argCount: 2
    argNames:
    - mctx
    - keyids
    argTypes:
    - isc_mem_t*
    - controlkeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 766
    functionDepth: 2
    functionLinenumber: 766
    functionLinenumberEnd: 843
    functionName: get_rndckey
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - isc_buffer_usedlength
    - cfg_map_get
    - isc_mem_strdup
    - isccfg_check_key
    - named_config_getkeyalgorithm
    - cfg_parse_file
    - cfg_obj_asstring
    - isc_file_exists
    - isc_buffer_init
    - isc_result_totext
    - isc_base64_decodestring
    - free_controlkey
    - isc_log_write
    - CHECK
    - cfg_map_getname
    - cfg_obj_log
    - isc_mem_get
    - cfg_obj_detach
    - ISC_LIST_APPEND
    - isc_buffer_base
    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:857,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:858,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:860,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/controlconf.c:862,1
    - Dst: cfg_list_first
      Src: /src/bind9/bin/named/controlconf.c:863,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:865,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: 872
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 872
    functionName: get_key_info
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_obj_isvoid
    - cfg_tuple_get
    - cfg_list_first
    - 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:887,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/named/controlconf.c:888,1
    - Dst: get_key_info
      Src: /src/bind9/bin/named/controlconf.c:920,1
    - Dst: INSIST
      Src: /src/bind9/bin/named/controlconf.c:925,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:927,1
    - Dst: controlkeylist_fromcfg
      Src: /src/bind9/bin/named/controlconf.c:928,1
    - Dst: free_controlkeylist
      Src: /src/bind9/bin/named/controlconf.c:929,1
    - Dst: register_keys
      Src: /src/bind9/bin/named/controlconf.c:931,1
    - Dst: free_controlkeylist
      Src: /src/bind9/bin/named/controlconf.c:934,1
    - Dst: get_rndckey
      Src: /src/bind9/bin/named/controlconf.c:935,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:946,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:949,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:951,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:955,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:963,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/controlconf.c:964,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/controlconf.c:967,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:973,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/controlconf.c:974,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/controlconf.c:975,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:980,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/controlconf.c:981,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:982,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:985,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:988,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:990,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:994,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 55
    argCount: 8
    argNames:
    - cp
    - listenerp
    - control
    - config
    - addr
    - aclctx
    - 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: 998
      start: 874
    functionDepth: 3
    functionLinenumber: 874
    functionLinenumberEnd: 998
    functionName: update_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 3
    functionsReached:
    - dns_acl_any
    - INSIST
    - cfg_acl_fromconfig
    - ISC_LIST_INIT
    - dns_acl_detach
    - free_controlkeylist
    - get_rndckey
    - cfg_obj_isvoid
    - cfg_tuple_get
    - dns_acl_attach
    - isc_sockaddr_equal
    - register_keys
    - isc_result_totext
    - isc_log_write
    - cfg_obj_asboolean
    - cfg_obj_log
    - controlkeylist_fromcfg
    - get_key_info
    - ISC_LIST_FOREACH
    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
      *aclctx,\n\t\tconst char *socktext, isc_socktype_t type)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/named/controlconf.c:1020,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/named/controlconf.c:1024,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/named/controlconf.c:1025,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1026,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1027,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/named/controlconf.c:1028,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1036,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:1037,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/named/controlconf.c:1037,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1040,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/named/controlconf.c:1041,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/named/controlconf.c:1042,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:1045,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/named/controlconf.c:1045,1
    - Dst: dns_acl_attach
      Src: /src/bind9/bin/named/controlconf.c:1048,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/named/controlconf.c:1049,1
    - Dst: get_key_info
      Src: /src/bind9/bin/named/controlconf.c:1052,1
    - Dst: controlkeylist_fromcfg
      Src: /src/bind9/bin/named/controlconf.c:1057,1
    - Dst: register_keys
      Src: /src/bind9/bin/named/controlconf.c:1059,1
    - Dst: get_rndckey
      Src: /src/bind9/bin/named/controlconf.c:1062,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1064,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1067,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/named/controlconf.c:1071,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/controlconf.c:1072,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/controlconf.c:1073,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/named/controlconf.c:1075,1
    - Dst: CHECK
      Src: /src/bind9/bin/named/controlconf.c:1078,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/bin/named/controlconf.c:1078,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1082,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/named/controlconf.c:1089,1
    - Dst: free_listener
      Src: /src/bind9/bin/named/controlconf.c:1091,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1095,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1097,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1099,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/named/controlconf.c:1102,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 58
    argCount: 8
    argNames:
    - cp
    - listenerp
    - control
    - config
    - addr
    - aclctx
    - 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: 1106
      start: 1000
    functionDepth: 4
    functionLinenumber: 1000
    functionLinenumberEnd: 1106
    functionName: add_listener
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - dns_acl_any
    - free_listener
    - isc_net_probeipv6
    - cfg_acl_fromconfig
    - ISC_LIST_INIT
    - dns_acl_detach
    - ISC_LINK_INIT
    - get_rndckey
    - cfg_obj_isvoid
    - cfg_tuple_get
    - dns_acl_attach
    - isc_sockaddr_pf
    - register_keys
    - isc_result_totext
    - isc_refcount_decrement
    - isc_log_write
    - cfg_obj_asboolean
    - CHECK
    - CLEANUP
    - isc_refcount_init
    - cfg_obj_log
    - isc_nm_listentcp
    - isc_mem_get
    - isc_net_probeipv4
    - controlkeylist_fromcfg
    - get_key_info
    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 *aclctx,\n\t     const char *socktext, isc_socktype_t
      type)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1116,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1121,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1137,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1139,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1141,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1147,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1162,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1164,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/controlconf.c:1165,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/controlconf.c:1166,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1167,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1171,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1174,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:1176,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1180,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1189,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1195,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1202,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/named/controlconf.c:1216,1
    - Dst: htonl
      Src: /src/bind9/bin/named/controlconf.c:1219,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/named/controlconf.c:1220,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/named/controlconf.c:1222,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/named/controlconf.c:1225,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1228,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1230,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1232,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1240,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1245,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1250,1
    - Dst: controls_shutdown
      Src: /src/bind9/bin/named/controlconf.c:1261,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/named/controlconf.c:1268,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 63
    argCount: 3
    argNames:
    - cp
    - config
    - aclctx
    argTypes:
    - named_controls_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1270
      start: 1108
    functionDepth: 1
    functionLinenumber: 1108
    functionLinenumberEnd: 1270
    functionName: named_controls_configure
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_setport
    - ISC_LIST_UNLINK
    - isc_net_probeipv6
    - cfg_map_get
    - add_listener
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_sockaddr_fromin6
    - isc_sockaddr_getport
    - cfg_tuple_get
    - cfg_listelt_value
    - controls_shutdown
    - update_listener
    - isc_log_write
    - htonl
    - isc_sockaddr_fromin
    - cfg_obj_log
    - cfg_obj_assockaddr
    - isc_net_probeipv4
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    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 *aclctx)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1137,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1139,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/named/controlconf.c:1141,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/named/controlconf.c:1147,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/named/controlconf.c:1162,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1164,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/controlconf.c:1165,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/controlconf.c:1166,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1167,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1171,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1174,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:1176,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1180,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1189,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1195,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1202,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1132
    functionDepth: 1
    functionLinenumber: 1132
    functionLinenumberEnd: 1206
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - update_listener
    - cfg_obj_log
    - ISC_LIST_UNLINK
    - cfg_obj_assockaddr
    - cfg_tuple_get
    - cfg_map_get
    - isc_sockaddr_getport
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - add_listener
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    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:1162,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/named/controlconf.c:1164,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/named/controlconf.c:1165,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/named/controlconf.c:1166,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/named/controlconf.c:1167,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/named/controlconf.c:1171,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/named/controlconf.c:1174,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/named/controlconf.c:1176,1
    - Dst: update_listener
      Src: /src/bind9/bin/named/controlconf.c:1180,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/named/controlconf.c:1189,1
    - Dst: add_listener
      Src: /src/bind9/bin/named/controlconf.c:1195,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/named/controlconf.c:1202,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1205
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - update_listener
    - ISC_LIST_UNLINK
    - isc_sockaddr_getport
    - cfg_tuple_get
    - cfg_obj_assockaddr
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - add_listener
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    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:1275,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/named/controlconf.c:1281,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/named/controlconf.c:1283,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/controlconf.c:1284,1
    - Dst: isccc_cc_createsymtab
      Src: /src/bind9/bin/named/controlconf.c:1285,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/controlconf.c:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - server
    - ctrlsp
    argTypes:
    - named_server_t*
    - named_controls_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1290
      start: 1272
    functionDepth: 1
    functionLinenumber: 1272
    functionLinenumberEnd: 1290
    functionName: named_controls_create
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - isc_mutex_init
    - isc_mem_get
    - isccc_cc_createsymtab
    - LOCK
    - ISC_LIST_INIT
    - UNLOCK
    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:1297,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/named/controlconf.c:1298,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/named/controlconf.c:1298,1
    - Dst: LOCK
      Src: /src/bind9/bin/named/controlconf.c:1300,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/bin/named/controlconf.c:1301,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/named/controlconf.c:1302,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/named/controlconf.c:1303,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/named/controlconf.c:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ctrlsp
    argTypes:
    - named_controls_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1292
    functionDepth: 1
    functionLinenumber: 1292
    functionLinenumberEnd: 1305
    functionName: named_controls_destroy
    functionSourceFile: /src/bind9/bin/named/controlconf.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - isc_symtab_destroy
    - ISC_LIST_EMPTY
    - LOCK
    - isc_mutex_destroy
    - UNLOCK
    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: 15
    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: 14
    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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    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: 15
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INIT(v)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/tests/test_client.c:71,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 80
    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:84,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/test_client.c:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 92
    functionName: parse_protocol
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - strcasecmp
    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:99,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/test_client.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 112
    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:117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 126
    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:131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 140
    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:146,1
    - Dst: open
      Src: /src/bind9/bin/tests/test_client.c:149,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:151,1
    - Dst: read
      Src: /src/bind9/bin/tests/test_client.c:153,1
    - Dst: close
      Src: /src/bind9/bin/tests/test_client.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 158
    functionName: parse_input
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - strcmp
    - close
    - RUNTIME_CHECK
    - open
    - read
    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:162,1
    - Dst: open
      Src: /src/bind9/bin/tests/test_client.c:165,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 171
    functionName: parse_output
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - strcmp
    - open
    - RUNTIME_CHECK
    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:178,1
    - Dst: parse_protocol
      Src: /src/bind9/bin/tests/test_client.c:178,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:179,1
    - Dst: parse_port
      Src: /src/bind9/bin/tests/test_client.c:179,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:180,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_client.c:180,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/tests/test_client.c:181,1
    - Dst: getopt_long
      Src: /src/bind9/bin/tests/test_client.c:197,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:205,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_client.c:205,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:209,1
    - Dst: parse_port
      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_protocol
      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_workers
      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_timeout
      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_input
      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_output
      Src: /src/bind9/bin/tests/test_client.c:229,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_client.c:233,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:244,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:245,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:249,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/bin/tests/test_client.c:249,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:253,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:263,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:264,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:268,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/bin/tests/test_client.c:268,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/tests/test_client.c:272,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tests/test_client.c:275,1
    - Dst: printf
      Src: /src/bind9/bin/tests/test_client.c:277,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
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 282
    functionName: parse_options
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - parse_output
    - isc_sockaddr_format
    - RUNTIME_CHECK
    - getaddrinfo
    - freeaddrinfo
    - printf
    - isc_os_ncpus
    - parse_protocol
    - parse_address
    - parse_workers
    - getopt_long
    - parse_port
    - parse_input
    - parse_timeout
    - UNREACHABLE
    - isc_sockaddr_fromsockaddr
    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:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 287
    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:292,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/bin/tests/test_client.c:296,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tests/test_client.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 300
    functionName: teardown
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 1
    functionsReached:
    - isc_tlsctx_free
    - close
    - isc_managers_destroy
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:307,1
    - Dst: sigemptyset
      Src: /src/bind9/bin/tests/test_client.c:307,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:308,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_client.c:308,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:309,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_client.c:309,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:310,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_client.c:310,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_client.c:311,1
    - Dst: sigwait
      Src: /src/bind9/bin/tests/test_client.c:311,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_client.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 314
    functionName: waitforsignal
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - RUNTIME_CHECK
    - fprintf
    - sigemptyset
    - sigwait
    linkageType: ''
    returnType: void
    signature: void waitforsignal(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:321,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:322,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:324,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_client.c:326,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/test_client.c:327,1
    - Dst: printf
      Src: /src/bind9/bin/tests/test_client.c:330,1
    - Dst: write
      Src: /src/bind9/bin/tests/test_client.c:332,1
    - Dst: close
      Src: /src/bind9/bin/tests/test_client.c:333,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:334,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/tests/test_client.c:338,1
    - Dst: kill
      Src: /src/bind9/bin/tests/test_client.c:339,1
    - Dst: getpid
      Src: /src/bind9/bin/tests/test_client.c:339,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: 340
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 340
    functionName: read_cb
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - close
    - getpid
    - fprintf
    - printf
    - isc_nmhandle_detach
    - kill
    - write
    - isc_result_totext
    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:344,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:345,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_client.c:347,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: 348
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 348
    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:354,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/test_client.c:355,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_client.c:357,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/test_client.c:358,1
    - Dst: kill
      Src: /src/bind9/bin/tests/test_client.c:361,1
    - Dst: getpid
      Src: /src/bind9/bin/tests/test_client.c:361,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/tests/test_client.c:365,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/tests/test_client.c:366,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/tests/test_client.c:367,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: 368
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 368
    functionName: connect_cb
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_nm_read
    - getpid
    - fprintf
    - isc_nm_send
    - kill
    - isc_nmhandle_attach
    - isc_result_totext
    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:374,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/tests/test_client.c:378,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/bin/tests/test_client.c:383,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/tests/test_client.c:385,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/bin/tests/test_client.c:400,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/bin/tests/test_client.c:404,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/bin/tests/test_client.c:406,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_client.c:412,1
    - Dst: waitforsignal
      Src: /src/bind9/bin/tests/test_client.c:415,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 370
    functionDepth: 2
    functionLinenumber: 370
    functionLinenumberEnd: 416
    functionName: run
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 10
    functionsReached:
    - waitforsignal
    - isc_nm_streamdnsconnect
    - isc_nm_udpconnect
    - isc_tlsctx_createclient
    - UNREACHABLE
    - isc_nm_httpconnect
    - isc_nm_http_makeuri
    linkageType: ''
    returnType: void
    signature: void run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/bind9/bin/tests/test_client.c:420,1
    - Dst: setup
      Src: /src/bind9/bin/tests/test_client.c:422,1
    - Dst: run
      Src: /src/bind9/bin/tests/test_client.c:424,1
    - Dst: teardown
      Src: /src/bind9/bin/tests/test_client.c:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 429
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/test_client.c
    functionUses: 14
    functionsReached:
    - parse_options
    - setup
    - teardown
    - run
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strtol
      Src: /src/bind9/bin/tests/test_server.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 62
    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:66,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/test_server.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 74
    functionName: parse_protocol
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - strcasecmp
    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:81,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/bin/tests/test_server.c:82,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/test_server.c:86,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/bin/tests/test_server.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 92
    functionName: parse_address
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_fromin
    - isc_netaddr_fromin6
    - 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:97,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 106
    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:113,1
    - Dst: parse_protocol
      Src: /src/bind9/bin/tests/test_server.c:113,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:114,1
    - Dst: parse_port
      Src: /src/bind9/bin/tests/test_server.c:114,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:115,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_server.c:115,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/tests/test_server.c:116,1
    - Dst: getopt_long
      Src: /src/bind9/bin/tests/test_server.c:129,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:137,1
    - Dst: parse_address
      Src: /src/bind9/bin/tests/test_server.c:137,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:141,1
    - Dst: parse_port
      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_protocol
      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_workers
      Src: /src/bind9/bin/tests/test_server.c:149,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_server.c:153,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/bin/tests/test_server.c:157,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tests/test_server.c:159,1
    - Dst: printf
      Src: /src/bind9/bin/tests/test_server.c:161,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 163
    functionName: parse_options
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_format
    - RUNTIME_CHECK
    - printf
    - isc_sockaddr_fromnetaddr
    - isc_os_ncpus
    - parse_protocol
    - parse_address
    - parse_workers
    - getopt_long
    - parse_port
    - UNREACHABLE
    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:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 168
    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:173,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tests/test_server.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 177
    functionName: teardown
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 2
    functionsReached:
    - isc_tlsctx_free
    - isc_managers_destroy
    linkageType: ''
    returnType: void
    signature: void teardown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:184,1
    - Dst: sigemptyset
      Src: /src/bind9/bin/tests/test_server.c:184,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:185,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_server.c:185,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:186,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_server.c:186,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:187,1
    - Dst: sigaddset
      Src: /src/bind9/bin/tests/test_server.c:187,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/test_server.c:188,1
    - Dst: sigwait
      Src: /src/bind9/bin/tests/test_server.c:188,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_server.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 191
    functionName: test_server_yield
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - sigaddset
    - RUNTIME_CHECK
    - fprintf
    - sigemptyset
    - sigwait
    linkageType: ''
    returnType: void
    signature: void test_server_yield(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:198,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:199,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/test_server.c:200,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/test_server.c:202,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/test_server.c:209,1
    - Dst: memmove
      Src: /src/bind9/bin/tests/test_server.c:212,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/tests/test_server.c:214,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: 216
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 216
    functionName: read_cb
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_mem_get
    - fprintf
    - isc_nm_send
    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:222,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:223,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/test_server.c:225,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: 226
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 226
    functionName: send_cb
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    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:230,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:231,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/test_server.c:232,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: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    functionName: accept_cb
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:244,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/bin/tests/test_server.c:248,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/bin/tests/test_server.c:253,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/bin/tests/test_server.c:255,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/bin/tests/test_server.c:266,1
    - Dst: isc_nm_http_endpoints_new
      Src: /src/bind9/bin/tests/test_server.c:268,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/bin/tests/test_server.c:269,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/bin/tests/test_server.c:273,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/bin/tests/test_server.c:277,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tests/test_server.c:281,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/test_server.c:283,1
    - Dst: test_server_yield
      Src: /src/bind9/bin/tests/test_server.c:285,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/bin/tests/test_server.c:287,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/bin/tests/test_server.c:288,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 289
    functionName: run
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - isc_nmsocket_close
    - isc_nm_listenudp
    - isc_nm_http_endpoints_add
    - isc_nm_listenstreamdns
    - isc_nm_http_endpoints_detach
    - test_server_yield
    - isc_nm_stoplistening
    - isc_tlsctx_createserver
    - UNREACHABLE
    - isc_nm_http_endpoints_new
    - isc_nm_listenhttp
    linkageType: ''
    returnType: void
    signature: void run(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: parse_options
      Src: /src/bind9/bin/tests/test_server.c:293,1
    - Dst: setup
      Src: /src/bind9/bin/tests/test_server.c:295,1
    - Dst: run
      Src: /src/bind9/bin/tests/test_server.c:297,1
    - Dst: teardown
      Src: /src/bind9/bin/tests/test_server.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 302
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/test_server.c
    functionUses: 14
    functionsReached:
    - parse_options
    - setup
    - teardown
    - run
    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:42,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/wire-test.c:42,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - result
    - msg
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 46
    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:58,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:59,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 60
    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:64,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    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:83,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/wire-test.c:85,1
    - Dst: dns_message_totext
      Src: /src/bind9/bin/tests/system/wire-test.c:86,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/wire-test.c:89,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/wire-test.c:92,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tests/system/wire-test.c:92,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/wire-test.c:97,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 0
    functionsReached:
    - dns_message_totext
    - isc_mem_put
    - isc_mem_get
    - isc_buffer_usedlength
    - printf
    - isc_buffer_init
    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:118,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/wire-test.c:121,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/tests/system/wire-test.c:123,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/wire-test.c:125,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/tests/system/wire-test.c:127,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/wire-test.c:129,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/tests/system/wire-test.c:131,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tests/system/wire-test.c:140,1
    - Dst: usage
      Src: /src/bind9/bin/tests/system/wire-test.c:163,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:164,1
    - Dst: fopen
      Src: /src/bind9/bin/tests/system/wire-test.c:172,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:174,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:175,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tests/system/wire-test.c:182,1
    - Dst: fread
      Src: /src/bind9/bin/tests/system/wire-test.c:185,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/tests/system/wire-test.c:186,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/wire-test.c:187,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tests/system/wire-test.c:188,1
    - Dst: fgets
      Src: /src/bind9/bin/tests/system/wire-test.c:193,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:213,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:215,1
    - Dst: fromhex
      Src: /src/bind9/bin/tests/system/wire-test.c:220,1
    - Dst: fromhex
      Src: /src/bind9/bin/tests/system/wire-test.c:222,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/tests/system/wire-test.c:223,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/wire-test.c:224,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tests/system/wire-test.c:225,1
    - Dst: fclose
      Src: /src/bind9/bin/tests/system/wire-test.c:231,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/tests/system/wire-test.c:235,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/tests/system/wire-test.c:238,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:239,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:240,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/bin/tests/system/wire-test.c:242,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/tests/system/wire-test.c:244,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/wire-test.c:245,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/wire-test.c:246,1
    - Dst: process_message
      Src: /src/bind9/bin/tests/system/wire-test.c:248,1
    - Dst: process_message
      Src: /src/bind9/bin/tests/system/wire-test.c:251,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tests/system/wire-test.c:254,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/tests/system/wire-test.c:257,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 119
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 261
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 14
    functionsReached:
    - fprintf
    - fgets
    - fclose
    - exit
    - strcasecmp
    - fopen
    - RUNTIME_CHECK
    - process_message
    - isc_buffer_getuint16
    - isc_buffer_putuint8
    - usage
    - isc_mem_stats
    - isc_commandline_parse
    - isc_buffer_reserve
    - isc_buffer_remaininglength
    - fromhex
    - fread
    - isc_buffer_allocate
    - isc_buffer_free
    - isc_mem_debugon
    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:270,1
    - Dst: dns_message_parse
      Src: /src/bind9/bin/tests/system/wire-test.c:273,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:277,1
    - Dst: printmessage
      Src: /src/bind9/bin/tests/system/wire-test.c:279,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:280,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/tests/system/wire-test.c:283,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/wire-test.c:291,1
    - Dst: dns_compress_init
      Src: /src/bind9/bin/tests/system/wire-test.c:304,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/bin/tests/system/wire-test.c:306,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:307,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:309,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:311,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:314,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:316,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:318,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:320,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/tests/system/wire-test.c:323,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:325,1
    - Dst: dns_message_renderend
      Src: /src/bind9/bin/tests/system/wire-test.c:328,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/bin/tests/system/wire-test.c:330,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tests/system/wire-test.c:333,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/wire-test.c:335,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/tests/system/wire-test.c:337,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tests/system/wire-test.c:340,1
    - Dst: dns_message_parse
      Src: /src/bind9/bin/tests/system/wire-test.c:343,1
    - Dst: CHECKRESULT
      Src: /src/bind9/bin/tests/system/wire-test.c:344,1
    - Dst: printmessage
      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: dns_message_detach
      Src: /src/bind9/bin/tests/system/wire-test.c:349,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 45
    argCount: 1
    argNames:
    - source
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 350
    functionName: process_message
    functionSourceFile: /src/bind9/bin/tests/system/wire-test.c
    functionUses: 1
    functionsReached:
    - CHECKRESULT
    - printmessage
    - dns_compress_invalidate
    - dns_message_renderend
    - dns_message_detach
    - dns_message_create
    - printf
    - dns_message_renderbegin
    - dns_message_rendersection
    - dns_message_parse
    - isc_mem_stats
    - isc_buffer_init
    - dns_compress_init
    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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 62
    functionName: usage
    functionSourceFile: /src/bind9/bin/tests/system/feature-test.c
    functionUses: 2
    functionsReached:
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/bind9/bin/tests/system/feature-test.c:67,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:71,1
    - Dst: printf
      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: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:80,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:88,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:96,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/feature-test.c:104,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/feature-test.c:112,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/bind9/bin/tests/system/feature-test.c:114,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/bin/tests/system/feature-test.c:116,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:124,1
    - Dst: gethostname
      Src: /src/bind9/bin/tests/system/feature-test.c:128,1
    - Dst: perror
      Src: /src/bind9/bin/tests/system/feature-test.c:130,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:133,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:137,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:145,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/tests/system/feature-test.c:153,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:164,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/tests/system/feature-test.c:168,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:172,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:180,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:188,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:196,1
    - Dst: __has_feature
      Src: /src/bind9/bin/tests/system/feature-test.c:198,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:209,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/tests/system/feature-test.c:210,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/feature-test.c:216,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/tests/system/feature-test.c:217,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:224,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:232,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/feature-test.c:240,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/feature-test.c:248,1
    - Dst: usage
      Src: /src/bind9/bin/tests/system/feature-test.c:249,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 103
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 251
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/feature-test.c
    functionUses: 14
    functionsReached:
    - strcmp
    - isc_crypto_fips_mode
    - dst_algorithm_supported
    - gethostname
    - strcasecmp
    - fprintf
    - printf
    - OSSL_PROVIDER_load
    - __has_feature
    - usage
    - OSSL_PROVIDER_unload
    - perror
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ns_hook_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:89,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:90,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:91,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: 92
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 92
    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:98,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:99,1
    - Dst: va_end
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 102
    functionName: logmsg
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - va_start
    - va_end
    - 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:124,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:125,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:126,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:127,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:129,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:133,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:135,1
    - Dst: isc_ht_init
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:137,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:138,1
    - Dst: install_hooks
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:143,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 9
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - hooktable
    - ctx
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - ns_pluginctx_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 148
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - UNUSED
    - isc_mutex_init
    - isc_mem_get
    - install_hooks
    - 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 *aclctx,\n\t\tns_hooktable_t
      *hooktable, const ns_pluginctx_t *ctx,\n\t\tvoid **instp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:154,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:155,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:156,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:157,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:158,1
    - 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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - ctx
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_pluginctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 163
    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
      *aclctx,\n\t     const ns_pluginctx_t *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_destroy
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:174,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:175,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 182
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_mutex_destroy
    - isc_ht_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: 190
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 190
    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:197,1
    - Dst: isc_ht_find
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:198,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - async_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 203
    functionName: client_state_get
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_ht_find
    - UNLOCK
    - LOCK
    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:210,1
    - Dst: LOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:213,1
    - Dst: isc_ht_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:214,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:216,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - async_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 218
    functionName: client_state_create
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - RUNTIME_CHECK
    - LOCK
    - isc_ht_add
    - UNLOCK
    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:222,1
    - Dst: LOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:229,1
    - Dst: isc_ht_delete
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:230,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:232,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:233,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:235,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - async_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: client_state_destroy
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - client_state_get
    - isc_mem_put
    - RUNTIME_CHECK
    - LOCK
    - isc_ht_delete
    - UNLOCK
    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:244,1
    - Dst: client_state_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:247,1
    - Dst: client_state_create
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:249,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 253
    functionName: async_query_setup
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - client_state_create
    - client_state_get
    - logmsg
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t async_query_setup(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:257,1
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hctx
    argTypes:
    - ns_hookasync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 259
    functionName: cancelasync
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - logmsg
    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:265,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - ns_hookasync_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 268
    functionName: destroyasync
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - logmsg
    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:273,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:274,1
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:277,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:282,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:295,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: 299
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 299
    functionName: doasync
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_async_run
    - logmsg
    - isc_mem_get
    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:305,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:307,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:308,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:309,1
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:311,1
    - Dst: ns_query_hookasync
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:322,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 324
    functionName: async_query_done_begin
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - ns_query_hookasync
    - client_state_get
    - UNUSED
    - logmsg
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t async_query_done_begin(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: logmsg
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:331,1
    - Dst: client_state_destroy
      Src: /src/bind9/bin/tests/system/hooks/driver/test-async.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 326
    functionDepth: 2
    functionLinenumber: 326
    functionLinenumberEnd: 336
    functionName: async_query_reset
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    functionUses: 0
    functionsReached:
    - client_state_destroy
    - logmsg
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t async_query_reset(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:36,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:42,1
    - Dst: strncmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:48,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:49,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:56,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 58
    functionName: syncplugin__hook
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_getlabel
    - strlen
    - strncmp
    - ns_query_done
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t syncplugin__hook(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:81,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:81,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:85,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:87,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:89,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:91,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:93,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - syncplugincfg
    - rcode
    argTypes:
    - cfg_obj_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 100
    functionName: syncplugin__parse_rcode
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - RETERR
    - strcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t syncplugin__parse_rcode(const cfg_obj_t *syncplugincfg,
      uint8_t *rcode)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:119,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:120,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:122,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:126,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:126,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:127,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:127,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:129,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:129,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:132,1
    - Dst: syncplugin__parse_rcode
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:132,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:134,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:135,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:136,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:138,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:139,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:143,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:143,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:146,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:156,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:158,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:160,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:163,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:164,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:165,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:171,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:186,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:189,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:190,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:193,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:194,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:197,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:198,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:202,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 71
    argCount: 9
    argNames:
    - parameters
    - cfg
    - cfgfile
    - cfgline
    - mctx
    - aclctx
    - hooktable
    - ctx
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - ns_pluginctx_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 206
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - cfg_map_get
    - isc_buffer_add
    - strlen
    - cfg_obj_asstring
    - isc_mem_allocate
    - strcmp
    - dns_name_dynamic
    - dns_name_equal
    - ns_hook_add
    - cfg_parse_buffer
    - CHECK
    - dns_name_fromstring
    - syncplugin__parse_rcode
    - strncpy
    - isc_mem_get
    - cfg_obj_detach
    - dns_name_free
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_register(const char *parameters, const void *cfg,
      const char *cfgfile,\n\t\tunsigned long cfgline, isc_mem_t *mctx, void *aclctx,\n\t\tns_hooktable_t
      *hooktable, const ns_pluginctx_t *ctx,\n\t\tvoid **instp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 7
    argNames:
    - parameters
    - cfg
    - cfgfile
    - cfgline
    - mctx
    - aclctx
    - ctx
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_pluginctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 221
    functionName: plugin_check
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_check(const char *parameters, const void *cfg,
      const char *cfgfile,\n\t     unsigned long cfgline, isc_mem_t *mctx, void *aclctx,\n\t
      \    const ns_pluginctx_t *ctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:229,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_put
    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: 239
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 239
    functionName: plugin_version
    functionSourceFile: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int plugin_version(void)
  - 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: CHECKM
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKM(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:70,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:75,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:77,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:78,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:79,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:82,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:85,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:87,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:90,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:91,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:92,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:93,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:96,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:100,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:101,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:104,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:105,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:105,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:106,1
    - Dst: fflush
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:107,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:109,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:110,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:111,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:114,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 117
    functionName: recvresponse
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - dns_request_getarg
    - dns_message_sectiontotext
    - isc_buffer_usedlength
    - fprintf
    - dns_message_create
    - printf
    - fflush
    - dns_result_fromrcode
    - isc_loopmgr_shutdown
    - dns_request_getresult
    - isc_buffer_base
    - CHECKM
    - dns_request_destroy
    - exit
    - dns_request_getresponse
    - dns_message_detach
    - isc_buffer_init
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void recvresponse(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: scanf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:131,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:138,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:139,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:139,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:140,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:140,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:141,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:141,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:143,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:145,1
    - Dst: random
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:151,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:153,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:155,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:157,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:157,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:158,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:160,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:161,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:163,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:166,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 170
    functionName: sendquery
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - scanf
    - dns_rdataset_makequestion
    - dns_message_addname
    - dns_name_fromtext
    - dns_message_create
    - isc_loop_main
    - ISC_LIST_APPEND
    - dns_fixedname_name
    - isc_buffer_add
    - strlen
    - CHECKM
    - dns_name_clone
    - dns_fixedname_init
    - random
    - dns_message_gettemprdataset
    - dns_request_create
    - isc_buffer_init
    - dns_message_gettempname
    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:176,1
    - Dst: sendquery
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:179,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 186
    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:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 192
    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:198,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: teardown_requestmgr
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 0
    functionsReached:
    - dns_requestmgr_detach
    - dns_requestmgr_shutdown
    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:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 206
    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:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 212
    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:226,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:229,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:232,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:234,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:238,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:241,1
    - Dst: POST
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:251,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:257,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:260,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:261,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:263,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:266,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:267,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:269,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:271,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:273,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:273,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:275,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:275,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:277,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:277,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:280,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:282,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:283,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:284,1
    - Dst: isc_loopmgr_teardown
      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_run
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:288,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tests/system/pipelined/pipequeries.c:290,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 293
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/pipelined/pipequeries.c
    functionUses: 15
    functionsReached:
    - isc_managers_create
    - fprintf
    - CHECKM
    - dns_requestmgr_create
    - exit
    - dns_view_create
    - isc_sockaddr_any
    - inet_pton
    - isc_loopmgr_setup
    - dns_dispatch_createudp
    - RUNCHECK
    - isc_managers_destroy
    - isc_commandline_parse
    - isc_loopmgr_teardown
    - isc_parse_uint16
    - isc_sockaddr_fromin
    - isc_loopmgr_run
    - 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:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 57
    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: 62
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 62
    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:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - type
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 104
    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:113,1
    - Dst: INSIST
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:117,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:118,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:121,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:124,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:127,1
    - Dst: logerr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:136,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:140,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:141,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:142,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:147,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:150,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:153,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: 159
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 159
    functionName: add_name
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - strncpy
    - logerr
    - strcasecmp
    - INSIST
    - strlen
    - single_valued
    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:169,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:172,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:173,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:174,1
    - Dst: memset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:182,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: 184
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: del_name
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - memset
    - UNUSED
    - strcasecmp
    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:194,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:195,1
    - Dst: ntohs
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:199,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:200,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:211,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: 213
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 213
    functionName: fmt_address
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - snprintf
    - ntohs
    - inet_ntop
    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:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - flags
    argTypes:
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 222
    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:230,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:233,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:236,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:239,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: 242
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 242
    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:256,1
    - Dst: calloc
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:258,1
    - Dst: va_start
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:264,1
    - Dst: va_arg
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:265,1
    - Dst: va_end
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:268,1
    - Dst: logerr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:271,1
    - Dst: dlz_destroy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:272,1
    - Dst: malloc
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:277,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:277,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:279,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:282,1
    - Dst: strcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:283,1
    - Dst: sprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:285,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:291,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:292,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:296,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:301,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:305,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:307,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:309,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:312,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 4
    argNames:
    - dlzname
    - argc
    - argv
    - dbdata
    argTypes:
    - char*
    - unsigned int
    - char*[]
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 316
    functionName: dlz_create
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - strcmp
    - UNUSED
    - logerr
    - strcpy
    - sprintf
    - add_name
    - calloc
    - va_start
    - strlen
    - dlz_destroy
    - va_arg
    - loginfo
    - va_end
    - free
    - malloc
    - strlcpy
    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:325,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:326,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dbdata
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 328
    functionName: dlz_destroy
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 3
    functionsReached:
    - free
    - loginfo
    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:341,1
    - Dst: dns_clientinfomethods_t*::sourceip
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:346,1
    - Dst: fmt_address
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:347,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:350,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:361,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:369,1
    - Dst: strncmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:370,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:380,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:388,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:392,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:393,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: 398
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 398
    functionName: dlz_findzonedb
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - strcpy
    - strcasecmp
    - dns_clientinfomethods_t*::sourceip
    - fmt_address
    - snprintf
    - loginfo
    - strncmp
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:424,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:430,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:431,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:433,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:434,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:436,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:449,1
    - Dst: memcpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:453,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:455,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:475,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:479,1
    - Dst: strncpy
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:481,1
    - Dst: dns_clientinfomethods_t*::sourceip
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:487,1
    - Dst: fmt_address
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:488,1
    - Dst: dns_ecs_format
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:492,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:495,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:499,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:500,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:502,1
    - Dst: RETERR
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:505,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:505,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:508,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:509,1
    - Dst: RETERR
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:516,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:520,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:520,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:521,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:528,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:529,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:531,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:540,1
    - Dst: RETERR
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:542,1
    - Dst: struct dlz_example_data*::putrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:542,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 80
    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: 553
      start: 409
    functionDepth: 3
    functionLinenumber: 409
    functionLinenumberEnd: 553
    functionName: dlz_lookup
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - strcmp
    - UNUSED
    - memcpy
    - strncpy
    - dns_ecs_format
    - strcasecmp
    - struct dlz_example_data*::putrr
    - dns_clientinfomethods_t*::sourceip
    - fmt_address
    - snprintf
    - strlen
    - RETERR
    - loginfo
    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:563,1
    - Dst: dlz_findzonedb
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:565,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:567,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:568,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:576,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:577,1
    - Dst: strcmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:585,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:586,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - dbdata
    - name
    - client
    argTypes:
    - void*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 593
    functionName: dlz_allowzonexfr
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - strcmp
    - loginfo
    - dlz_findzonedb
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dlz_allowzonexfr(void *dbdata, const char *name, const
      char *client)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:603,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:610,1
    - Dst: RETERR
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:613,1
    - Dst: struct dlz_example_data*::putnamedrr
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:613,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 3
    argNames:
    - zone
    - dbdata
    - allnodes
    argTypes:
    - char*
    - void*
    - dns_sdlzallnodes_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 620
    functionName: dlz_allnodes
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - strlen
    - RETERR
    - struct dlz_example_data*::putnamedrr
    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:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - zone
    - dbdata
    - versionp
    argTypes:
    - char*
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 639
    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:649,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:661,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:663,1
    - Dst: del_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:664,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:672,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:673,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:681,1
    - Dst: memset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:683,1
    - Dst: memset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:684,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 4
    argNames:
    - zone
    - commit
    - dbdata
    - versionp
    argTypes:
    - char*
    - bool
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 685
    functionName: dlz_closeversion
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - del_name
    - add_name
    - strlen
    - loginfo
    - memset
    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:695,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:698,1
    - Dst: struct dlz_example_data*::writeable_zone
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:702,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:704,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:709,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: 711
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 711
    functionName: dlz_configure
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - struct dlz_example_data*::writeable_zone
    - loginfo
    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:722,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:723,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:724,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:725,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:726,1
    - Dst: strncmp
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:728,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:729,1
    - Dst: loginfo
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:733,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: 735
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 735
    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:745,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:758,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:763,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:768,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:773,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:778,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:783,1
    - Dst: snprintf
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:784,1
    - Dst: add_name
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:788,1
    - Dst: strtoul
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:788,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:790,1
    - Dst: free
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:794,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: 796
      start: 737
    functionDepth: 0
    functionLinenumber: 737
    functionLinenumberEnd: 796
    functionName: modrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 0
    functionsReached:
    - strtoul
    - add_name
    - snprintf
    - strtok_r
    - strlen
    - strdup
    - free
    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:807,1
    - Dst: modrdataset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:809,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - rdatastr
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 798
    functionDepth: 1
    functionLinenumber: 798
    functionLinenumberEnd: 810
    functionName: dlz_addrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - loginfo
    - modrdataset
    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:821,1
    - Dst: modrdataset
      Src: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c:823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - rdatastr
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 824
    functionName: dlz_subrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dlzexternal/driver/driver.c
    functionUses: 1
    functionsReached:
    - loginfo
    - modrdataset
    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:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - name
    - type
    - dbdata
    - version
    argTypes:
    - char*
    - char*
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 838
    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:78,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:80,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:82,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:84,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:88,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:90,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:92,1
    - Dst: dns_diff_apply
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:95,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:97,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:99,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:106,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:108,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:110,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:111,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:112,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 113
    functionName: syncptr_write
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_zone_detach
    - dns_db_newversion
    - isc_mem_putanddetach
    - log_write
    - dns_db_closeversion
    - dns_diff_clear
    - dns_zone_getdb
    - dns_diff_apply
    - isc_result_totext
    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:136,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:137,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:141,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:141,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:142,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:146,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:146,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:147,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:151,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:161,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:163,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:165,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:170,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:174,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:176,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:182,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:183,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:189,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:191,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: 195
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 195
    functionName: syncptr_find_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_view_findzone
    - FATAL_ERROR
    - dns_zone_detach
    - dns_byaddr_createptrname
    - isc_netaddr_fromin6
    - dns_rdata_freestruct
    - log_write
    - CHECK
    - isc_netaddr_fromin
    - dns_rdata_tostruct
    - isc_result_totext
    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:226,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:227,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:228,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:230,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:232,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:233,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:234,1
    - Dst: syncptr_find_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:237,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:238,1
    - Dst: log_error_r
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:240,1
    - Dst: dns_zone_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:247,1
    - Dst: dns_name_copy
      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_name_clone
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:249,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:249,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:251,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:252,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:256,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:258,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:263,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:263,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:265,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:271,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:271,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:276,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:279,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:282,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: 286
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 286
    functionName: syncptr
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - dns_name_copy
    - dns_zone_detach
    - isc_mem_put
    - log_error_r
    - dns_difftuple_create
    - syncptr_find_zone
    - dns_zone_getloop
    - dns_name_init
    - DNS_RDATACOMMON_INIT
    - isc_buffer_init
    - isc_result_totext
    - dns_diff_append
    - dns_name_clone
    - dns_fixedname_init
    - dns_difftuple_free
    - isc_mem_get
    - dns_zone_attach
    - dns_rdata_fromstruct
    - isc_async_run
    - dns_diff_init
    - log_write
    - dns_fixedname_name
    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:302,1
    - Dst: syncptr
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:303,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: 310
      start: 296
    functionDepth: 3
    functionLinenumber: 296
    functionLinenumberEnd: 310
    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:302,1
    - Dst: syncptr
      Src: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c:303,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 300
    functionDepth: 3
    functionLinenumber: 300
    functionLinenumberEnd: 307
    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: 33
    functionsReached:
    - REQUIRE
    - dns_db_detach
    - VALID_SAMPLEDB
    - isc_mem_putanddetach
    - dns_name_free
    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:
    - REQUIRE
    - dns_db_currentversion
    - 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:
    - REQUIRE
    - dns_db_attachversion
    - 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:
    - dns__db_closeversion
    - REQUIRE
    - 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_createiterator
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:135,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: 136
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 136
    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:145,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:145,1
    - Dst: dns__db_findrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:147,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: 150
      start: 138
    functionDepth: 1
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: findrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns__db_findrdataset
    - 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:158,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:158,1
    - Dst: dns__db_allrdatasets
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:160,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: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: allrdatasets
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns__db_allrdatasets
    - 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:172,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:172,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:174,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:175,1
    - Dst: dns__db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:175,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:177,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:178,1
    - Dst: syncptrs
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    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: 184
      start: 164
    functionDepth: 4
    functionLinenumber: 164
    functionLinenumberEnd: 184
    functionName: addrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 5
    functionsReached:
    - dns__db_addrdataset
    - REQUIRE
    - VALID_SAMPLEDB
    - CHECK
    - dns_fixedname_init
    - dns_rdatatype_isaddr
    - syncptrs
    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:194,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:194,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:196,1
    - Dst: dns__db_subtractrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:197,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:204,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:205,1
    - Dst: syncptrs
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:205,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    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: 211
      start: 186
    functionDepth: 4
    functionLinenumber: 186
    functionLinenumberEnd: 211
    functionName: subtractrdataset
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_SAMPLEDB
    - dns__db_subtractrdataset
    - CHECK
    - dns_fixedname_init
    - dns_rdatatype_isaddr
    - syncptrs
    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:222,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:222,1
    - Dst: dns__db_deleterdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:224,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: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    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:232,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:232,1
    - Dst: dns_db_issecure
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 235
    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:241,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:241,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 244
    functionName: nodecount
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_nodecount
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nodecount(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:250,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:250,1
    - Dst: dns__db_getoriginnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:252,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: 253
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 253
    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:261,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:261,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:263,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: 265
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: getnsec3parameters
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_getnsec3parameters
    - 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:272,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:272,1
    - Dst: dns__db_findnsec3node
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:274,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: 276
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: findnsec3node
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns__db_findnsec3node
    - 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:283,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:283,1
    - Dst: dns_db_setsigningtime
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - db
    - node
    - rdataset
    - resign
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: setsigningtime
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_setsigningtime
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setsigningtime(dns_db_t *db, dns_dbnode_t *node, dns_rdataset_t
      *rdataset,\n\t       isc_stdtime_t resign)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:293,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:293,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:295,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: 296
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: getsigningtime
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_getsigningtime
    - 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:302,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:302,1
    - Dst: dns_db_getrrsetstats
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: getrrsetstats
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_db_getrrsetstats
    - 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:313,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:313,1
    - Dst: dns__db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:315,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: 317
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 317
    functionName: findnode
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - dns__db_findnode
    - 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_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:327,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:327,1
    - Dst: dns__db_find
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:329,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: 332
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 332
    functionName: find
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - dns__db_find
    - 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,\n     dns_clientinfomethods_t
      *methods, dns_clientinfo_t *clientinfo,\n     dns_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:338,1
    - Dst: VALID_SAMPLEDB
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:338,1
    - Dst: dns_db_setcachestats
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 341
    functionName: setcachestats
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_setcachestats
    - VALID_SAMPLEDB
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setcachestats(dns_db_t *db, isc_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:393,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:394,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:395,1
    - Dst: dns_soa_buildrdata
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:395,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:395,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:401,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:402,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:403,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:403,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:404,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:404,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:407,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: 410
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 410
    functionName: add_soa
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - dns_db_detachnode
    - dns_soa_buildrdata
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - dns_db_addrdataset
    - dns_rdatalist_init
    - CHECK
    - dns_db_findnode
    - dns_rdatalist_tordataset
    - dns_db_class
    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:424,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:426,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:427,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:429,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:431,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:432,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:433,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:433,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:433,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:439,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:440,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:441,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:441,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:442,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:442,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:445,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: 448
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 448
    functionName: add_ns
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 2
    functionsReached:
    - dns_db_detachnode
    - dns_name_init
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - dns_db_addrdataset
    - dns_rdatalist_init
    - dns_name_clone
    - dns_db_findnode
    - CHECK
    - dns_rdatalist_tordataset
    - dns_db_class
    - isc_buffer_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:462,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:464,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:465,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:467,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:469,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:469,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:469,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:475,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:476,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:477,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:477,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:478,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:478,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:481,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: 484
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 484
    functionName: add_a
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - dns_db_addrdataset
    - dns_rdatalist_init
    - CHECK
    - dns_db_findnode
    - dns_rdatalist_tordataset
    - dns_db_class
    - isc_buffer_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:501,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:502,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:503,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:504,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:506,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:508,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:512,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:520,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:521,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:523,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:525,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:531,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:531,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:535,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:535,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:536,1
    - Dst: add_soa
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:536,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:537,1
    - Dst: add_ns
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:537,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:538,1
    - Dst: add_a
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:538,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:539,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:546,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:547,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/dyndb/driver/db.c:550,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: 554
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 554
    functionName: create_db
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/db.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_db_newversion
    - dns_db_create
    - isc_mem_get
    - dns_name_dynamic
    - add_soa
    - add_a
    - isc_mem_putanddetach
    - add_ns
    - dns_db_closeversion
    - CHECK
    - dns_name_free
    - dns_name_dup
    - isc_refcount_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: 4
    BranchProfiles: []
    Callsites:
    - 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: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:72,1
    - Dst: log_info
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:75,1
    - Dst: log_info
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:77,1
    - Dst: log_error
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:80,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:82,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: 6
    EdgeCount: 6
    ICount: 28
    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: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 103
    functionName: parse_params
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - log_info
    - log_error
    - log_write
    - dns_name_fromstring
    - CLEANUP
    - isc_result_totext
    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:139,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:141,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:143,1
    - Dst: destroy_sample_instance
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:152,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    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: 155
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 155
    functionName: new_sample_instance
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_db_register
    - isc_mem_get
    - dns_zonemgr_attach
    - isc_mem_strdup
    - dns_view_attach
    - dns_fixedname_initname
    - parse_params
    - log_write
    - destroy_sample_instance
    - isc_result_totext
    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:165,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:167,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:169,1
    - Dst: activate_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:172,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:174,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:176,1
    - Dst: create_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:180,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:182,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:184,1
    - Dst: activate_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:187,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:189,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:191,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - inst
    argTypes:
    - sample_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 197
    functionName: load_sample_instance_zones
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 0
    functionsReached:
    - activate_zone
    - create_zone
    - log_write
    - isc_result_totext
    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:202,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:211,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:214,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:217,1
    - Dst: dns_db_unregister
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:220,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:223,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:224,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/tests/system/dyndb/driver/instance.c:226,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - instp
    argTypes:
    - sample_instance_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 227
    functionName: destroy_sample_instance
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/instance.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_view_detach
    - dns_zonemgr_detach
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_db_unregister
    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:65,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:67,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:71,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:73,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:74,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:75,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:76,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:78,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:80,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:82,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:87,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:89,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:90,1
    - Dst: dns_zone_setupdateacl
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:93,1
    - Dst: dns_zone_setqueryacl
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:94,1
    - Dst: dns_zone_setxfracl
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:95,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:96,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:102,1
    - Dst: log_error_r
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:103,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:106,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:107,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:109,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:112,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: 116
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 116
    functionName: create_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_acl_any
    - dns_zone_detach
    - log_error_r
    - dns_zonemgr_releasezone
    - dns_acl_detach
    - dns_zone_setqueryacl
    - dns_zone_setclass
    - dns_zone_setxfracl
    - dns_name_format
    - dns_zone_settype
    - dns_zone_create
    - isc_result_totext
    - dns_zone_setupdateacl
    - dns_zone_getmgr
    - dns_zonemgr_managezone
    - dns_zone_setdbtype
    - dns_zone_setorigin
    - log_write
    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:129,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:130,1
    - Dst: dns_view_findzone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:133,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:133,1
    - Dst: CHECK
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:136,1
    - Dst: dns_zone_getview
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:139,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:144,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:151,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:154,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:159,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:162,1
    - Dst: dns_view_thaw
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:167,1
    - Dst: dns_zone_setview
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:170,1
    - Dst: dns_view_addzone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:171,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:173,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:175,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:181,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:184,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 2
    argNames:
    - inst
    - zone
    argTypes:
    - sample_instance_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 188
    functionName: publish_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - REQUIRE
    - dns_view_findzone
    - dns_zone_detach
    - dns_zone_log
    - dns_view_thaw
    - dns_view_freeze
    - dns_zone_setview
    - dns_zone_getview
    - CHECK
    - dns_view_addzone
    - log_write
    - CLEANUP
    - isc_result_totext
    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:200,1
    - Dst: dns_zone_getserial
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:209,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:211,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:213,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:216,1
    - Dst: dns_zone_notify
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:219,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 224
    functionName: load_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_load
    - dns_zone_log
    - dns_zone_getserial
    - log_write
    - dns_zone_notify
    - isc_result_totext
    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:238,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:240,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:241,1
    - Dst: load_zone
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:245,1
    - Dst: log_write
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:247,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tests/system/dyndb/driver/zone.c:248,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - inst
    - raw
    argTypes:
    - sample_instance_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 229
    functionDepth: 2
    functionLinenumber: 229
    functionLinenumberEnd: 254
    functionName: activate_zone
    functionSourceFile: /src/bind9/bin/tests/system/dyndb/driver/zone.c
    functionUses: 1
    functionsReached:
    - publish_zone
    - dns_zone_log
    - load_zone
    - log_write
    - isc_result_totext
    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: 122
    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:
    - REQUIRE
    - isc_mem_cput
    - load_sample_instance_zones
    - isc_commandline_strtoargv
    - isc_mem_strdup
    - isc_mem_free
    - ISC_LOG_DEBUG
    - log_write
    - new_sample_instance
    - isc_result_totext
    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: 73
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 73
    functionName: CHECKM
    functionSourceFile: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKM(op, msg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:77,1
    - Dst: RSA_new
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:79,1
    - Dst: BN_new
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:80,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:81,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:84,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:86,1
    - Dst: ERR_clear_error
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:87,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:88,1
    - Dst: BN_set_bit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:92,1
    - Dst: BN_set_bit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:93,1
    - Dst: RSA_generate_key_ex
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:95,1
    - Dst: BN_free
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:96,1
    - Dst: RSA_free
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:97,1
    - Dst: fprintf
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:99,1
    - Dst: ERR_clear_error
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:103,1
    - Dst: exit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:104,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:107,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:108,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:110,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:116,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:117,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:117,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:118,1
    - Dst: strlen
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:118,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:119,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:119,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:122,1
    - Dst: dst_key_buildinternal
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:122,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:127,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:127,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:129,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:130,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:131,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:131,1
    - Dst: printf
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:133,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c:134,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 137
    functionName: main
    functionSourceFile: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c
    functionUses: 15
    functionsReached:
    - UNUSED
    - fprintf
    - isc_log_createandusechannel
    - isc_buffer_add
    - strlen
    - CHECKM
    - ERR_clear_error
    - isc_log_settag
    - exit
    - dst_key_buildinternal
    - BN_free
    - dns_name_fromtext
    - dst_key_tofile
    - RSA_free
    - dst_key_buildfilename
    - dst_key_free
    - isc_buffer_init
    - BN_new
    - printf
    - isc_logconfig_get
    - EVP_PKEY_set1_RSA
    - RSA_new
    - BN_set_bit
    - isc_buffer_clear
    - EVP_PKEY_new
    - dns_fixedname_initname
    - isc_buffer_constinit
    - RSA_generate_key_ex
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:34,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:35,1
    - Dst: mdb_env_create
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:40,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:42,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:43,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:44,1
    - Dst: mdb_env_open
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:47,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:49,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:50,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:51,1
    - Dst: mdb_txn_begin
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:54,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:56,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:57,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:58,1
    - Dst: mdb_dbi_open
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:61,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:63,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:64,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:65,1
    - Dst: mdb_cursor_open
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:68,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:70,1
    - Dst: mdb_strerror
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:71,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:72,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:75,1
    - Dst: mdb_cursor_get
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:77,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:82,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:86,1
    - Dst: printf
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:90,1
    - Dst: mdb_cursor_close
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:95,1
    - Dst: mdb_txn_abort
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:96,1
    - Dst: mdb_env_close
      Src: /src/bind9/bin/tools/named-nzd2nzf.c:97,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 100
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-nzd2nzf.c
    functionUses: 15
    functionsReached:
    - mdb_txn_begin
    - mdb_env_create
    - fprintf
    - printf
    - mdb_env_close
    - mdb_cursor_close
    - mdb_env_open
    - mdb_cursor_get
    - mdb_strerror
    - mdb_txn_abort
    - exit
    - mdb_dbi_open
    - mdb_cursor_open
    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: 69
    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: 15
    functionsReached:
    - UNUSED
    - ferror
    - inet_pton
    - fprintf
    - 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:39,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-makejournal.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 42
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 3
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/named-makejournal.c:48,1
    - Dst: RETERR
      Src: /src/bind9/bin/tools/named-makejournal.c:50,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tools/named-makejournal.c:50,1
    - Dst: RETERR
      Src: /src/bind9/bin/tools/named-makejournal.c:51,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/tools/named-makejournal.c:51,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/tools/named-makejournal.c:54,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - db
    - origin
    - filename
    argTypes:
    - dns_db_t**
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 44
    functionDepth: 1
    functionLinenumber: 44
    functionLinenumberEnd: 59
    functionName: loadzone
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 0
    functionsReached:
    - dns_db_create
    - dns_db_load
    - dns_fixedname_initname
    - RETERR
    - dns_name_fromstring
    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:66,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:70,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:71,1
    - Dst: dns_journal_empty
      Src: /src/bind9/bin/tools/named-makejournal.c:75,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/tools/named-makejournal.c:76,1
    - Dst: dns_journal_rollforward
      Src: /src/bind9/bin/tools/named-makejournal.c:80,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:90,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:95,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:96,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/tools/named-makejournal.c:99,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - db
    - file
    argTypes:
    - dns_db_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 101
    functionName: loadjournal
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 0
    functionsReached:
    - dns_journal_open
    - fprintf
    - dns_journal_destroy
    - dns_journal_rollforward
    - dns_journal_empty
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t loadjournal(dns_db_t *db, const char *file)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/tools/named-makejournal.c:114,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/named-makejournal.c:116,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-makejournal.c:119,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/tools/named-makejournal.c:122,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-makejournal.c:125,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-makejournal.c:131,1
    - Dst: snprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:141,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/tools/named-makejournal.c:145,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/tools/named-makejournal.c:146,1
    - Dst: loadzone
      Src: /src/bind9/bin/tools/named-makejournal.c:151,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:153,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:154,1
    - Dst: loadzone
      Src: /src/bind9/bin/tools/named-makejournal.c:158,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:160,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:161,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/bin/tools/named-makejournal.c:165,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:167,1
    - Dst: CHECK
      Src: /src/bind9/bin/tools/named-makejournal.c:171,1
    - Dst: loadjournal
      Src: /src/bind9/bin/tools/named-makejournal.c:171,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/bin/tools/named-makejournal.c:173,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/tools/named-makejournal.c:174,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/bin/tools/named-makejournal.c:176,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:178,1
    - Dst: isc_serial_eq
      Src: /src/bind9/bin/tools/named-makejournal.c:182,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:183,1
    - Dst: isc_serial_eq
      Src: /src/bind9/bin/tools/named-makejournal.c:187,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:188,1
    - Dst: dns_db_diff
      Src: /src/bind9/bin/tools/named-makejournal.c:193,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-makejournal.c:195,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-makejournal.c:196,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/tools/named-makejournal.c:201,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/tools/named-makejournal.c:204,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 208
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-makejournal.c
    functionUses: 15
    functionsReached:
    - dns_db_detach
    - fprintf
    - isc_log_createandusechannel
    - isc_logconfig_get
    - RUNTIME_CHECK
    - isc_serial_eq
    - dns_db_diff
    - isc_commandline_parse
    - snprintf
    - loadzone
    - loadjournal
    - CHECK
    - isc_mem_debugon
    - usage
    - isc_commandline_init
    - dns_db_getsoaserial
    - isc_result_totext
    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: CHECKM
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKM(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:180,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rcode
    argTypes:
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 186
    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:200,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/tools/mdig.c:202,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:204,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:205,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:209,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tools/mdig.c:213,1
    - Dst: dns_request_getanswer
      Src: /src/bind9/bin/tools/mdig.c:222,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/tools/mdig.c:223,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:224,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/tools/mdig.c:268,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/tools/mdig.c:272,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/tools/mdig.c:276,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:280,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tools/mdig.c:291,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:299,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:300,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:305,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:307,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:310,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:311,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/tools/mdig.c:313,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:315,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:318,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/tools/mdig.c:321,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tools/mdig.c:322,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:323,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:327,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:328,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/tools/mdig.c:332,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/tools/mdig.c:333,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:334,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:338,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:339,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:342,1
    - Dst: dns_message_headertotext
      Src: /src/bind9/bin/tools/mdig.c:343,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:344,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:346,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:349,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/tools/mdig.c:352,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:353,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:355,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:389,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/tools/mdig.c:398,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/mdig.c:403,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/tools/mdig.c:404,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:407,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:411,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:416,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:420,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:425,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/tools/mdig.c:437,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/tools/mdig.c:440,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/tools/mdig.c:443,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/mdig.c:444,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:450,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:451,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/tools/mdig.c:452,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/mdig.c:456,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:463,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:468,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/tools/mdig.c:472,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:477,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/tools/mdig.c:484,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:489,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/tools/mdig.c:490,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:495,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:500,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:503,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:503,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/mdig.c:504,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/mdig.c:505,1
    - Dst: fflush
      Src: /src/bind9/bin/tools/mdig.c:508,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/tools/mdig.c:510,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tools/mdig.c:513,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tools/mdig.c:516,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/tools/mdig.c:518,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tools/mdig.c:521,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 258
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 524
    functionName: recvresponse
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - fprintf
    - strlen
    - strchr
    - CHECKM
    - rcode_totext
    - exit
    - isc_sockaddr_format
    - dns_request_getresponse
    - dns_message_headertotext
    - dns_name_init
    - isc_sockaddr_getport
    - dns_request_getresult
    - dns_message_pseudosectiontotext
    - isc_sockaddr_pf
    - dns_message_sectiontotext
    - dns_request_destroy
    - isc_result_totext
    - dns_request_getarg
    - dns_master_stylecreate
    - dns_message_create
    - printf
    - fflush
    - dns_rdata_tofmttext
    - isc_buffer_availablelength
    - dns_rdataset_current
    - isc_buffer_putstr
    - dns_request_getanswer
    - dns_master_styledestroy
    - isc_loopmgr_shutdown
    - isc_buffer_base
    - isc_buffer_allocate
    - ISC_LIST_FOREACH
    - isc_buffer_free
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void recvresponse(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/tools/mdig.c:440,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/tools/mdig.c:443,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/mdig.c:444,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:450,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:451,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/tools/mdig.c:452,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/mdig.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 459
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tofmttext
    - strlen
    - isc_buffer_availablelength
    - CHECKM
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - isc_buffer_putstr
    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:443,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/mdig.c:444,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:450,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:451,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/tools/mdig.c:452,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/mdig.c:456,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 457
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tofmttext
    - isc_buffer_availablelength
    - strlen
    - CHECKM
    - dns_rdataset_current
    - isc_buffer_putstr
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/tools/mdig.c:529,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:530,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cookie
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 531
    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:546,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:547,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:547,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tools/mdig.c:548,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:548,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tools/mdig.c:549,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tools/mdig.c:549,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:551,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/tools/mdig.c:553,1
    - Dst: random
      Src: /src/bind9/bin/tools/mdig.c:573,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/tools/mdig.c:575,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/tools/mdig.c:577,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/tools/mdig.c:579,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/tools/mdig.c:579,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/tools/mdig.c:580,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tools/mdig.c:581,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/tools/mdig.c:582,1
    - Dst: dns_message_ednsinit
      Src: /src/bind9/bin/tools/mdig.c:604,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/tools/mdig.c:609,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:610,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:628,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:632,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:640,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/bin/tools/mdig.c:649,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tools/mdig.c:651,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tools/mdig.c:653,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/tools/mdig.c:656,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/tools/mdig.c:664,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:665,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:673,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/tools/mdig.c:674,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:676,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/mdig.c:677,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:678,1
    - Dst: compute_cookie
      Src: /src/bind9/bin/tools/mdig.c:680,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/tools/mdig.c:685,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:686,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/tools/mdig.c:691,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:692,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/tools/mdig.c:697,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:699,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/tools/mdig.c:703,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:704,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/tools/mdig.c:711,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/tools/mdig.c:714,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:716,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 112
    argCount: 1
    argNames:
    - query
    argTypes:
    - struct query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 719
    functionName: sendquery
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached:
    - isc_hex_decodestring
    - memmove
    - isc_buffer_usedlength
    - dns_message_ednsinit
    - isc_buffer_add
    - strlen
    - CHECKM
    - dns_message_setopt
    - dns_name_fromtext
    - isc_buffer_putuint16
    - random
    - dns_message_gettempname
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_rdataset_makequestion
    - compute_cookie
    - isc_buffer_putmem
    - dns_message_create
    - dns_name_clone
    - dns_fixedname_init
    - dns_request_create
    - dns_message_addname
    - isc_loop_main
    - ISC_LIST_APPEND
    - isc_buffer_base
    - dns_fixedname_name
    - dns_message_gettemprdataset
    - dns_message_ednsaddopt
    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:726,1
    - Dst: sendquery
      Src: /src/bind9/bin/tools/mdig.c:728,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/tools/mdig.c:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 735
    functionName: sendqueries
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - sendquery
    - isc_loopmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void sendqueries(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:742,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 747
    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:752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 843
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 843
    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:852,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:853,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/mdig.c:854,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/mdig.c:855,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/mdig.c:856,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:857,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/mdig.c:858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 848
    functionDepth: 0
    functionLinenumber: 848
    functionLinenumberEnd: 859
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 16
    functionsReached:
    - _exit
    - fprintf
    - fflush
    - va_start
    - va_end
    - 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:865,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:870,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:871,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: 876
      start: 861
    functionDepth: 1
    functionLinenumber: 861
    functionLinenumberEnd: 876
    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:880,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: 881
      start: 878
    functionDepth: 0
    functionLinenumber: 878
    functionLinenumberEnd: 881
    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:885,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: 886
      start: 883
    functionDepth: 0
    functionLinenumber: 883
    functionLinenumberEnd: 886
    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:893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - query
    argTypes:
    - struct query*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 900
      start: 888
    functionDepth: 1
    functionLinenumber: 888
    functionLinenumberEnd: 900
    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:909,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:913,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:916,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:918,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:927,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:927,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/mdig.c:928,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:928,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/tools/mdig.c:929,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:930,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/mdig.c:931,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/mdig.c:933,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - query
    - code
    - value
    argTypes:
    - struct query*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 937
      start: 902
    functionDepth: 2
    functionLinenumber: 902
    functionLinenumberEnd: 937
    functionName: save_opt
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodestring
    - isc_buffer_usedlength
    - newopts
    - isc_mem_allocate
    - strlen
    - CHECKM
    - isc_buffer_base
    - fatal
    - parse_uint
    - isc_buffer_init
    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:949,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:950,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:953,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/tools/mdig.c:957,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:959,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:960,1
    - Dst: strcmp
      Src: /src/bind9/bin/tools/mdig.c:962,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:966,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:967,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/tools/mdig.c:969,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:973,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tools/mdig.c:975,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:982,1
    - Dst: strlcat
      Src: /src/bind9/bin/tools/mdig.c:983,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:984,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tools/mdig.c:986,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:997,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - sap
    - value
    argTypes:
    - isc_sockaddr_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1004
      start: 939
    functionDepth: 1
    functionLinenumber: 939
    functionLinenumberEnd: 1004
    functionName: parse_netprefix
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin
    - strcmp
    - strlcat
    - inet_pton
    - isc_parse_uint32
    - strlen
    - strchr
    - isc_mem_allocate
    - fatal
    - isc_sockaddr_fromin6
    - strlcpy
    - isc_result_totext
    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:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - text
    - len
    - p
    - end
    argTypes:
    - char*
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1010
    functionDepth: 0
    functionLinenumber: 1010
    functionLinenumberEnd: 1018
    functionName: append
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 3
    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:1022,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/tools/mdig.c:1026,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1027,1
    - Dst: append
      Src: /src/bind9/bin/tools/mdig.c:1028,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1029,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1032,1
    - Dst: append
      Src: /src/bind9/bin/tools/mdig.c:1034,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - in
    - p
    - end
    argTypes:
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1020
    functionDepth: 0
    functionLinenumber: 1020
    functionLinenumberEnd: 1035
    functionName: reverse_octets
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached:
    - reverse_octets
    - strlen
    - strchr
    - CHECKM
    - append
    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:1044,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/mdig.c:1050,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/tools/mdig.c:1051,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1052,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/tools/mdig.c:1053,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/tools/mdig.c:1065,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1066,1
    - Dst: append
      Src: /src/bind9/bin/tools/mdig.c:1068,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 3
    argNames:
    - reverse
    - len
    - value
    argTypes:
    - char*
    - size_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1072
    functionName: get_reverse
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - dns_name_format
    - reverse_octets
    - dns_fixedname_initname
    - CHECKM
    - append
    - dns_byaddr_createptrname
    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:1089,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1091,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:1092,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/tools/mdig.c:1095,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1100,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/tools/mdig.c:1125,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1131,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1136,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1144,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1145,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1154,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1155,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1159,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1160,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1170,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1171,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1177,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1184,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1186,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:1208,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1216,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1217,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1223,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1224,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1228,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1229,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1233,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tools/mdig.c:1239,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1242,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1254,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1255,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1265,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1284,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1293,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1296,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1301,1
    - Dst: parse_xint
      Src: /src/bind9/bin/tools/mdig.c:1310,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1313,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1321,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1328,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1333,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1337,1
    - Dst: save_opt
      Src: /src/bind9/bin/tools/mdig.c:1339,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1354,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1362,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1363,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1367,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1374,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1375,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1383,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/tools/mdig.c:1387,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1394,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1396,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1403,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1404,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1414,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1415,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1427,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1428,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1439,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1444,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1460,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1463,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:1469,1
    - Dst: parse_netprefix
      Src: /src/bind9/bin/tools/mdig.c:1477,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1478,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1487,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1488,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1492,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1499,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1501,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1507,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1514,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1516,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/tools/mdig.c:1527,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1528,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1532,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1533,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1552,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1559,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1561,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1564,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1572,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1573,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1577,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/tools/mdig.c:1584,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1588,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1593,1
    - Dst: usage
      Src: /src/bind9/bin/tools/mdig.c:1594,1
    CyclomaticComplexity: 161
    EdgeCount: 161
    ICount: 490
    argCount: 3
    argNames:
    - option
    - query
    - global
    argTypes:
    - char*
    - struct query*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1597
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1597
    functionName: plus_option
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - FULLCHECK2
    - INSIST
    - GLOBAL
    - fprintf
    - printf
    - parse_netprefix
    - strtok_r
    - FULLCHECK
    - parse_xint
    - CHECKM
    - isc_mem_free
    - save_opt
    - fatal
    - usage
    - parse_uint
    - strlcpy
    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: 1108
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1108
    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: 1115
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1115
    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: 1120
      start: 1115
    functionDepth: 0
    functionLinenumber: 1115
    functionLinenumberEnd: 1120
    functionName: GLOBAL
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GLOBAL()
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: strpbrk
      Src: /src/bind9/bin/tools/mdig.c:1621,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1630,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/tools/mdig.c:1632,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1635,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tools/mdig.c:1636,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1641,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/tools/mdig.c:1643,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1646,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tools/mdig.c:1647,1
    - Dst: help
      Src: /src/bind9/bin/tools/mdig.c:1652,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:1653,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1656,1
    - Dst: printf
      Src: /src/bind9/bin/tools/mdig.c:1663,1
    - Dst: exit
      Src: /src/bind9/bin/tools/mdig.c:1664,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1667,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1674,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1686,1
    - Dst: strchr
      Src: /src/bind9/bin/tools/mdig.c:1687,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1690,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1692,1
    - Dst: snprintf
      Src: /src/bind9/bin/tools/mdig.c:1694,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:1700,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/tools/mdig.c:1701,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/tools/mdig.c:1702,1
    - Dst: inet_pton
      Src: /src/bind9/bin/tools/mdig.c:1703,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/tools/mdig.c:1704,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/tools/mdig.c:1705,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1707,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1713,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/tools/mdig.c:1714,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1716,1
    - Dst: GLOBAL
      Src: /src/bind9/bin/tools/mdig.c:1723,1
    - Dst: parse_uint
      Src: /src/bind9/bin/tools/mdig.c:1724,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1725,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1730,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/tools/mdig.c:1731,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/mdig.c:1733,1
    - Dst: get_reverse
      Src: /src/bind9/bin/tools/mdig.c:1737,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tools/mdig.c:1738,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1744,1
    - Dst: usage
      Src: /src/bind9/bin/tools/mdig.c:1745,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/mdig.c:1748,1
    - Dst: usage
      Src: /src/bind9/bin/tools/mdig.c:1749,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/tools/mdig.c:1751,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 125
    argCount: 5
    argNames:
    - option
    - next
    - query
    - global
    - setname
    argTypes:
    - char*
    - char*
    - struct query*
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1753
    functionName: dash_option
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - fprintf
    - strlen
    - strchr
    - CHECKM
    - strpbrk
    - exit
    - isc_sockaddr_fromin6
    - isc_net_disableipv6
    - GLOBAL
    - inet_pton
    - isc_net_disableipv4
    - snprintf
    - dns_rdatatype_fromtext
    - get_reverse
    - fatal
    - usage
    - strlcpy
    - printf
    - UNREACHABLE
    - isc_sockaddr_fromin
    - help
    - dns_rdataclass_fromtext
    - parse_uint
    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:1759,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:1760,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/tools/mdig.c:1764,1
    - Dst: memmove
      Src: /src/bind9/bin/tools/mdig.c:1765,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1773
      start: 1755
    functionDepth: 1
    functionLinenumber: 1755
    functionLinenumberEnd: 1773
    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:1798,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/tools/mdig.c:1801,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1806,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1812,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1819,1
    - Dst: strpbrk
      Src: /src/bind9/bin/tools/mdig.c:1823,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/mdig.c:1824,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1836
      start: 1784
    functionDepth: 1
    functionLinenumber: 1784
    functionLinenumberEnd: 1836
    functionName: preparse_args
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_mem_debugon
    - 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:1883,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1888,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/mdig.c:1897,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1902,1
    - Dst: plus_option
      Src: /src/bind9/bin/tools/mdig.c:1906,1
    - Dst: dash_option
      Src: /src/bind9/bin/tools/mdig.c:1911,1
    - Dst: dash_option
      Src: /src/bind9/bin/tools/mdig.c:1918,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1927,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tools/mdig.c:1929,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1932,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1940,1
    - Dst: strlcpy
      Src: /src/bind9/bin/tools/mdig.c:1942,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/tools/mdig.c:1944,1
    - Dst: clone_default_query
      Src: /src/bind9/bin/tools/mdig.c:1946,1
    - Dst: strcmp
      Src: /src/bind9/bin/tools/mdig.c:1956,1
    - Dst: fopen
      Src: /src/bind9/bin/tools/mdig.c:1959,1
    - Dst: perror
      Src: /src/bind9/bin/tools/mdig.c:1962,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:1963,1
    - Dst: fgets
      Src: /src/bind9/bin/tools/mdig.c:1965,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1971,1
    - Dst: strtok_r
      Src: /src/bind9/bin/tools/mdig.c:1974,1
    - Dst: parse_args
      Src: /src/bind9/bin/tools/mdig.c:1980,1
    - Dst: fclose
      Src: /src/bind9/bin/tools/mdig.c:1983,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:1988,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:1990,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 107
    argCount: 3
    argNames:
    - is_batchfile
    - argc
    - argv
    argTypes:
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1992
      start: 1838
    functionDepth: 2
    functionLinenumber: 1838
    functionLinenumberEnd: 1992
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 1
    functionsReached:
    - strcmp
    - clone_default_query
    - parse_args
    - fopen
    - ISC_LIST_APPEND
    - perror
    - plus_option
    - strtok_r
    - isc_mem_free
    - strncmp
    - fgets
    - fatal
    - fclose
    - dash_option
    - strlcpy
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: void parse_args(bool is_batchfile, int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_portset_create
      Src: /src/bind9/bin/tools/mdig.c:2003,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/bin/tools/mdig.c:2004,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/tools/mdig.c:2006,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/tools/mdig.c:2008,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/bin/tools/mdig.c:2009,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/tools/mdig.c:2011,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/bin/tools/mdig.c:2013,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2015,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/tools/mdig.c:2018,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/tools/mdig.c:2019,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - manager
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1997
    functionDepth: 1
    functionLinenumber: 1997
    functionLinenumberEnd: 2020
    functionName: set_source_ports
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 0
    functionsReached:
    - isc_portset_addrange
    - dns_dispatchmgr_setavailports
    - isc_portset_create
    - fatal
    - isc_portset_destroy
    - isc_net_getportrange
    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:2024,1
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/bin/tools/mdig.c:2025,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/tools/mdig.c:2026,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/tools/mdig.c:2027,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/tools/mdig.c:2028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2022
    functionDepth: 1
    functionLinenumber: 2022
    functionLinenumberEnd: 2029
    functionName: teardown
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 4
    functionsReached:
    - dns_requestmgr_detach
    - dns_view_detach
    - dns_dispatchmgr_detach
    - dns_dispatch_detach
    - dns_requestmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void teardown(void *arg ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tools/mdig.c:2033,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/tools/mdig.c:2033,1
    - Dst: set_source_ports
      Src: /src/bind9/bin/tools/mdig.c:2035,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/tools/mdig.c:2038,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/tools/mdig.c:2040,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tools/mdig.c:2042,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/tools/mdig.c:2042,1
    - Dst: RUNCHECK
      Src: /src/bind9/bin/tools/mdig.c:2045,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/bin/tools/mdig.c:2045,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/tools/mdig.c:2049,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2050
      start: 2031
    functionDepth: 1
    functionLinenumber: 2031
    functionLinenumberEnd: 2050
    functionName: setup
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 5
    functionsReached:
    - dns_dispatch_createudp
    - RUNCHECK
    - dns_dispatchmgr_create
    - set_source_ports
    - isc_sockaddr_any6
    - dns_requestmgr_create
    - dns_view_create
    - isc_sockaddr_any
    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:2059,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/tools/mdig.c:2062,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2066,1
    - Dst: preparse_args
      Src: /src/bind9/bin/tools/mdig.c:2069,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/tools/mdig.c:2071,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/tools/mdig.c:2073,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/tools/mdig.c:2075,1
    - Dst: parse_args
      Src: /src/bind9/bin/tools/mdig.c:2076,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2078,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/tools/mdig.c:2082,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2084,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/mdig.c:2085,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/tools/mdig.c:2088,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/tools/mdig.c:2089,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/tools/mdig.c:2091,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/tools/mdig.c:2092,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/mdig.c:2096,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/tools/mdig.c:2099,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/tools/mdig.c:2100,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/tools/mdig.c:2100,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/tools/mdig.c:2101,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/tools/mdig.c:2108,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/tools/mdig.c:2114,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/tools/mdig.c:2115,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/tools/mdig.c:2115,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/bin/tools/mdig.c:2118,1
    - Dst: usleep
      Src: /src/bind9/bin/tools/mdig.c:2121,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/tools/mdig.c:2129,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2135,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2139,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2142,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2144,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2148,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/tools/mdig.c:2151,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 69
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2053
    functionDepth: 1
    functionLinenumber: 2053
    functionLinenumberEnd: 2153
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/mdig.c
    functionUses: 16
    functionsReached:
    - isc_managers_create
    - isc_net_probeipv6
    - isc_nonce_buf
    - ISC_LIST_INIT
    - isc_time_nanoseconds
    - isc_net_disableipv6
    - isc_net_disableipv4
    - isc_loopmgr_setup
    - usleep
    - isc_mem_free
    - isc_sockaddr_pf
    - fatal
    - isc_getaddresses
    - preparse_args
    - isc_time_seconds
    - isc_result_totext
    - isc_time_now
    - ISC_LIST_HEAD
    - isc_managers_destroy
    - isc_loopmgr_teardown
    - parse_args
    - isc_loopmgr_run
    - isc_net_probeipv4
    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:2135,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2139,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2142,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/tools/mdig.c:2144,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2145
    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:46,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/nsec3hash.c:47,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:48,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/nsec3hash.c:49,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:50,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/nsec3hash.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 52
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 24
    functionsReached:
    - _exit
    - fprintf
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:57,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/nsec3hash.c:57,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - message
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 59
    functionName: check_result
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - fatal
    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:63,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:65,1
    - Dst: exit
      Src: /src/bind9/bin/tools/nsec3hash.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 68
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 6
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/bin/tools/nsec3hash.c:92,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/nsec3hash.c:96,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/tools/nsec3hash.c:97,1
    - Dst: check_result
      Src: /src/bind9/bin/tools/nsec3hash.c:98,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/nsec3hash.c:99,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:101,1
    - Dst: isc_parse_uint8
      Src: /src/bind9/bin/tools/nsec3hash.c:107,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:109,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/nsec3hash.c:110,1
    - Dst: isc_parse_uint8
      Src: /src/bind9/bin/tools/nsec3hash.c:115,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:117,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/nsec3hash.c:118,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/tools/nsec3hash.c:121,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:123,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/nsec3hash.c:124,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/nsec3hash.c:127,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/tools/nsec3hash.c:128,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/nsec3hash.c:128,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tools/nsec3hash.c:129,1
    - Dst: strlen
      Src: /src/bind9/bin/tools/nsec3hash.c:129,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/tools/nsec3hash.c:130,1
    - Dst: check_result
      Src: /src/bind9/bin/tools/nsec3hash.c:131,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/tools/nsec3hash.c:133,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/bin/tools/nsec3hash.c:134,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/nsec3hash.c:137,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/nsec3hash.c:141,1
    - Dst: isc_base32hexnp_totext
      Src: /src/bind9/bin/tools/nsec3hash.c:142,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/tools/nsec3hash.c:143,1
    - Dst: nsec3print
      Src: /src/bind9/bin/tools/nsec3hash.c:145,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 6
    argNames:
    - nsec3print
    - algostr
    - flagstr
    - iterstr
    - saltstr
    - domain
    argTypes:
    - nsec3printer*
    - char*
    - char*
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 146
    functionName: nsec3hash
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodestring
    - isc_buffer_usedlength
    - isc_buffer_add
    - strlen
    - dns_name_fromtext
    - fatal
    - isc_buffer_putuint8
    - check_result
    - isc_base32hexnp_totext
    - isc_buffer_init
    - isc_result_totext
    - strcmp
    - isc_iterated_hash
    - isc_parse_uint16
    - nsec3print
    - isc_parse_uint8
    - dns_name_downcase
    - dns_fixedname_initname
    - 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:151,1
    - Dst: UNUSED
      Src: /src/bind9/bin/tools/nsec3hash.c:152,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/nsec3hash.c:154,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: 156
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 156
    functionName: nsec3hash_print
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 0
    functionsReached:
    - fprintf
    - UNUSED
    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:162,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: 164
      start: 158
    functionDepth: 0
    functionLinenumber: 158
    functionLinenumberEnd: 164
    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:171,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/nsec3hash.c:173,1
    - Dst: usage
      Src: /src/bind9/bin/tools/nsec3hash.c:192,1
    - Dst: nsec3hash
      Src: /src/bind9/bin/tools/nsec3hash.c:194,1
    - Dst: usage
      Src: /src/bind9/bin/tools/nsec3hash.c:198,1
    - Dst: nsec3hash
      Src: /src/bind9/bin/tools/nsec3hash.c:200,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 204
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/nsec3hash.c
    functionUses: 16
    functionsReached:
    - isc_commandline_parse
    - usage
    - isc_commandline_init
    - nsec3hash
    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: 73
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: CHECKM
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKM(op, msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:81,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/dnstap-read.c:82,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:83,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/dnstap-read.c:84,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:85,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/dnstap-read.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 26
    functionsReached:
    - _exit
    - fprintf
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:91,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:92,1
    - 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:96,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/dnstap-read.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 98
    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:105,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:107,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:110,1
    - Dst: dns_dt_datatotext
      Src: /src/bind9/bin/tools/dnstap-read.c:110,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:111,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/dnstap-read.c:111,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/dnstap-read.c:112,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - dt
    argTypes:
    - dns_dtdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: print_dtdata
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - dns_dt_datatotext
    - isc_buffer_usedlength
    - printf
    - isc_buffer_free
    - isc_buffer_base
    - CHECKM
    - isc_buffer_allocate
    - fatal
    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:131,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:133,1
    - Dst: isc_hex_totext
      Src: /src/bind9/bin/tools/dnstap-read.c:136,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:137,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:139,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/dnstap-read.c:139,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/dnstap-read.c:140,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:144,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - dt
    argTypes:
    - dns_dtdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 146
    functionName: print_hex
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - printf
    - isc_buffer_free
    - isc_buffer_base
    - CHECKM
    - isc_buffer_allocate
    - fatal
    - 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:156,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:158,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/bin/tools/dnstap-read.c:162,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:164,1
    - Dst: dns_message_totext
      Src: /src/bind9/bin/tools/dnstap-read.c:167,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/tools/dnstap-read.c:169,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:173,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/tools/dnstap-read.c:173,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/tools/dnstap-read.c:174,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:175,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:177,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:178,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/tools/dnstap-read.c:186,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: 188
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 188
    functionName: print_packet
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - dns_message_totext
    - isc_buffer_reserve
    - isc_buffer_usedlength
    - printf
    - isc_buffer_free
    - isc_buffer_base
    - isc_buffer_allocate
    - CHECKM
    - fatal
    - isc_buffer_clear
    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:197,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:204,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:209,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:212,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:217,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:225,1
    - Dst: protobuf_c_enum_descriptor_get_value
      Src: /src/bind9/bin/tools/dnstap-read.c:227,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:233,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/tools/dnstap-read.c:235,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/tools/dnstap-read.c:238,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/tools/dnstap-read.c:240,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:242,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/tools/dnstap-read.c:245,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/tools/dnstap-read.c:248,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/bin/tools/dnstap-read.c:250,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:252,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:256,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:258,1
    - Dst: protobuf_c_enum_descriptor_get_value
      Src: /src/bind9/bin/tools/dnstap-read.c:263,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:267,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:271,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tools/dnstap-read.c:278,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:280,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/tools/dnstap-read.c:287,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:289,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:293,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:297,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/dnstap-read.c:306,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/dnstap-read.c:308,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/tools/dnstap-read.c:309,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/bin/tools/dnstap-read.c:311,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:314,1
    - Dst: dns_name_print
      Src: /src/bind9/bin/tools/dnstap-read.c:315,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:316,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:323,1
    - Dst: print_packet
      Src: /src/bind9/bin/tools/dnstap-read.c:327,1
    - Dst: printf
      Src: /src/bind9/bin/tools/dnstap-read.c:329,1
    - Dst: print_packet
      Src: /src/bind9/bin/tools/dnstap-read.c:332,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 86
    argCount: 1
    argNames:
    - dt
    argTypes:
    - dns_dtdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 334
    functionName: print_yaml
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - printf
    - dns_name_print
    - isc_buffer_add
    - isc_time_isepoch
    - dns_fixedname_initname
    - isc_time_formatISO8601ms
    - print_packet
    - protobuf_c_enum_descriptor_get_value
    - dns_name_fromwire
    - isc_time_formatISO8601
    - isc_buffer_init
    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:344,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/dnstap-read.c:346,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/tools/dnstap-read.c:349,1
    - Dst: usage
      Src: /src/bind9/bin/tools/dnstap-read.c:364,1
    - Dst: exit
      Src: /src/bind9/bin/tools/dnstap-read.c:365,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/dnstap-read.c:373,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:376,1
    - Dst: dns_dt_open
      Src: /src/bind9/bin/tools/dnstap-read.c:376,1
    - Dst: dns_dt_getframe
      Src: /src/bind9/bin/tools/dnstap-read.c:384,1
    - Dst: CHECKM
      Src: /src/bind9/bin/tools/dnstap-read.c:388,1
    - Dst: dns_dt_parse
      Src: /src/bind9/bin/tools/dnstap-read.c:394,1
    - Dst: print_yaml
      Src: /src/bind9/bin/tools/dnstap-read.c:400,1
    - Dst: print_dtdata
      Src: /src/bind9/bin/tools/dnstap-read.c:402,1
    - Dst: print_hex
      Src: /src/bind9/bin/tools/dnstap-read.c:403,1
    - Dst: print_dtdata
      Src: /src/bind9/bin/tools/dnstap-read.c:405,1
    - Dst: print_packet
      Src: /src/bind9/bin/tools/dnstap-read.c:406,1
    - Dst: print_dtdata
      Src: /src/bind9/bin/tools/dnstap-read.c:408,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/bin/tools/dnstap-read.c:411,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/bin/tools/dnstap-read.c:416,1
    - Dst: dns_dt_close
      Src: /src/bind9/bin/tools/dnstap-read.c:419,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/tools/dnstap-read.c:422,1
    - Dst: exit
      Src: /src/bind9/bin/tools/dnstap-read.c:425,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 70
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 426
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/dnstap-read.c
    functionUses: 16
    functionsReached:
    - dns_dt_open
    - print_hex
    - dns_dtdata_free
    - dns_message_detach
    - print_yaml
    - isc_commandline_parse
    - dns_dt_parse
    - print_packet
    - dns_dt_close
    - CHECKM
    - fatal
    - print_dtdata
    - isc_mem_debugon
    - usage
    - isc_commandline_init
    - dns_dt_getframe
    - exit
    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_logconfig_get
    - ISC_LOGDESTINATION_FILE
    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:59,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/tools/named-journalprint.c:61,1
    - Dst: strtoul
      Src: /src/bind9/bin/tools/named-journalprint.c:65,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-journalprint.c:67,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-journalprint.c:69,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-journalprint.c:82,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-journalprint.c:90,1
    - Dst: setup_logging
      Src: /src/bind9/bin/tools/named-journalprint.c:94,1
    - Dst: dns_journal_compact
      Src: /src/bind9/bin/tools/named-journalprint.c:98,1
    - Dst: dns_journal_compact
      Src: /src/bind9/bin/tools/named-journalprint.c:101,1
    - Dst: dns_journal_compact
      Src: /src/bind9/bin/tools/named-journalprint.c:104,1
    - Dst: dns_journal_print
      Src: /src/bind9/bin/tools/named-journalprint.c:107,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-journalprint.c:109,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-journalprint.c:109,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 50
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 114
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-journalprint.c
    functionUses: 16
    functionsReached:
    - dns_journal_print
    - strtoul
    - fprintf
    - isc_commandline_parse
    - setup_logging
    - exit
    - usage
    - isc_commandline_init
    - dns_journal_compact
    - isc_result_totext
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:44,1
    - 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:48,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: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: usage
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 9
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_close
      Src: /src/bind9/bin/tools/named-rrchecker.c:59,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/tools/named-rrchecker.c:60,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 10
    functionsReached:
    - 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:71,1
    - Dst: va_start
      Src: /src/bind9/bin/tools/named-rrchecker.c:72,1
    - Dst: vfprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:73,1
    - Dst: va_end
      Src: /src/bind9/bin/tools/named-rrchecker.c:74,1
    - Dst: fputc
      Src: /src/bind9/bin/tools/named-rrchecker.c:75,1
    - Dst: cleanup
      Src: /src/bind9/bin/tools/named-rrchecker.c:76,1
    - Dst: _exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 78
    functionName: fatal
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 30
    functionsReached:
    - cleanup
    - _exit
    - fprintf
    - va_start
    - va_end
    - vfprintf
    - fputc
    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:102,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:118,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/tools/named-rrchecker.c:121,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/named-rrchecker.c:122,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:123,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:126,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:130,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/tools/named-rrchecker.c:133,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/named-rrchecker.c:134,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:135,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:143,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/tools/named-rrchecker.c:146,1
    - Dst: strncmp
      Src: /src/bind9/bin/tools/named-rrchecker.c:147,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:148,1
    - Dst: usage
      Src: /src/bind9/bin/tools/named-rrchecker.c:157,1
    - Dst: fprintf
      Src: /src/bind9/bin/tools/named-rrchecker.c:160,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:162,1
    - Dst: exit
      Src: /src/bind9/bin/tools/named-rrchecker.c:166,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/tools/named-rrchecker.c:169,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/bin/tools/named-rrchecker.c:178,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/bin/tools/named-rrchecker.c:180,1
    - Dst: isc_lex_openstream
      Src: /src/bind9/bin/tools/named-rrchecker.c:182,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/tools/named-rrchecker.c:185,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/tools/named-rrchecker.c:186,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:189,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:190,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/tools/named-rrchecker.c:194,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:204,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:212,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:215,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:216,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/tools/named-rrchecker.c:220,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:223,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:224,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:226,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:227,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:232,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/tools/named-rrchecker.c:235,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:253,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:256,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:257,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/tools/named-rrchecker.c:261,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:264,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:265,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/tools/named-rrchecker.c:267,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:268,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:273,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/named-rrchecker.c:276,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/tools/named-rrchecker.c:277,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:280,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:281,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:286,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:289,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/named-rrchecker.c:293,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:294,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:296,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:297,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:299,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:300,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:302,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:303,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:305,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:306,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:308,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:309,1
    - Dst: printf
      Src: /src/bind9/bin/tools/named-rrchecker.c:312,1
    - Dst: fflush
      Src: /src/bind9/bin/tools/named-rrchecker.c:313,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/tools/named-rrchecker.c:317,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/bin/tools/named-rrchecker.c:318,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:320,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:321,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:323,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/bin/tools/named-rrchecker.c:324,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:326,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:327,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/tools/named-rrchecker.c:329,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/tools/named-rrchecker.c:330,1
    - Dst: fatal
      Src: /src/bind9/bin/tools/named-rrchecker.c:334,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/tools/named-rrchecker.c:335,1
    - Dst: printf
      Src: /src/bind9/bin/tools/named-rrchecker.c:338,1
    - Dst: fflush
      Src: /src/bind9/bin/tools/named-rrchecker.c:339,1
    - Dst: cleanup
      Src: /src/bind9/bin/tools/named-rrchecker.c:342,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 186
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 344
    functionName: main
    functionSourceFile: /src/bind9/bin/tools/named-rrchecker.c
    functionUses: 16
    functionsReached:
    - dns_rdataclass_tounknowntext
    - isc_lex_setcomments
    - isc_lex_gettoken
    - fprintf
    - dns_rdata_totext
    - dns_rdatatype_tounknowntext
    - dns_rdataclass_totext
    - exit
    - dns_rdataclass_ismeta
    - dns_rdatatype_fromtext
    - isc_lex_create
    - fatal
    - usage
    - isc_buffer_init
    - isc_result_totext
    - dns_rdatatype_format
    - printf
    - fflush
    - dns_rdata_tofmttext
    - isc_commandline_parse
    - dns_rdataclass_format
    - strncmp
    - dns_rdata_fromtext
    - dns_name_fromstring
    - isc_buffer_putstr
    - dns_rdatatype_totext
    - cleanup
    - dns_rdataclass_fromtext
    - dns_rdatatype_ismeta
    - dns_fixedname_initname
    - isc_lex_openstream
    - isc_lex_setspecials
    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: 1
    argNames:
    - ret
    argTypes:
    - int
    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(int ret)
  - 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: 38
    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:114,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:116,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:118,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkzone.c:123,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/check/named-checkzone.c:138,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:152,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: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:183,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:185,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:207,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:210,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:213,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:217,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:219,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/check/named-checkzone.c:225,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:229,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:231,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/check/named-checkzone.c:237,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:240,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:242,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:247,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:250,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:253,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:257,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:259,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:264,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:267,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:270,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:274,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:276,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:289,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:292,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:295,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:299,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:301,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:306,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:308,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:311,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:313,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:318,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:320,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:323,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:326,1
    - Dst: isc_dir_chroot
      Src: /src/bind9/bin/check/named-checkzone.c:331,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:333,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkzone.c:335,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:336,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkzone.c:341,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:342,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:349,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:351,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:354,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:356,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:365,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:368,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:371,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:375,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:377,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:382,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:385,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:388,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:392,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:394,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:399,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:401,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:404,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:406,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:411,1
    - Dst: ARGCMP
      Src: /src/bind9/bin/check/named-checkzone.c:413,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:420,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkzone.c:424,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkzone.c:427,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:430,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:433,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/bin/check/named-checkzone.c:438,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:440,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkzone.c:441,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:442,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:447,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:449,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:451,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:453,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:456,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:458,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:463,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:465,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/check/named-checkzone.c:467,1
    - Dst: strtol
      Src: /src/bind9/bin/check/named-checkzone.c:471,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:475,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:476,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:479,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkzone.c:481,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:489,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkzone.c:491,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkzone.c:504,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkzone.c:505,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkzone.c:506,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkzone.c:515,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/check/named-checkzone.c:519,1
    - Dst: setup_logging
      Src: /src/bind9/bin/check/named-checkzone.c:519,1
    - Dst: load_zone
      Src: /src/bind9/bin/check/named-checkzone.c:533,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/bin/check/named-checkzone.c:537,1
    - Dst: dns_zone_setrawdata
      Src: /src/bind9/bin/check/named-checkzone.c:540,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:545,1
    - Dst: fflush
      Src: /src/bind9/bin/check/named-checkzone.c:546,1
    - Dst: dump_zone
      Src: /src/bind9/bin/check/named-checkzone.c:548,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:551,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkzone.c:556,1
    - Dst: destroy
      Src: /src/bind9/bin/check/named-checkzone.c:558,1
    CyclomaticComplexity: 99
    EdgeCount: 99
    ICount: 363
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 561
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 561
    functionName: main
    functionSourceFile: /src/bind9/bin/check/named-checkzone.c
    functionUses: 16
    functionsReached:
    - strncasecmp
    - load_zone
    - fprintf
    - ARGCMP
    - isc_dir_chroot
    - strtol
    - exit
    - dump_zone
    - strcasecmp
    - RUNTIME_CHECK
    - dns_zone_setrawdata
    - usage
    - isc_commandline_init
    - isc_result_totext
    - strcmp
    - dns_master_initrawheader
    - printf
    - fflush
    - isc_commandline_parse
    - UNREACHABLE
    - isc_parse_uint32
    - destroy
    - setup_logging
    - isc_dir_chdir
    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: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: ARGCMP
    functionSourceFile: /src/bind9/bin/check/named-checkzone.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ARGCMP(X)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:53,1
    - Dst: exit
      Src: /src/bind9/bin/check/named-checkconf.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 58
    functionName: usage
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 11
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:67,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: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    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:86,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/bin/check/named-checkconf.c:90,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:95,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:96,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:97,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:97,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:99,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:99,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:103,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 23
    argCount: 2
    argNames:
    - maps
    - obj
    argTypes:
    - cfg_obj_t**
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 107
    functionName: get_checknames
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_obj_islist
    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:95,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:96,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:97,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:97,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:99,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:99,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(checknames, element)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/bin/check/named-checkconf.c:119,1
    - Dst: strlen
      Src: /src/bind9/bin/check/named-checkconf.c:120,1
    - Dst: RETERR
      Src: /src/bind9/bin/check/named-checkconf.c:121,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/check/named-checkconf.c:121,1
    - Dst: RETERR
      Src: /src/bind9/bin/check/named-checkconf.c:122,1
    - Dst: dns_rootns_create
      Src: /src/bind9/bin/check/named-checkconf.c:122,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/check/named-checkconf.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zfile
    - zclass
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 126
    functionName: configure_hint
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_rdataclass_fromtext
    - strlen
    - RETERR
    - dns_rootns_create
    - UNCONST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t configure_hint(const char *zfile, const char *zclass)
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:153,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:153,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:154,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/bin/check/named-checkconf.c:155,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:158,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:161,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:164,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:167,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:174,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:176,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkconf.c:177,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:183,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:189,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkconf.c:190,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:197,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/named-checkconf.c:199,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:199,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:204,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:209,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:211,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:219,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:219,1
    - Dst: configure_hint
      Src: /src/bind9/bin/check/named-checkconf.c:220,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:221,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:221,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:222,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:222,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:223,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:223,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:231,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:231,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:232,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:234,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:247,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:248,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:248,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:251,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:251,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:254,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:254,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:258,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:266,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:267,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:267,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:270,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:270,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:273,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:273,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:277,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:285,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:286,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:296,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:297,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:297,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:300,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:300,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:303,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:303,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:307,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:315,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:316,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:316,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:319,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:319,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:322,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:322,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:326,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:334,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:335,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:343,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: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:346,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:346,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:349,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:356,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:357,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:367,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/check/named-checkconf.c:368,1
    - Dst: get_checknames
      Src: /src/bind9/bin/check/named-checkconf.c:378,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:379,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:379,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:382,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:382,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: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:389,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:398,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:399,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:400,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:402,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/check/named-checkconf.c:405,1
    - Dst: get_maps
      Src: /src/bind9/bin/check/named-checkconf.c:410,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/bin/check/named-checkconf.c:411,1
    - Dst: load_zone
      Src: /src/bind9/bin/check/named-checkconf.c:415,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:418,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkconf.c:419,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 239
    argCount: 6
    argNames:
    - vclass
    - view
    - zconfig
    - vconfig
    - config
    - list
    argTypes:
    - char*
    - char*
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 422
    functionName: configure_zone
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 7
    functionsReached:
    - strcmp
    - cfg_obj_asduration
    - strcasecmp
    - load_zone
    - cfg_tuple_get
    - cfg_obj_isstring
    - printf
    - cfg_map_get
    - fprintf
    - get_checknames
    - cfg_obj_asstring
    - configure_hint
    - cfg_obj_asboolean
    - get_maps
    - UNREACHABLE
    - isc_result_totext
    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, bool list)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:435,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:440,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/check/named-checkconf.c:442,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:446,1
    - Dst: configure_zone
      Src: /src/bind9/bin/check/named-checkconf.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 5
    argNames:
    - vclass
    - view
    - config
    - vconfig
    - list
    argTypes:
    - char*
    - char*
    - cfg_obj_t*
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 454
    functionName: configure_view
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 2
    functionsReached:
    - cfg_tuple_get
    - cfg_map_get
    - configure_zone
    - cfg_listelt_value
    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, bool list)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:446,1
    - Dst: configure_zone
      Src: /src/bind9/bin/check/named-checkconf.c:447,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 445
    functionDepth: 1
    functionLinenumber: 445
    functionLinenumberEnd: 452
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    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:461,1
    - Dst: UNCONST
      Src: /src/bind9/bin/check/named-checkconf.c:465,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:465,1
    - Dst: strlen
      Src: /src/bind9/bin/check/named-checkconf.c:466,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/check/named-checkconf.c:467,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: 468
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 468
    functionName: config_getclass
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 5
    functionsReached:
    - dns_rdataclass_fromtext
    - cfg_obj_isstring
    - cfg_obj_asstring
    - strlen
    - UNCONST
    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:480,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:487,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:492,1
    - Dst: config_getclass
      Src: /src/bind9/bin/check/named-checkconf.c:493,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:496,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/check/named-checkconf.c:499,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/check/named-checkconf.c:500,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/check/named-checkconf.c:503,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:504,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:504,1
    - Dst: configure_view
      Src: /src/bind9/bin/check/named-checkconf.c:505,1
    - Dst: configure_view
      Src: /src/bind9/bin/check/named-checkconf.c:513,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - config
    - list_zones
    argTypes:
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 522
    functionName: load_zones_fromconfig
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_map_get
    - dns_rdataclass_ismeta
    - cfg_listelt_value
    - cfg_obj_asstring
    - configure_view
    - dns_rdataclass_format
    - CHECK
    - config_getclass
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_zones_fromconfig(const cfg_obj_t *config, bool list_zones)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/check/named-checkconf.c:487,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:492,1
    - Dst: config_getclass
      Src: /src/bind9/bin/check/named-checkconf.c:493,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:496,1
    - Dst: dns_rdataclass_ismeta
      Src: /src/bind9/bin/check/named-checkconf.c:499,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/check/named-checkconf.c:500,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/check/named-checkconf.c:503,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/check/named-checkconf.c:504,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/check/named-checkconf.c:504,1
    - Dst: configure_view
      Src: /src/bind9/bin/check/named-checkconf.c:505,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 481
    functionDepth: 2
    functionLinenumber: 481
    functionLinenumberEnd: 510
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - dns_rdataclass_ismeta
    - cfg_listelt_value
    - cfg_obj_asstring
    - configure_view
    - dns_rdataclass_format
    - CHECK
    - config_getclass
    - CLEANUP
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(views, element)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/check/named-checkconf.c:528,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/check/named-checkconf.c:530,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/check/named-checkconf.c:532,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/check/named-checkconf.c:534,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - defaultconfig
    argTypes:
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 539
    functionName: parse_builtin
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_add
    - isc_buffer_constinit
    - cfg_parse_buffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_builtin(cfg_obj_t **defaultconfig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fwrite
      Src: /src/bind9/bin/check/named-checkconf.c:543,1
    - Dst: perror
      Src: /src/bind9/bin/check/named-checkconf.c:545,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - closure
    - text
    - textlen
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 541
    functionDepth: 0
    functionLinenumber: 541
    functionLinenumberEnd: 548
    functionName: output
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 1
    functionsReached:
    - fwrite
    - perror
    linkageType: ''
    returnType: void
    signature: void output(void *closure, const char *text, int textlen)
  - BBCount: 37
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/check/named-checkconf.c:566,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/check/named-checkconf.c:574,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:577,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/check/named-checkconf.c:579,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:581,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/check/named-checkconf.c:583,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/named-checkconf.c:585,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/check/named-checkconf.c:587,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/check/named-checkconf.c:596,1
    - Dst: isc_dir_chroot
      Src: /src/bind9/bin/check/named-checkconf.c:639,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:641,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/check/named-checkconf.c:642,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:643,1
    - Dst: printf
      Src: /src/bind9/bin/check/named-checkconf.c:657,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:674,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkconf.c:680,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:683,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/check/named-checkconf.c:686,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:691,1
    - Dst: parse_builtin
      Src: /src/bind9/bin/check/named-checkconf.c:691,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:696,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/check/named-checkconf.c:698,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/named-checkconf.c:701,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/check/named-checkconf.c:703,1
    - Dst: usage
      Src: /src/bind9/bin/check/named-checkconf.c:707,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:716,1
    - Dst: setup_logging
      Src: /src/bind9/bin/check/named-checkconf.c:716,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:717,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/check/named-checkconf.c:717,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:719,1
    - Dst: isccfg_check_namedconf
      Src: /src/bind9/bin/check/named-checkconf.c:719,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:721,1
    - Dst: load_zones_fromconfig
      Src: /src/bind9/bin/check/named-checkconf.c:721,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/named-checkconf.c:728,1
    - Dst: parse_builtin
      Src: /src/bind9/bin/check/named-checkconf.c:728,1
    - Dst: cfg_effective_config
      Src: /src/bind9/bin/check/named-checkconf.c:729,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/check/named-checkconf.c:731,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/check/named-checkconf.c:732,1
    - Dst: cfg_printx
      Src: /src/bind9/bin/check/named-checkconf.c:738,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/check/named-checkconf.c:743,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 139
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 747
    functionName: main
    functionSourceFile: /src/bind9/bin/check/named-checkconf.c
    functionUses: 16
    functionsReached:
    - cfg_effective_config
    - fprintf
    - isc_dir_chroot
    - strcasecmp
    - cfg_parse_file
    - parse_builtin
    - cfg_printx
    - usage
    - isc_commandline_init
    - isc_result_totext
    - printf
    - isc_commandline_parse
    - CHECK
    - load_zones_fromconfig
    - CLEANUP
    - cfg_obj_detach
    - setup_logging
    - isc_mem_debugon
    - isccfg_check_namedconf
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/check/check-tool.c:95,1
    - Dst: UNUSED
      Src: /src/bind9/bin/check/check-tool.c:96,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/check/check-tool.c:97,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: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: freekey
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void freekey(char *key, unsigned int type, isc_symvalue_t value, void
      *userarg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_create
      Src: /src/bind9/bin/check/check-tool.c:106,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/check/check-tool.c:110,1
    - Dst: isc_symtab_define
      Src: /src/bind9/bin/check/check-tool.c:113,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/check/check-tool.c:116,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: add
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 59
    functionsReached:
    - isc_symtab_define
    - isc_mem_strdup
    - isc_symtab_create
    - isc_mem_free
    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:128,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 120
    functionDepth: 1
    functionLinenumber: 120
    functionLinenumberEnd: 133
    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:155,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:159,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:160,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:162,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:182,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:188,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:189,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/check/check-tool.c:189,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:191,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:192,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:196,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:200,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:201,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/bin/check/check-tool.c:201,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:203,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:204,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:206,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:207,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: 211
      start: 135
    functionDepth: 2
    functionLinenumber: 135
    functionLinenumberEnd: 211
    functionName: checkisservedby
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - strlcat
    - dns_zone_log
    - dns_name_format
    - freeaddrinfo
    - getaddrinfo
    - add
    - logged
    - gai_strerror
    - dns_name_countlabels
    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:233,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/check/check-tool.c:235,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:235,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:242,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:246,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:247,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:249,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:251,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:252,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/check-tool.c:266,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:267,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:269,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:275,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:282,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:283,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:287,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:293,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:294,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:296,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:297,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:305,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:311,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:318,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:323,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:324,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:328,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:330,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:337,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:342,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:350,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:355,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:356,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:360,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:362,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:372,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/check/check-tool.c:392,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/check/check-tool.c:395,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:396,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:406,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:410,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:419,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:423,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: 426
      start: 213
    functionDepth: 2
    functionLinenumber: 213
    functionLinenumberEnd: 426
    functionName: checkns
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - strlcat
    - REQUIRE
    - dns_rdataset_isassociated
    - strcasecmp
    - dns_name_format
    - dns_zone_log
    - getaddrinfo
    - inet_ntop
    - freeaddrinfo
    - add
    - memcmp
    - logged
    - gai_strerror
    - dns_rdataset_current
    - dns_name_countlabels
    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:311,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:318,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:323,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:324,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:328,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 309
    functionDepth: 2
    functionLinenumber: 309
    functionLinenumberEnd: 334
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - dns_zone_log
    - memcmp
    - add
    - logged
    - dns_rdataset_current
    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:342,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:350,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:355,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:356,1
    - Dst: inet_ntop
      Src: /src/bind9/bin/check/check-tool.c:360,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:362,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 340
    functionDepth: 2
    functionLinenumber: 340
    functionLinenumberEnd: 366
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - dns_zone_log
    - memcmp
    - add
    - logged
    - dns_rdataset_current
    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:395,1
    - Dst: memcmp
      Src: /src/bind9/bin/check/check-tool.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - memcmp
    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:443,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:447,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:448,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:450,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:452,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:453,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/check-tool.c:467,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:473,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:474,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:480,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:488,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:496,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:497,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:501,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:507,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:508,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:510,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:511,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: 515
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 515
    functionName: checkmx
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - strlcat
    - strcasecmp
    - dns_name_format
    - dns_zone_log
    - getaddrinfo
    - freeaddrinfo
    - add
    - logged
    - gai_strerror
    - dns_name_countlabels
    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:532,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/check/check-tool.c:536,1
    - Dst: strlcat
      Src: /src/bind9/bin/check/check-tool.c:537,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:539,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:541,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/check/check-tool.c:542,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/check/check-tool.c:556,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:562,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:563,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:569,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/check/check-tool.c:577,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:585,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:586,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:590,1
    - Dst: logged
      Src: /src/bind9/bin/check/check-tool.c:596,1
    - Dst: dns_zone_log
      Src: /src/bind9/bin/check/check-tool.c:597,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/check/check-tool.c:599,1
    - Dst: add
      Src: /src/bind9/bin/check/check-tool.c:600,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: 604
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 604
    functionName: checksrv
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 0
    functionsReached:
    - strlcat
    - strcasecmp
    - dns_name_format
    - dns_zone_log
    - getaddrinfo
    - freeaddrinfo
    - add
    - logged
    - gai_strerror
    - dns_name_countlabels
    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:608,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/check/check-tool.c:609,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/check/check-tool.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - errout
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 615
    functionName: setup_logging
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 3
    functionsReached:
    - isc_log_createandusechannel
    - isc_logconfig_get
    - ISC_LOGDESTINATION_FILE
    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:630,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:633,1
    - Dst: dns_zone_create
      Src: /src/bind9/bin/check/check-tool.c:637,1
    - Dst: dns_zone_settype
      Src: /src/bind9/bin/check/check-tool.c:639,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/check/check-tool.c:641,1
    - Dst: strlen
      Src: /src/bind9/bin/check/check-tool.c:641,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/check/check-tool.c:642,1
    - Dst: strlen
      Src: /src/bind9/bin/check/check-tool.c:642,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/check/check-tool.c:643,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/check-tool.c:644,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/check/check-tool.c:644,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/bin/check/check-tool.c:645,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/bin/check/check-tool.c:646,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/check-tool.c:647,1
    - Dst: dns_zone_setstream
      Src: /src/bind9/bin/check/check-tool.c:648,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/bin/check/check-tool.c:651,1
    - Dst: dns_zone_setjournal
      Src: /src/bind9/bin/check/check-tool.c:655,1
    - Dst: UNCONST
      Src: /src/bind9/bin/check/check-tool.c:658,1
    - Dst: strlen
      Src: /src/bind9/bin/check/check-tool.c:659,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/check-tool.c:660,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/check/check-tool.c:660,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/bin/check/check-tool.c:662,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/check/check-tool.c:663,1
    - Dst: dns_zone_setoption
      Src: /src/bind9/bin/check/check-tool.c:664,1
    - Dst: dns_zone_setmaxttl
      Src: /src/bind9/bin/check/check-tool.c:666,1
    - Dst: dns_zone_setcheckmx
      Src: /src/bind9/bin/check/check-tool.c:669,1
    - Dst: dns_zone_setcheckns
      Src: /src/bind9/bin/check/check-tool.c:672,1
    - Dst: dns_zone_setcheckisservedby
      Src: /src/bind9/bin/check/check-tool.c:673,1
    - Dst: dns_zone_setchecksrv
      Src: /src/bind9/bin/check/check-tool.c:676,1
    - Dst: CHECK
      Src: /src/bind9/bin/check/check-tool.c:679,1
    - Dst: dns_zone_load
      Src: /src/bind9/bin/check/check-tool.c:679,1
    - Dst: dns_zone_detach
      Src: /src/bind9/bin/check/check-tool.c:688,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: 691
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 691
    functionName: load_zone
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_zone_load
    - dns_zone_detach
    - fprintf
    - dns_zone_setoption
    - isc_buffer_add
    - strlen
    - dns_zone_setfile
    - dns_zone_setstream
    - dns_zone_setcheckns
    - dns_zone_setclass
    - dns_zone_setcheckmx
    - dns_name_fromtext
    - dns_zone_settype
    - dns_zone_create
    - strcmp
    - dns_zone_setchecksrv
    - CHECK
    - UNCONST
    - dns_zone_setjournal
    - dns_zone_setdbtype
    - dns_rdataclass_fromtext
    - dns_zone_setorigin
    - dns_zone_setcheckisservedby
    - dns_fixedname_initname
    - isc_buffer_constinit
    - dns_zone_setmaxttl
    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:705,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:706,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:709,1
    - Dst: strcmp
      Src: /src/bind9/bin/check/check-tool.c:713,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/check/check-tool.c:714,1
    - Dst: fprintf
      Src: /src/bind9/bin/check/check-tool.c:717,1
    - Dst: dns_zone_dumptostream
      Src: /src/bind9/bin/check/check-tool.c:725,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/check/check-tool.c:728,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: 732
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 732
    functionName: dump_zone
    functionSourceFile: /src/bind9/bin/check/check-tool.c
    functionUses: 1
    functionsReached:
    - isc_stdio_close
    - strcmp
    - isc_stdio_open
    - fprintf
    - dns_zone_dumptostream
    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:
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:187,1
    - Dst: exit
      Src: /src/bind9/bin/delv/delv.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 270
    functionName: usage
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 12
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/delv/delv.c:279,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:280,1
    - Dst: va_start
      Src: /src/bind9/bin/delv/delv.c:281,1
    - Dst: vfprintf
      Src: /src/bind9/bin/delv/delv.c:282,1
    - Dst: va_end
      Src: /src/bind9/bin/delv/delv.c:283,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:284,1
    - Dst: _exit
      Src: /src/bind9/bin/delv/delv.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 286
    functionName: fatal
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 31
    functionsReached:
    - _exit
    - fprintf
    - fflush
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/delv/delv.c:295,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:296,1
    - Dst: va_start
      Src: /src/bind9/bin/delv/delv.c:297,1
    - Dst: vfprintf
      Src: /src/bind9/bin/delv/delv.c:298,1
    - Dst: va_end
      Src: /src/bind9/bin/delv/delv.c:299,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: warn
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - fprintf
    - fflush
    - va_start
    - va_end
    - 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:311,1
    - Dst: va_start
      Src: /src/bind9/bin/delv/delv.c:315,1
    - Dst: vsnprintf
      Src: /src/bind9/bin/delv/delv.c:317,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/delv/delv.c:318,1
    - Dst: va_end
      Src: /src/bind9/bin/delv/delv.c:320,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 321
    functionName: delv_log
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - isc_log_write
    - isc_log_wouldlog
    - va_end
    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:329,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/delv/delv.c:331,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/delv/delv.c:333,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:335,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:337,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:342,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:344,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:344,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:350,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:352,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:352,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/delv/delv.c:361,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:363,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/bin/delv/delv.c:364,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 16
    argCount: 1
    argNames:
    - errout
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 367
    functionName: setup_logging
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 3
    functionsReached:
    - isc_log_createandusechannel
    - isc_logconfig_get
    - isc_log_setdebuglevel
    - ISC_LOG_DEBUG
    - isc_log_settag
    - ISC_LOGDESTINATION_FILE
    linkageType: ''
    returnType: void
    signature: void setup_logging(FILE *errout)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/delv/delv.c:373,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/delv/delv.c:375,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:382,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:383,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:388,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:395,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:398,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:400,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:402,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:405,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:408,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:412,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:414,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:418,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:421,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:424,1
    - Dst: strlcat
      Src: /src/bind9/bin/delv/delv.c:427,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:441,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:443,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 64
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 445
    functionName: print_status
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - strlcat
    - REQUIRE
    - printf
    - 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:457,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/delv/delv.c:459,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:460,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:460,1
    - Dst: putchar
      Src: /src/bind9/bin/delv/delv.c:471,1
    - Dst: print_status
      Src: /src/bind9/bin/delv/delv.c:473,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:479,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:481,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/delv/delv.c:490,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/delv/delv.c:491,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/delv/delv.c:498,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/delv/delv.c:503,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/delv/delv.c:508,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/delv/delv.c:510,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:516,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:521,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/delv/delv.c:525,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:526,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:530,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 58
    argCount: 2
    argNames:
    - rdataset
    - owner
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 447
    functionDepth: 2
    functionLinenumber: 447
    functionLinenumberEnd: 532
    functionName: printdata
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - print_status
    - dns_rdataset_isassociated
    - isc_mem_put
    - dns_name_format
    - isc_mem_get
    - printf
    - dns_rdata_tofmttext
    - dns_master_rdatasettotext
    - putchar
    - ISC_LOG_DEBUG
    - isc_buffer_availablelength
    - isc_buffer_usedregion
    - dns_rdataset_current
    - CHECK
    - delv_log
    - isc_buffer_init
    - isc_buffer_putstr
    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:490,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/delv/delv.c:491,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/delv/delv.c:498,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/delv/delv.c:503,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 504
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - isc_buffer_availablelength
    - isc_buffer_putstr
    - dns_rdataset_current
    - dns_rdata_tofmttext
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/delv/delv.c:567,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/delv/delv.c:571,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/delv/delv.c:575,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 581
    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:590,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:591,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/delv/delv.c:593,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/delv/delv.c:594,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/delv/delv.c:595,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/delv/delv.c:597,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:599,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:600,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: 606
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 606
    functionName: convert_name
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_fromtext
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - delv_log
    - isc_buffer_constinit
    - isc_result_totext
    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:632,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:634,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:634,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:635,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:635,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/delv/delv.c:642,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:653,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/delv/delv.c:653,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/delv/delv.c:656,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:656,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/delv/delv.c:659,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:659,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/delv/delv.c:662,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:662,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:665,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/bin/delv/delv.c:666,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:673,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:674,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:676,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:678,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:680,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:683,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/delv/delv.c:686,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:690,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:691,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/delv/delv.c:694,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/delv/delv.c:697,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/delv/delv.c:700,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:715,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:715,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:716,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/delv/delv.c:716,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/delv/delv.c:717,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:721,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/delv/delv.c:721,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:725,1
    - Dst: dns_client_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:725,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:729,1
    - Dst: dns_view_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:729,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/delv/delv.c:744,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/delv/delv.c:744,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:745,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/delv/delv.c:745,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/delv/delv.c:746,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/delv/delv.c:751,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/delv/delv.c:756,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/delv/delv.c:761,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:769,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/delv/delv.c:769,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:772,1
    - Dst: dns_client_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:772,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:776,1
    - Dst: dns_view_addtrustedkey
      Src: /src/bind9/bin/delv/delv.c:776,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/delv/delv.c:785,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:787,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/delv/delv.c:790,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:792,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 125
    argCount: 3
    argNames:
    - key
    - client
    - toview
    argTypes:
    - cfg_obj_t*
    - dns_client_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 797
      start: 608
    functionDepth: 3
    functionLinenumber: 608
    functionLinenumberEnd: 797
    functionName: key_fromconfig
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_hex_decodestring
    - ISC_LOG_DEBUG
    - delv_log
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - cfg_obj_asstring
    - isc_buffer_init
    - isc_result_totext
    - cfg_obj_asuint32
    - dns_name_equal
    - isc_base64_decodestring
    - CHECK
    - CLEANUP
    - cfg_obj_log
    - dns_rdata_fromstruct
    - convert_name
    - isc_buffer_usedregion
    - dns_client_addtrustedkey
    - dns_view_addtrustedkey
    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:805,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/delv/delv.c:807,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:808,1
    - Dst: key_fromconfig
      Src: /src/bind9/bin/delv/delv.c:808,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: 814
      start: 799
    functionDepth: 4
    functionLinenumber: 799
    functionLinenumberEnd: 814
    functionName: load_keys
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - key_fromconfig
    - cfg_listelt_value
    - CHECK
    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:805,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/delv/delv.c:807,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:808,1
    - Dst: key_fromconfig
      Src: /src/bind9/bin/delv/delv.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 804
    functionDepth: 4
    functionLinenumber: 804
    functionLinenumberEnd: 810
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - key_fromconfig
    - cfg_listelt_value
    - CHECK
    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:807,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:808,1
    - Dst: key_fromconfig
      Src: /src/bind9/bin/delv/delv.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 806
    functionDepth: 4
    functionLinenumber: 806
    functionLinenumberEnd: 809
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - key_fromconfig
    - cfg_listelt_value
    - CHECK
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(keylist, elt2)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:827,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:831,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:831,1
    - Dst: access
      Src: /src/bind9/bin/delv/delv.c:835,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:836,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/delv/delv.c:839,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:842,1
    - Dst: INSIST
      Src: /src/bind9/bin/delv/delv.c:845,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/delv/delv.c:846,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/delv/delv.c:850,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/delv/delv.c:851,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/delv/delv.c:852,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:855,1
    - Dst: INSIST
      Src: /src/bind9/bin/delv/delv.c:857,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/delv/delv.c:858,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:862,1
    - Dst: load_keys
      Src: /src/bind9/bin/delv/delv.c:862,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:867,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/delv/delv.c:872,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:875,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:876,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 2
    argNames:
    - client
    - toview
    argTypes:
    - dns_client_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 816
    functionDepth: 5
    functionLinenumber: 816
    functionLinenumberEnd: 879
    functionName: setup_dnsseckeys
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - INSIST
    - load_keys
    - cfg_parse_file
    - cfg_map_get
    - cfg_obj_detach
    - delv_log
    - isc_mem_strdup
    - cfg_parse_buffer
    - convert_name
    - isc_buffer_add
    - access
    - fatal
    - CHECK
    - isc_buffer_init
    - isc_result_totext
    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:892,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:894,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:896,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:898,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:899,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:900,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:901,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:902,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:904,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:906,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:907,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/delv/delv.c:908,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:909,1
    - Dst: memset
      Src: /src/bind9/bin/delv/delv.c:911,1
    - Dst: getaddrinfo
      Src: /src/bind9/bin/delv/delv.c:921,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:923,1
    - Dst: gai_strerror
      Src: /src/bind9/bin/delv/delv.c:924,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:935,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:939,1
    - Dst: memmove
      Src: /src/bind9/bin/delv/delv.c:940,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:941,1
    - Dst: freeaddrinfo
      Src: /src/bind9/bin/delv/delv.c:943,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:944,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:947,1
    - Dst: dns_client_setservers
      Src: /src/bind9/bin/delv/delv.c:947,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:950,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/delv/delv.c:951,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:952,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:956,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 1
    argNames:
    - client
    argTypes:
    - dns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 881
    functionDepth: 2
    functionLinenumber: 881
    functionLinenumberEnd: 961
    functionName: addserver
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - memmove
    - isc_mem_put
    - getaddrinfo
    - ISC_LIST_INIT
    - gai_strerror
    - memset
    - delv_log
    - isc_sockaddr_fromin6
    - ISC_LINK_INIT
    - inet_pton
    - dns_client_setservers
    - fatal
    - isc_result_totext
    - freeaddrinfo
    - CHECK
    - isc_sockaddr_fromin
    - isc_mem_get
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    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:969,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:971,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:972,1
    - Dst: irs_resconf_getnameservers
      Src: /src/bind9/bin/delv/delv.c:977,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:978,1
    - Dst: htons
      Src: /src/bind9/bin/delv/delv.c:981,1
    - Dst: htons
      Src: /src/bind9/bin/delv/delv.c:985,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/delv/delv.c:990,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:991,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/delv/delv.c:995,1
    - Dst: htonl
      Src: /src/bind9/bin/delv/delv.c:998,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:999,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:1001,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:1003,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:1004,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:1008,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/delv/delv.c:1010,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/delv/delv.c:1012,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:1013,1
    - Dst: dns_client_setservers
      Src: /src/bind9/bin/delv/delv.c:1017,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:1020,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1021,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/bin/delv/delv.c:1026,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 1
    argNames:
    - client
    argTypes:
    - dns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 963
    functionDepth: 2
    functionLinenumber: 963
    functionLinenumberEnd: 1029
    functionName: findserver
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin
    - ISC_LIST_UNLINK
    - isc_mem_put
    - htonl
    - isc_mem_get
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - irs_resconf_destroy
    - irs_resconf_load
    - ISC_LIST_FOREACH
    - isc_sockaddr_fromin6
    - dns_client_setservers
    - delv_log
    - htons
    - irs_resconf_getnameservers
    - ISC_LINK_INIT
    - isc_result_totext
    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:1034,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1039,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1040,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: 1045
      start: 1031
    functionDepth: 1
    functionLinenumber: 1031
    functionLinenumberEnd: 1045
    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: 85
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/delv/delv.c:1053,1
    - Dst: strtok_r
      Src: /src/bind9/bin/delv/delv.c:1055,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1057,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/delv/delv.c:1060,1
    - Dst: strtok_r
      Src: /src/bind9/bin/delv/delv.c:1065,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1076,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1084,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1088,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1094,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1098,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1106,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1116,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1128,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1144,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1151,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1154,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1157,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1161,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1168,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1171,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1174,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1183,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1190,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1200,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1214,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:1216,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/delv/delv.c:1219,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1223,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1235,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1242,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1244,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1247,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1251,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1257,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1262,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1266,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1276,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1286,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1297,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1300,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1315,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1319,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1330,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1336,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1342,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1343,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1347,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1355,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1363,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/delv/delv.c:1370,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:1379,1
    - Dst: usage
      Src: /src/bind9/bin/delv/delv.c:1380,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 325
    argCount: 1
    argNames:
    - option
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1383
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1383
    functionName: plus_option
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - INSIST
    - strcasecmp
    - warn
    - printf
    - fprintf
    - isc_mem_strdup
    - strtok_r
    - FULLCHECK
    - fatal
    - usage
    - 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: 1073
      start: 1067
    functionDepth: 0
    functionLinenumber: 1067
    functionLinenumberEnd: 1073
    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:1406,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/delv/delv.c:1415,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1416,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/delv/delv.c:1419,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/delv/delv.c:1424,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1425,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/delv/delv.c:1428,1
    - Dst: usage
      Src: /src/bind9/bin/delv/delv.c:1436,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1446,1
    - Dst: exit
      Src: /src/bind9/bin/delv/delv.c:1447,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/delv/delv.c:1449,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1451,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1458,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1470,1
    - Dst: strchr
      Src: /src/bind9/bin/delv/delv.c:1473,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1475,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1477,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1485,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1487,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:1490,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1492,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1494,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/delv/delv.c:1497,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1503,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1511,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1516,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/delv/delv.c:1517,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1522,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1524,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1528,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1530,1
    - Dst: parse_uint
      Src: /src/bind9/bin/delv/delv.c:1536,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1538,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1543,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:1544,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1546,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1551,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/delv/delv.c:1552,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1556,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1561,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1566,1
    - Dst: get_reverse
      Src: /src/bind9/bin/delv/delv.c:1570,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:1573,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1574,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1576,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1578,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:1583,1
    - Dst: exit
      Src: /src/bind9/bin/delv/delv.c:1584,1
    - Dst: fprintf
      Src: /src/bind9/bin/delv/delv.c:1589,1
    - Dst: usage
      Src: /src/bind9/bin/delv/delv.c:1590,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/delv/delv.c:1592,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 177
    argCount: 3
    argNames:
    - option
    - next
    - open_type_class
    argTypes:
    - char*
    - char*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1391
    functionDepth: 1
    functionLinenumber: 1391
    functionLinenumberEnd: 1594
    functionName: dash_option
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - isc_net_probeipv6
    - fprintf
    - isc_mem_strdup
    - strlen
    - strchr
    - strpbrk
    - exit
    - isc_sockaddr_fromin6
    - isc_net_disableipv6
    - inet_pton
    - isc_net_disableipv4
    - warn
    - isc_mem_free
    - dns_rdatatype_fromtext
    - get_reverse
    - fatal
    - usage
    - printf
    - UNREACHABLE
    - isc_sockaddr_fromin
    - dns_rdataclass_fromtext
    - isc_net_probeipv4
    - parse_uint
    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:1611,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/delv/delv.c:1614,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1615,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/delv/delv.c:1619,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1624,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1630,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1638,1
    - Dst: strpbrk
      Src: /src/bind9/bin/delv/delv.c:1643,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1644,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 43
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1659
      start: 1600
    functionDepth: 1
    functionLinenumber: 1600
    functionLinenumberEnd: 1659
    functionName: preparse_args
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 1
    functionsReached:
    - isc_crypto_fips_enable
    - strlen
    - strpbrk
    - fatal
    - isc_mem_debugon
    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:1679,1
    - Dst: dash_option
      Src: /src/bind9/bin/delv/delv.c:1682,1
    - Dst: dash_option
      Src: /src/bind9/bin/delv/delv.c:1689,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1702,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/delv/delv.c:1703,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1707,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1712,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/delv/delv.c:1718,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1722,1
    - Dst: warn
      Src: /src/bind9/bin/delv/delv.c:1725,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1733,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1740,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/delv/delv.c:1752,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 66
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1667
    functionDepth: 1
    functionLinenumber: 1667
    functionLinenumberEnd: 1760
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 2
    functionsReached:
    - dns_rdataclass_fromtext
    - warn
    - isc_mem_strdup
    - plus_option
    - dns_rdatatype_fromtext
    - strlen
    - fatal
    - dash_option
    linkageType: ''
    returnType: void
    signature: void parse_args(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/bin/delv/delv.c:1767,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - text
    - len
    - p
    - end
    argTypes:
    - char*
    - int
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1762
    functionDepth: 0
    functionLinenumber: 1762
    functionLinenumberEnd: 1770
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/bin/delv/delv.c:1774,1
    - Dst: RETERR
      Src: /src/bind9/bin/delv/delv.c:1777,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/delv/delv.c:1777,1
    - Dst: RETERR
      Src: /src/bind9/bin/delv/delv.c:1778,1
    - Dst: append_str
      Src: /src/bind9/bin/delv/delv.c:1778,1
    - Dst: strlen
      Src: /src/bind9/bin/delv/delv.c:1781,1
    - Dst: append_str
      Src: /src/bind9/bin/delv/delv.c:1783,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - in
    - p
    - end
    argTypes:
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1784
    functionName: reverse_octets
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 3
    functionsReached:
    - reverse_octets
    - append_str
    - strlen
    - strchr
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t reverse_octets(const char *in, char **p, char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1792,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/delv/delv.c:1798,1
    - Dst: RETERR
      Src: /src/bind9/bin/delv/delv.c:1799,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/delv/delv.c:1799,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/delv/delv.c:1800,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:1813,1
    - Dst: RETERR
      Src: /src/bind9/bin/delv/delv.c:1816,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/delv/delv.c:1816,1
    - Dst: RETERR
      Src: /src/bind9/bin/delv/delv.c:1817,1
    - Dst: append_str
      Src: /src/bind9/bin/delv/delv.c:1817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - reverse
    - len
    - value
    - strict
    argTypes:
    - char*
    - size_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1820
      start: 1786
    functionDepth: 1
    functionLinenumber: 1786
    functionLinenumberEnd: 1820
    functionName: get_reverse
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 2
    functionsReached:
    - inet_pton
    - dns_name_format
    - reverse_octets
    - append_str
    - dns_fixedname_initname
    - RETERR
    - dns_byaddr_createptrname
    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:1828,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1829,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1833,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/delv/delv.c:1834,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1835,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1836,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1836,1
    - Dst: printf
      Src: /src/bind9/bin/delv/delv.c:1837,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1840,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1841,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:1842,1
    - Dst: dns_client_freeresanswer
      Src: /src/bind9/bin/delv/delv.c:1846,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/delv/delv.c:1847,1
    - Dst: dns_client_detach
      Src: /src/bind9/bin/delv/delv.c:1849,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1851,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: 1852
      start: 1822
    functionDepth: 3
    functionLinenumber: 1822
    functionLinenumberEnd: 1852
    functionName: resolve_cb
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_name_format
    - printf
    - dns_client_detach
    - isc_loopmgr_shutdown
    - printdata
    - dns_client_freeresanswer
    - ISC_LIST_FOREACH
    - delv_log
    - isc_result_totext
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:1862,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/delv/delv.c:1864,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/delv/delv.c:1865,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:1868,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:1868,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:1886,1
    - Dst: dns_client_create
      Src: /src/bind9/bin/delv/delv.c:1886,1
    - Dst: dns_client_setmaxrestarts
      Src: /src/bind9/bin/delv/delv.c:1888,1
    - Dst: dns_client_setmaxqueries
      Src: /src/bind9/bin/delv/delv.c:1889,1
    - Dst: dns_client_setsendcookie
      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:1915,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1854
    functionDepth: 6
    functionLinenumber: 1854
    functionLinenumberEnd: 1917
    functionName: run_resolve
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - findserver
    - isc_mem_put
    - isc_mem_get
    - dns_client_resolve
    - dns_client_setsendcookie
    - dns_client_detach
    - isc_loopmgr_shutdown
    - convert_name
    - ISC_LIST_INIT
    - dns_client_setmaxrestarts
    - dns_client_setmaxqueries
    - setup_dnsseckeys
    - CHECK
    - delv_log
    - dns_client_create
    - addserver
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void run_resolve(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1922,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/delv/delv.c:1923,1
    - Dst: ns_interfacemgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1926,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/bin/delv/delv.c:1927,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/delv/delv.c:1930,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/delv/delv.c:1933,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/delv/delv.c:1936,1
    - Dst: ns_server_detach
      Src: /src/bind9/bin/delv/delv.c:1939,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/delv/delv.c:1942,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1943
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1943
    functionName: shutdown_server
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_requestmgr_detach
    - ns_interfacemgr_shutdown
    - isc_loopmgr_shutdown
    - dns_requestmgr_shutdown
    - dns_dispatchmgr_detach
    - dns_dispatch_detach
    - ns_interfacemgr_detach
    - ns_server_detach
    linkageType: ''
    returnType: void
    signature: void shutdown_server(void)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/bin/delv/delv.c:1948,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/delv/delv.c:1949,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1954,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1954,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/delv/delv.c:1957,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/delv/delv.c:1960,1
    - Dst: fatal
      Src: /src/bind9/bin/delv/delv.c:1963,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1963,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/bin/delv/delv.c:1966,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:1967,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/delv/delv.c:1968,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1975,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:1986,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/delv/delv.c:1998,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2013,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2014,1
    - Dst: dns_view_simplefind
      Src: /src/bind9/bin/delv/delv.c:2019,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2023,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2024,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/delv/delv.c:2025,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2026,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2027,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/delv/delv.c:2034,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/delv/delv.c:2035,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/delv/delv.c:2036,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/delv/delv.c:2038,1
    - Dst: shutdown_server
      Src: /src/bind9/bin/delv/delv.c:2039,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 54
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 1945
    functionDepth: 3
    functionLinenumber: 1945
    functionLinenumberEnd: 2040
    functionName: recvresponse
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_init
    - dns_result_fromrcode
    - dns_rdataset_disassociate
    - delv_log
    - dns_request_getresponse
    - dns_rdataset_isassociated
    - dns_view_detach
    - dns_request_getresult
    - fatal
    - dns_view_simplefind
    - dns_request_destroy
    - isc_result_totext
    - dns_request_getarg
    - dns_name_equal
    - dns_message_create
    - shutdown_server
    - ISC_LIST_FOREACH
    - printdata
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void recvresponse(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/delv/delv.c:1975,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:1986,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/delv/delv.c:1998,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2013,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/delv/delv.c:2014,1
    - Dst: dns_view_simplefind
      Src: /src/bind9/bin/delv/delv.c:2019,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2023,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2024,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/delv/delv.c:2025,1
    - Dst: printdata
      Src: /src/bind9/bin/delv/delv.c:2026,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/delv/delv.c:2027,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 1972
    functionDepth: 3
    functionLinenumber: 1972
    functionLinenumberEnd: 2031
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - dns_name_equal
    - dns_rdataset_init
    - ISC_LIST_FOREACH
    - dns_rdataset_disassociate
    - printdata
    - dns_view_simplefind
    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:2044,1
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2045,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: 2048
      start: 2042
    functionDepth: 0
    functionLinenumber: 2042
    functionLinenumberEnd: 2048
    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:2053,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2061,1
    - Dst: convert_name
      Src: /src/bind9/bin/delv/delv.c:2061,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/delv/delv.c:2063,1
    - Dst: isc_random16
      Src: /src/bind9/bin/delv/delv.c:2071,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/delv/delv.c:2073,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/delv/delv.c:2074,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/delv/delv.c:2075,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/delv/delv.c:2076,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/delv/delv.c:2077,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/delv/delv.c:2078,1
    - Dst: dns_message_ednsinit
      Src: /src/bind9/bin/delv/delv.c:2082,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:2091,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/delv/delv.c:2091,1
    - Dst: isc_loop
      Src: /src/bind9/bin/delv/delv.c:2093,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/delv/delv.c:2099,1
    - Dst: shutdown_server
      Src: /src/bind9/bin/delv/delv.c:2102,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2050
    functionDepth: 3
    functionLinenumber: 2050
    functionLinenumberEnd: 2103
    functionName: sendquery
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 2
    functionsReached:
    - dns_message_ednsinit
    - dns_view_attach
    - isc_loop
    - dns_requestmgr_create
    - dns_message_setopt
    - dns_message_gettempname
    - dns_rdataset_makequestion
    - isc_nm_getinitialtimeout
    - dns_message_create
    - dns_name_clone
    - CHECK
    - dns_request_create
    - isc_nmsocket_getaddr
    - dns_message_addname
    - ISC_LIST_APPEND
    - shutdown_server
    - convert_name
    - isc_random16
    - dns_message_gettemprdataset
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void sendquery(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/delv/delv.c:2111,1
    - 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
    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: 2124
      start: 2105
    functionDepth: 0
    functionLinenumber: 2105
    functionLinenumberEnd: 2124
    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:2133,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/delv/delv.c:2135,1
    - Dst: inet_pton
      Src: /src/bind9/bin/delv/delv.c:2135,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/delv/delv.c:2136,1
    - Dst: ns_server_create
      Src: /src/bind9/bin/delv/delv.c:2138,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2140,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/delv/delv.c:2140,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/delv/delv.c:2143,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2145,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/delv/delv.c:2145,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/delv/delv.c:2149,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2151,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/delv/delv.c:2151,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2154,1
    - Dst: ns_interfacemgr_create
      Src: /src/bind9/bin/delv/delv.c:2154,1
    - Dst: dns_view_create
      Src: /src/bind9/bin/delv/delv.c:2157,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2159,1
    - Dst: dns_cache_create
      Src: /src/bind9/bin/delv/delv.c:2159,1
    - Dst: dns_view_setcache
      Src: /src/bind9/bin/delv/delv.c:2160,1
    - Dst: dns_cache_detach
      Src: /src/bind9/bin/delv/delv.c:2161,1
    - Dst: dns_view_setdstport
      Src: /src/bind9/bin/delv/delv.c:2162,1
    - Dst: dns_view_setmaxrestarts
      Src: /src/bind9/bin/delv/delv.c:2163,1
    - Dst: dns_view_setmaxqueries
      Src: /src/bind9/bin/delv/delv.c:2164,1
    - Dst: dns_view_setmaxdelegationservers
      Src: /src/bind9/bin/delv/delv.c:2165,1
    - Dst: dns_delegdb_create
      Src: /src/bind9/bin/delv/delv.c:2166,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2168,1
    - Dst: dns_rootns_create
      Src: /src/bind9/bin/delv/delv.c:2168,1
    - Dst: dns_view_setrootdb
      Src: /src/bind9/bin/delv/delv.c:2170,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/delv/delv.c:2171,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/bin/delv/delv.c:2177,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2178,1
    - Dst: setup_dnsseckeys
      Src: /src/bind9/bin/delv/delv.c:2178,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2180,1
    - Dst: dns_view_createresolver
      Src: /src/bind9/bin/delv/delv.c:2180,1
    - Dst: dns_resolver_setmaxqueries
      Src: /src/bind9/bin/delv/delv.c:2182,1
    - Dst: isc_stats_create
      Src: /src/bind9/bin/delv/delv.c:2184,1
    - Dst: dns_resolver_setstats
      Src: /src/bind9/bin/delv/delv.c:2185,1
    - Dst: isc_stats_detach
      Src: /src/bind9/bin/delv/delv.c:2186,1
    - Dst: dns_rdatatypestats_create
      Src: /src/bind9/bin/delv/delv.c:2188,1
    - Dst: dns_resolver_setquerystats
      Src: /src/bind9/bin/delv/delv.c:2189,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/bin/delv/delv.c:2190,1
    - Dst: dns_view_freeze
      Src: /src/bind9/bin/delv/delv.c:2192,1
    - Dst: ns_interface_create
      Src: /src/bind9/bin/delv/delv.c:2194,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2196,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/bin/delv/delv.c:2196,1
    - Dst: isc_async_current
      Src: /src/bind9/bin/delv/delv.c:2200,1
    - Dst: dns_view_detach
      Src: /src/bind9/bin/delv/delv.c:2206,1
    - Dst: shutdown_server
      Src: /src/bind9/bin/delv/delv.c:2208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2209
      start: 2126
    functionDepth: 6
    functionLinenumber: 2126
    functionLinenumberEnd: 2209
    functionName: run_server
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_view_setmaxrestarts
    - dns_resolver_setstats
    - setup_dnsseckeys
    - isc_sockaddr_any6
    - dns_cache_detach
    - isc_stats_detach
    - dns_view_create
    - isc_sockaddr_any
    - ns_interfacemgr_create
    - dns_view_createresolver
    - isc_statsmulti_detach
    - inet_pton
    - dns_resolver_setquerystats
    - RUNTIME_CHECK
    - dns_view_detach
    - ns_interface_create
    - dns_view_setdstport
    - dns_delegdb_create
    - dns_db_detach
    - dns_view_initsecroots
    - dns_rdatatypestats_create
    - dns_dispatch_createudp
    - dns_view_setcache
    - dns_view_setmaxdelegationservers
    - CHECK
    - dns_view_setrootdb
    - dns_rootns_create
    - ns_server_create
    - isc_sockaddr_fromin
    - isc_async_current
    - dns_cache_create
    - dns_resolver_setmaxqueries
    - dns_view_freeze
    - isc_nm_listenstreamdns
    - shutdown_server
    - dns_view_setmaxqueries
    - isc_stats_create
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: void
    signature: void run_server(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/delv/delv.c:2216,1
    - Dst: preparse_args
      Src: /src/bind9/bin/delv/delv.c:2220,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/delv/delv.c:2225,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/delv/delv.c:2226,1
    - Dst: parse_args
      Src: /src/bind9/bin/delv/delv.c:2228,1
    - Dst: CHECK
      Src: /src/bind9/bin/delv/delv.c:2230,1
    - Dst: setup_style
      Src: /src/bind9/bin/delv/delv.c:2230,1
    - Dst: setup_logging
      Src: /src/bind9/bin/delv/delv.c:2232,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:2235,1
    - Dst: delv_log
      Src: /src/bind9/bin/delv/delv.c:2241,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/delv/delv.c:2247,1
    - Dst: isc_loop_setup
      Src: /src/bind9/bin/delv/delv.c:2249,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/delv/delv.c:2250,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/delv/delv.c:2254,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:2257,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:2260,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/delv/delv.c:2263,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/delv/delv.c:2266,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/delv/delv.c:2269,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 39
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2211
    functionDepth: 2
    functionLinenumber: 2211
    functionLinenumberEnd: 2272
    functionName: main
    functionSourceFile: /src/bind9/bin/delv/delv.c
    functionUses: 17
    functionsReached:
    - isc_managers_create
    - parse_args
    - isc_loopmgr_run
    - dns_master_styledestroy
    - isc_loop_main
    - isc_tlsctx_cache_create
    - isc_tlsctx_cache_detach
    - isc_loop_setup
    - isc_managers_destroy
    - isc_mem_free
    - setup_logging
    - CHECK
    - delv_log
    - preparse_args
    - isc_commandline_init
    - setup_style
    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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: query
    functionSourceFile: /src/bind9/bin/include/defaultconfig.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: n
    signature: n query
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 248
    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: 256
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 256
    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: 268
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 268
    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:274,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:275,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:276,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:277,1
    - Dst: _exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: fatal
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 38
    functionsReached:
    - _exit
    - fprintf
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/nsupdate/nsupdate.c:285,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:286,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:287,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 289
    functionName: error
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 23
    functionsReached:
    - va_start
    - fprintf
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void error(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/nsupdate/nsupdate.c:296,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:297,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:298,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 301
    functionName: debug
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - va_start
    - fprintf
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void debug(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/bin/nsupdate/nsupdate.c:308,1
    - Dst: vfprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:309,1
    - Dst: va_end
      Src: /src/bind9/bin/nsupdate/nsupdate.c:310,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 313
    functionName: ddebug
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - va_start
    - fprintf
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void ddebug(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:318,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:318,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - msg
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 320
    functionName: check_result
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_result_totext
    - fatal
    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: 357
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 357
    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:361,1
    - Dst: dns_message_reset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:364,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:366,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:372,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 359
    functionDepth: 1
    functionLinenumber: 359
    functionLinenumberEnd: 378
    functionName: reset_system
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_message_create
    - dns_message_reset
    - ddebug
    - dns_tsigkey_detach
    - dns_tsigkeyring_detach
    linkageType: ''
    returnType: void
    signature: void reset_system(void)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/nsupdate/nsupdate.c:387,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/nsupdate/nsupdate.c:388,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:391,1
    - Dst: strlcpy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:396,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/nsupdate/nsupdate.c:396,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:398,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:400,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:402,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:404,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:408,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:410,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:412,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:414,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:418,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:420,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:422,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:424,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:428,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:430,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:432,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:434,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:438,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:440,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:442,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:444,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:448,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:450,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:452,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:454,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:459,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: 463
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 463
    functionName: parse_hmac
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - REQUIRE
    - strcasecmp
    - ISC_MIN
    - error
    - isc_parse_uint16
    - strlcpy
    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:467,1
    - Dst: strcmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:471,1
    - Dst: strcmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:473,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 465
    functionDepth: 0
    functionLinenumber: 465
    functionLinenumberEnd: 477
    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:494,1
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:496,1
    - Dst: strchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:498,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:500,1
    - Dst: strchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:503,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:506,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/nsupdate/nsupdate.c:510,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:511,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:519,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:520,1
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:522,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:523,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:524,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:526,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:527,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:529,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:530,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:532,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:533,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:537,1
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:539,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:540,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:543,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:544,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/nsupdate/nsupdate.c:546,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:550,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 552
    functionName: setup_keystr
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - fprintf
    - dns_tsigkey_create
    - isc_buffer_add
    - strlen
    - strchr
    - exit
    - debug
    - dns_name_fromtext
    - isc_mem_free
    - isc_mem_allocate
    - fatal
    - check_result
    - isc_buffer_init
    - isc_result_totext
    - isc_base64_decodestring
    - parse_hmac
    - dns_fixedname_initname
    - dst_key_setbits
    linkageType: ''
    returnType: void
    signature: void setup_keystr(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/nsupdate/nsupdate.c:569,1
    - Dst: CHECK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:573,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/nsupdate/nsupdate.c:573,1
    - Dst: CHECK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:575,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:575,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:577,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:578,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:580,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:583,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:583,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:584,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:585,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:587,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:587,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:587,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:588,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:589,1
    - Dst: setup_keystr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:590,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:594,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:598,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 557
    functionDepth: 2
    functionLinenumber: 557
    functionLinenumberEnd: 602
    functionName: read_sessionkey
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_file_exists
    - cfg_parse_file
    - cfg_map_get
    - fatal
    - setup_keystr
    - cfg_obj_detach
    - snprintf
    - cfg_obj_asstring
    - strlen
    - isc_mem_allocate
    - isc_mem_free
    - CHECK
    - cfg_map_getname
    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:610,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:613,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:617,1
    - Dst: read_sessionkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:622,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:629,1
    - Dst: basenamelen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:632,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:633,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/nsupdate/nsupdate.c:637,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/nsupdate/nsupdate.c:644,1
    - Dst: dst_key_attach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:647,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:648,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:652,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:652,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:655,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:657,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:658,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 35
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 660
    functionName: setup_keyfile
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - basenamelen
    - debug
    - read_sessionkey
    - dst_key_alg
    - fprintf
    - dst_key_name
    - dns_tsigkey_createfromkey
    - dst_key_fromnamedfile
    - dst_key_attach
    - dst_key_free
    - isc_result_totext
    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:670,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:675,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:680,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:684,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:688,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:689,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:693,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:694,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:698,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:701,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:702,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:704,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:706,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:709,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:712,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:713,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 662
    functionDepth: 1
    functionLinenumber: 662
    functionLinenumberEnd: 714
    functionName: doshutdown
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - dns_requestmgr_detach
    - isc_mem_put
    - dns_tsigkey_detach
    - ddebug
    - dns_dispatchmgr_detach
    - dns_dispatch_detach
    - dns_message_detach
    - dst_key_free
    linkageType: ''
    returnType: void
    signature: void doshutdown(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:723,1
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:724,1
    - Dst: doshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 716
    functionDepth: 2
    functionLinenumber: 716
    functionLinenumberEnd: 731
    functionName: maybeshutdown
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - ddebug
    - dns_requestmgr_shutdown
    - doshutdown
    linkageType: ''
    returnType: void
    signature: void maybeshutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/nsupdate/nsupdate.c:735,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:737,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 733
    functionDepth: 3
    functionLinenumber: 733
    functionLinenumberEnd: 741
    functionName: shutdown_program
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - maybeshutdown
    - ddebug
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void shutdown_program(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_portset_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:752,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:753,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:754,1
    - Dst: isc_portset_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:756,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:757,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/bin/nsupdate/nsupdate.c:758,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/bin/nsupdate/nsupdate.c:760,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:761,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:763,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - manager
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 765
    functionName: set_source_ports
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_portset_addrange
    - dns_dispatchmgr_setavailports
    - isc_portset_create
    - isc_portset_destroy
    - check_result
    - isc_net_getportrange
    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:771,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:771,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:772,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:772,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - str
    - name
    argTypes:
    - char*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 767
    functionDepth: 1
    functionLinenumber: 767
    functionLinenumberEnd: 776
    functionName: create_name
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 5
    functionsReached:
    - isc_buffer_add
    - strlen
    - isc_buffer_constinit
    - dns_name_fromtext
    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:786,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:788,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:790,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/nsupdate/nsupdate.c:791,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/nsupdate/nsupdate.c:795,1
    - Dst: irs_resconf_load
      Src: /src/bind9/bin/nsupdate/nsupdate.c:797,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:799,1
    - Dst: irs_resconf_getnameservers
      Src: /src/bind9/bin/nsupdate/nsupdate.c:802,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:808,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:813,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:824,1
    - Dst: memset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:828,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:830,1
    - Dst: htonl
      Src: /src/bind9/bin/nsupdate/nsupdate.c:833,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/nsupdate/nsupdate.c:834,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:846,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:859,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:864,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:868,1
    - Dst: htons
      Src: /src/bind9/bin/nsupdate/nsupdate.c:872,1
    - Dst: htons
      Src: /src/bind9/bin/nsupdate/nsupdate.c:880,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:886,1
    - Dst: INSIST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:888,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:893,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:895,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:896,1
    - Dst: set_source_ports
      Src: /src/bind9/bin/nsupdate/nsupdate.c:898,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:901,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:902,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:904,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/nsupdate/nsupdate.c:908,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:909,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:911,1
    - Dst: dns_transport_list_new
      Src: /src/bind9/bin/nsupdate/nsupdate.c:913,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:915,1
    - Dst: create_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:918,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:919,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/nsupdate/nsupdate.c:920,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:922,1
    - Dst: create_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:924,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:925,1
    - Dst: dns_transport_new
      Src: /src/bind9/bin/nsupdate/nsupdate.c:926,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:928,1
    - Dst: dns_transport_set_keyfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:929,1
    - Dst: dns_transport_set_certfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:930,1
    - Dst: dns_transport_set_cafile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:932,1
    - Dst: dns_transport_set_remote_hostname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:933,1
    - Dst: dns_transport_set_always_verify_remote
      Src: /src/bind9/bin/nsupdate/nsupdate.c:934,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:937,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:939,1
    - Dst: setup_keystr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:942,1
    - Dst: read_sessionkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:944,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:946,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:947,1
    - Dst: setup_keyfile
      Src: /src/bind9/bin/nsupdate/nsupdate.c:950,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:953,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 124
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 778
    functionDepth: 4
    functionLinenumber: 778
    functionLinenumberEnd: 954
    functionName: setup_system
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_log_createandusechannel
    - isc_log_setdebuglevel
    - dns_transport_set_certfile
    - irs_resconf_load
    - create_name
    - isc_sockaddr_any6
    - dns_requestmgr_create
    - memset
    - htons
    - isc_sockaddr_fromin6
    - dns_transport_set_tlsname
    - isc_sockaddr_any
    - isc_mem_cget
    - read_sessionkey
    - dns_transport_set_keyfile
    - irs_resconf_destroy
    - dns_transport_new
    - dns_transport_set_always_verify_remote
    - fatal
    - check_result
    - isc_result_totext
    - dns_dispatch_createudp
    - setup_keystr
    - isc_logconfig_get
    - ISC_LIST_EMPTY
    - setup_keyfile
    - ddebug
    - dns_transport_set_remote_hostname
    - set_source_ports
    - htonl
    - isc_sockaddr_fromin
    - isc_mem_cput
    - isc_mutex_init
    - dns_transport_list_new
    - isc_tlsctx_cache_create
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    - dns_transport_set_cafile
    - irs_resconf_getnameservers
    - 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:962,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/nsupdate/nsupdate.c:963,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/nsupdate/nsupdate.c:964,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:966,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:967,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: 970
      start: 956
    functionDepth: 1
    functionLinenumber: 956
    functionLinenumberEnd: 970
    functionName: get_addresses
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - error
    - isc_getaddresses
    - isc_loopmgr_nonblocking
    - isc_loopmgr_blocking
    - isc_result_totext
    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:982,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/nsupdate/nsupdate.c:988,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:994,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1001,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1009,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1012,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1019,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1023,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1026,1
    - Dst: strncmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1027,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1028,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1036,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1039,1
    - Dst: strncmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1040,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1041,1
    - Dst: printf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1048,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1057,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 65
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1061
    functionName: pre_parse_args
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_format
    - fprintf
    - dns_rdatatype_ismeta
    - printf
    - isc_commandline_parse
    - strncmp
    - fatal
    - isc_mem_debugon
    - exit
    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:1070,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1071,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1075,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1078,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1083,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1086,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1125,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1128,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1132,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1156,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1159,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1163,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1170,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1173,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1175,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1182,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1185,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1187,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1191,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1194,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1196,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1201,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1205,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1207,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1211,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1212,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1217,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1219,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1223,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1227,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1236,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1240,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1243,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1247,1
    - Dst: strcmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1252,1
    - Dst: isc_stdio_open
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1255,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1258,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1260,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1261,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 161
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1063
    functionDepth: 1
    functionLinenumber: 1063
    functionLinenumberEnd: 1268
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 3
    functionsReached:
    - strcmp
    - isc_stdio_open
    - isc_net_disableipv6
    - debug
    - isc_net_disableipv4
    - isc_parse_uint32
    - fprintf
    - isc_commandline_parse
    - fatal
    - exit
    - isc_parse_uint16
    - isc_result_totext
    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:1276,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1278,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1282,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1283,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1283,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1284,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1284,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1285,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1287,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1287,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1288,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1289,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1292,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: 1294
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1294
    functionName: parse_name
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - fprintf
    - isc_buffer_invalidate
    - nsu_strsep
    - strlen
    - isc_buffer_add
    - error
    - dns_message_puttempname
    - dns_message_gettempname
    - isc_buffer_init
    - isc_result_totext
    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:1311,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1316,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1317,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1317,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1318,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1318,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1319,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1319,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1320,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1321,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1322,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1323,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1326,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1328,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1329,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1330,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1331,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1332,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1333,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1334,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1336,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1337,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1338,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: 1346
      start: 1296
    functionDepth: 1
    functionLinenumber: 1296
    functionLinenumberEnd: 1346
    functionName: parse_rdata
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_lex_destroy
    - dns_rdatacallbacks_init
    - isc_buffer_putmem
    - dns_message_takebuffer
    - fprintf
    - dns_rdata_fromregion
    - isc_lex_openbuffer
    - isc_buffer_add
    - strlen
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_lex_create
    - dns_rdata_fromtext
    - isc_buffer_free
    - check_result
    - isspace
    - isc_buffer_init
    - isc_result_totext
    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:1361,1
    - Dst: parse_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1366,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1375,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1377,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1381,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1382,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1384,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1385,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_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1398,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1400,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1404,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1405,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1407,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1415,1
    - Dst: parse_rdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1418,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1427,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1428,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1441,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1442,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1443,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1444,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1445,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1450,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 84
    argCount: 3
    argNames:
    - cmdline
    - ispositive
    - isrrset
    argTypes:
    - char*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1453
      start: 1348
    functionDepth: 2
    functionLinenumber: 1348
    functionLinenumberEnd: 1453
    functionName: make_prereq
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - getzoneclass
    - dns_message_gettemprdata
    - dns_rdataclass_fromtext
    - fprintf
    - parse_rdata
    - setzoneclass
    - dns_message_gettemprdatalist
    - ISC_LIST_APPEND
    - dns_message_gettemprdataset
    - ddebug
    - strlen
    - nsu_strsep
    - dns_rdatatype_fromtext
    - ISC_LIST_INIT
    - dns_message_puttempname
    - dns_rdatalist_tordataset
    - parse_name
    - dns_message_addname
    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:1460,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1461,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1463,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1466,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1469,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1472,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1475,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1479,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1482,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1455
    functionDepth: 3
    functionLinenumber: 1455
    functionLinenumberEnd: 1483
    functionName: evaluate_prereq
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - fprintf
    - ddebug
    - nsu_strsep
    - make_prereq
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_prereq(char *cmdline)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1500,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1501,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1502,1
    - Dst: dns_message_ednsinit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1504,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1505,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1506,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1508
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1508
    functionName: updateopt
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint32
    - dns_message_ednsinit
    - check_result
    - dns_message_setopt
    - dns_message_ednsaddopt
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void updateopt(void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1516,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1518,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1522,1
    - Dst: updateopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1527,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1531,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1536,1
    - Dst: updateopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1542,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1546,1
    - Dst: updateopt
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1555,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1558
      start: 1510
    functionDepth: 2
    functionLinenumber: 1510
    functionLinenumberEnd: 1558
    functionName: evaluate_lease
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - isc_parse_uint32
    - fprintf
    - updateopt
    - nsu_strsep
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_lease(char *cmdline)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1566,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1570,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1572,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1577,1
    - Dst: strtol
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1582,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1584,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1587,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1599,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1607,1
    - Dst: get_addresses
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1608,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1560
    functionDepth: 1
    functionLinenumber: 1560
    functionLinenumberEnd: 1614
    functionName: evaluate_server
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - isc_mem_cget
    - fprintf
    - nsu_strsep
    - get_addresses
    - strtol
    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:1623,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1625,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1630,1
    - Dst: strtol
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1635,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1637,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1640,1
    - Dst: inet_pton
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1648,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1650,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1653,1
    - Dst: inet_pton
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1654,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1656,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1659,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1661,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 37
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1666
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1666
    functionName: evaluate_local
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin
    - inet_pton
    - isc_mem_get
    - fprintf
    - nsu_strsep
    - strtol
    - isc_sockaddr_fromin6
    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:1683,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1685,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1689,1
    - Dst: strchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1691,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1693,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1701,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1701,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1702,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1702,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1703,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1705,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1709,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1711,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1714,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1715,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1717,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1718,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1720,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1721,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1722,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1725,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1728,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1730,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1732,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1734,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1735,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1738,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 49
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1740
      start: 1668
    functionDepth: 1
    functionLinenumber: 1668
    functionLinenumberEnd: 1740
    functionName: evaluate_key
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - parse_hmac
    - dns_name_fromtext
    - isc_base64_decodestring
    - fprintf
    - isc_buffer_usedlength
    - dns_tsigkey_create
    - dns_tsigkey_detach
    - nsu_strsep
    - strlen
    - strchr
    - dns_fixedname_initname
    - isc_buffer_add
    - isc_mem_allocate
    - isc_mem_free
    - dst_key_setbits
    - isc_buffer_init
    - isc_result_totext
    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:1748,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1750,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1754,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1755,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1755,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1756,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1756,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1757,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1742
    functionDepth: 1
    functionLinenumber: 1742
    functionLinenumberEnd: 1765
    functionName: evaluate_zone
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - fprintf
    - nsu_strsep
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - isc_buffer_init
    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:1775,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1778,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1783,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1785,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1788,1
    - Dst: UNUSED
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1791,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1794
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1794
    functionName: evaluate_realm
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_mem_strdup
    - snprintf
    - isc_mem_free
    - error
    - nsu_strsep
    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:1802,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1804,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1808,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1814,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1820,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1828
    functionName: evaluate_ttl
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - nsu_strsep
    - isc_parse_uint32
    - fprintf
    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:1837,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1839,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1844,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1845,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1847,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1854,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1830
    functionDepth: 1
    functionLinenumber: 1830
    functionLinenumberEnd: 1861
    functionName: evaluate_class
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - nsu_strsep
    - strlen
    - dns_rdataclass_fromtext
    - fprintf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_class(char *cmdline)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1877,1
    - Dst: parse_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1882,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1887,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1893,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1896,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1906,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1915,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1916,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1924,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1932,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1941,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1946,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1948,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1950,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1951,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1957,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1965,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1970,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1971,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1973,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1974,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1978,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1979,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1981,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1984,1
    - Dst: parse_rdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:1989,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2002,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2011,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2016,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2017,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2022,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2023,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2026,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2027,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2034,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2036,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2037,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2045,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2046,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2047,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2048,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2050,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2057,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2058,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2063,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2064,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2065,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2066,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2067,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2072,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2074,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 175
    argCount: 2
    argNames:
    - cmdline
    - isdelete
    argTypes:
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 1863
    functionDepth: 2
    functionLinenumber: 1863
    functionLinenumberEnd: 2076
    functionName: update_addordelete
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_rdata_checkowner
    - dns_message_gettemprdatalist
    - strlen
    - ISC_LIST_INIT
    - dns_rdatalist_tordataset
    - dns_nsec3_maxiterations
    - dns_name_format
    - dns_rdata_checknames
    - setzoneclass
    - dns_rdatatype_fromtext
    - getzoneclass
    - check_result
    - dns_rdata_tostruct
    - isc_result_totext
    - dns_message_gettemprdata
    - parse_rdata
    - ddebug
    - dns_message_puttempname
    - dns_rdata_checksvcb
    - dns_message_puttemprdata
    - parse_name
    - dns_message_addname
    - dns_rdataclass_fromtext
    - isc_parse_uint32
    - ISC_LIST_APPEND
    - nsu_strsep
    - dns_fixedname_initname
    - dns_message_gettemprdataset
    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:2083,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2084,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2086,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2089,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2091,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2093,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2096,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2099,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2100
      start: 2078
    functionDepth: 3
    functionLinenumber: 2078
    functionLinenumberEnd: 2100
    functionName: evaluate_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - fprintf
    - update_addordelete
    - ddebug
    - nsu_strsep
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_update(char *cmdline)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2106,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2107,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2109,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2112,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2112,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2113,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2116,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2117,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2118,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2122,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2126
      start: 2102
    functionDepth: 1
    functionLinenumber: 2102
    functionLinenumberEnd: 2126
    functionName: evaluate_checknames
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ddebug
    - nsu_strsep
    - fprintf
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t evaluate_checknames(char *cmdline)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2132,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2133,1
    - Dst: fprintf
      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:2138,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2139,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2142,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2143,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2144,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2148,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2128
    functionDepth: 1
    functionLinenumber: 2128
    functionLinenumberEnd: 2152
    functionName: evaluate_checksvcb
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - ddebug
    - nsu_strsep
    - fprintf
    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:2159,1
    - Dst: INSIST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2160,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2162,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2163,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2165,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2166,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2167,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2168,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2170,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2176,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2177,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2178,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2179,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2179,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2181,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2182,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - zonename
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2185
      start: 2154
    functionDepth: 1
    functionLinenumber: 2154
    functionLinenumberEnd: 2185
    functionName: setzone
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_makequestion
    - getzoneclass
    - ISC_LIST_UNLINK
    - INSIST
    - dns_name_clone
    - dns_message_puttemprdataset
    - ISC_LIST_APPEND
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - dns_message_puttempname
    - dns_rdataset_disassociate
    - dns_message_gettempname
    - dns_message_gettemprdataset
    - dns_message_addname
    linkageType: ''
    returnType: void
    signature: void setzone(dns_name_t *zonename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2193,1
    - Dst: setzone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2195,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2200,1
    - Dst: exit
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2202,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2205,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2207,1
    - Dst: dns_message_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2208,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2212,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2213,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2216,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2217,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2217,1
    - Dst: fflush
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2218,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2219,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - stream
    - msg
    - description
    argTypes:
    - FILE*
    - dns_message_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2220
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2220
    functionName: show_message
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_message_totext
    - isc_buffer_usedlength
    - fprintf
    - fflush
    - ddebug
    - isc_buffer_base
    - isc_buffer_allocate
    - isc_buffer_free
    - exit
    - setzone
    linkageType: ''
    returnType: void
    signature: void show_message(FILE *stream, dns_message_t *msg, const char *description)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2226,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2227,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2235,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2238,1
    - Dst: evaluate_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2239,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2241,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2242,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2244,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2245,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2247,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2248,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2250,1
    - Dst: make_prereq
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2251,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2253,1
    - Dst: evaluate_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2254,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2256,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2257,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2259,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2260,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2262,1
    - Dst: update_addordelete
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2263,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2265,1
    - Dst: evaluate_lease
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2266,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2268,1
    - Dst: evaluate_server
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2269,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2271,1
    - Dst: evaluate_local
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2272,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2274,1
    - Dst: evaluate_zone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2275,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2277,1
    - Dst: evaluate_class
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2278,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2280,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2283,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2291,1
    - Dst: evaluate_ttl
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2292,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2294,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2295,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2298,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2299,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2301,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2303,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2306,1
    - Dst: evaluate_key
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2308,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2310,1
    - Dst: evaluate_realm
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2311,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2313,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2314,1
    - Dst: evaluate_checknames
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2316,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2318,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2319,1
    - Dst: evaluate_checksvcb
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2321,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2323,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2327,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2331,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2334,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2337,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2339,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2342,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2346,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2350,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2354,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2355,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2394,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2395,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2398,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 124
    argCount: 1
    argNames:
    - cmdline
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2400
      start: 2222
    functionDepth: 4
    functionLinenumber: 2222
    functionLinenumberEnd: 2400
    functionName: do_next_command
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - evaluate_checksvcb
    - evaluate_realm
    - fprintf
    - evaluate_checknames
    - isc_mem_strdup
    - evaluate_local
    - evaluate_update
    - UNLOCK
    - evaluate_lease
    - evaluate_class
    - strcasecmp
    - update_addordelete
    - isc_mem_free
    - evaluate_prereq
    - evaluate_ttl
    - evaluate_key
    - evaluate_server
    - show_message
    - LOCK
    - ddebug
    - evaluate_zone
    - make_prereq
    - nsu_strsep
    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:2409,1
    - Dst: add_history
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2411,1
    - Dst: fgets
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2414,1
    - Dst: nsu_strsep
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2424,1
    - Dst: do_next_command
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2425,1
    - Dst: free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2428,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2432
      start: 2402
    functionDepth: 1
    functionLinenumber: 2402
    functionLinenumberEnd: 2432
    functionName: get_next_command
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - readline
    - add_history
    - do_next_command
    - nsu_strsep
    - fgets
    - free
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t get_next_command(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2438,1
    - Dst: get_next_command
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2440,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2442,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2434
    functionDepth: 2
    functionLinenumber: 2434
    functionLinenumberEnd: 2449
    functionName: user_interaction
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - ddebug
    - get_next_command
    - fatal
    linkageType: ''
    returnType: bool
    signature: bool user_interaction(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2453,1
    - Dst: isc_async_current
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2456
      start: 2451
    functionDepth: 1
    functionLinenumber: 2451
    functionLinenumberEnd: 2456
    functionName: done_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - ddebug
    - isc_async_current
    linkageType: ''
    returnType: void
    signature: void done_update(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2464,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2465,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2466,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2467,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2468,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2470,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2471,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2474,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2475,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2476,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
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - rdataset
    - b
    argTypes:
    - dns_rdataset_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2483
      start: 2458
    functionDepth: 1
    functionLinenumber: 2458
    functionLinenumberEnd: 2483
    functionName: check_tsig_error
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_first
    - isc_buffer_remaininglength
    - dns_tsigrcode_totext
    - dns_rdataset_current
    - check_result
    - dns_rdata_tostruct
    - isc_buffer_putstr
    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:2489,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2490,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2491,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2495,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: 2497
      start: 2485
    functionDepth: 1
    functionLinenumber: 2485
    functionLinenumberEnd: 2497
    functionName: next_primary
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_sockaddr_format
    - ddebug
    - isc_result_totext
    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:2504,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2509,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2510,1
    - Dst: dns_request_getresult
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2514,1
    - Dst: next_primary
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2516,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2523,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2524,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2525,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2526,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2527,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2531,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2532,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2534,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2539,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2556,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2557,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2561,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2565,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2575,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2576,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2577,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2578,1
    - Dst: check_tsig_error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2580,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2582,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2583,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2587,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2589,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2592,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2594,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2595,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2596,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2597,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2599,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2600
      start: 2499
    functionDepth: 3
    functionLinenumber: 2499
    functionLinenumberEnd: 2600
    functionName: update_completed
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_rcode_totext
    - isc_buffer_usedlength
    - maybeshutdown
    - fprintf
    - next_primary
    - send_update
    - done_update
    - dns_request_getresponse
    - UNLOCK
    - dns_name_init
    - check_tsig_error
    - dns_request_getresult
    - dns_message_gettsig
    - fatal
    - check_result
    - isc_buffer_init
    - dns_request_destroy
    - isc_result_totext
    - dns_message_create
    - LOCK
    - show_message
    - ddebug
    - dns_message_renderreset
    - dns_name_free
    - dns_message_settsigkey
    linkageType: ''
    returnType: void
    signature: void update_completed(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2611,1
    - Dst: setzone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2613,1
    - Dst: dns_message_setsig0key
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2624,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2625,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2630,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2631,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2634,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2645,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2648,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2650,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2653,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 2
    argNames:
    - zone
    - primary
    argTypes:
    - dns_name_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2657
      start: 2602
    functionDepth: 3
    functionLinenumber: 2602
    functionLinenumberEnd: 2657
    functionName: send_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_format
    - dns_message_setsig0key
    - fprintf
    - setzone
    - isc_loop_main
    - show_message
    - ddebug
    - isc_sockaddr_pf
    - check_result
    - dns_request_create
    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:2663,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2664,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2665,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2667,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2669,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: 2671
      start: 2659
    functionDepth: 1
    functionLinenumber: 2659
    functionLinenumberEnd: 2671
    functionName: next_server
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ddebug
    - fatal
    - isc_sockaddr_format
    - isc_result_totext
    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:2676,1
    - Dst: dns_request_getarg
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2677,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2693,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2698,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2699,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2700,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2701,1
    - Dst: next_server
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2706,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2707,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2708,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2709,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2710,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2711,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2712,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2713,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2717,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2719,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2720,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2722,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2729,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2730,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2731,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2732,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2735,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2736,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2746,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2752,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2755,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2757,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2761,1
    - Dst: next_server
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2764,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2765,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2766,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2767,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2768,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2769,1
    - Dst: POST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2774,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2776,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2780,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2786,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2791,1
    - Dst: error
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2792,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2793,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2794,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2795,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2796,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2798,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2811,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2816,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2818,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2825,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2827,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2848,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2849,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2852,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2853,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2855,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2856,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2857,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2858,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2860,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2861,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2870,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2871,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2876,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2877,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2884,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2885,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2886,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2887,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2890,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2894,1
    - Dst: get_addresses
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2896,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2900,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2901,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2902,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2903,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2904,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2905,1
    - Dst: primary_from_servers
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2910,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2912,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2916,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2917,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2918,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2919,1
    - Dst: start_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2920,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2922,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2923,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2926,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2927,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2930,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2931,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2934,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2935,1
    - Dst: INSIST
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2939,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2939,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2940,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2941,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2943,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2945,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2946,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2947,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2948,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2949,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2950,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2951,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 207
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2953
      start: 2673
    functionDepth: 3
    functionLinenumber: 2673
    functionLinenumberEnd: 2953
    functionName: recvsoa
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - isc_mem_put
    - INSIST
    - isc_buffer_usedlength
    - maybeshutdown
    - fprintf
    - dns_rdata_freestruct
    - send_update
    - done_update
    - sendrequest
    - dns_request_getresponse
    - dns_name_dup
    - dns_message_findtype
    - dns_name_init
    - isc_mem_cget
    - dns_name_format
    - setzoneclass
    - start_gssrequest
    - dns_request_getresult
    - error
    - isc_sockaddr_pf
    - fatal
    - check_result
    - dns_request_destroy
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_request_getarg
    - primary_from_servers
    - dns_rdata_init
    - dns_rdataset_first
    - dns_message_create
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - show_message
    - dns_name_getlabelsequence
    - ddebug
    - dns_message_renderreset
    - dns_rdataset_current
    - dns_name_clone
    - dns_name_countlabels
    - dns_request_create
    - isc_mem_cput
    - isc_mem_get
    - isc_loop_main
    - dns_name_totext
    - POST
    - dns_fixedname_initname
    - get_addresses
    - ISC_LIST_FOREACH
    - dns_message_detach
    - dns_message_settsigkey
    - next_server
    linkageType: ''
    returnType: void
    signature: void recvsoa(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2973,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2977,1
    - Dst: dns_request_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2983,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2987,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:2988,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: 2990
      start: 2955
    functionDepth: 1
    functionLinenumber: 2955
    functionLinenumberEnd: 2990
    functionName: sendrequest
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - isc_loop_main
    - isc_sockaddr_pf
    - check_result
    - dns_request_create
    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:3006,1
    - Dst: krb5_cc_default
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3011,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3013,1
    - Dst: krb5_cc_get_principal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3017,1
    - Dst: krb5_cc_close
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3019,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3020,1
    - Dst: krb5_unparse_name
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3024,1
    - Dst: krb5_free_principal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3026,1
    - Dst: krb5_cc_close
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3027,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3028,1
    - Dst: strrchr
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3032,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3034,1
    - Dst: free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3037,1
    - Dst: krb5_free_principal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3038,1
    - Dst: krb5_cc_close
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3039,1
    - Dst: krb5_free_context
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3040,1
    - Dst: fprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3042,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3044
      start: 2997
    functionDepth: 1
    functionLinenumber: 2997
    functionLinenumberEnd: 3044
    functionName: get_ticket_realm
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - krb5_cc_default
    - krb5_cc_get_principal
    - krb5_cc_close
    - fprintf
    - isc_mem_strdup
    - krb5_init_context
    - strrchr
    - krb5_free_context
    - krb5_unparse_name
    - free
    - krb5_free_principal
    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:3050,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3051,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3052,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3053,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3056
      start: 3046
    functionDepth: 2
    functionLinenumber: 3046
    functionLinenumberEnd: 3056
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3072,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3076,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3079,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3081,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3083,1
    - Dst: memmove
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3086,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3089,1
    - Dst: get_ticket_realm
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3092,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3095,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3097,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3098,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3098,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3099,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3099,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3100,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3102,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3103,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3106,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3109,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3112,1
    - Dst: snprintf
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3113,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3116,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3118,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3118,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3119,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3119,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3121,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3123,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3124,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3131,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: 11
    EdgeCount: 11
    ICount: 62
    argCount: 1
    argNames:
    - primary
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3159
      start: 3058
    functionDepth: 3
    functionLinenumber: 3058
    functionLinenumberEnd: 3159
    functionName: start_gssrequest
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_nonce_buf
    - fprintf
    - isc_buffer_add
    - strlen
    - dns_tsigkeyring_create
    - debug
    - dns_name_fromtext
    - dns_name_format
    - RUNTIME_CHECK
    - failed_gssrequest
    - snprintf
    - isc_mem_free
    - send_gssrequest
    - fatal
    - isc_buffer_init
    - isc_result_totext
    - dns_message_create
    - get_ticket_realm
    - isc_mem_get
    - dns_tkey_buildgssquery
    - dns_tsigkeyring_detach
    - dns_fixedname_initname
    - dns_message_detach
    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:
    - REQUIRE
    - debug
    - isc_mem_get
    - isc_loop_main
    - show_message
    - isc_sockaddr_pf
    - check_result
    - dns_request_create
    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:3251,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3253,1
    - Dst: show_message
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3256,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3261,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3270,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3271,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3272,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3273,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3275,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3279,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3280,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3280,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3281,1
    - Dst: strlen
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3281,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3282,1
    - Dst: check_result
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3283,1
    - Dst: dns_tkey_gssnegotiate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3285,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3289,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3290,1
    - Dst: send_gssrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3291,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3292,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3313,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3314,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3318,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3318,1
    - Dst: dns_request_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3322,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3323,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3325,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3326,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 66
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3327
      start: 3204
    functionDepth: 4
    functionLinenumber: 3204
    functionLinenumberEnd: 3327
    functionName: recvgss
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_mem_put
    - dns_rcode_totext
    - dns_tkey_gssnegotiate
    - isc_buffer_usedlength
    - maybeshutdown
    - next_primary
    - isc_buffer_add
    - strlen
    - send_update
    - dns_request_getresponse
    - dns_name_fromtext
    - failed_gssrequest
    - setzoneclass
    - dns_request_getresult
    - send_gssrequest
    - fatal
    - check_result
    - isc_buffer_init
    - dns_request_destroy
    - isc_result_totext
    - dns_request_getarg
    - dns_message_create
    - show_message
    - ddebug
    - dns_message_renderreset
    - dns_fixedname_initname
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void recvgss(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3337,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3339,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3341,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3343,1
    - Dst: primary_from_servers
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3351,1
    - Dst: send_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3352,1
    - Dst: setzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3353,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3357,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3364,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3366,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3368,1
    - Dst: getzoneclass
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3368,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3371,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3378,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3380,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3385,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3386,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3387,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3388,1
    - Dst: done_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3389,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3394,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3395,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3403,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3405,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3408,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3409,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3413,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3414,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3415,1
    - Dst: sendrequest
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3418,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3419
      start: 3330
    functionDepth: 2
    functionLinenumber: 3330
    functionLinenumberEnd: 3419
    functionName: start_update
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - send_update
    - done_update
    - ISC_LIST_INIT
    - dns_rdataset_disassociate
    - sendrequest
    - UNLOCK
    - dns_message_puttemprdataset
    - setzoneclass
    - dns_message_gettempname
    - getzoneclass
    - primary_from_servers
    - dns_rdataset_makequestion
    - dns_name_equal
    - dns_message_create
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - LOCK
    - dns_name_getlabelsequence
    - ddebug
    - dns_message_puttempname
    - dns_name_clone
    - dns_name_countlabels
    - dns_message_addname
    - ISC_LIST_APPEND
    - dns_message_gettemprdataset
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void start_update(void)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3423,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3426,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3430,1
    - Dst: LOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3433,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3435,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3437,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3441,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3442,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3445,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3446,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3451,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3456,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3459,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3462,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3464,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3465,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3467,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3468,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3472,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3474,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3477,1
    - Dst: ddebug
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3479,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3480,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3481
      start: 3421
    functionDepth: 1
    functionLinenumber: 3421
    functionLinenumberEnd: 3481
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 12
    functionsReached:
    - isc_mem_stats
    - dns_transport_list_detach
    - isc_mem_put
    - dns_name_dynamic
    - isc_tlsctx_cache_detach
    - isc_managers_destroy
    - LOCK
    - dns_tsigkey_detach
    - ddebug
    - isc_mem_free
    - dns_tsigkeyring_detach
    - isc_mutex_destroy
    - dns_name_free
    - dns_message_detach
    - dst_key_free
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3487,1
    - Dst: maybeshutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3490,1
    - Dst: reset_system
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3494,1
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3495,1
    - Dst: user_interaction
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3496,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3497,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3499,1
    - Dst: start_update
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3504,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3505
      start: 3483
    functionDepth: 3
    functionLinenumber: 3483
    functionLinenumberEnd: 3505
    functionName: getinput
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - maybeshutdown
    - isc_loopmgr_blocking
    - start_update
    - user_interaction
    - isc_loopmgr_shutdown
    - isc_loopmgr_nonblocking
    - reset_system
    linkageType: ''
    returnType: void
    signature: void getinput(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isatty
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3515,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3517,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3520,1
    - Dst: fatal
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3524,1
    - Dst: pre_parse_args
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3527,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3529,1
    - Dst: parse_args
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3531,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3534,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3535,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3536,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3537,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3538,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3540,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3541,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3542,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3543,1
    - Dst: cleanup
      Src: /src/bind9/bin/nsupdate/nsupdate.c:3545,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3507
    functionDepth: 1
    functionLinenumber: 3507
    functionLinenumberEnd: 3552
    functionName: main
    functionSourceFile: /src/bind9/bin/nsupdate/nsupdate.c
    functionUses: 21
    functionsReached:
    - isc_nm_setkeepalivetimeout
    - cleanup
    - isc_managers_create
    - parse_args
    - isc_nm_setidletimeout
    - isc_net_probeipv6
    - isc_nm_setadvertisedtimeout
    - isc_net_probeipv4
    - isc_loopmgr_run
    - isc_nm_setinitialtimeout
    - isc_loopmgr_setup
    - pre_parse_args
    - isc_loopmgr_teardown
    - isc_nm_setprimariestimeout
    - fatal
    - isatty
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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:151,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:152,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:153,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:154,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:156,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:158,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-a.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - hooktable
    - mctx
    - inst
    argTypes:
    - ns_hooktable_t*
    - isc_mem_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 160
    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:173,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: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    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:204,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/plugins/filter-a.c:209,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/plugins/filter-a.c:210,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/plugins/filter-a.c:215,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/plugins/filter-a.c:215,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: 222
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 222
    functionName: parse_filter_a_on
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_map_get
    - cfg_obj_isboolean
    - cfg_obj_asstring
    - cfg_obj_asboolean
    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:231,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:236,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-a.c:236,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:239,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:239,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:240,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:240,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-a.c:242,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-a.c:243,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-a.c:248,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-a.c:249,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-a.c:258,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - fmap
    - cfg
    - mctx
    - aclctx
    argTypes:
    - cfg_obj_t*
    - void*
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 224
    functionDepth: 2
    functionLinenumber: 224
    functionLinenumberEnd: 262
    functionName: check_syntax
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_map_get
    - cfg_acl_fromconfig
    - dns_acl_isnone
    - CHECK
    - dns_acl_detach
    - parse_filter_a_on
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_syntax(cfg_obj_t *fmap, const void *cfg, isc_mem_t
      *mctx, void *aclctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-a.c:273,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:273,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-a.c:274,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:274,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:275,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-a.c:275,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:278,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:278,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:279,1
    - Dst: parse_filter_a_on
      Src: /src/bind9/bin/plugins/filter-a.c:279,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-a.c:281,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:283,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-a.c:283,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:287,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/plugins/filter-a.c:287,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/plugins/filter-a.c:292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 7
    argNames:
    - inst
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    argTypes:
    - filter_instance_t*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 295
    functionName: parse_parameters
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - dns_acl_any
    - cfg_obj_detach
    - cfg_map_get
    - cfg_acl_fromconfig
    - cfg_parse_buffer
    - isc_buffer_add
    - strlen
    - CHECK
    - isc_buffer_constinit
    - parse_filter_a_on
    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 *aclctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/plugins/filter-a.c:318,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/filter-a.c:320,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/filter-a.c:325,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/plugins/filter-a.c:327,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:330,1
    - Dst: parse_parameters
      Src: /src/bind9/bin/plugins/filter-a.c:330,1
    - Dst: isc_ht_init
      Src: /src/bind9/bin/plugins/filter-a.c:334,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/plugins/filter-a.c:335,1
    - Dst: install_hooks
      Src: /src/bind9/bin/plugins/filter-a.c:340,1
    - Dst: plugin_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:346,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 9
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - hooktable
    - ctx
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - ns_pluginctx_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 350
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - plugin_destroy
    - UNUSED
    - isc_mutex_init
    - isc_mem_get
    - parse_parameters
    - install_hooks
    - isc_log_write
    - CHECK
    - 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 *aclctx,\n\t\tns_hooktable_t
      *hooktable, const ns_pluginctx_t *ctx,\n\t\tvoid **instp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-a.c:360,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:360,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-a.c:361,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-a.c:361,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:362,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-a.c:362,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:365,1
    - Dst: check_syntax
      Src: /src/bind9/bin/plugins/filter-a.c:365,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/plugins/filter-a.c:369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - ISC_ATTR_UNUSED
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_pluginctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 372
    functionName: plugin_check
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - cfg_obj_detach
    - cfg_parse_buffer
    - isc_buffer_add
    - strlen
    - check_syntax
    - CHECK
    - 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
      *aclctx,\n\t     const ns_pluginctx_t *ctx ISC_ATTR_UNUSED)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:383,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:384,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-a.c:387,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/plugins/filter-a.c:390,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 394
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - isc_mutex_destroy
    - isc_ht_destroy
    - isc_mem_putanddetach
    - dns_acl_detach
    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: 402
      start: 399
    functionDepth: 0
    functionLinenumber: 399
    functionLinenumberEnd: 402
    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:425,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-a.c:428,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-a.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: is_v4_client
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - isc_sockaddr_pf
    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:441,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-a.c:442,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 439
    functionDepth: 1
    functionLinenumber: 439
    functionLinenumberEnd: 447
    functionName: is_v6_client
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - isc_sockaddr_pf
    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:454,1
    - Dst: isc_ht_find
      Src: /src/bind9/bin/plugins/filter-a.c:455,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-a.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 460
    functionName: client_state_get
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 3
    functionsReached:
    - isc_ht_find
    - UNLOCK
    - LOCK
    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:467,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-a.c:472,1
    - Dst: isc_ht_add
      Src: /src/bind9/bin/plugins/filter-a.c:473,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-a.c:475,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 462
    functionDepth: 1
    functionLinenumber: 462
    functionLinenumberEnd: 477
    functionName: client_state_create
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    - RUNTIME_CHECK
    - LOCK
    - isc_ht_add
    - UNLOCK
    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:481,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-a.c:488,1
    - Dst: isc_ht_delete
      Src: /src/bind9/bin/plugins/filter-a.c:489,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-a.c:491,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:492,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/plugins/filter-a.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 495
    functionName: client_state_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 1
    functionsReached:
    - client_state_get
    - isc_mem_put
    - RUNTIME_CHECK
    - LOCK
    - isc_ht_delete
    - UNLOCK
    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:503,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-a.c:506,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - sigrdataset
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 509
    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:526,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-a.c:529,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-a.c:529,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-a.c:532,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-a.c:533,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-a.c:536,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-a.c:550,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: 556
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 556
    functionName: process_name
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - mark_as_rendered
    - CHECK
    - UNCONST
    - dns_message_findtype
    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:579,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-a.c:586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - section_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 599
    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:579,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-a.c:586,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 578
    functionDepth: 1
    functionLinenumber: 578
    functionLinenumberEnd: 598
    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:621,1
    - Dst: client_state_create
      Src: /src/bind9/bin/plugins/filter-a.c:623,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 627
      start: 613
    functionDepth: 0
    functionLinenumber: 613
    functionLinenumberEnd: 627
    functionName: filter_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_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:638,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/bin/plugins/filter-a.c:648,1
    - Dst: is_v4_client
      Src: /src/bind9/bin/plugins/filter-a.c:651,1
    - Dst: is_v6_client
      Src: /src/bind9/bin/plugins/filter-a.c:655,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 662
    functionName: filter_prep_response_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - client_state_get
    - is_v6_client
    - is_v4_client
    - ns_client_checkaclsilent
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_prep_response_begin(void *arg, void *cbdata,
      isc_result_t *resp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-a.c:675,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-a.c:686,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-a.c:687,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/bin/plugins/filter-a.c:694,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/plugins/filter-a.c:695,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/plugins/filter-a.c:698,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/bin/plugins/filter-a.c:699,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-a.c:717,1
    - Dst: RECURSIONOK
      Src: /src/bind9/bin/plugins/filter-a.c:720,1
    - Dst: ns_query_recurse
      Src: /src/bind9/bin/plugins/filter-a.c:732,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:752,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/filter-a.c:756,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 765
    functionName: filter_respond_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - client_state_get
    - dns_rdataset_isassociated
    - process_section
    - dns_rdataset_cleanup
    - dns_db_findrdataset
    - mark_as_rendered
    - ns_query_done
    - RECURSIONOK
    - ns_client_putrdataset
    - ns_query_recurse
    - ns_client_newrdataset
    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:774,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:794,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 770
    functionDepth: 0
    functionLinenumber: 770
    functionLinenumberEnd: 798
    functionName: filter_respond_any_found
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - client_state_get
    - process_section
    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:809,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:821,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-a.c:830,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 835
    functionName: filter_query_done_send
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - client_state_get
    - process_section
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_query_done_send(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: client_state_destroy
      Src: /src/bind9/bin/plugins/filter-a.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 841
    functionDepth: 0
    functionLinenumber: 841
    functionLinenumberEnd: 850
    functionName: filter_freeclientstate
    functionSourceFile: /src/bind9/bin/plugins/filter-a.c
    functionUses: 0
    functionsReached:
    - client_state_destroy
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_freeclientstate(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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:151,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:152,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:153,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:154,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:156,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:158,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - hooktable
    - mctx
    - inst
    argTypes:
    - ns_hooktable_t*
    - isc_mem_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 160
    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:173,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: 174
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 174
    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:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 179
    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:205,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/bin/plugins/filter-aaaa.c:210,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/bin/plugins/filter-aaaa.c:211,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/plugins/filter-aaaa.c:216,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/plugins/filter-aaaa.c:216,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: 223
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 223
    functionName: parse_filter_aaaa_on
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_map_get
    - cfg_obj_isboolean
    - cfg_obj_asstring
    - cfg_obj_asboolean
    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:232,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:237,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-aaaa.c:237,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:240,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:240,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:241,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:241,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-aaaa.c:243,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-aaaa.c:244,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/bin/plugins/filter-aaaa.c:249,1
    - Dst: cfg_obj_log
      Src: /src/bind9/bin/plugins/filter-aaaa.c:250,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:259,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 4
    argNames:
    - fmap
    - cfg
    - mctx
    - aclctx
    argTypes:
    - cfg_obj_t*
    - void*
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 263
    functionName: check_syntax
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - cfg_obj_log
    - cfg_map_get
    - cfg_acl_fromconfig
    - parse_filter_aaaa_on
    - dns_acl_isnone
    - CHECK
    - dns_acl_detach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_syntax(cfg_obj_t *fmap, const void *cfg, isc_mem_t
      *mctx, void *aclctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-aaaa.c:274,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:274,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:275,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:275,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:276,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-aaaa.c:276,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:279,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:279,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:281,1
    - Dst: parse_filter_aaaa_on
      Src: /src/bind9/bin/plugins/filter-aaaa.c:281,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:284,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:286,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/filter-aaaa.c:286,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:290,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/plugins/filter-aaaa.c:290,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 7
    argNames:
    - inst
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    argTypes:
    - filter_instance_t*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 265
    functionDepth: 2
    functionLinenumber: 265
    functionLinenumberEnd: 298
    functionName: parse_parameters
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - dns_acl_any
    - cfg_obj_detach
    - cfg_map_get
    - cfg_acl_fromconfig
    - parse_filter_aaaa_on
    - cfg_parse_buffer
    - isc_buffer_add
    - strlen
    - CHECK
    - 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 *aclctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/plugins/filter-aaaa.c:321,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/filter-aaaa.c:323,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:328,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:331,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:334,1
    - Dst: parse_parameters
      Src: /src/bind9/bin/plugins/filter-aaaa.c:334,1
    - Dst: isc_ht_init
      Src: /src/bind9/bin/plugins/filter-aaaa.c:338,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/plugins/filter-aaaa.c:339,1
    - Dst: install_hooks
      Src: /src/bind9/bin/plugins/filter-aaaa.c:344,1
    - Dst: plugin_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 9
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - hooktable
    - ctx
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - ns_pluginctx_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 354
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - plugin_destroy
    - UNUSED
    - isc_mutex_init
    - isc_mem_get
    - parse_parameters
    - install_hooks
    - isc_log_write
    - CHECK
    - 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 *aclctx,\n\t\tns_hooktable_t
      *hooktable, const ns_pluginctx_t *ctx,\n\t\tvoid **instp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/filter-aaaa.c:364,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:364,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:365,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/filter-aaaa.c:365,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:366,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/filter-aaaa.c:366,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:369,1
    - Dst: check_syntax
      Src: /src/bind9/bin/plugins/filter-aaaa.c:369,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:373,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 7
    argNames:
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - ISC_ATTR_UNUSED
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_pluginctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 376
    functionName: plugin_check
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - cfg_obj_detach
    - cfg_parse_buffer
    - isc_buffer_add
    - strlen
    - check_syntax
    - CHECK
    - 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
      *aclctx,\n\t     const ns_pluginctx_t *ctx ISC_ATTR_UNUSED)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_ht_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:387,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:388,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:391,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/plugins/filter-aaaa.c:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 382
    functionDepth: 1
    functionLinenumber: 382
    functionLinenumberEnd: 398
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - isc_mutex_destroy
    - isc_ht_destroy
    - isc_mem_putanddetach
    - dns_acl_detach
    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: 406
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 406
    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:429,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/plugins/filter-aaaa.c:432,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-aaaa.c:433,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 438
    functionName: is_v4_client
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - isc_sockaddr_pf
    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:445,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/plugins/filter-aaaa.c:446,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 451
    functionName: is_v6_client
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 1
    functionsReached:
    - IN6_IS_ADDR_V4MAPPED
    - isc_sockaddr_pf
    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:458,1
    - Dst: isc_ht_find
      Src: /src/bind9/bin/plugins/filter-aaaa.c:459,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:461,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 464
    functionName: client_state_get
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 9
    functionsReached:
    - isc_ht_find
    - UNLOCK
    - LOCK
    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:471,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:476,1
    - Dst: isc_ht_add
      Src: /src/bind9/bin/plugins/filter-aaaa.c:477,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:479,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 481
    functionName: client_state_create
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - isc_mem_get
    - RUNTIME_CHECK
    - LOCK
    - isc_ht_add
    - UNLOCK
    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:485,1
    - Dst: LOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:492,1
    - Dst: isc_ht_delete
      Src: /src/bind9/bin/plugins/filter-aaaa.c:493,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:495,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:496,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/plugins/filter-aaaa.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qctx
    - inst
    argTypes:
    - query_ctx_t*
    - filter_instance_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: client_state_destroy
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - client_state_get
    - isc_mem_put
    - RUNTIME_CHECK
    - LOCK
    - isc_ht_delete
    - UNLOCK
    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:507,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-aaaa.c:510,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - sigrdataset
    argTypes:
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 513
    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:530,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:533,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-aaaa.c:533,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-aaaa.c:536,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/plugins/filter-aaaa.c:537,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-aaaa.c:540,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-aaaa.c:554,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: 560
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 560
    functionName: process_name
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 2
    functionsReached:
    - WANTDNSSEC
    - mark_as_rendered
    - CHECK
    - UNCONST
    - dns_message_findtype
    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:583,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-aaaa.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 11
    argCount: 1
    argNames:
    - filter
    argTypes:
    - section_filter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 603
    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:583,1
    - Dst: process_name
      Src: /src/bind9/bin/plugins/filter-aaaa.c:590,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 582
    functionDepth: 1
    functionLinenumber: 582
    functionLinenumberEnd: 602
    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:625,1
    - Dst: client_state_create
      Src: /src/bind9/bin/plugins/filter-aaaa.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 617
    functionDepth: 0
    functionLinenumber: 617
    functionLinenumberEnd: 631
    functionName: filter_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_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:642,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/bin/plugins/filter-aaaa.c:652,1
    - Dst: is_v4_client
      Src: /src/bind9/bin/plugins/filter-aaaa.c:655,1
    - Dst: is_v6_client
      Src: /src/bind9/bin/plugins/filter-aaaa.c:659,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 666
    functionName: filter_prep_response_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - client_state_get
    - is_v6_client
    - is_v4_client
    - ns_client_checkaclsilent
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_prep_response_begin(void *arg, void *cbdata,
      isc_result_t *resp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: client_state_get
      Src: /src/bind9/bin/plugins/filter-aaaa.c:679,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/bin/plugins/filter-aaaa.c:690,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/plugins/filter-aaaa.c:691,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/bin/plugins/filter-aaaa.c:698,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/plugins/filter-aaaa.c:699,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/plugins/filter-aaaa.c:702,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/bin/plugins/filter-aaaa.c:703,1
    - Dst: mark_as_rendered
      Src: /src/bind9/bin/plugins/filter-aaaa.c:721,1
    - Dst: RECURSIONOK
      Src: /src/bind9/bin/plugins/filter-aaaa.c:724,1
    - Dst: ns_query_recurse
      Src: /src/bind9/bin/plugins/filter-aaaa.c:736,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:755,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/filter-aaaa.c:759,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 768
    functionName: filter_respond_begin
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - client_state_get
    - dns_rdataset_isassociated
    - process_section
    - dns_rdataset_cleanup
    - dns_db_findrdataset
    - mark_as_rendered
    - ns_query_done
    - RECURSIONOK
    - ns_client_putrdataset
    - ns_query_recurse
    - ns_client_newrdataset
    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:777,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 773
    functionDepth: 0
    functionLinenumber: 773
    functionLinenumberEnd: 801
    functionName: filter_respond_any_found
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - client_state_get
    - process_section
    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:812,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:824,1
    - Dst: process_section
      Src: /src/bind9/bin/plugins/filter-aaaa.c:833,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 808
    functionDepth: 0
    functionLinenumber: 808
    functionLinenumberEnd: 838
    functionName: filter_query_done_send
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - client_state_get
    - process_section
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_query_done_send(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: client_state_destroy
      Src: /src/bind9/bin/plugins/filter-aaaa.c:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 844
    functionDepth: 0
    functionLinenumber: 844
    functionLinenumberEnd: 853
    functionName: filter_freeclientstate
    functionSourceFile: /src/bind9/bin/plugins/filter-aaaa.c
    functionUses: 0
    functionsReached:
    - client_state_destroy
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t filter_freeclientstate(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_acl_allowed
      Src: /src/bind9/bin/plugins/synthrecord.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - inst
    - net
    argTypes:
    - synthrecord_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: synthrecord_allowedsynth
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - dns_acl_allowed
    linkageType: ''
    returnType: bool
    signature: bool synthrecord_allowedsynth(synthrecord_t *inst, isc_netaddr_t *net)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/bin/plugins/synthrecord.c:45,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/plugins/synthrecord.c:45,1
    - Dst: isc_buffer_current
      Src: /src/bind9/bin/plugins/synthrecord.c:46,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/plugins/synthrecord.c:51,1
    - Dst: isc_buffer_first
      Src: /src/bind9/bin/plugins/synthrecord.c:54,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - b
    - from
    - to
    argTypes:
    - isc_buffer_t*
    - char
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: synthrecord_chrreplace
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - isc_buffer_current
    - isc_buffer_usedlength
    - isc_buffer_forward
    - isc_buffer_consumedlength
    - isc_buffer_first
    linkageType: ''
    returnType: void
    signature: void synthrecord_chrreplace(isc_buffer_t *b, char from, char to)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:66,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/bin/plugins/synthrecord.c:66,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:67,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/plugins/synthrecord.c:69,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/bin/plugins/synthrecord.c:70,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/plugins/synthrecord.c:72,1
    - Dst: RETERR
      Src: /src/bind9/bin/plugins/synthrecord.c:73,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/bin/plugins/synthrecord.c:73,1
    - Dst: isc_buffer_peekuint8
      Src: /src/bind9/bin/plugins/synthrecord.c:87,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/plugins/synthrecord.c:89,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/plugins/synthrecord.c:96,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/plugins/synthrecord.c:96,1
    - Dst: isc_buffer_peekuint8
      Src: /src/bind9/bin/plugins/synthrecord.c:97,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/plugins/synthrecord.c:99,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/plugins/synthrecord.c:103,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/bin/plugins/synthrecord.c:104,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/plugins/synthrecord.c:109,1
    - Dst: synthrecord_chrreplace
      Src: /src/bind9/bin/plugins/synthrecord.c:110,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/plugins/synthrecord.c:112,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - inst
    - na
    - synthname
    argTypes:
    - synthrecord_t*
    - isc_netaddr_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 113
    functionName: synthrecord_reverseanswer
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - synthrecord_chrreplace
    - dns_name_fromtext
    - isc_buffer_forward
    - isc_buffer_usedlength
    - isc_buffer_putuint8
    - isc_buffer_copyregion
    - DNS_NAME_VALID
    - isc_netaddr_totext
    - RETERR
    - isc_buffer_usedregion
    - isc_buffer_peekuint8
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t synthrecord_reverseanswer(synthrecord_t *inst, isc_netaddr_t
      *na,\n\t\t\t  dns_name_t *synthname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/bin/plugins/synthrecord.c:131,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/plugins/synthrecord.c:132,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/synthrecord.c:133,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/plugins/synthrecord.c:133,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/bin/plugins/synthrecord.c:139,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/plugins/synthrecord.c:143,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/plugins/synthrecord.c:148,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/plugins/synthrecord.c:149,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/plugins/synthrecord.c:155,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/plugins/synthrecord.c:156,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/bin/plugins/synthrecord.c:157,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/plugins/synthrecord.c:158,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/synthrecord.c:164,1
    - Dst: dns_message_removename
      Src: /src/bind9/bin/plugins/synthrecord.c:169,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/plugins/synthrecord.c:170,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/plugins/synthrecord.c:171,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/plugins/synthrecord.c:173,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/bin/plugins/synthrecord.c:174,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/plugins/synthrecord.c:176,1
    - Dst: dns_message_puttemprdatalist
      Src: /src/bind9/bin/plugins/synthrecord.c:177,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/bin/plugins/synthrecord.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 4
    argNames:
    - inst
    - qctx
    - rdata
    - rtype
    argTypes:
    - synthrecord_t*
    - query_ctx_t*
    - void*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 183
    functionName: synthrecord_respond
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_message_gettemprdatalist
    - dns_rdataset_disassociate
    - dns_rdatalist_tordataset
    - dns_name_dup
    - dns_message_puttemprdataset
    - dns_rdataset_setownercase
    - isc_buffer_init
    - dns_message_gettemprdata
    - CHECK
    - dns_message_puttemprdatalist
    - dns_message_puttemprdata
    - dns_message_removename
    - dns_message_addname
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - dns_name_free
    - ns_query_done
    - dns_message_gettemprdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t synthrecord_respond(synthrecord_t *inst, query_ctx_t
      *qctx, void *rdata,\n\t\t    dns_rdatatype_t rtype)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/plugins/synthrecord.c:191,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/plugins/synthrecord.c:201,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/plugins/synthrecord.c:202,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/plugins/synthrecord.c:203,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/plugins/synthrecord.c:211,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/bin/plugins/synthrecord.c:212,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/plugins/synthrecord.c:213,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/plugins/synthrecord.c:215,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/plugins/synthrecord.c:216,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/plugins/synthrecord.c:217,1
    - Dst: strncmp
      Src: /src/bind9/bin/plugins/synthrecord.c:218,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/plugins/synthrecord.c:218,1
    - Dst: synthrecord_chrreplace
      Src: /src/bind9/bin/plugins/synthrecord.c:228,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/plugins/synthrecord.c:229,1
    - Dst: inet_pton
      Src: /src/bind9/bin/plugins/synthrecord.c:231,1
    - Dst: isc_buffer_current
      Src: /src/bind9/bin/plugins/synthrecord.c:231,1
    - Dst: synthrecord_chrreplace
      Src: /src/bind9/bin/plugins/synthrecord.c:237,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/plugins/synthrecord.c:238,1
    - Dst: inet_pton
      Src: /src/bind9/bin/plugins/synthrecord.c:240,1
    - Dst: isc_buffer_current
      Src: /src/bind9/bin/plugins/synthrecord.c:240,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - inst
    - name
    - addr
    argTypes:
    - synthrecord_t*
    - dns_name_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 247
    functionName: synthrecord_parseforward
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - isc_buffer_current
    - dns_name_init
    - synthrecord_chrreplace
    - inet_pton
    - dns_name_equal
    - isc_buffer_forward
    - dns_name_totext
    - dns_name_getlabelsequence
    - dns_name_downcase
    - isc_buffer_base
    - strncmp
    - isc_buffer_putuint8
    - dns_name_countlabels
    - isc_buffer_init
    linkageType: ''
    returnType: bool
    signature: "bool synthrecord_parseforward(synthrecord_t *inst, const dns_name_t
      *name,\n\t\t\t isc_netaddr_t *addr)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: synthrecord_parseforward
      Src: /src/bind9/bin/plugins/synthrecord.c:257,1
    - Dst: synthrecord_allowedsynth
      Src: /src/bind9/bin/plugins/synthrecord.c:261,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/synthrecord.c:275,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/bin/plugins/synthrecord.c:284,1
    - Dst: synthrecord_respond
      Src: /src/bind9/bin/plugins/synthrecord.c:286,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/bin/plugins/synthrecord.c:293,1
    - Dst: synthrecord_respond
      Src: /src/bind9/bin/plugins/synthrecord.c:295,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/synthrecord.c:304,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 3
    argNames:
    - inst
    - qctx
    - resp
    argTypes:
    - synthrecord_t*
    - query_ctx_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 308
    functionName: synthrecord_forward
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - synthrecord_parseforward
    - DNS_RDATACOMMON_INIT
    - synthrecord_allowedsynth
    - synthrecord_respond
    - ns_query_done
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t synthrecord_forward(synthrecord_t *inst, query_ctx_t
      *qctx,\n\t\t    isc_result_t *resp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_byaddr_parseptrname
      Src: /src/bind9/bin/plugins/synthrecord.c:323,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:325,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/plugins/synthrecord.c:326,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/plugins/synthrecord.c:328,1
    - Dst: synthrecord_allowedsynth
      Src: /src/bind9/bin/plugins/synthrecord.c:332,1
    - Dst: ns_query_done
      Src: /src/bind9/bin/plugins/synthrecord.c:346,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/plugins/synthrecord.c:350,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/bin/plugins/synthrecord.c:351,1
    - Dst: synthrecord_reverseanswer
      Src: /src/bind9/bin/plugins/synthrecord.c:352,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:354,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/bin/plugins/synthrecord.c:356,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/plugins/synthrecord.c:358,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/bin/plugins/synthrecord.c:365,1
    - Dst: synthrecord_respond
      Src: /src/bind9/bin/plugins/synthrecord.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - inst
    - qctx
    - resp
    argTypes:
    - synthrecord_t*
    - query_ctx_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 310
    functionDepth: 3
    functionLinenumber: 310
    functionLinenumberEnd: 372
    functionName: synthrecord_reverse
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - dns_byaddr_parseptrname
    - dns_name_setbuffer
    - isc_log_write
    - synthrecord_reverseanswer
    - DNS_RDATACOMMON_INIT
    - ISC_LOG_DEBUG
    - synthrecord_allowedsynth
    - synthrecord_respond
    - ns_query_done
    - isc_buffer_init
    - isc_result_totext
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t synthrecord_reverse(synthrecord_t *inst, query_ctx_t
      *qctx,\n\t\t    isc_result_t *resp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:379,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:380,1
    - Dst: synthrecord_forward
      Src: /src/bind9/bin/plugins/synthrecord.c:384,1
    - Dst: synthrecord_reverse
      Src: /src/bind9/bin/plugins/synthrecord.c:386,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - arg
    - cbdata
    - resp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 374
    functionDepth: 4
    functionLinenumber: 374
    functionLinenumberEnd: 390
    functionName: synthrecord_entry
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - synthrecord_forward
    - synthrecord_reverse
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t synthrecord_entry(void *arg, void *cbdata, isc_result_t
      *resp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/synthrecord.c:414,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:416,1
    - Dst: strstr
      Src: /src/bind9/bin/plugins/synthrecord.c:422,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:423,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/plugins/synthrecord.c:430,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/synthrecord.c:432,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/bin/plugins/synthrecord.c:438,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - inst
    - synthrecordcfg
    argTypes:
    - synthrecord_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 442
    functionName: synthrecord_initprefix
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - isc_ascii_lowercopy
    - isc_mem_strdup
    - isc_log_write
    - strstr
    - strlen
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t synthrecord_initprefix(synthrecord_t *inst, const cfg_obj_t
      *synthrecordcfg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/synthrecord.c:451,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:453,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/plugins/synthrecord.c:460,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/plugins/synthrecord.c:462,1
    - Dst: RETERR
      Src: /src/bind9/bin/plugins/synthrecord.c:463,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/plugins/synthrecord.c:463,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/bin/plugins/synthrecord.c:466,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:467,1
    - Dst: dns_name_dup
      Src: /src/bind9/bin/plugins/synthrecord.c:474,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - inst
    - synthrecordcfg
    - zname
    argTypes:
    - synthrecord_t*
    - cfg_obj_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 478
    functionName: synthrecord_initorigin
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - cfg_map_get
    - isc_log_write
    - cfg_obj_asstring
    - RETERR
    - dns_name_fromstring
    - dns_name_dup
    - dns_name_isabsolute
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t synthrecord_initorigin(synthrecord_t *inst, const cfg_obj_t
      *synthrecordcfg,\n\t\t       const dns_name_t *zname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/plugins/synthrecord.c:482,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/plugins/synthrecord.c:483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - inst
    - zname
    argTypes:
    - synthrecord_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 480
    functionDepth: 1
    functionLinenumber: 480
    functionLinenumberEnd: 489
    functionName: synthrecord_setconfigmode
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: void synthrecord_setconfigmode(synthrecord_t *inst, const dns_name_t
      *zname)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/plugins/synthrecord.c:498,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/synthrecord.c:499,1
    - Dst: dns_acl_any
      Src: /src/bind9/bin/plugins/synthrecord.c:502,1
    - Dst: RETERR
      Src: /src/bind9/bin/plugins/synthrecord.c:509,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/bin/plugins/synthrecord.c:509,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:520,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 4
    argNames:
    - inst
    - cfg
    - aclctx
    - synthrecordcfg
    argTypes:
    - synthrecord_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 528
    functionName: synthrecord_parseallowsynth
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - dns_acl_any
    - INSIST
    - cfg_map_get
    - cfg_acl_fromconfig
    - isc_log_write
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t synthrecord_parseallowsynth(synthrecord_t *inst, const
      cfg_obj_t *cfg,\n\t\t\t    cfg_aclconfctx_t *aclctx,\n\t\t\t    const cfg_obj_t
      *synthrecordcfg)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/bin/plugins/synthrecord.c:535,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/plugins/synthrecord.c:541,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - inst
    - synthrecordcfg
    argTypes:
    - synthrecord_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 545
    functionName: synthrecord_parsettl
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cfg_obj_asuint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t synthrecord_parsettl(synthrecord_t *inst, const cfg_obj_t
      *synthrecordcfg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/plugins/synthrecord.c:556,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/synthrecord.c:556,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/plugins/synthrecord.c:557,1
    - Dst: strlen
      Src: /src/bind9/bin/plugins/synthrecord.c:557,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/synthrecord.c:559,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/bin/plugins/synthrecord.c:559,1
    - Dst: synthrecord_setconfigmode
      Src: /src/bind9/bin/plugins/synthrecord.c:562,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/synthrecord.c:563,1
    - Dst: synthrecord_initorigin
      Src: /src/bind9/bin/plugins/synthrecord.c:563,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/synthrecord.c:564,1
    - Dst: synthrecord_initprefix
      Src: /src/bind9/bin/plugins/synthrecord.c:564,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/synthrecord.c:565,1
    - Dst: synthrecord_parseallowsynth
      Src: /src/bind9/bin/plugins/synthrecord.c:565,1
    - Dst: CHECK
      Src: /src/bind9/bin/plugins/synthrecord.c:566,1
    - Dst: synthrecord_parsettl
      Src: /src/bind9/bin/plugins/synthrecord.c:566,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/plugins/synthrecord.c:570,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 7
    argNames:
    - inst
    - parameters
    - cfg
    - cfgfile
    - cfgline
    - aclctx
    - zname
    argTypes:
    - synthrecord_t*
    - char*
    - cfg_obj_t*
    - char*
    - unsigned long
    - cfg_aclconfctx_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 574
      start: 547
    functionDepth: 2
    functionLinenumber: 547
    functionLinenumberEnd: 574
    functionName: synthrecord_parseconfig
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - synthrecord_initprefix
    - synthrecord_setconfigmode
    - cfg_obj_detach
    - cfg_parse_buffer
    - isc_buffer_add
    - strlen
    - CHECK
    - synthrecord_initorigin
    - isc_buffer_constinit
    - synthrecord_parsettl
    - synthrecord_parseallowsynth
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t synthrecord_parseconfig(synthrecord_t *inst, const char
      *parameters,\n\t\t\tconst cfg_obj_t *cfg, const char *cfgfile,\n\t\t\tunsigned
      long cfgline, cfg_aclconfctx_t *aclctx,\n\t\t\tconst dns_name_t *zname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:585,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:586,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:587,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:588,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:589,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:591,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/synthrecord.c:595,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/plugins/synthrecord.c:599,1
    - Dst: synthrecord_parseconfig
      Src: /src/bind9/bin/plugins/synthrecord.c:601,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/synthrecord.c:605,1
    - Dst: ns_hook_add
      Src: /src/bind9/bin/plugins/synthrecord.c:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 9
    argNames:
    - parameters
    - cfg
    - cfgfile
    - cfgline
    - mctx
    - aclctx
    - hooktable
    - ctx
    - instp
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hooktable_t*
    - ns_pluginctx_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 576
    functionDepth: 3
    functionLinenumber: 576
    functionLinenumberEnd: 614
    functionName: plugin_register
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - ns_hook_add
    - isc_log_write
    - synthrecord_parseconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_register(const char *parameters, const void *cfg,
      const char *cfgfile,\n\t\tunsigned long cfgline, isc_mem_t *mctx, void *aclctx,\n\t\tns_hooktable_t
      *hooktable, const ns_pluginctx_t *ctx,\n\t\tvoid **instp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:623,1
    - Dst: isc_log_write
      Src: /src/bind9/bin/plugins/synthrecord.c:625,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/plugins/synthrecord.c:632,1
    - Dst: isc_mem_attach
      Src: /src/bind9/bin/plugins/synthrecord.c:635,1
    - Dst: synthrecord_parseconfig
      Src: /src/bind9/bin/plugins/synthrecord.c:636,1
    - Dst: plugin_destroy
      Src: /src/bind9/bin/plugins/synthrecord.c:638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 7
    argNames:
    - parameters
    - cfg
    - cfgfile
    - cfgline
    - mctx
    - aclctx
    - ctx
    argTypes:
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_pluginctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 616
    functionDepth: 3
    functionLinenumber: 616
    functionLinenumberEnd: 641
    functionName: plugin_check
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - plugin_destroy
    - isc_mem_get
    - isc_log_write
    - synthrecord_parseconfig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t plugin_check(const char *parameters, const void *cfg,
      const char *cfgfile,\n\t     unsigned long cfgline, isc_mem_t *mctx, void *aclctx,\n\t
      \    const ns_pluginctx_t *ctx)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/plugins/synthrecord.c:645,1
    - Dst: dns_acl_detach
      Src: /src/bind9/bin/plugins/synthrecord.c:651,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/plugins/synthrecord.c:655,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/bin/plugins/synthrecord.c:658,1
    - Dst: dns_name_free
      Src: /src/bind9/bin/plugins/synthrecord.c:659,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/bin/plugins/synthrecord.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - instp
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 664
    functionName: plugin_destroy
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_NAME_VALID
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_name_free
    - dns_acl_detach
    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: 669
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 669
    functionName: plugin_version
    functionSourceFile: /src/bind9/bin/plugins/synthrecord.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int plugin_version(void)
  - 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_time_now
    - isc_time_microdiff
    - isc_time_now_hires
    - printf
    - isc_sockaddr_format
    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
    - dns_name_format
    - dns_rdata_totext
    - printf
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    - check_result
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:218,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/host.c:221,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/host.c:224,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/host.c:228,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/dig/host.c:234,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/bin/dig/host.c:242,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:247,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dig/host.c:247,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:256,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/host.c:266,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:275,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/host.c:278,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/host.c:282,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/host.c:288,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:290,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:292,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 50
    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: 298
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 298
    functionName: printsection
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_init
    - dns_rdatatype_format
    - dns_rdatatype_isnsec
    - printf
    - snprintf
    - RETERR
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - say_message
    - dns_rdatatype_isaddr
    - isc_buffer_init
    - dns_rdataset_totext
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/host.c:224,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/host.c:228,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/bin/dig/host.c:234,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/bin/dig/host.c:242,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:247,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dig/host.c:247,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:256,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/host.c:266,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:275,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/host.c:278,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/host.c:282,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/host.c:288,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:290,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:292,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 295
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_rdatatype_format
    - dns_rdatatype_isnsec
    - printf
    - snprintf
    - RETERR
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - say_message
    - dns_rdatatype_isaddr
    - isc_buffer_init
    - 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:266,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:275,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/host.c:278,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/host.c:282,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 284
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - snprintf
    - say_message
    - dns_rdataset_current
    - dns_rdatatype_format
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:307,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:309,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/host.c:312,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:314,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dig/host.c:314,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/host.c:315,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    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: 319
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: printrdata
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - printf
    - RETERR
    - isc_buffer_usedregion
    - isc_buffer_init
    - 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:331,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dig/host.c:337,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/host.c:338,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dig/host.c:339,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/host.c:340,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/host.c:341,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/host.c:342,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/host.c:343,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/host.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - qname
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 346
    functionName: chase_cnamechain
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_rdataset_first
    - dns_message_findname
    - dns_rdata_reset
    - dns_rdata_freestruct
    - dns_rdataset_current
    - check_result
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void chase_cnamechain(dns_message_t *msg, dns_name_t *qname)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:357,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/host.c:358,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:369,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:370,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/host.c:371,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:372,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:373,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/host.c:379,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:382,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/host.c:387,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:389,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/host.c:393,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/host.c:405,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/host.c:406,1
    - Dst: chase_cnamechain
      Src: /src/bind9/bin/dig/host.c:407,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/host.c:408,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/host.c:409,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:411,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:417,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/host.c:419,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:421,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:427,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/host.c:429,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:431,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:437,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:442,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/host.c:443,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:445,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:447,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:451,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:455,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:459,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:463,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:467,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:471,1
    - Dst: POST
      Src: /src/bind9/bin/dig/host.c:473,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:475,1
    - Dst: dns_message_getopt
      Src: /src/bind9/bin/dig/host.c:481,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:483,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/bin/dig/host.c:488,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:490,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:493,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:495,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:496,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:496,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:499,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:501,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:503,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:503,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:507,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:510,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:511,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:511,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:514,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:517,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:518,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/host.c:518,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:522,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/host.c:523,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/host.c:523,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:527,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/host.c:531,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/host.c:535,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/host.c:536,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:538,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 130
    argCount: 4
    argNames:
    - query
    - msgbuf
    - msg
    - headers
    argTypes:
    - dig_query_t*
    - isc_buffer_t*
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 542
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - UNUSED
    - rcode_totext
    - RETERR
    - isc_sockaddr_format
    - dns_name_format
    - dns_message_gettsig
    - strlcpy
    - printsection
    - chase_cnamechain
    - dns_rdatatype_format
    - printf
    - ISC_LIST_EMPTY
    - dns_message_getopt
    - ISC_LIST_APPEND
    - POST
    - printrdata
    - dns_fixedname_initname
    - 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:550,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/host.c:554,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dig/host.c:556,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/host.c:557,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dig/host.c:560,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/host.c:561,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dig/host.c:564,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:570,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:576,1
    - Dst: printf
      Src: /src/bind9/bin/dig/host.c:621,1
    - Dst: exit
      Src: /src/bind9/bin/dig/host.c:622,1
    - Dst: show_usage
      Src: /src/bind9/bin/dig/host.c:629,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 81
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 634
    functionName: pre_parse_args
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - printf
    - isc_commandline_parse
    - fatal
    - isc_mem_debugon
    - show_usage
    - exit
    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:648,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/host.c:650,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dig/host.c:657,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/host.c:673,1
    - Dst: strtoul
      Src: /src/bind9/bin/dig/host.c:678,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/host.c:683,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/host.c:684,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:690,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/host.c:720,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/host.c:721,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/host.c:726,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:766,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:772,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:786,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:797,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:798,1
    - Dst: atoi
      Src: /src/bind9/bin/dig/host.c:813,1
    - Dst: show_usage
      Src: /src/bind9/bin/dig/host.c:822,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:825,1
    - Dst: set_nameserver
      Src: /src/bind9/bin/dig/host.c:828,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:829,1
    - Dst: get_reverse
      Src: /src/bind9/bin/dig/host.c:836,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:838,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/host.c:843,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/host.c:847,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 169
    argCount: 3
    argNames:
    - is_batchfile
    - argc
    - argv
    argTypes:
    - bool
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 636
    functionDepth: 1
    functionLinenumber: 636
    functionLinenumberEnd: 848
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 4
    functionsReached:
    - strncasecmp
    - UNUSED
    - set_nameserver
    - debug
    - dns_rdataclass_fromtext
    - strtoul
    - atoi
    - ISC_LIST_APPEND
    - make_empty_lookup
    - isc_commandline_parse
    - strlen
    - dns_rdatatype_fromtext
    - get_reverse
    - fatal
    - show_usage
    - strlcpy
    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:854,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/host.c:855,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/host.c:856,1
    - Dst: debug
      Src: /src/bind9/bin/dig/host.c:866,1
    - Dst: pre_parse_args
      Src: /src/bind9/bin/dig/host.c:867,1
    - Dst: setup_libs
      Src: /src/bind9/bin/dig/host.c:868,1
    - Dst: setup_system
      Src: /src/bind9/bin/dig/host.c:869,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/host.c:870,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/host.c:872,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/host.c:874,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/host.c:877,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dig/host.c:878,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/host.c:880,1
    - Dst: destroy_libs
      Src: /src/bind9/bin/dig/host.c:881,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 884
    functionName: main
    functionSourceFile: /src/bind9/bin/dig/host.c
    functionUses: 22
    functionsReached:
    - debug
    - parse_args
    - isc_loopmgr_run
    - isc_loopmgr_setup
    - pre_parse_args
    - setup_system
    - ISC_LIST_INIT
    - setup_libs
    - setup_file_key
    - cancel_all
    - destroy_libs
    - setup_text_key
    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:
    - dns_rcode_totext
    - RUNTIME_CHECK
    - strspn
    - strlen
    - memset
    - isc_buffer_init
    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
    - print_usage
    - exit
    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: 363
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 363
    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:376,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dig/dig.c:384,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:386,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:388,1
    - Dst: dig_lookup_is_tls
      Src: /src/bind9/bin/dig/dig.c:390,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:405,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:409,1
    - Dst: dig_lookup_is_tls
      Src: /src/bind9/bin/dig/dig.c:411,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:416,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:419,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:425,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:429,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:432,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:435,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:438,1
    - Dst: time
      Src: /src/bind9/bin/dig/dig.c:440,1
    - Dst: localtime_r
      Src: /src/bind9/bin/dig/dig.c:441,1
    - Dst: strftime
      Src: /src/bind9/bin/dig/dig.c:443,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:446,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:449,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:454,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dig.c:458,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dig.c:463,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dig.c:465,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dig/dig.c:467,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:469,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:475,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: 482
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 482
    functionName: received
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_time_microdiff
    - time
    - printf
    - localtime_r
    - dig_lookup_is_tls
    - puts
    - strftime
    - isc_sockaddr_format
    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:491,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dig.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - frm
    - lookup
    argTypes:
    - char*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 489
    functionDepth: 0
    functionLinenumber: 489
    functionLinenumberEnd: 493
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dig.c:506,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/bin/dig/dig.c:506,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:507,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/dig/dig.c:526,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:531,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dig/dig.c:533,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:534,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:535,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:537,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:540,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:543,1
    - Dst: ADD_STRING
      Src: /src/bind9/bin/dig/dig.c:545,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - rdata
    - query
    - buf
    argTypes:
    - dns_rdata_t*
    - dig_query_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 547
    functionName: say_message
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 3
    functionsReached:
    - ADD_STRING
    - isc_time_microdiff
    - dns_rdata_tofmttext
    - snprintf
    - RETERR
    - check_result
    - dns_rdatatype_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t say_message(dns_rdata_t *rdata, dig_query_t *query, isc_buffer_t
      *buf)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dig.c:561,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/dig/dig.c:562,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:564,1
    - Dst: dns_message_findname
      Src: /src/bind9/bin/dig/dig.c:566,1
    - Dst: dns_dns64_findprefix
      Src: /src/bind9/bin/dig/dig.c:575,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dig.c:583,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/bin/dig/dig.c:583,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dig.c:584,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/bin/dig/dig.c:584,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - msg
    - buf
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 588
    functionName: dns64prefix_answer
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_buffer_printf
    - dns_message_findname
    - dns_dns64_findprefix
    - isc_netaddr_totext
    - dns_fixedname_initname
    - RETERR
    - dns_name_fromstring
    - check_result
    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:598,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/dig.c:600,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dig.c:602,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dig.c:605,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/dig.c:607,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:612,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: 618
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 618
    functionName: short_answer
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_init
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - say_message
    - check_result
    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:602,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dig.c:605,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/dig.c:607,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - say_message
    - check_result
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    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:605,1
    - Dst: say_message
      Src: /src/bind9/bin/dig/dig.c:607,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 613
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - say_message
    - check_result
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_NAME_INITABSOLUTE
      Src: /src/bind9/bin/dig/dig.c:623,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dig/dig.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 631
    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:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 629
    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:648,1
    - Dst: dig_idnsetup
      Src: /src/bind9/bin/dig/dig.c:650,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dig/dig.c:702,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dig/dig.c:706,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dig/dig.c:710,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:714,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:718,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:722,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/dig.c:743,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:753,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:754,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:768,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:770,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:772,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:774,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/dig/dig.c:777,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/bin/dig/dig.c:780,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/dig/dig.c:783,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:786,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/bin/dig/dig.c:789,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/bin/dig/dig.c:792,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/bin/dig/dig.c:795,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:798,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:801,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dig.c:802,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dig.c:804,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:806,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:809,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/dig/dig.c:812,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:813,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dig.c:815,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dig.c:819,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:820,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:823,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:824,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/bin/dig/dig.c:829,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/dig/dig.c:830,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dig.c:831,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dig.c:832,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dig.c:836,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:837,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:840,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:841,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:844,1
    - Dst: dns_message_headertotext
      Src: /src/bind9/bin/dig/dig.c:846,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:849,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:852,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:854,1
    - Dst: isdotlocal
      Src: /src/bind9/bin/dig/dig.c:858,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:859,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:864,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/dig.c:867,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:868,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:870,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:873,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:876,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:879,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:882,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:885,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:888,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:891,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:894,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:905,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:914,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/dig.c:916,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:920,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/dig/dig.c:929,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dig.c:934,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/dig.c:935,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:938,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:943,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:948,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:953,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:958,1
    - Dst: dns64prefix_answer
      Src: /src/bind9/bin/dig/dig.c:960,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:964,1
    - Dst: short_answer
      Src: /src/bind9/bin/dig/dig.c:966,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:970,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:975,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:980,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/bin/dig/dig.c:985,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:990,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/dig/dig.c:995,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:1001,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/bin/dig/dig.c:1003,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dig.c:1009,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:1016,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:1019,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dig.c:1019,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dig.c:1020,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dig.c:1021,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/dig/dig.c:1024,1
    - Dst: dig_idnsetup
      Src: /src/bind9/bin/dig/dig.c:1027,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: 1030
      start: 636
    functionDepth: 2
    functionLinenumber: 636
    functionLinenumberEnd: 1030
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - isc_buffer_usedlength
    - dns64prefix_answer
    - strchr
    - rcode_totext
    - isdotlocal
    - isc_sockaddr_format
    - dns_message_headertotext
    - dig_idnsetup
    - short_answer
    - debug
    - isc_sockaddr_getport
    - isc_time_isepoch
    - dns_message_pseudosectiontotext
    - isc_sockaddr_pf
    - isc_time_formatISO8601ms
    - check_result
    - dns_message_sectiontotext
    - isc_time_formatISO8601us
    - strcmp
    - dns_master_stylecreate
    - printf
    - strlcat
    - dns_master_styledestroy
    - isc_buffer_base
    - isc_buffer_allocate
    - isc_buffer_free
    - isc_nmhandle_localaddr
    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:1042,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:1047,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1048,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1051,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:1053,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1056,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:1060,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dig.c:1065,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - argc
    - argv
    - lookup
    argTypes:
    - int
    - char**
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1035
    functionDepth: 1
    functionLinenumber: 1035
    functionLinenumberEnd: 1069
    functionName: printgreeting
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strlcat
    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: 1077
      start: 1071
    functionDepth: 0
    functionLinenumber: 1071
    functionLinenumberEnd: 1077
    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: 1084
      start: 1077
    functionDepth: 0
    functionLinenumber: 1077
    functionLinenumberEnd: 1084
    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: 1095
      start: 1084
    functionDepth: 0
    functionLinenumber: 1084
    functionLinenumberEnd: 1095
    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: 1112
      start: 1111
    functionDepth: 0
    functionLinenumber: 1111
    functionLinenumberEnd: 1112
    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: 1113
      start: 1112
    functionDepth: 0
    functionLinenumber: 1112
    functionLinenumberEnd: 1113
    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: 1114
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1114
    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: 1115
      start: 1114
    functionDepth: 0
    functionLinenumber: 1114
    functionLinenumberEnd: 1115
    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:1162,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1163,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:1165,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: 1168
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1168
    functionName: proxy_handle_port_string
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - parse_uint
    - strlcpy
    - fatal
    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:1184,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:1186,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dig.c:1188,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:1191,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/dig/dig.c:1193,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: 1199
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1199
    functionName: proxy_handle_addr_string
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin
    - isc_sockaddr_fromin6
    - strlcpy
    - inet_pton
    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:1209,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dig.c:1210,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dig.c:1211,1
    - Dst: rule_proxy_addrs
      Src: /src/bind9/bin/dig/dig.c:1216,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1217,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1223,1
    - Dst: proxy_handle_port_string
      Src: /src/bind9/bin/dig/dig.c:1224,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1229,1
    - Dst: proxy_handle_port_string
      Src: /src/bind9/bin/dig/dig.c:1230,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1235,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1236,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1237,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1238,1
    - Dst: proxy_handle_addr_string
      Src: /src/bind9/bin/dig/dig.c:1240,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1243,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dig.c:1244,1
    - Dst: proxy_handle_addr_string
      Src: /src/bind9/bin/dig/dig.c:1248,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1251,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dig.c:1252,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dig.c:1257,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dig.c:1257,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1258,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: 1267
      start: 1201
    functionDepth: 2
    functionLinenumber: 1201
    functionLinenumberEnd: 1267
    functionName: parse_proxy_addresses
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - proxy_handle_addr_string
    - INSIST
    - warn
    - rule_proxy_addrs
    - proxy_handle_port_string
    - isc_sockaddr_pf
    - isc_result_totext
    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:1271,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1280,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1284,1
    - Dst: rule_addr
      Src: /src/bind9/bin/dig/dig.c:1286,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1295,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1300
    functionName: rule_proxy_addrs
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    - rule_addr
    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:1304,1
    - Dst: rule_addr_char
      Src: /src/bind9/bin/dig/dig.c:1305,1
    - Dst: rule_addr_char
      Src: /src/bind9/bin/dig/dig.c:1309,1
    - Dst: GETP
      Src: /src/bind9/bin/dig/dig.c:1314,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1316,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1317,1
    - Dst: rule_port
      Src: /src/bind9/bin/dig/dig.c:1319,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1302
    functionDepth: 1
    functionLinenumber: 1302
    functionLinenumberEnd: 1325
    functionName: rule_addr
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - ADVANCE
    - MATCH
    - rule_addr_char
    - GETP
    - rule_port
    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:1329,1
    - Dst: MATCH_DIGIT
      Src: /src/bind9/bin/dig/dig.c:1330,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1334,1
    - Dst: MATCH_DIGIT
      Src: /src/bind9/bin/dig/dig.c:1336,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1337,1
    - Dst: GETP
      Src: /src/bind9/bin/dig/dig.c:1341,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1344
      start: 1327
    functionDepth: 0
    functionLinenumber: 1327
    functionLinenumberEnd: 1344
    functionName: rule_port
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 1
    functionsReached:
    - GETP
    - ADVANCE
    - MATCH_DIGIT
    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:1348,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1348,1
    - Dst: MATCH
      Src: /src/bind9/bin/dig/dig.c:1348,1
    - Dst: ADVANCE
      Src: /src/bind9/bin/dig/dig.c:1352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_proxy_addrs_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1346
    functionDepth: 0
    functionLinenumber: 1346
    functionLinenumberEnd: 1355
    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:1379,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - value
    - state
    - lookup
    argTypes:
    - char*
    - bool
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1385
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1385
    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:1392,1
    - Dst: plus_proxy_handle_addresses
      Src: /src/bind9/bin/dig/dig.c:1394,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1399,1
    - Dst: plus_proxy_handle_addresses
      Src: /src/bind9/bin/dig/dig.c:1400,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: 1411
      start: 1387
    functionDepth: 4
    functionLinenumber: 1387
    functionLinenumberEnd: 1411
    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:1436,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1439,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1444,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1449,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1453,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1466,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1470,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1473,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1480,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1484,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1487,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1499,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: 1509
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1509
    functionName: plus_tls_options
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - fprintf
    - FULLCHECK
    - 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: 276
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:1527,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1529,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:1530,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dig.c:1533,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1538,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:1544,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1550,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1555,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1563,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1573,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1577,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1587,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1591,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1595,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1603,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1606,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1621,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:1630,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1634,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1641,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1645,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1652,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1658,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1661,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1674,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1684,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1685,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1696,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:1699,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1705,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:1722,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1727,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1747,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:1754,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1769,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1781,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1785,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1793,1
    - Dst: parse_xint
      Src: /src/bind9/bin/dig/dig.c:1802,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1806,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1817,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1821,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1828,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1833,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:1838,1
    - Dst: save_opt
      Src: /src/bind9/bin/dig/dig.c:1840,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1862,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1866,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1884,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1888,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:1895,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:1898,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1911,1
    - Dst: FULLCHECK6
      Src: /src/bind9/bin/dig/dig.c:1915,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dig.c:1920,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1932,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1937,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1940,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1951,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1956,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1959,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1972,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/bin/dig/dig.c:1975,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1976,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dig.c:1983,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:1987,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:1999,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2005,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2010,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2014,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:2022,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2035,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2048,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2052,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2074,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2075,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2077,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2087,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2094,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2096,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2104,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2111,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2139,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2143,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dig.c:2155,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2163,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2165,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2177,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2184,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2186,1
    - Dst: plus_proxy_options
      Src: /src/bind9/bin/dig/dig.c:2192,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2203,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2212,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2214,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2221,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2225,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2238,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2242,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2248,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:2252,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2259,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2262,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2272,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2282,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2293,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2309,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2318,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2322,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2330,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2337,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2349,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2350,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2352,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2363,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2366,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2383,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2388,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2392,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dig.c:2398,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dig.c:2409,1
    - Dst: parse_netprefix
      Src: /src/bind9/bin/dig/dig.c:2413,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2415,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2420,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2432,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2436,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2447,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2454,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2457,1
    - Dst: plus_tls_options
      Src: /src/bind9/bin/dig/dig.c:2467,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2478,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2479,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2483,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2501,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2508,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dig.c:2511,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2519,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2520,1
    - Dst: FULLCHECK2
      Src: /src/bind9/bin/dig/dig.c:2532,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2536,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2557,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2558,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2561,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2570,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2577,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2588,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2592,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2608,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2609,1
    - Dst: cleanup_openssl_refs
      Src: /src/bind9/bin/dig/dig.c:2618,1
    - Dst: digexit
      Src: /src/bind9/bin/dig/dig.c:2619,1
    CyclomaticComplexity: 371
    EdgeCount: 371
    ICount: 1106
    argCount: 4
    argNames:
    - option
    - is_batchfile
    - need_clone
    - lookup
    argTypes:
    - char*
    - bool
    - bool*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 1518
    functionDepth: 5
    functionLinenumber: 1518
    functionLinenumberEnd: 2621
    functionName: plus_option
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 2
    functionsReached:
    - strncasecmp
    - FULLCHECK2
    - INSIST
    - FULLCHECK6
    - isc_mem_put
    - fprintf
    - isc_mem_strdup
    - FULLCHECK
    - parse_xint
    - save_opt
    - cleanup_openssl_refs
    - strcasecmp
    - warn
    - isc_mem_free
    - fatal
    - usage
    - strlcpy
    - printf
    - isc_nm_http_path_isvalid
    - plus_proxy_options
    - ISC_LIST_APPEND
    - plus_tls_options
    - parse_netprefix
    - digexit
    - strtok_r
    - clone_lookup
    - parse_uint
    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:2645,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/dig/dig.c:2655,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2658,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dig.c:2659,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/dig/dig.c:2665,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2668,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dig.c:2669,1
    - Dst: strpbrk
      Src: /src/bind9/bin/dig/dig.c:2674,1
    - Dst: FULLCHECK
      Src: /src/bind9/bin/dig/dig.c:2677,1
    - Dst: help
      Src: /src/bind9/bin/dig/dig.c:2688,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dig.c:2689,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2692,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2697,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2699,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:2706,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dig.c:2707,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2710,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2717,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dig.c:2729,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2731,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2734,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:2741,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/dig/dig.c:2742,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/dig/dig.c:2743,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dig.c:2744,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dig.c:2745,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/dig/dig.c:2746,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2751,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2760,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2764,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/dig.c:2765,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2771,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2781,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2784,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2786,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:2794,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2797,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:2803,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:2806,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2807,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dig.c:2812,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2817,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/dig.c:2818,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2828,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:2835,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2838,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2862,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:2869,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2870,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:2872,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2874,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:2876,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/dig/dig.c:2878,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2886,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2887,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:2895,1
    - Dst: get_reverse
      Src: /src/bind9/bin/dig/dig.c:2898,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:2901,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2903,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:2914,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:2917,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2919,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dig.c:2920,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:2925,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:2926,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dig.c:2928,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: 2930
      start: 2628
    functionDepth: 2
    functionLinenumber: 2628
    functionLinenumberEnd: 2930
    functionName: dash_option
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 2
    functionsReached:
    - strncasecmp
    - fprintf
    - FULLCHECK
    - strlen
    - strchr
    - strpbrk
    - exit
    - isc_sockaddr_fromin6
    - isc_net_disableipv6
    - debug
    - inet_pton
    - isc_net_disableipv4
    - dns_rdatatype_fromtext
    - get_reverse
    - fatal
    - usage
    - strlcpy
    - printgreeting
    - printf
    - UNREACHABLE
    - isc_sockaddr_fromin
    - parse_hmac
    - help
    - dns_rdataclass_fromtext
    - ISC_LIST_APPEND
    - strtok_r
    - clone_lookup
    - parse_uint
    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:2954,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dig/dig.c:2961,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2962,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dig/dig.c:2967,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:2975,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2980,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:2986,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:2993,1
    - Dst: strpbrk
      Src: /src/bind9/bin/dig/dig.c:2997,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:3000,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3009,1
    - Dst: usage
      Src: /src/bind9/bin/dig/dig.c:3010,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 59
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2941
    functionDepth: 1
    functionLinenumber: 2941
    functionLinenumberEnd: 3013
    functionName: preparse_args
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 2
    functionsReached:
    - debug
    - fprintf
    - isc_crypto_fips_enable
    - strlen
    - strpbrk
    - fatal
    - isc_mem_debugon
    - 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:3020,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:3022,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/dig.c:3024,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3026,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 4
    argNames:
    - batchline
    - bargv
    - len
    - msg
    argTypes:
    - char*
    - char**
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3029
    functionName: split_batchline
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - strtok_r
    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:3062,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3064,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/dig.c:3065,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dig.c:3074,1
    - Dst: getenv
      Src: /src/bind9/bin/dig/dig.c:3075,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3078,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dig.c:3079,1
    - Dst: fopen
      Src: /src/bind9/bin/dig/dig.c:3082,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/dig.c:3086,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3089,1
    - Dst: split_batchline
      Src: /src/bind9/bin/dig/dig.c:3090,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3094,1
    - Dst: fclose
      Src: /src/bind9/bin/dig/dig.c:3096,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:3103,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3112,1
    - Dst: strncmp
      Src: /src/bind9/bin/dig/dig.c:3113,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dig.c:3118,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3121,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dig.c:3126,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dig.c:3127,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dig.c:3128,1
    - Dst: destroy_lookup
      Src: /src/bind9/bin/dig/dig.c:3131,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dig.c:3135,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:3138,1
    - Dst: plus_option
      Src: /src/bind9/bin/dig/dig.c:3143,1
    - Dst: dash_option
      Src: /src/bind9/bin/dig/dig.c:3147,1
    - Dst: dash_option
      Src: /src/bind9/bin/dig/dig.c:3156,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dig.c:3170,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dig.c:3175,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/dig.c:3176,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3182,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3192,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dig.c:3201,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:3207,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/dig.c:3238,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dig.c:3242,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:3254,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:3258,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:3264,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:3267,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3268,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dig.c:3281,1
    - Dst: fopen
      Src: /src/bind9/bin/dig/dig.c:3284,1
    - Dst: perror
      Src: /src/bind9/bin/dig/dig.c:3287,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dig.c:3291,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/dig.c:3295,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3296,1
    - Dst: split_batchline
      Src: /src/bind9/bin/dig/dig.c:3302,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3306,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dig.c:3316,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dig.c:3321,1
    - Dst: printgreeting
      Src: /src/bind9/bin/dig/dig.c:3325,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dig.c:3328,1
    - Dst: destroy_lookup
      Src: /src/bind9/bin/dig/dig.c:3331,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: 3333
      start: 3031
    functionDepth: 2
    functionLinenumber: 3031
    functionLinenumberEnd: 3333
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 6
    functionsReached:
    - strncasecmp
    - destroy_lookup
    - INSIST
    - fprintf
    - ISC_LINK_LINKED
    - make_empty_lookup
    - strlen
    - fgets
    - fclose
    - dash_option
    - debug
    - fopen
    - snprintf
    - dns_rdatatype_fromtext
    - ISC_LIST_DEQUEUE
    - fatal
    - strlcpy
    - printgreeting
    - isc_result_totext
    - strcmp
    - plus_option
    - strncmp
    - parse_uint
    - parse_args
    - dns_rdataclass_fromtext
    - getenv
    - ISC_LIST_APPEND
    - clone_lookup
    - split_batchline
    - getaddresses
    - perror
    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:3344,1
    - Dst: feof
      Src: /src/bind9/bin/dig/dig.c:3346,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/dig.c:3347,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3351,1
    - Dst: split_batchline
      Src: /src/bind9/bin/dig/dig.c:3352,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3354,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dig.c:3355,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3359,1
    - Dst: fclose
      Src: /src/bind9/bin/dig/dig.c:3364,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dig/dig.c:3368,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3369
      start: 3340
    functionDepth: 2
    functionLinenumber: 3340
    functionLinenumberEnd: 3369
    functionName: query_finished
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - debug
    - parse_args
    - fflush
    - start_lookup
    - feof
    - isc_loopmgr_shutdown
    - fgets
    - fclose
    - split_batchline
    linkageType: ''
    returnType: void
    signature: void query_finished(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3376,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3384,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3385,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3387,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dig.c:3390,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dig.c:3391,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dig.c:3392,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3393,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3394
      start: 3371
    functionDepth: 0
    functionLinenumber: 3371
    functionLinenumberEnd: 3394
    functionName: dig_error
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - va_start
    - printf
    - va_end
    - vprintf
    linkageType: ''
    returnType: void
    signature: void dig_error(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3401,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dig.c:3403,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dig.c:3404,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dig.c:3405,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3409
      start: 3396
    functionDepth: 0
    functionLinenumber: 3396
    functionLinenumberEnd: 3409
    functionName: dig_warning
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - va_start
    - printf
    - va_end
    - vprintf
    linkageType: ''
    returnType: void
    signature: void dig_warning(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3416,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dig.c:3418,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dig.c:3419,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dig.c:3420,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dig.c:3422,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - lookup
    - format
    argTypes:
    - dig_lookup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3424
      start: 3411
    functionDepth: 0
    functionLinenumber: 3411
    functionLinenumberEnd: 3424
    functionName: dig_comments
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - va_start
    - printf
    - va_end
    - vprintf
    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:3428,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dig.c:3429,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dig.c:3430,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3432,1
    - Dst: preparse_args
      Src: /src/bind9/bin/dig/dig.c:3443,1
    - Dst: setup_libs
      Src: /src/bind9/bin/dig/dig.c:3445,1
    - Dst: setup_system
      Src: /src/bind9/bin/dig/dig.c:3446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3447
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3447
    functionName: dig_setup
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - debug
    - setup_system
    - ISC_LIST_INIT
    - setup_libs
    - preparse_args
    linkageType: ''
    returnType: void
    signature: void dig_setup(int argc, char **argv)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dig.c:3451,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/dig.c:3453,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/dig.c:3455,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/dig.c:3457,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/dig.c:3460,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: 3463
      start: 3449
    functionDepth: 1
    functionLinenumber: 3449
    functionLinenumberEnd: 3463
    functionName: dig_query_setup
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - parse_args
    - debug
    - set_search_domain
    - setup_file_key
    - setup_text_key
    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:3467,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/dig.c:3469,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dig/dig.c:3470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3471
      start: 3465
    functionDepth: 1
    functionLinenumber: 3465
    functionLinenumberEnd: 3471
    functionName: dig_startup
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loopmgr_setup
    - debug
    linkageType: ''
    returnType: void
    signature: void dig_startup(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: destroy_lookup
      Src: /src/bind9/bin/dig/dig.c:3475,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/dig.c:3476,1
    - Dst: destroy_libs
      Src: /src/bind9/bin/dig/dig.c:3477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3473
    functionDepth: 1
    functionLinenumber: 3473
    functionLinenumberEnd: 3478
    functionName: dig_shutdown
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 0
    functionsReached:
    - cancel_all
    - destroy_lookup
    - destroy_libs
    linkageType: ''
    returnType: void
    signature: void dig_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dig_setup
      Src: /src/bind9/bin/dig/dig.c:3483,1
    - Dst: dig_query_setup
      Src: /src/bind9/bin/dig/dig.c:3484,1
    - Dst: dig_startup
      Src: /src/bind9/bin/dig/dig.c:3485,1
    - Dst: dig_shutdown
      Src: /src/bind9/bin/dig/dig.c:3486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3481
    functionDepth: 2
    functionLinenumber: 3481
    functionLinenumberEnd: 3489
    functionName: main
    functionSourceFile: /src/bind9/bin/dig/dig.c
    functionUses: 25
    functionsReached:
    - dig_query_setup
    - dig_shutdown
    - dig_startup
    - dig_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:154,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:155,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dighost.c:156,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:157,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 159
    functionName: default_warnerr
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - va_start
    - printf
    - va_end
    - vprintf
    linkageType: ''
    returnType: void
    signature: void default_warnerr(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:166,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:167,1
    - Dst: vprintf
      Src: /src/bind9/bin/dig/dighost.c:168,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:169,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lookup
    - format
    argTypes:
    - dig_lookup_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: default_comments
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - va_start
    - printf
    - va_end
    - vprintf
    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: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    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: 235
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 235
    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:242,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:244,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:246,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:248,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:251,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:253,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:256,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:261,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:263,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:266,1
    - Dst: putchar
      Src: /src/bind9/bin/dig/dighost.c:268,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:271,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 273
    functionName: hex_dump
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - printf
    - isc_buffer_usedregion
    - putchar
    linkageType: ''
    returnType: void
    signature: void hex_dump(isc_buffer_t *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:284,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: 287
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 287
    functionName: append
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 5
    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:297,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:303,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dighost.c:313,1
    - Dst: append
      Src: /src/bind9/bin/dig/dighost.c:313,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dighost.c:315,1
    - Dst: append
      Src: /src/bind9/bin/dig/dighost.c:315,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 3
    argNames:
    - in
    - p
    - end
    argTypes:
    - char*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 318
    functionName: reverse_octets
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - strlen
    - strchr
    - RETERR
    - append
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t reverse_octets(const char *in, char **p, char *end)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:326,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:332,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dighost.c:333,1
    - Dst: dns_byaddr_createptrname
      Src: /src/bind9/bin/dig/dighost.c:333,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:334,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:347,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dighost.c:350,1
    - Dst: reverse_octets
      Src: /src/bind9/bin/dig/dighost.c:350,1
    - Dst: RETERR
      Src: /src/bind9/bin/dig/dighost.c:352,1
    - Dst: append
      Src: /src/bind9/bin/dig/dighost.c:352,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 4
    argNames:
    - reverse
    - len
    - value
    - strict
    argTypes:
    - char*
    - size_t
    - char*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 355
    functionName: get_reverse
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - inet_pton
    - dns_name_format
    - reverse_octets
    - dns_fixedname_initname
    - RETERR
    - append
    - dns_byaddr_createptrname
    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:362,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:363,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:364,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:365,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:366,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 358
    functionDepth: 0
    functionLinenumber: 358
    functionLinenumberEnd: 368
    functionName: warn
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 5
    functionsReached:
    - fprintf
    - fflush
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void warn(const char *format, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/dig/dighost.c:374,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:375,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:376,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:377,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:378,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 380
    functionName: warn
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 5
    functionsReached:
    - fprintf
    - fflush
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void warn(const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: _exit
      Src: /src/bind9/bin/dig/dighost.c:389,1
    - Dst: exit
      Src: /src/bind9/bin/dig/dighost.c:391,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 392
    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:398,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:399,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:400,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:401,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:402,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:403,1
    - Dst: digexit
      Src: /src/bind9/bin/dig/dighost.c:409,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 410
    functionName: fatal
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 58
    functionsReached:
    - fprintf
    - digexit
    - fflush
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void fatal(const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fflush
      Src: /src/bind9/bin/dig/dighost.c:418,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:420,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:421,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/dig/dighost.c:421,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/bin/dig/dighost.c:422,1
    - Dst: va_start
      Src: /src/bind9/bin/dig/dighost.c:424,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dig/dighost.c:425,1
    - Dst: va_end
      Src: /src/bind9/bin/dig/dighost.c:426,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 429
    functionName: debug
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 39
    functionsReached:
    - isc_time_now
    - fprintf
    - fflush
    - va_start
    - va_end
    - isc_time_nanoseconds
    - vfprintf
    - isc_time_seconds
    linkageType: ''
    returnType: void
    signature: void debug(const char *format, ...)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:434,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - msg
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 436
    functionName: check_result
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 22
    functionsReached:
    - isc_result_totext
    - fatal
    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:447,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:449,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:450,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:451,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:452,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - servname
    - userarg
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 455
    functionName: make_server
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - isc_mem_allocate
    - strlcpy
    - ISC_LINK_INIT
    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:463,1
    - Dst: irs_resconf_getnameservers
      Src: /src/bind9/bin/dig/dighost.c:465,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:466,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:467,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:480,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:481,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/bin/dig/dighost.c:482,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:486,1
    - Dst: snprintf
      Src: /src/bind9/bin/dig/dighost.c:489,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dighost.c:490,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:493,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:494,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:495,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 497
    functionName: get_server_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - strlcat
    - make_server
    - ISC_LINK_INIT
    - debug
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - isc_netaddr_totext
    - snprintf
    - ISC_LIST_FOREACH
    - isc_sockaddr_pf
    - isc_buffer_putuint8
    - irs_resconf_getnameservers
    - isc_buffer_init
    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:501,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:503,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 506
    functionName: flush_server_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - debug
    - ISC_LIST_DEQUEUE
    linkageType: ''
    returnType: void
    signature: void flush_server_list(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:503,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 505
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 55
    functionsReached:
    - isc_mem_free
    - ISC_LIST_DEQUEUE
    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:521,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/dig/dighost.c:522,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/dighost.c:523,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:525,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:526,1
    - Dst: flush_server_list
      Src: /src/bind9/bin/dig/dighost.c:529,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:532,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:533,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:534,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:536,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:538,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 540
    functionName: set_nameserver
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_format
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - flush_server_list
    - fatal
    - isc_getaddresses
    - isc_loopmgr_nonblocking
    - isc_loopmgr_blocking
    - make_server
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void set_nameserver(char *opt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:548,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:550,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:552,1
    - Dst: ISC_LIST_ENQUEUE
      Src: /src/bind9/bin/dig/dighost.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - src
    - dest
    argTypes:
    - dig_serverlist_t
    - dig_serverlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 2
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: clone_server_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - make_server
    - debug
    - ISC_LINK_INIT
    - 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:550,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:552,1
    - Dst: ISC_LIST_ENQUEUE
      Src: /src/bind9/bin/dig/dighost.c:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 549
    functionDepth: 2
    functionLinenumber: 549
    functionLinenumberEnd: 554
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 55
    functionsReached:
    - ISC_LIST_ENQUEUE
    - make_server
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(src, srv, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/bin/dig/dighost.c:569,1
    - Dst: isatty
      Src: /src/bind9/bin/dig/dighost.c:571,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:575,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:577,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:579,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/dig/dighost.c:605,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:606,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:607,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:608,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/bin/dig/dighost.c:610,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/dig/dighost.c:612,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:616,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:617,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 620
    functionName: make_empty_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - INSIST
    - getenv
    - isc_refcount_current
    - isc_tlsctx_cache_create
    - ISC_LIST_INIT
    - isc_mem_allocate
    - dns_fixedname_init
    - isatty
    - ISC_LINK_INIT
    - isc_refcount_init
    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:628,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:642,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:644,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:645,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 2
    argNames:
    - looknew
    - lookold
    argTypes:
    - dig_lookup_t*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 624
    functionDepth: 1
    functionLinenumber: 624
    functionLinenumberEnd: 652
    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:665,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:667,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/dighost.c:669,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:670,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:671,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:698,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:706,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:712,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:718,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dig/dighost.c:724,1
    - Dst: cloneopts
      Src: /src/bind9/bin/dig/dighost.c:736,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:794,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:796,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:800,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:800,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:801,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/dig/dighost.c:805,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/bin/dig/dighost.c:806,1
    - Dst: clone_server_list
      Src: /src/bind9/bin/dig/dighost.c:809,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/dig/dighost.c:813,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 132
    argCount: 2
    argNames:
    - lookold
    - servers
    argTypes:
    - dig_lookup_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 818
    functionName: clone_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - cloneopts
    - dns_name_copy
    - memmove
    - debug
    - INSIST
    - isc_mem_get
    - clone_server_list
    - isc_tlsctx_cache_detach
    - isc_mem_strdup
    - make_empty_lookup
    - dns_fixedname_name
    - isc_tlsctx_cache_attach
    - strlcpy
    - isc_refcount_init
    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:832,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:836,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/dighost.c:839,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:840,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:842,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/bin/dig/dighost.c:844,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - lookold
    - servers
    argTypes:
    - dig_lookup_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 828
    functionDepth: 4
    functionLinenumber: 828
    functionLinenumberEnd: 848
    functionName: requeue_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - INSIST
    - fatal
    - clone_lookup
    - ISC_LIST_PREPEND
    linkageType: ''
    returnType: dig_lookup_t
    signature: 'dig_lookup_t *

      requeue_lookup(dig_lookup_t *lookold, bool servers)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:854,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:859,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dig/dighost.c:860,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dig/dighost.c:861,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:862,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:863,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:864,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:865,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/bin/dig/dighost.c:865,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:867,1
    - Dst: CLEANUP
      Src: /src/bind9/bin/dig/dighost.c:870,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:873,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:873,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/bin/dig/dighost.c:875,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:879,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:880,1
    - Dst: dst_key_setbits
      Src: /src/bind9/bin/dig/dighost.c:882,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:885,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:886,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 850
    functionDepth: 1
    functionLinenumber: 850
    functionLinenumberEnd: 887
    functionName: setup_text_key
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - CLEANUP
    - debug
    - dns_name_fromtext
    - isc_base64_decodestring
    - isc_buffer_usedlength
    - dns_tsigkey_create
    - printf
    - isc_result_totext
    - isc_buffer_free
    - isc_mem_free
    - strlen
    - dns_fixedname_initname
    - isc_buffer_allocate
    - isc_mem_allocate
    - CHECK
    - dst_key_setbits
    - isc_buffer_init
    - isc_buffer_putstr
    linkageType: ''
    returnType: void
    signature: void setup_text_key(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/dig/dighost.c:893,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:898,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:899,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: 904
      start: 889
    functionDepth: 1
    functionLinenumber: 889
    functionLinenumberEnd: 904
    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:908,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: 909
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 909
    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:913,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: 914
      start: 911
    functionDepth: 0
    functionLinenumber: 911
    functionLinenumberEnd: 914
    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:921,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:923,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - arg
    - desc
    - max
    argTypes:
    - char*
    - char*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 916
    functionDepth: 0
    functionLinenumber: 916
    functionLinenumberEnd: 927
    functionName: parse_bits
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - parse_uint
    - fatal
    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:941,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:943,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:944,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:947,1
    - Dst: strcmp
      Src: /src/bind9/bin/dig/dighost.c:950,1
    - Dst: strchr
      Src: /src/bind9/bin/dig/dighost.c:956,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/bin/dig/dighost.c:959,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:961,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:962,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:967,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/dig/dighost.c:969,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:973,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dighost.c:975,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:982,1
    - Dst: strlcat
      Src: /src/bind9/bin/dig/dighost.c:983,1
    - Dst: inet_pton
      Src: /src/bind9/bin/dig/dighost.c:984,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/dig/dighost.c:986,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:997,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 2
    argNames:
    - sap
    - value
    argTypes:
    - isc_sockaddr_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 929
    functionDepth: 1
    functionLinenumber: 929
    functionLinenumberEnd: 1005
    functionName: parse_netprefix
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_sockaddr_fromin
    - REQUIRE
    - strcmp
    - strlcat
    - inet_pton
    - isc_mem_get
    - isc_parse_uint32
    - strlen
    - strchr
    - fatal
    - isc_sockaddr_fromin6
    - strlcpy
    - isc_result_totext
    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:1015,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:1017,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1019,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1021,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1025,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1027,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1029,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1030,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1033,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1035,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1036,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1038,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1040,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1041,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1043,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1045,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1046,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1048,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1050,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1051,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/dighost.c:1053,1
    - Dst: parse_bits
      Src: /src/bind9/bin/dig/dighost.c:1055,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:1057,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 1
    argNames:
    - algname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1010
    functionDepth: 1
    functionLinenumber: 1010
    functionLinenumberEnd: 1062
    functionName: parse_hmac
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 3
    functionsReached:
    - strncasecmp
    - REQUIRE
    - strcasecmp
    - fprintf
    - parse_bits
    - strlen
    - fatal
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void parse_hmac(const char *algname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_exists
      Src: /src/bind9/bin/dig/dighost.c:1078,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:1082,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/dig/dighost.c:1082,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:1084,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dig/dighost.c:1084,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dig/dighost.c:1086,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dig/dighost.c:1087,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1089,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dig/dighost.c:1092,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/dig/dighost.c:1092,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dig/dighost.c:1093,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dig/dighost.c:1094,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1096,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1097,1
    - Dst: parse_hmac
      Src: /src/bind9/bin/dig/dighost.c:1098,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/dighost.c:1099,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/dig/dighost.c:1103,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1067
    functionDepth: 2
    functionLinenumber: 1067
    functionLinenumberEnd: 1107
    functionName: read_confkey
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_file_exists
    - parse_hmac
    - cfg_parse_file
    - cfg_map_get
    - fatal
    - cfg_obj_detach
    - cfg_obj_asstring
    - CHECK
    - cfg_map_getname
    - strlcpy
    - setup_text_key
    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:1114,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:1117,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dig/dighost.c:1121,1
    - Dst: read_confkey
      Src: /src/bind9/bin/dig/dighost.c:1127,1
    - Dst: fprintf
      Src: /src/bind9/bin/dig/dighost.c:1134,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1135,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dig/dighost.c:1139,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dig/dighost.c:1146,1
    - Dst: dst_key_attach
      Src: /src/bind9/bin/dig/dighost.c:1149,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:1150,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/bin/dig/dighost.c:1155,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dig/dighost.c:1156,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1159,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1160,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:1166,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1109
    functionDepth: 3
    functionLinenumber: 1109
    functionLinenumberEnd: 1168
    functionName: setup_file_key
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - debug
    - dst_key_alg
    - dst_key_name
    - fprintf
    - printf
    - dns_tsigkey_createfromkey
    - read_confkey
    - dst_key_fromnamedfile
    - dst_key_attach
    - dst_key_free
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void setup_file_key(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:1173,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1174,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1178
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1178
    functionName: make_searchlist_entry
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - strlcpy
    - ISC_LINK_INIT
    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:1183,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1186
    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:1183,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1185
      start: 1182
    functionDepth: 1
    functionLinenumber: 1182
    functionLinenumberEnd: 1185
    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:1190,1
    - Dst: clear_searchlist
      Src: /src/bind9/bin/dig/dighost.c:1191,1
    - Dst: irs_resconf_getsearchlist
      Src: /src/bind9/bin/dig/dighost.c:1193,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:1194,1
    - Dst: make_searchlist_entry
      Src: /src/bind9/bin/dig/dighost.c:1195,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - resconf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1188
    functionDepth: 2
    functionLinenumber: 1188
    functionLinenumberEnd: 1198
    functionName: create_search_list
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - irs_resconf_getsearchlist
    - ISC_LIST_APPEND
    - make_searchlist_entry
    - ISC_LIST_FOREACH
    - clear_searchlist
    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:1208,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:1209,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - addr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1206
    functionDepth: 2
    functionLinenumber: 1206
    functionLinenumberEnd: 1211
    functionName: add_fallback_nameserver
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - make_server
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: void add_fallback_nameserver(const char *addr)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1222,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/dig/dighost.c:1226,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1229,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/dig/dighost.c:1235,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1238,1
    - Dst: irs_resconf_load
      Src: /src/bind9/bin/dig/dighost.c:1242,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1244,1
    - Dst: create_search_list
      Src: /src/bind9/bin/dig/dighost.c:1247,1
    - Dst: irs_resconf_getndots
      Src: /src/bind9/bin/dig/dighost.c:1249,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1250,1
    - Dst: irs_resconf_gettimeout
      Src: /src/bind9/bin/dig/dighost.c:1253,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1254,1
    - Dst: irs_resconf_getattempts
      Src: /src/bind9/bin/dig/dighost.c:1257,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1261,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1265,1
    - Dst: get_server_list
      Src: /src/bind9/bin/dig/dighost.c:1266,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1270,1
    - Dst: add_fallback_nameserver
      Src: /src/bind9/bin/dig/dighost.c:1272,1
    - Dst: add_fallback_nameserver
      Src: /src/bind9/bin/dig/dighost.c:1275,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/bin/dig/dighost.c:1279,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/dighost.c:1282,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/dighost.c:1284,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/bin/dig/dighost.c:1287,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 57
    argCount: 2
    argNames:
    - ipv4only
    - ipv6only
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1217
    functionDepth: 4
    functionLinenumber: 1217
    functionLinenumberEnd: 1288
    functionName: setup_system
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_net_disableipv6
    - debug
    - isc_nonce_buf
    - isc_net_disableipv4
    - ISC_LIST_EMPTY
    - irs_resconf_destroy
    - add_fallback_nameserver
    - setup_file_key
    - irs_resconf_load
    - create_search_list
    - irs_resconf_getattempts
    - fatal
    - irs_resconf_getndots
    - get_server_list
    - irs_resconf_gettimeout
    - setup_text_key
    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:1297,1
    - Dst: make_searchlist_entry
      Src: /src/bind9/bin/dig/dighost.c:1298,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - domain
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1300
      start: 1293
    functionDepth: 2
    functionLinenumber: 1293
    functionLinenumberEnd: 1300
    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:1310,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dig/dighost.c:1312,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/dig/dighost.c:1314,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/dig/dighost.c:1319,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1324,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/dig/dighost.c:1327,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/dig/dighost.c:1329,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/dig/dighost.c:1330,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/bin/dig/dighost.c:1334,1
    - Dst: isc_loop_main
      Src: /src/bind9/bin/dig/dighost.c:1336,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1337
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1337
    functionName: setup_libs
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_managers_create
    - debug
    - isc_net_probeipv6
    - isc_net_probeipv4
    - isc_log_createandusechannel
    - isc_logconfig_get
    - isc_log_setdebuglevel
    - isc_loop_main
    - fatal
    - isc_commandline_init
    linkageType: ''
    returnType: void
    signature: void setup_libs(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1380,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:1384,1
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/dighost.c:1392,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1394,1
    - Dst: cloneopts
      Src: /src/bind9/bin/dig/dighost.c:1399,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1401,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1404,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dig/dighost.c:1414,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:1414,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:1415,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:1415,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dig/dighost.c:1416,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1417,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:1419,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:1421,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 3
    argNames:
    - lookup
    - code
    - value
    argTypes:
    - dig_lookup_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1425
      start: 1371
    functionDepth: 2
    functionLinenumber: 1371
    functionLinenumberEnd: 1425
    functionName: save_opt
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - cloneopts
    - isc_hex_decodestring
    - INSIST
    - strcasecmp
    - isc_buffer_usedlength
    - isc_mem_free
    - strlen
    - isc_mem_allocate
    - isc_buffer_base
    - fatal
    - check_result
    - parse_uint
    - isc_buffer_init
    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:1436,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/dig/dighost.c:1438,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/bin/dig/dighost.c:1439,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1440,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: 1441
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1441
    functionName: add_question
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_makequestion
    - dns_message_gettemprdataset
    - debug
    - ISC_LIST_APPEND
    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:1453,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1454,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1454,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1457,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1460,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1461,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1463,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1463,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1464,1
    - Dst: dighost_shutdown
      Src: /src/bind9/bin/dig/dighost.c:1465,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:1468,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1471
    functionName: check_if_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - INSIST
    - isc_refcount_current
    - isc_nmhandle_detach
    - ISC_LIST_EMPTY
    - dighost_shutdown
    linkageType: ''
    returnType: void
    signature: void check_if_done(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1456
    functionDepth: 0
    functionLinenumber: 1456
    functionLinenumberEnd: 1458
    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:1480,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:1482,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1483,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1485,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: 1492
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1492
    functionName: check_if_queries_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_FOREACH
    - isc_refcount_current
    - debug
    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:1496,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1497,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:1497,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1499,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:1501,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:1503,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1504,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:1505,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1506,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/dig/dighost.c:1509,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1512,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:1513,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1516,1
    - Dst: dst_context_destroy
      Src: /src/bind9/bin/dig/dighost.c:1520,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1524,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1532,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1536,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1540,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/bin/dig/dighost.c:1544,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1548,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1552,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1556,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1560,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1563,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 53
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1564
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1564
    functionName: _destroy_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - isc_mem_put
    - dst_context_destroy
    - isc_tlsctx_cache_detach
    - ISC_LIST_EMPTY
    - isc_mem_free
    - ISC_LIST_FOREACH
    - ISC_LIST_DEQUEUE
    - isc_buffer_free
    - isc_refcount_destroy
    - dns_message_detach
    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: 1567
      start: 1566
    functionDepth: 0
    functionLinenumber: 1566
    functionLinenumberEnd: 1567
    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:1570,1
    - Dst: DIG_VALID_LOOKUP
      Src: /src/bind9/bin/dig/dighost.c:1570,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1571,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1573,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1574,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/bin/dig/dighost.c:1576,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: 1579
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1579
    functionName: _lookup_attach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - DIG_VALID_LOOKUP
    - isc_refcount_current
    - isc_refcount_increment
    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: 1582
      start: 1581
    functionDepth: 0
    functionLinenumber: 1581
    functionLinenumberEnd: 1582
    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:1584,1
    - Dst: DIG_VALID_LOOKUP
      Src: /src/bind9/bin/dig/dighost.c:1584,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1589,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1590,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/dig/dighost.c:1592,1
    - Dst: _destroy_lookup
      Src: /src/bind9/bin/dig/dighost.c:1593,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:1596,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: 1599
      start: 1582
    functionDepth: 2
    functionLinenumber: 1582
    functionLinenumberEnd: 1599
    functionName: _lookup_detach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - DIG_VALID_LOOKUP
    - isc_refcount_current
    - isc_refcount_decrement
    - start_lookup
    - _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:1603,1
    - Dst: DIG_VALID_LOOKUP
      Src: /src/bind9/bin/dig/dighost.c:1603,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1605,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/dig/dighost.c:1605,1
    - Dst: _destroy_lookup
      Src: /src/bind9/bin/dig/dighost.c:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1607
    functionName: destroy_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - DIG_VALID_LOOKUP
    - REQUIRE
    - _destroy_lookup
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void destroy_lookup(dig_lookup_t *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1615,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1616,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:1618,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:1620,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1622,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1624,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dig/dighost.c:1625,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dig/dighost.c:1628,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: 1629
      start: 1613
    functionDepth: 1
    functionLinenumber: 1613
    functionLinenumberEnd: 1629
    functionName: destroy_query
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - INSIST
    - isc_mem_put
    - isc_refcount_current
    - isc_mem_free
    - lookup_detach
    - 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: 1632
      start: 1631
    functionDepth: 0
    functionLinenumber: 1631
    functionLinenumberEnd: 1632
    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:1636,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:1636,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:1637,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1639,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1640,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/bin/dig/dighost.c:1642,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: 1645
      start: 1633
    functionDepth: 1
    functionLinenumber: 1633
    functionLinenumberEnd: 1645
    functionName: _query_attach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - isc_refcount_current
    - isc_refcount_increment
    - 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: 1648
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1648
    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:1654,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:1654,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:1662,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1665,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:1666,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/bin/dig/dighost.c:1668,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1669,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1670,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:1672,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dig/dighost.c:1673,1
    - Dst: destroy_query
      Src: /src/bind9/bin/dig/dighost.c:1675,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: 1677
      start: 1649
    functionDepth: 2
    functionLinenumber: 1649
    functionLinenumberEnd: 1677
    functionName: _query_detach
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - destroy_query
    - debug
    - INSIST
    - isc_refcount_current
    - query_detach
    - ISC_LINK_LINKED
    - isc_refcount_decrement
    - 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:1687,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1697,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1699,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:1710,1
    - Dst: setup_lookup
      Src: /src/bind9/bin/dig/dighost.c:1711,1
    - Dst: do_lookup
      Src: /src/bind9/bin/dig/dighost.c:1712,1
    - Dst: next_origin
      Src: /src/bind9/bin/dig/dighost.c:1713,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:1714,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:1715,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:1718,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1685
    functionDepth: 2
    functionLinenumber: 1685
    functionLinenumberEnd: 1720
    functionName: start_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 3
    functionsReached:
    - setup_lookup
    - debug
    - INSIST
    - ISC_LIST_HEAD
    - start_lookup
    - do_lookup
    - lookup_detach
    - ISC_LIST_DEQUEUE
    - next_origin
    - check_if_done
    linkageType: ''
    returnType: void
    signature: void start_lookup(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1731,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1733,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1736,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1741,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1745,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1746,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1751,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:1753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1727
    functionDepth: 1
    functionLinenumber: 1727
    functionLinenumberEnd: 1754
    functionName: clear_current_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - lookup_detach
    - ISC_LIST_HEAD
    - debug
    - INSIST
    linkageType: ''
    returnType: void
    signature: void clear_current_lookup(void)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1776,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1778,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/dig/dighost.c:1786,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/dig/dighost.c:1793,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1799,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1806,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dig/dighost.c:1807,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1811,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1817,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:1835,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:1838,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1839,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:1840,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:1841,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1844,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1848,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:1849,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1864,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:1865,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1868,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dighost.c:1869,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1871,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1872,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1875,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:1883,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1884,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:1890,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:1901,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1904,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1905,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1907,1
    - Dst: isc_random_uniform
      Src: /src/bind9/bin/dig/dighost.c:1908,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:1909,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:1912,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:1914,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:1915,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/bin/dig/dighost.c:1918,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: 1923
      start: 1762
    functionDepth: 5
    functionLinenumber: 1762
    functionLinenumberEnd: 1923
    functionName: followup_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - INSIST
    - dns_rdata_freestruct
    - cancel_lookup
    - ISC_LIST_INIT
    - dns_message_findtype
    - followup_lookup
    - dns_name_fullcompare
    - debug
    - isc_random_uniform
    - dns_name_format
    - ISC_LIST_NEXT
    - ISC_LIST_DEQUEUE
    - fatal
    - check_result
    - strlcpy
    - dns_rdata_tostruct
    - isc_result_totext
    - printf
    - ISC_LIST_HEAD
    - dns_rdataset_current
    - requeue_lookup
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - dns_fixedname_name
    - dighost_warning
    - getaddresses
    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:1786,1
    - Dst: dns_message_findtype
      Src: /src/bind9/bin/dig/dighost.c:1793,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1799,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1806,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dig/dighost.c:1807,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1811,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:1817,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:1835,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:1838,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1839,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:1840,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:1841,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1844,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1848,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:1849,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1864,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:1865,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1868,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dighost.c:1869,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1871,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1872,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1875,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 72
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1783
    functionDepth: 5
    functionLinenumber: 1783
    functionLinenumberEnd: 1881
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_name_fullcompare
    - debug
    - dns_name_format
    - requeue_lookup
    - printf
    - dns_rdata_freestruct
    - cancel_lookup
    - dns_rdataset_current
    - strlcpy
    - dns_fixedname_name
    - dighost_warning
    - check_result
    - getaddresses
    - dns_message_findtype
    - dns_rdata_tostruct
    - isc_result_totext
    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:1835,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:1838,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:1839,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:1840,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:1841,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1844,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1848,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:1849,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dig/dighost.c:1864,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:1865,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1868,1
    - Dst: getaddresses
      Src: /src/bind9/bin/dig/dighost.c:1869,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:1871,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:1872,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:1875,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1880
      start: 1824
    functionDepth: 5
    functionLinenumber: 1824
    functionLinenumberEnd: 1880
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - debug
    - dns_name_format
    - requeue_lookup
    - printf
    - dns_rdata_freestruct
    - cancel_lookup
    - dns_rdataset_current
    - dns_fixedname_name
    - check_result
    - getaddresses
    - strlcpy
    - dns_rdata_tostruct
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:1939,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1941,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1942,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:1955,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/dig/dighost.c:1956,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/bin/dig/dighost.c:1958,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/dig/dighost.c:1959,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1971,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:1972,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:1975,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:1979,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:1982,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 1
    argNames:
    - oldlookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1984
      start: 1931
    functionDepth: 5
    functionLinenumber: 1931
    functionLinenumberEnd: 1984
    functionName: next_origin
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - debug
    - INSIST
    - requeue_lookup
    - ISC_LIST_HEAD
    - cancel_lookup
    - ISC_LIST_NEXT
    - dns_fixedname_initname
    - dns_name_fromstring
    - dns_name_countlabels
    - dns_name_isabsolute
    linkageType: ''
    returnType: bool
    signature: bool next_origin(dig_lookup_t *oldlookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:1999,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/dighost.c:2009,1
    - Dst: dns_name_init
      Src: /src/bind9/bin/dig/dighost.c:2010,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2012,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2013,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2015,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/bin/dig/dighost.c:2018,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/dig/dighost.c:2020,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2022,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/bin/dig/dighost.c:2024,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/bin/dig/dighost.c:2026,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:2029,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dig/dighost.c:2031,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/dig/dighost.c:2033,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2034,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/dighost.c:2035,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:2036,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/dig/dighost.c:2037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 2038
    functionName: insert_soa
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_message_gettemprdata
    - dns_name_init
    - debug
    - dns_message_gettemprdatalist
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - dns_message_gettemprdataset
    - ISC_LIST_INIT
    - dns_name_clone
    - dns_message_gettempname
    - dns_rdatalist_tordataset
    - check_result
    - isc_buffer_init
    - dns_message_addname
    linkageType: ''
    returnType: void
    signature: void insert_soa(dig_lookup_t *lookup)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2043,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:2044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - clientcookie
    - len
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2045
      start: 2040
    functionDepth: 0
    functionLinenumber: 2040
    functionLinenumberEnd: 2045
    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: 2048
      start: 2047
    functionDepth: 0
    functionLinenumber: 2047
    functionLinenumberEnd: 2048
    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:2054,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2055,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:2060,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:2061,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:2064,1
    - Dst: isc_refcount_init
      Src: /src/bind9/bin/dig/dighost.c:2066,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2068,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:2069,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2072,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2075,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/dig/dighost.c:2078,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/bin/dig/dighost.c:2079,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:2081,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/dighost.c:2082,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: 2086
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2086
    functionName: _new_query
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_mem_get
    - isc_refcount_current
    - isc_time_settoepoch
    - lookup_attach
    - isc_mem_allocate
    - fatal
    - ISC_LINK_INIT
    - isc_refcount_init
    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: 56
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:2106,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2112,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2114,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/dig/dighost.c:2116,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2120,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:2124,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2125,1
    - Dst: clone_server_list
      Src: /src/bind9/bin/dig/dighost.c:2126,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/dig/dighost.c:2128,1
    - Dst: idn_input
      Src: /src/bind9/bin/dig/dighost.c:2138,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2139,1
    - Dst: count_dots
      Src: /src/bind9/bin/dig/dighost.c:2152,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:2157,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2163,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/bin/dig/dighost.c:2164,1
    - Dst: idn_input
      Src: /src/bind9/bin/dig/dighost.c:2169,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2170,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:2174,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2175,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:2176,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:2177,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2179,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2180,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2182,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2183,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2186,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/dighost.c:2191,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:2192,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2193,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:2194,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:2195,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/bin/dig/dighost.c:2197,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/bin/dig/dighost.c:2198,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/dighost.c:2202,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2206,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2208,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:2213,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2215,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2218,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2220,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dig/dighost.c:2222,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:2224,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2225,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:2226,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dig/dighost.c:2227,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/bin/dig/dighost.c:2230,1
    - Dst: warn
      Src: /src/bind9/bin/dig/dighost.c:2232,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2234,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:2236,1
    - Dst: cleanup_openssl_refs
      Src: /src/bind9/bin/dig/dighost.c:2239,1
    - Dst: digexit
      Src: /src/bind9/bin/dig/dighost.c:2240,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:2245,1
    - Dst: dighost_trying
      Src: /src/bind9/bin/dig/dighost.c:2246,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2247,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/bin/dig/dighost.c:2247,1
    - Dst: isc_random16
      Src: /src/bind9/bin/dig/dighost.c:2249,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2264,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2270,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2275,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2280,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2285,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2290,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2295,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2300,1
    - Dst: dns_message_addname
      Src: /src/bind9/bin/dig/dighost.c:2304,1
    - Dst: add_question
      Src: /src/bind9/bin/dig/dighost.c:2327,1
    - Dst: insert_soa
      Src: /src/bind9/bin/dig/dighost.c:2333,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2340,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/dig/dighost.c:2341,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2342,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2344,1
    - Dst: dns_message_setsig0key
      Src: /src/bind9/bin/dig/dighost.c:2345,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2346,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dig/dighost.c:2354,1
    - Dst: dns_compress_init
      Src: /src/bind9/bin/dig/dighost.c:2356,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2358,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2359,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/bin/dig/dighost.c:2360,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2362,1
    - Dst: dns_message_ednsinit
      Src: /src/bind9/bin/dig/dighost.c:2397,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2402,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2404,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2447,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2451,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:2454,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2457,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:2460,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dig/dighost.c:2463,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2466,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/bin/dig/dighost.c:2468,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:2470,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:2472,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dig/dighost.c:2481,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2486,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2488,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:2494,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dig/dighost.c:2496,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2498,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:2499,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:2500,1
    - Dst: compute_cookie
      Src: /src/bind9/bin/dig/dighost.c:2502,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2507,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2509,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2514,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2516,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2523,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2525,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2532,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2534,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2539,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2541,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/bin/dig/dighost.c:2548,1
    - Dst: dns_message_setpadding
      Src: /src/bind9/bin/dig/dighost.c:2549,1
    - Dst: dns_message_setopt
      Src: /src/bind9/bin/dig/dighost.c:2553,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2554,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/dig/dighost.c:2557,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2559,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/bin/dig/dighost.c:2560,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2562,1
    - Dst: dns_message_renderend
      Src: /src/bind9/bin/dig/dighost.c:2563,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:2564,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2565,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/bin/dig/dighost.c:2567,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:2572,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:2578,1
    - Dst: new_query
      Src: /src/bind9/bin/dig/dighost.c:2579,1
    - Dst: ISC_LIST_ENQUEUE
      Src: /src/bind9/bin/dig/dighost.c:2581,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 297
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2585
      start: 2094
    functionDepth: 3
    functionLinenumber: 2094
    functionLinenumberEnd: 2585
    functionName: setup_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - add_question
    - isc_hex_decodestring
    - memmove
    - INSIST
    - clone_server_list
    - isc_buffer_usedlength
    - dns_message_renderend
    - dns_message_ednsinit
    - isc_buffer_add
    - strlen
    - cleanup_openssl_refs
    - dighost_trying
    - count_dots
    - dns_message_setopt
    - ISC_LIST_ENQUEUE
    - debug
    - dns_name_fromtext
    - dns_name_concatenate
    - dns_name_format
    - warn
    - insert_soa
    - dns_message_ednsaddopt
    - dns_message_rendersection
    - isc_buffer_putuint16
    - fatal
    - dns_message_gettempname
    - check_result
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_result_totext
    - dns_compress_invalidate
    - new_query
    - compute_cookie
    - isc_buffer_putmem
    - dns_message_create
    - dns_message_setsig0key
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - idn_input
    - dns_name_clone
    - dns_message_puttempname
    - UNREACHABLE
    - dns_name_isabsolute
    - dns_message_addname
    - clear_current_lookup
    - isc_mem_get
    - dns_message_setpadding
    - dns_message_renderbegin
    - digexit
    - isc_buffer_base
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    - isc_random16
    - dns_message_settsigkey
    - dns_compress_init
    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:2595,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2598,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2599,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:2608,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:2609,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:2614,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2615,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2616,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:2617,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2619,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2620,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2623,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2624,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2626,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:2628,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:2630,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - l
    - q
    argTypes:
    - dig_lookup_t*
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2593
    functionDepth: 2
    functionLinenumber: 2593
    functionLinenumberEnd: 2633
    functionName: nssearch_next
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - clear_current_lookup
    - debug
    - INSIST
    - start_udp
    - query_detach
    - check_if_queries_done
    - cancel_lookup
    - ISC_LIST_NEXT
    - dighost_error
    - start_tcp
    - lookup_detach
    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:2644,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:2644,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2645,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2646,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2648,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2648,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:2650,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2651,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:2651,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2653,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:2655,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:2657,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2660,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:2662,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2664,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2665,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:2666,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2669,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:2669,1
    - Dst: nssearch_next
      Src: /src/bind9/bin/dig/dighost.c:2673,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2675,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:2676,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:2679,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: 2680
      start: 2639
    functionDepth: 3
    functionLinenumber: 2639
    functionLinenumberEnd: 2680
    functionName: send_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - INSIST
    - isc_refcount_decrement0
    - isc_refcount_current
    - query_detach
    - isc_nmhandle_detach
    - cancel_lookup
    - lookup_attach
    - lookup_detach
    - DIG_VALID_QUERY
    - check_if_done
    - nssearch_next
    - isc_result_totext
    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:2688,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:2689,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:2690,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:2690,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:2691,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2692,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/bin/dig/dighost.c:2696,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/bin/dig/dighost.c:2698,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2700,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:2704,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: 2705
      start: 2686
    functionDepth: 2
    functionLinenumber: 2686
    functionLinenumberEnd: 2705
    functionName: _cancel_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - debug
    - query_detach
    - isc_nm_cancelread
    - ISC_LIST_FOREACH
    - ISC_LIST_DEQUEUE
    - isc_nm_is_http_handle
    - DIG_VALID_QUERY
    - check_if_done
    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:2717,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2722
      start: 2707
    functionDepth: 1
    functionLinenumber: 2707
    functionLinenumberEnd: 2722
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:2731,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:2745,1
    - Dst: isc_tlsctx_cache_find
      Src: /src/bind9/bin/dig/dighost.c:2747,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:2753,1
    - Dst: isc_tls_cert_store_create
      Src: /src/bind9/bin/dig/dighost.c:2753,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:2760,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/bin/dig/dighost.c:2760,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/bin/dig/dighost.c:2763,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:2770,1
    - Dst: isc_tlsctx_enable_peer_verification
      Src: /src/bind9/bin/dig/dighost.c:2770,1
    - Dst: CHECK
      Src: /src/bind9/bin/dig/dighost.c:2778,1
    - Dst: isc_tlsctx_load_certificate
      Src: /src/bind9/bin/dig/dighost.c:2778,1
    - Dst: isc_tlsctx_enable_dot_client_alpn
      Src: /src/bind9/bin/dig/dighost.c:2784,1
    - Dst: isc_tlsctx_enable_http2client_alpn
      Src: /src/bind9/bin/dig/dighost.c:2789,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/bin/dig/dighost.c:2793,1
    - Dst: isc_tlsctx_cache_add
      Src: /src/bind9/bin/dig/dighost.c:2798,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/dig/dighost.c:2801,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2803,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2810,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2814,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/bin/dig/dighost.c:2818,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/bin/dig/dighost.c:2828,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 3
    argNames:
    - query
    - is_https
    - psess_cache
    argTypes:
    - dig_query_t*
    - bool
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2831
      start: 2724
    functionDepth: 1
    functionLinenumber: 2724
    functionLinenumberEnd: 2831
    functionName: get_create_tls_context
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_tlsctx_free
    - isc_tls_cert_store_create
    - isc_tlsctx_client_session_cache_create
    - isc_tlsctx_enable_dot_client_alpn
    - INSIST
    - RUNTIME_CHECK
    - isc_tlsctx_cache_add
    - isc_sockaddr_pf
    - isc_tls_cert_store_free
    - isc_tlsctx_enable_http2client_alpn
    - isc_tlsctx_load_certificate
    - isc_tlsctx_enable_peer_verification
    - CHECK
    - isc_tlsctx_createclient
    - isc_sockaddr_format
    - get_tls_sni_hostname
    - isc_tlsctx_cache_find
    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:2854,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:2854,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2856,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:2858,1
    - Dst: dig_lookup_is_tls
      Src: /src/bind9/bin/dig/dighost.c:2860,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:2880,1
    - Dst: get_address
      Src: /src/bind9/bin/dig/dighost.c:2882,1
    - Dst: force_next
      Src: /src/bind9/bin/dig/dighost.c:2889,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:2893,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/dig/dighost.c:2894,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:2899,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:2900,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:2901,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:2903,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:2904,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:2908,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:2910,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:2911,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:2913,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:2918,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/bin/dig/dighost.c:2920,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:2922,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:2925,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:2935,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/dig/dighost.c:2937,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/dig/dighost.c:2939,1
    - Dst: isc_nm_proxyheader_info_init
      Src: /src/bind9/bin/dig/dighost.c:2952,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:2959,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:2961,1
    - Dst: get_create_tls_context
      Src: /src/bind9/bin/dig/dighost.c:2964,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/dig/dighost.c:2969,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/bin/dig/dighost.c:2972,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/bin/dig/dighost.c:2977,1
    - Dst: get_create_tls_context
      Src: /src/bind9/bin/dig/dighost.c:2983,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/bin/dig/dighost.c:2990,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/bin/dig/dighost.c:2993,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/bin/dig/dighost.c:2997,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3008,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3012,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:3015,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3016,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3020,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3021,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3023,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:3025,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 116
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 2841
    functionDepth: 2
    functionLinenumber: 2841
    functionLinenumberEnd: 3027
    functionName: start_tcp
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - dig_lookup_is_tls
    - ISC_LINK_LINKED
    - get_address
    - isc_sockaddr_any6
    - isc_nm_streamdnsconnect
    - isc_nm_httpconnect
    - force_next
    - isc_sockaddr_any
    - debug
    - isc_netaddr_format
    - isc_nmhandle_detach
    - query_attach
    - isc_sockaddr_equal
    - ISC_LIST_NEXT
    - IN6_IS_ADDR_V4MAPPED
    - isc_sockaddr_pf
    - isc_nm_http_makeuri
    - query_detach
    - isc_netaddr_fromsockaddr
    - get_create_tls_context
    - isc_nm_proxyheader_info_init
    - start_tcp
    - get_tls_sni_hostname
    - clear_current_lookup
    - launch_next_query
    - dighost_warning
    - DIG_VALID_QUERY
    linkageType: ''
    returnType: void
    signature: void start_tcp(dig_query_t *query)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:3032,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:3033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3035
      start: 3029
    functionDepth: 1
    functionLinenumber: 3029
    functionLinenumberEnd: 3035
    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:3042,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/dighost.c:3044,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3045,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/bin/dig/dighost.c:3047,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:3049,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3052,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/dig/dighost.c:3054,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3055,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3056,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3056,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:3061,1
    - Dst: print_query_size
      Src: /src/bind9/bin/dig/dighost.c:3064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3067
      start: 3037
    functionDepth: 2
    functionLinenumber: 3037
    functionLinenumberEnd: 3067
    functionName: send_udp
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_time_now
    - isc_time_now_hires
    - debug
    - dighost_printmessage
    - isc_refcount_current
    - print_query_size
    - query_attach
    - isc_nm_send
    - isc_buffer_usedregion
    - isc_nmhandle_attach
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void send_udp(dig_query_t *query)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3078,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3078,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3079,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3081,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3086,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3090,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3092,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3092,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3095,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3098,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3100,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3102,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3103,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3104,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3109,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3109,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3110,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3111,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3113,1
    - Dst: nssearch_next
      Src: /src/bind9/bin/dig/dighost.c:3122,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3124,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3134,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:3136,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:3139,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3141,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3146,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3148,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3150,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:3153,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3154,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3156,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3157,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3165,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3167,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3171,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3172,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3173,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3173,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3179,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/bin/dig/dighost.c:3180,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:3182,1
    - Dst: send_udp
      Src: /src/bind9/bin/dig/dighost.c:3183,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3185,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3186,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: 3187
      start: 3069
    functionDepth: 5
    functionLinenumber: 3069
    functionLinenumberEnd: 3187
    functionName: udp_ready
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - ISC_LINK_LINKED
    - cancel_lookup
    - isc_sockaddr_format
    - debug
    - query_attach
    - ISC_LIST_NEXT
    - isc_result_totext
    - isc_nm_read
    - start_udp
    - isc_refcount_current
    - query_detach
    - dighost_error
    - lookup_attach
    - lookup_detach
    - nssearch_next
    - isc_refcount_increment0
    - send_udp
    - clear_current_lookup
    - requeue_lookup
    - isc_nmhandle_settimeout
    - isc_nmhandle_attach
    - dighost_warning
    - DIG_VALID_QUERY
    - check_if_done
    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:3200,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3200,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3202,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3204,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3205,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:3208,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3209,1
    - Dst: get_address
      Src: /src/bind9/bin/dig/dighost.c:3217,1
    - Dst: force_next
      Src: /src/bind9/bin/dig/dighost.c:3220,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:3224,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/bin/dig/dighost.c:3225,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:3230,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3231,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3232,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3233,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3234,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3236,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3237,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:3239,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/dig/dighost.c:3245,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/dig/dighost.c:3247,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/dig/dighost.c:3249,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3253,1
    - Dst: isc_nm_proxyheader_info_init
      Src: /src/bind9/bin/dig/dighost.c:3258,1
    - Dst: isc_nm_proxyudpconnect
      Src: /src/bind9/bin/dig/dighost.c:3263,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/bin/dig/dighost.c:3267,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 49
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3271
      start: 3194
    functionDepth: 2
    functionLinenumber: 3194
    functionLinenumberEnd: 3271
    functionName: start_udp
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_nm_proxyudpconnect
    - get_address
    - isc_sockaddr_any6
    - force_next
    - isc_sockaddr_any
    - debug
    - isc_netaddr_format
    - query_attach
    - ISC_LIST_NEXT
    - IN6_IS_ADDR_V4MAPPED
    - isc_sockaddr_pf
    - start_udp
    - query_detach
    - isc_netaddr_fromsockaddr
    - isc_nm_proxyheader_info_init
    - clear_current_lookup
    - launch_next_query
    - isc_nm_udpconnect
    - dighost_warning
    - DIG_VALID_QUERY
    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:3283,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3287,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3298,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3300,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:3303,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:3305,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3278
    functionDepth: 3
    functionLinenumber: 3278
    functionLinenumberEnd: 3309
    functionName: try_next_server
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - start_udp
    - query_detach
    - ISC_LINK_LINKED
    - ISC_LIST_NEXT
    - start_tcp
    linkageType: ''
    returnType: bool
    signature: bool try_next_server(dig_lookup_t *lookup)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3315,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3315,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3317,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3319,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3325,1
    - Dst: try_next_server
      Src: /src/bind9/bin/dig/dighost.c:3327,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3328,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:3339,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3340,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3341,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:3348,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3349,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3351,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:3353,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3354,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3361,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3362,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3363,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3364,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3311
    functionDepth: 4
    functionLinenumber: 3311
    functionLinenumberEnd: 3365
    functionName: force_next
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - clear_current_lookup
    - debug
    - INSIST
    - isc_refcount_decrement0
    - isc_netaddr_format
    - try_next_server
    - isc_refcount_current
    - printf
    - query_detach
    - isc_netaddr_fromsockaddr
    - cancel_lookup
    - dighost_error
    - lookup_attach
    - lookup_detach
    - 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:3379,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3379,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3380,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3382,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3384,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3387,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3388,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3389,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3390,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3394,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3395,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3396,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3396,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3402,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/bin/dig/dighost.c:3403,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/bin/dig/dighost.c:3408,1
    - Dst: isc_nm_xfr_checkperm
      Src: /src/bind9/bin/dig/dighost.c:3411,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3413,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3415,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:3416,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3417,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3418,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3419,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3420,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3425,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:3427,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3431,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/bin/dig/dighost.c:3433,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:3435,1
    - Dst: query_attach
      Src: /src/bind9/bin/dig/dighost.c:3438,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dig/dighost.c:3439,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3444,1
    - Dst: isc_nm_send
      Src: /src/bind9/bin/dig/dighost.c:3445,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:3446,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3447,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3448,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:3453,1
    - Dst: print_query_size
      Src: /src/bind9/bin/dig/dighost.c:3456,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3461,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 1
    argNames:
    - query
    argTypes:
    - dig_query_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3463
      start: 3371
    functionDepth: 2
    functionLinenumber: 3371
    functionLinenumberEnd: 3463
    functionName: launch_next_query
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - dighost_printmessage
    - cancel_lookup
    - isc_nm_socket_type
    - debug
    - isc_nmhandle_detach
    - query_attach
    - print_query_size
    - isc_result_totext
    - isc_time_now
    - isc_nm_read
    - isc_time_now_hires
    - isc_refcount_current
    - query_detach
    - dighost_error
    - lookup_attach
    - isc_nm_xfr_checkperm
    - lookup_detach
    - isc_refcount_increment0
    - clear_current_lookup
    - isc_refcount_decrement0
    - isc_nm_send
    - isc_nmhandle_settimeout
    - isc_buffer_usedregion
    - isc_nmhandle_attach
    - DIG_VALID_QUERY
    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:3477,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3477,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3478,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3480,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3485,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3489,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3491,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3491,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3495,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/dighost.c:3496,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3500,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3505,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3506,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3508,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/bin/dig/dighost.c:3512,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3516,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3520,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3523,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3524,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3525,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3530,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3531,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3532,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3533,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3535,1
    - Dst: nssearch_next
      Src: /src/bind9/bin/dig/dighost.c:3544,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3545,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3556,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:3558,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/bin/dig/dighost.c:3561,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3563,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3568,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3570,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3572,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:3575,1
    - Dst: check_if_done
      Src: /src/bind9/bin/dig/dighost.c:3576,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3578,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3579,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3591,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/bin/dig/dighost.c:3594,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:3597,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3598,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3599,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: 3600
      start: 3470
    functionDepth: 5
    functionLinenumber: 3470
    functionLinenumberEnd: 3600
    functionName: tcp_connected
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_nm_verify_tls_peer_result_string
    - ISC_LINK_LINKED
    - cancel_lookup
    - isc_sockaddr_format
    - debug
    - isc_nmhandle_detach
    - ISC_LIST_NEXT
    - cancel_all
    - isc_result_totext
    - query_detach
    - dighost_error
    - lookup_attach
    - start_tcp
    - lookup_detach
    - nssearch_next
    - clear_current_lookup
    - requeue_lookup
    - launch_next_query
    - puts
    - isc_nmhandle_attach
    - dighost_warning
    - DIG_VALID_QUERY
    - check_if_done
    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:3621,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/dighost.c:3635,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3636,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:3640,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:3643,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3653,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3662,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3676,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:3677,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3678,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:3680,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3684,1
    - Dst: isc_serial_ge
      Src: /src/bind9/bin/dig/dighost.c:3687,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3689,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3696,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3701,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3705,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3717,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3722,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3725,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3730,1
    - Dst: launch_next_query
      Src: /src/bind9/bin/dig/dighost.c:3731,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3732,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:3735,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: 3737
      start: 3608
    functionDepth: 3
    functionLinenumber: 3608
    functionLinenumberEnd: 3737
    functionName: check_for_more_data
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_serial_ge
    - dns_rdata_freestruct
    - ISC_LIST_EMPTY
    - isc_nmhandle_detach
    - query_detach
    - launch_next_query
    - puts
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - check_result
    - dns_rdata_tostruct
    - dighost_received
    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:3640,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:3643,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3653,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3662,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3676,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:3677,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3678,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:3680,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3684,1
    - Dst: isc_serial_ge
      Src: /src/bind9/bin/dig/dighost.c:3687,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3689,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3696,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3701,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3705,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3717,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3722,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3725,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3728
      start: 3639
    functionDepth: 1
    functionLinenumber: 3639
    functionLinenumberEnd: 3728
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_serial_ge
    - dns_rdata_freestruct
    - puts
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - check_result
    - dns_rdata_tostruct
    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:3643,1
    - Dst: puts
      Src: /src/bind9/bin/dig/dighost.c:3653,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3662,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3676,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/dighost.c:3677,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3678,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/dighost.c:3680,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3684,1
    - Dst: isc_serial_ge
      Src: /src/bind9/bin/dig/dighost.c:3687,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3689,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3696,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3701,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3705,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3717,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3722,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3725,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3726
      start: 3641
    functionDepth: 1
    functionLinenumber: 3641
    functionLinenumberEnd: 3726
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - debug
    - isc_serial_ge
    - dns_rdata_freestruct
    - puts
    - dns_rdataset_current
    - check_result
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:3750,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dig/dighost.c:3751,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3752,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:3753,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:3754,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3760,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dig/dighost.c:3762,1
    - Dst: isc_buffer_current
      Src: /src/bind9/bin/dig/dighost.c:3762,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3765,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3770,1
    - Dst: isc_buffer_current
      Src: /src/bind9/bin/dig/dighost.c:3777,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:3779,1
    - Dst: isc_hex_totext
      Src: /src/bind9/bin/dig/dighost.c:3780,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:3781,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dig/dighost.c:3782,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dig/dighost.c:3783,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/dig/dighost.c:3787,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: 3788
      start: 3739
    functionDepth: 1
    functionLinenumber: 3739
    functionLinenumberEnd: 3788
    functionName: process_cookie
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_buffer_current
    - isc_hex_decodestring
    - isc_safe_memequal
    - INSIST
    - isc_buffer_usedlength
    - isc_buffer_forward
    - isc_buffer_putuint8
    - isc_buffer_base
    - isc_buffer_availablelength
    - isc_hex_totext
    - dighost_warning
    - check_result
    - isc_buffer_init
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dig/dighost.c:3799,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dig/dighost.c:3801,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/dighost.c:3802,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:3803,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:3804,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/dig/dighost.c:3805,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/bin/dig/dighost.c:3806,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/bin/dig/dighost.c:3807,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/dig/dighost.c:3808,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/dig/dighost.c:3817,1
    - Dst: process_cookie
      Src: /src/bind9/bin/dig/dighost.c:3820,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/bin/dig/dighost.c:3824,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - l
    - msg
    argTypes:
    - dig_lookup_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3829
      start: 3790
    functionDepth: 1
    functionLinenumber: 3790
    functionLinenumberEnd: 3829
    functionName: process_opt
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - dns_rdataset_first
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc_buffer_add
    - dns_rdataset_current
    - isc_buffer_getuint16
    - process_cookie
    - isc_buffer_init
    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: 3834
      start: 3831
    functionDepth: 0
    functionLinenumber: 3831
    functionLinenumberEnd: 3834
    functionName: ednsvers
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int ednsvers(dns_rdataset_t *opt)
  - BBCount: 102
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3859,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:3859,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:3860,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:3861,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3863,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3863,1
    - Dst: isc_refcount_decrement0
      Src: /src/bind9/bin/dig/dighost.c:3866,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3867,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:3867,1
    - Dst: lookup_attach
      Src: /src/bind9/bin/dig/dighost.c:3869,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3874,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3875,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/dighost.c:3877,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:3879,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3881,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:3882,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:3883,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/bin/dig/dighost.c:3888,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dig/dighost.c:3890,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3894,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3894,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3914,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3917,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3918,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:3924,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:3934,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/dighost.c:3948,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:3949,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:3950,1
    - Dst: new_query
      Src: /src/bind9/bin/dig/dighost.c:3960,1
    - Dst: ISC_LIST_INSERTAFTER
      Src: /src/bind9/bin/dig/dighost.c:3961,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:3963,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3967,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:3969,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:3971,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:3982,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:3984,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:3987,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:3992,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4000,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4003,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:4005,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:4007,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:4010,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:4021,1
    - Dst: dighost_error
      Src: /src/bind9/bin/dig/dighost.c:4022,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:4029,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:4036,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:4037,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/bin/dig/dighost.c:4039,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/bin/dig/dighost.c:4041,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4048,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4061,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4069,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4073,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4079,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4087,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4088,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4089,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4090,1
    - Dst: dns_message_create
      Src: /src/bind9/bin/dig/dighost.c:4094,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4099,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/bin/dig/dighost.c:4100,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4102,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/bin/dig/dighost.c:4104,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/bin/dig/dighost.c:4105,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4106,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4115,1
    - Dst: dns_message_parse
      Src: /src/bind9/bin/dig/dighost.c:4122,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4124,1
    - Dst: printf
      Src: /src/bind9/bin/dig/dighost.c:4128,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:4129,1
    - Dst: hex_dump
      Src: /src/bind9/bin/dig/dighost.c:4130,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:4138,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/bin/dig/dighost.c:4139,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4140,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dig/dighost.c:4142,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/bin/dig/dighost.c:4143,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4144,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4146,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4149,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4150,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4151,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4152,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4159,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4162,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:4167,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dig/dighost.c:4170,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:4175,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/dighost.c:4177,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/dighost.c:4180,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4183,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4202,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4203,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4204,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4205,1
    - Dst: ednsvers
      Src: /src/bind9/bin/dig/dighost.c:4212,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4215,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4216,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4216,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4222,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4229,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:4231,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4242,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4243,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4243,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4247,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4249,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:4250,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4261,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4264,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4265,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4265,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4268,1
    - Dst: requeue_lookup
      Src: /src/bind9/bin/dig/dighost.c:4271,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/dighost.c:4291,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4293,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4296,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4299,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:4301,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:4303,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:4305,1
    - Dst: dighost_comments
      Src: /src/bind9/bin/dig/dighost.c:4311,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/bin/dig/dighost.c:4317,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4319,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:4320,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4326,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:4327,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/bin/dig/dighost.c:4329,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4331,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/bin/dig/dighost.c:4334,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4336,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4361,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/bin/dig/dighost.c:4362,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4369,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4372,1
    - Dst: process_opt
      Src: /src/bind9/bin/dig/dighost.c:4375,1
    - Dst: next_origin
      Src: /src/bind9/bin/dig/dighost.c:4383,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4384,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4385,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4385,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4389,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4394,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4396,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:4404,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:4408,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4415,1
    - Dst: followup_lookup
      Src: /src/bind9/bin/dig/dighost.c:4424,1
    - Dst: dighost_printmessage
      Src: /src/bind9/bin/dig/dighost.c:4435,1
    - Dst: check_if_queries_done
      Src: /src/bind9/bin/dig/dighost.c:4437,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4443,1
    - Dst: check_for_more_data
      Src: /src/bind9/bin/dig/dighost.c:4451,1
    - Dst: dighost_received
      Src: /src/bind9/bin/dig/dighost.c:4465,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4465,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/bin/dig/dighost.c:4482,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4483,1
    - Dst: cancel_lookup
      Src: /src/bind9/bin/dig/dighost.c:4485,1
    - Dst: dns_message_detach
      Src: /src/bind9/bin/dig/dighost.c:4489,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4491,1
    - Dst: clear_current_lookup
      Src: /src/bind9/bin/dig/dighost.c:4493,1
    CyclomaticComplexity: 173
    EdgeCount: 173
    ICount: 460
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4495
      start: 3840
    functionDepth: 6
    functionLinenumber: 3840
    functionLinenumberEnd: 4495
    functionName: recv_done
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_message_getquerytsig
    - INSIST
    - isc_buffer_usedlength
    - dighost_printmessage
    - hex_dump
    - check_if_queries_done
    - cancel_lookup
    - isc_buffer_add
    - ISC_LIST_INSERTAFTER
    - isc_sockaddr_format
    - followup_lookup
    - debug
    - dns_name_format
    - isc_nmhandle_detach
    - dns_message_parse
    - ISC_LIST_NEXT
    - cancel_all
    - dns_tsig_verify
    - dighost_comments
    - check_result
    - isc_buffer_init
    - isc_result_totext
    - dighost_received
    - isc_time_now
    - new_query
    - isc_nm_read
    - isc_time_now_hires
    - start_udp
    - dns_name_equal
    - dns_rdatatype_format
    - dns_message_create
    - isc_refcount_current
    - query_detach
    - printf
    - dns_message_peekheader
    - ednsvers
    - dighost_error
    - lookup_attach
    - dns_rdataclass_format
    - start_tcp
    - isc_nmhandle_peeraddr
    - lookup_detach
    - check_for_more_data
    - isc_refcount_increment0
    - clear_current_lookup
    - process_opt
    - dns_message_setquerytsig
    - dns_opcode_totext
    - isc_refcount_decrement0
    - isc_buffer_remaininglength
    - requeue_lookup
    - isc_nmhandle_settimeout
    - ISC_LIST_FOREACH
    - isc_buffer_free
    - next_origin
    - dighost_warning
    - DIG_VALID_QUERY
    - dns_message_detach
    - dns_message_settsigkey
    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:4167,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dig/dighost.c:4170,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/dighost.c:4175,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/dighost.c:4177,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/dighost.c:4180,1
    - Dst: dighost_warning
      Src: /src/bind9/bin/dig/dighost.c:4183,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/bin/dig/dighost.c:4202,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4203,1
    - Dst: isc_refcount_current
      Src: /src/bind9/bin/dig/dighost.c:4204,1
    - Dst: isc_nm_read
      Src: /src/bind9/bin/dig/dighost.c:4205,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4208
      start: 4166
    functionDepth: 1
    functionLinenumber: 4166
    functionLinenumberEnd: 4208
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - debug
    - dns_name_equal
    - dns_rdatatype_format
    - dns_name_format
    - isc_refcount_current
    - dns_rdataclass_format
    - ISC_LIST_FOREACH
    - dighost_warning
    - isc_refcount_increment0
    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:4507,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/dig/dighost.c:4508,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/dighost.c:4509,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4514,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: 4517
      start: 4502
    functionDepth: 1
    functionLinenumber: 4502
    functionLinenumberEnd: 4517
    functionName: get_address
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc_getaddresses
    - isc_loopmgr_nonblocking
    - isc_loopmgr_blocking
    - 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:4528,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/dig/dighost.c:4529,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/dighost.c:4531,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dig/dighost.c:4532,1
    - Dst: fatal
      Src: /src/bind9/bin/dig/dighost.c:4535,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dig/dighost.c:4536,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/bin/dig/dighost.c:4542,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/bin/dig/dighost.c:4543,1
    - Dst: make_server
      Src: /src/bind9/bin/dig/dighost.c:4544,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/dighost.c:4545,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: 4549
      start: 4519
    functionDepth: 2
    functionLinenumber: 4519
    functionLinenumberEnd: 4549
    functionName: getaddresses
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 9
    functionsReached:
    - isc_netaddr_format
    - SET_IF_NOT_NULL
    - ISC_LIST_APPEND
    - isc_netaddr_fromsockaddr
    - fatal
    - isc_getaddresses
    - isc_loopmgr_nonblocking
    - isc_loopmgr_blocking
    - make_server
    - isc_result_totext
    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:4558,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4560,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:4562,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/dig/dighost.c:4564,1
    - Dst: DIG_VALID_QUERY
      Src: /src/bind9/bin/dig/dighost.c:4564,1
    - Dst: start_tcp
      Src: /src/bind9/bin/dig/dighost.c:4566,1
    - Dst: start_udp
      Src: /src/bind9/bin/dig/dighost.c:4568,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - lookup
    argTypes:
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4571
      start: 4554
    functionDepth: 3
    functionLinenumber: 4554
    functionLinenumberEnd: 4571
    functionName: do_lookup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - debug
    - start_udp
    - ISC_LIST_HEAD
    - 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:4578,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:4580,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4581
      start: 4576
    functionDepth: 3
    functionLinenumber: 4576
    functionLinenumberEnd: 4581
    functionName: onrun_callback
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - start_lookup
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void onrun_callback(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dighost.c:4585,1
    - Dst: start_lookup
      Src: /src/bind9/bin/dig/dighost.c:4587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4588
      start: 4583
    functionDepth: 3
    functionLinenumber: 4583
    functionLinenumberEnd: 4588
    functionName: run_loop
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - start_lookup
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void run_loop(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4596,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/dighost.c:4605,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4606,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/bin/dig/dighost.c:4610,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/bin/dig/dighost.c:4612,1
    - Dst: query_detach
      Src: /src/bind9/bin/dig/dighost.c:4614,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4621,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:4625,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4628
      start: 4594
    functionDepth: 1
    functionLinenumber: 4594
    functionLinenumberEnd: 4628
    functionName: cancel_all
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 4
    functionsReached:
    - debug
    - query_detach
    - isc_nm_cancelread
    - ISC_LIST_FOREACH
    - ISC_LIST_DEQUEUE
    - lookup_detach
    - isc_nm_is_http_handle
    linkageType: ''
    returnType: void
    signature: void cancel_all(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/bin/dig/dighost.c:4625,1
    - Dst: lookup_detach
      Src: /src/bind9/bin/dig/dighost.c:4626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4627
      start: 4624
    functionDepth: 1
    functionLinenumber: 4624
    functionLinenumberEnd: 4627
    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:4633,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/bin/dig/dighost.c:4634,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4638,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dig/dighost.c:4639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4641
      start: 4630
    functionDepth: 1
    functionLinenumber: 4630
    functionLinenumberEnd: 4641
    functionName: cleanup_openssl_refs
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - dns_tsigkey_detach
    - dst_key_free
    - debug
    linkageType: ''
    returnType: void
    signature: void cleanup_openssl_refs(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4649,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:4651,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/bin/dig/dighost.c:4652,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4654,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/dighost.c:4654,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4655,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4656,1
    - Dst: flush_server_list
      Src: /src/bind9/bin/dig/dighost.c:4660,1
    - Dst: clear_searchlist
      Src: /src/bind9/bin/dig/dighost.c:4662,1
    - Dst: cleanup_openssl_refs
      Src: /src/bind9/bin/dig/dighost.c:4664,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4667,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dig/dighost.c:4668,1
    - Dst: debug
      Src: /src/bind9/bin/dig/dighost.c:4671,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dig/dighost.c:4673,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/dig/dighost.c:4676,1
    - Dst: isc__crypto_setdestroycheck
      Src: /src/bind9/bin/dig/dighost.c:4679,1
    - Dst: isc__uv_setdestroycheck
      Src: /src/bind9/bin/dig/dighost.c:4680,1
    - Dst: isc__xml_setdestroycheck
      Src: /src/bind9/bin/dig/dighost.c:4681,1
    - Dst: isc_mem_checkdestroyed
      Src: /src/bind9/bin/dig/dighost.c:4684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4685
      start: 4647
    functionDepth: 2
    functionLinenumber: 4647
    functionLinenumberEnd: 4685
    functionName: destroy_libs
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 2
    functionsReached:
    - isc__crypto_setdestroycheck
    - debug
    - INSIST
    - isc__xml_setdestroycheck
    - isc_buffer_free
    - ISC_LIST_HEAD
    - isc_managers_destroy
    - isc__uv_setdestroycheck
    - isc_mem_checkdestroyed
    - cleanup_openssl_refs
    - clear_searchlist
    - flush_server_list
    - isc_refcount_destroy
    - isc_mem_stats
    linkageType: ''
    returnType: void
    signature: void destroy_libs(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dig/dighost.c:4699,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4700,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:4701,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/dig/dighost.c:4701,1
    - Dst: systemlocale
      Src: /src/bind9/bin/dig/dighost.c:4707,1
    - Dst: idn2_to_unicode_8zlz
      Src: /src/bind9/bin/dig/dighost.c:4708,1
    - Dst: idn2_to_unicode_8zlz
      Src: /src/bind9/bin/dig/dighost.c:4710,1
    - Dst: resetlocale
      Src: /src/bind9/bin/dig/dighost.c:4712,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/dighost.c:4720,1
    - Dst: isc_buffer_length
      Src: /src/bind9/bin/dig/dighost.c:4721,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/bin/dig/dighost.c:4724,1
    - Dst: memmove
      Src: /src/bind9/bin/dig/dighost.c:4725,1
    - Dst: isc_buffer_used
      Src: /src/bind9/bin/dig/dighost.c:4725,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dig/dighost.c:4726,1
    - Dst: idn2_free
      Src: /src/bind9/bin/dig/dighost.c:4728,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - buffer
    - start
    argTypes:
    - isc_buffer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4730
      start: 4689
    functionDepth: 1
    functionLinenumber: 4689
    functionLinenumberEnd: 4730
    functionName: idn_filter
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 0
    functionsReached:
    - isc_buffer_subtract
    - memmove
    - INSIST
    - isc_buffer_length
    - isc_buffer_usedlength
    - isc_buffer_used
    - isc_buffer_add
    - isc_buffer_base
    - strlen
    - resetlocale
    - idn2_to_unicode_8zlz
    - systemlocale
    - idn2_free
    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:4754,1
    - Dst: idn2_to_ascii_lz
      Src: /src/bind9/bin/dig/dighost.c:4755,1
    - Dst: idn2_to_ascii_lz
      Src: /src/bind9/bin/dig/dighost.c:4757,1
    - Dst: resetlocale
      Src: /src/bind9/bin/dig/dighost.c:4759,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/dighost.c:4767,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:4768,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/dighost.c:4770,1
    - Dst: INSIST
      Src: /src/bind9/bin/dig/dighost.c:4772,1
    - Dst: idn2_free
      Src: /src/bind9/bin/dig/dighost.c:4773,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - src
    - dst
    - dstlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4774
      start: 4739
    functionDepth: 1
    functionLinenumber: 4739
    functionLinenumberEnd: 4774
    functionName: idn_input
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - INSIST
    - idn2_to_ascii_lz
    - resetlocale
    - systemlocale
    - idn2_free
    - strlcpy
    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:4782,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/dighost.c:4784,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dighost.c:4786,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/dighost.c:4787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - lookup
    - active
    argTypes:
    - dig_lookup_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4790
      start: 4778
    functionDepth: 1
    functionLinenumber: 4778
    functionLinenumberEnd: 4790
    functionName: dig_idnsetup
    functionSourceFile: /src/bind9/bin/dig/dighost.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - check_result
    - 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: 4799
      start: 4792
    functionDepth: 0
    functionLinenumber: 4792
    functionLinenumberEnd: 4799
    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_name_format
    - printf
    - dns_rdata_freestruct
    - check_result
    - dns_rdata_tostruct
    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_usedlength
    - dns_rdata_totext
    - printf
    - isc_buffer_base
    - check_result
    - isc_buffer_init
    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
    - isc_buffer_usedlength
    - dns_rdata_totext
    - printf
    - isc_buffer_base
    - isc_buffer_allocate
    - isc_buffer_free
    - check_result
    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:
    - UNUSED
    - debug
    - dns_name_format
    - printaddr
    - printsoa
    - printf
    - printrdata
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    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_name_format
    - printaddr
    - printsoa
    - printf
    - printrdata
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    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_name_format
    - printaddr
    - printsoa
    - printf
    - printrdata
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 10
    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: UNREACHABLE
      Src: /src/bind9/bin/dig/nslookup.c:268,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dig/nslookup.c:273,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:275,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:276,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/nslookup.c:277,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:279,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/nslookup.c:280,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:282,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:286,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:288,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:289,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:293,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:296,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:297,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:299,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 4
    argNames:
    - query
    - msg
    - headers
    - section
    argTypes:
    - dig_query_t*
    - dns_message_t*
    - bool
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 304
    functionName: detailsection
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - debug
    - dns_name_format
    - dns_rdatatype_format
    - printsoa
    - printf
    - printrdata
    - dns_rdataclass_format
    - puts
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - UNREACHABLE
    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:273,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:275,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:276,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dig/nslookup.c:277,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:279,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/bin/dig/nslookup.c:280,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:282,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:286,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:288,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:289,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:293,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:296,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:297,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:299,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 272
    functionDepth: 2
    functionLinenumber: 272
    functionLinenumberEnd: 302
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_format
    - dns_name_format
    - printsoa
    - printf
    - printrdata
    - dns_rdataclass_format
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    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:286,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:288,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:289,1
    - Dst: printsoa
      Src: /src/bind9/bin/dig/nslookup.c:293,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:296,1
    - Dst: printrdata
      Src: /src/bind9/bin/dig/nslookup.c:297,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:299,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 284
    functionDepth: 2
    functionLinenumber: 284
    functionLinenumberEnd: 300
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - printsoa
    - printf
    - printrdata
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:308,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:309,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:310,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: 311
      start: 306
    functionDepth: 0
    functionLinenumber: 306
    functionLinenumberEnd: 311
    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:315,1
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - frm
    - lookup
    argTypes:
    - char*
    - dig_lookup_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 313
    functionDepth: 0
    functionLinenumber: 313
    functionLinenumberEnd: 317
    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:329,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dig/nslookup.c:335,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:336,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dig/nslookup.c:337,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dig/nslookup.c:338,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dig/nslookup.c:339,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:340,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/nslookup.c:341,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dig/nslookup.c:342,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - msg
    - qname
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 344
    functionName: chase_cnamechain
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - dns_rdataset_first
    - dns_message_findname
    - dns_rdata_reset
    - dns_rdata_freestruct
    - dns_rdataset_current
    - check_result
    - dns_rdata_tostruct
    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:349,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:354,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/nslookup.c:358,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:360,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:361,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:363,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:367,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:369,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:370,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:371,1
    - Dst: detailsection
      Src: /src/bind9/bin/dig/nslookup.c:372,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:373,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:378,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:380,1
    - Dst: rcode_totext
      Src: /src/bind9/bin/dig/nslookup.c:381,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:382,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dig/nslookup.c:396,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dig/nslookup.c:397,1
    - Dst: chase_cnamechain
      Src: /src/bind9/bin/dig/nslookup.c:398,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dig/nslookup.c:399,1
    - Dst: clone_lookup
      Src: /src/bind9/bin/dig/nslookup.c:400,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:402,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/nslookup.c:408,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:415,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dig/nslookup.c:417,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/nslookup.c:418,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:427,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:436,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/nslookup.c:437,1
    - Dst: printsection
      Src: /src/bind9/bin/dig/nslookup.c:438,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: 441
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 441
    functionName: printmessage
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 4
    functionsReached:
    - dns_name_copy
    - UNUSED
    - detailsection
    - debug
    - printsection
    - dns_name_format
    - chase_cnamechain
    - printf
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - rcode_totext
    - dns_fixedname_initname
    - puts
    - clone_lookup
    - isc_sockaddr_format
    - strlcpy
    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:451,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:452,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/nslookup.c:454,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:455,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:464,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:471,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:472,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:474,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/nslookup.c:475,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:476,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:479,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 2
    argNames:
    - full
    - serv_only
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 443
    functionDepth: 2
    functionLinenumber: 443
    functionLinenumberEnd: 480
    functionName: show_settings
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - printf
    - ISC_LIST_NEXT
    - check_result
    - get_address
    - isc_sockaddr_format
    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:451,1
    - Dst: check_result
      Src: /src/bind9/bin/dig/nslookup.c:452,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/dig/nslookup.c:454,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:455,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 448
    functionDepth: 2
    functionLinenumber: 448
    functionLinenumberEnd: 460
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 69
    functionsReached:
    - isc_sockaddr_format
    - printf
    - check_result
    - get_address
    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:474,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/bin/dig/nslookup.c:475,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 478
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 478
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 69
    functionsReached:
    - ISC_LIST_NEXT
    - printf
    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:489,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:490,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - typetext
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 497
    functionName: testtype
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_fromtext
    - strlen
    - printf
    linkageType: ''
    returnType: bool
    signature: bool testtype(char *typetext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:506,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:507,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - typetext
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 514
    functionName: testclass
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - strlen
    - printf
    - dns_rdataclass_fromtext
    linkageType: ''
    returnType: bool
    signature: bool testclass(char *typetext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: parse_uint
      Src: /src/bind9/bin/dig/nslookup.c:519,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 524
    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:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 526
    functionDepth: 0
    functionLinenumber: 526
    functionLinenumberEnd: 533
    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:538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 535
    functionDepth: 0
    functionLinenumber: 535
    functionLinenumberEnd: 542
    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:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - value
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 551
    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:555,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:560,1
    - Dst: show_settings
      Src: /src/bind9/bin/dig/nslookup.c:561,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:562,1
    - Dst: testclass
      Src: /src/bind9/bin/dig/nslookup.c:563,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:564,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:566,1
    - Dst: testclass
      Src: /src/bind9/bin/dig/nslookup.c:567,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:568,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:570,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:571,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:572,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:575,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:576,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:577,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:580,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:581,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:582,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:585,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:586,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:587,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:590,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:591,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:592,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:595,1
    - Dst: testtype
      Src: /src/bind9/bin/dig/nslookup.c:596,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:597,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:600,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:601,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/nslookup.c:602,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:604,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:605,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/nslookup.c:606,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_port
      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: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:614,1
    - Dst: set_timeout
      Src: /src/bind9/bin/dig/nslookup.c:615,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:616,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:618,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: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:622,1
    - Dst: set_tries
      Src: /src/bind9/bin/dig/nslookup.c:623,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:628,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:631,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:634,1
    - Dst: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:637,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: CHECKOPT
      Src: /src/bind9/bin/dig/nslookup.c:652,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:654,1
    - Dst: set_ndots
      Src: /src/bind9/bin/dig/nslookup.c:655,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:657,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 131
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 659
    functionName: setoption
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 10
    functionsReached:
    - strncasecmp
    - show_settings
    - set_timeout
    - set_port
    - set_search_domain
    - printf
    - CHECKOPT
    - strlen
    - set_tries
    - set_ndots
    - testtype
    - strlcpy
    - testclass
    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: 559
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 559
    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:670,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:675,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:676,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:678,1
    - Dst: strlen
      Src: /src/bind9/bin/dig/nslookup.c:682,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dig/nslookup.c:683,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:685,1
    - Dst: make_empty_lookup
      Src: /src/bind9/bin/dig/nslookup.c:688,1
    - Dst: get_reverse
      Src: /src/bind9/bin/dig/nslookup.c:689,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:690,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:694,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:725,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dig/nslookup.c:726,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dig/nslookup.c:727,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:729,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:730,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 60
    argCount: 1
    argNames:
    - opt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 731
    functionName: addlookup
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - debug
    - dns_rdataclass_fromtext
    - printf
    - ISC_LIST_APPEND
    - make_empty_lookup
    - dns_rdatatype_fromtext
    - strlen
    - ISC_LIST_INIT
    - get_reverse
    - strlcpy
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: void addlookup(char *opt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/nslookup.c:737,1
    - Dst: strtok_r
      Src: /src/bind9/bin/dig/nslookup.c:740,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:741,1
    - Dst: setoption
      Src: /src/bind9/bin/dig/nslookup.c:742,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:743,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:744,1
    - Dst: set_nameserver
      Src: /src/bind9/bin/dig/nslookup.c:746,1
    - Dst: show_settings
      Src: /src/bind9/bin/dig/nslookup.c:748,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:749,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:751,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:751,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:752,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:753,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:754,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:754,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dig/nslookup.c:755,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:757,1
    - Dst: addlookup
      Src: /src/bind9/bin/dig/nslookup.c:759,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 24
    argCount: 1
    argNames:
    - input
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 733
    functionDepth: 4
    functionLinenumber: 733
    functionLinenumberEnd: 761
    functionName: do_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - show_settings
    - set_nameserver
    - strcasecmp
    - printf
    - setoption
    - strtok_r
    - addlookup
    linkageType: ''
    returnType: void
    signature: void do_next_command(char *input)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:767,1
    - Dst: isc_loopmgr_blocking
      Src: /src/bind9/bin/dig/nslookup.c:769,1
    - Dst: readline
      Src: /src/bind9/bin/dig/nslookup.c:770,1
    - Dst: isc_loopmgr_nonblocking
      Src: /src/bind9/bin/dig/nslookup.c:771,1
    - Dst: add_history
      Src: /src/bind9/bin/dig/nslookup.c:777,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dig/nslookup.c:778,1
    - Dst: free
      Src: /src/bind9/bin/dig/nslookup.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 782
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 782
    functionName: readline_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - readline
    - add_history
    - free
    - isc_loopmgr_nonblocking
    - isc_loopmgr_blocking
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void readline_next_command(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:786,1
    - Dst: fgets
      Src: /src/bind9/bin/dig/nslookup.c:788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 789
      start: 784
    functionDepth: 0
    functionLinenumber: 784
    functionLinenumberEnd: 789
    functionName: fgets_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - fgets
    linkageType: ''
    returnType: void
    signature: void fgets_next_command(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dig/nslookup.c:796,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: fprintf
      Src: /src/bind9/bin/dig/nslookup.c:803,1
    - Dst: exit
      Src: /src/bind9/bin/dig/nslookup.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 806
    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:814,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dig/nslookup.c:816,1
    - Dst: printf
      Src: /src/bind9/bin/dig/nslookup.c:817,1
    - Dst: exit
      Src: /src/bind9/bin/dig/nslookup.c:818,1
    - Dst: setoption
      Src: /src/bind9/bin/dig/nslookup.c:820,1
    - Dst: addlookup
      Src: /src/bind9/bin/dig/nslookup.c:828,1
    - Dst: usage
      Src: /src/bind9/bin/dig/nslookup.c:831,1
    - Dst: set_nameserver
      Src: /src/bind9/bin/dig/nslookup.c:833,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 808
    functionDepth: 4
    functionLinenumber: 808
    functionLinenumberEnd: 838
    functionName: parse_args
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 9
    functionsReached:
    - strncasecmp
    - set_nameserver
    - debug
    - printf
    - setoption
    - addlookup
    - exit
    - usage
    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:845,1
    - Dst: do_next_command
      Src: /src/bind9/bin/dig/nslookup.c:849,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dig/nslookup.c:850,1
    - Dst: isc_async_run
      Src: /src/bind9/bin/dig/nslookup.c:851,1
    - Dst: start_next_command
      Src: /src/bind9/bin/dig/nslookup.c:856,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 857
      start: 843
    functionDepth: 1
    functionLinenumber: 843
    functionLinenumberEnd: 857
    functionName: process_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 0
    functionsReached:
    - isc_loop_main
    - do_next_command
    - ISC_LIST_HEAD
    - isc_async_run
    - start_next_command
    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:861,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dig/nslookup.c:863,1
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/bin/dig/nslookup.c:869,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/bin/dig/nslookup.c:871,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/bin/dig/nslookup.c:874,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/bin/dig/nslookup.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 878
    functionName: start_next_command
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 1
    functionsReached:
    - isc_loop_main
    - isc_loopmgr_shutdown
    - isc_loopmgr_pause
    - isc_loopmgr_resume
    - isc_work_enqueue
    linkageType: ''
    returnType: void
    signature: void start_next_command(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dig/nslookup.c:882,1
    - Dst: start_next_command
      Src: /src/bind9/bin/dig/nslookup.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 880
    functionDepth: 2
    functionLinenumber: 880
    functionLinenumberEnd: 885
    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:889,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:891,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:892,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dig/nslookup.c:893,1
    - Dst: setup_libs
      Src: /src/bind9/bin/dig/nslookup.c:903,1
    - Dst: setup_system
      Src: /src/bind9/bin/dig/nslookup.c:905,1
    - Dst: parse_args
      Src: /src/bind9/bin/dig/nslookup.c:906,1
    - Dst: setup_file_key
      Src: /src/bind9/bin/dig/nslookup.c:908,1
    - Dst: setup_text_key
      Src: /src/bind9/bin/dig/nslookup.c:910,1
    - Dst: set_search_domain
      Src: /src/bind9/bin/dig/nslookup.c:913,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/nslookup.c:916,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dig/nslookup.c:918,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dig/nslookup.c:922,1
    - Dst: puts
      Src: /src/bind9/bin/dig/nslookup.c:924,1
    - Dst: debug
      Src: /src/bind9/bin/dig/nslookup.c:925,1
    - Dst: cancel_all
      Src: /src/bind9/bin/dig/nslookup.c:926,1
    - Dst: destroy_libs
      Src: /src/bind9/bin/dig/nslookup.c:927,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 34
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 887
    functionDepth: 4
    functionLinenumber: 887
    functionLinenumberEnd: 930
    functionName: main
    functionSourceFile: /src/bind9/bin/dig/nslookup.c
    functionUses: 30
    functionsReached:
    - parse_args
    - isc_loopmgr_run
    - set_search_domain
    - debug
    - isc_loopmgr_setup
    - setup_system
    - ISC_LIST_INIT
    - setup_libs
    - setup_file_key
    - puts
    - cancel_all
    - destroy_libs
    - isatty
    - setup_text_key
    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: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    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: 101
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 101
    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:
    - fchown
    - fileno
    - getpwnam
    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:
    - va_start
    - fprintf
    - vfprintf
    - va_end
    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:
    - _exit
    - fprintf
    - va_start
    - va_end
    - 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:108,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/confgen/rndc-confgen.c:117,1
    - Dst: alg_fromtext
      Src: /src/bind9/bin/confgen/rndc-confgen.c:126,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:128,1
    - Dst: strtol
      Src: /src/bind9/bin/confgen/rndc-confgen.c:132,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:134,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:141,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/confgen/rndc-confgen.c:148,1
    - Dst: strtol
      Src: /src/bind9/bin/confgen/rndc-confgen.c:155,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:157,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:165,1
    - Dst: inet_pton
      Src: /src/bind9/bin/confgen/rndc-confgen.c:169,1
    - Dst: inet_pton
      Src: /src/bind9/bin/confgen/rndc-confgen.c:170,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/rndc-confgen.c:172,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:186,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:189,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:191,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:195,1
    - Dst: exit
      Src: /src/bind9/bin/confgen/rndc-confgen.c:198,1
    - Dst: POST
      Src: /src/bind9/bin/confgen/rndc-confgen.c:204,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/rndc-confgen.c:207,1
    - Dst: validate_keyname
      Src: /src/bind9/bin/confgen/rndc-confgen.c:210,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/rndc-confgen.c:213,1
    - Dst: alg_bits
      Src: /src/bind9/bin/confgen/rndc-confgen.c:219,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/confgen/rndc-confgen.c:221,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
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 120
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 287
    functionName: main
    functionSourceFile: /src/bind9/bin/confgen/rndc-confgen.c
    functionUses: 30
    functionsReached:
    - dst_hmac_algorithm_totext
    - isc_mem_put
    - isc_buffer_usedlength
    - fprintf
    - strlen
    - strtol
    - exit
    - inet_pton
    - snprintf
    - fatal
    - usage
    - isc_commandline_init
    - isc_mem_stats
    - isc_buffer_init
    - printf
    - isc_commandline_parse
    - generate_key
    - write_key_file
    - alg_fromtext
    - validate_keyname
    - isc_mem_get
    - POST
    - alg_bits
    - isc_buffer_base
    - isc_mem_debugon
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: strncasecmp
      Src: /src/bind9/bin/confgen/keygen.c:45,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
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/keygen.c:64,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 68
    functionName: alg_fromtext
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - strcasecmp
    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: 91
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 91
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/confgen/keygen.c:100,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:104,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/bin/confgen/keygen.c:107,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:109,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/confgen/keygen.c:109,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - keyname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: validate_keyname
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached:
    - dns_name_fromstring
    - isc_result_totext
    - dns_fixedname_initname
    - fatal
    linkageType: ''
    returnType: void
    signature: void validate_keyname(const char *keyname)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:131,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:138,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:143,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:146,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/confgen/keygen.c:147,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/confgen/keygen.c:150,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:152,1
    - Dst: dst_key_tobuffer
      Src: /src/bind9/bin/confgen/keygen.c:152,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/confgen/keygen.c:154,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:156,1
    - Dst: isc_base64_totext
      Src: /src/bind9/bin/confgen/keygen.c:157,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/confgen/keygen.c:160,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: 162
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 162
    functionName: generate_key
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached:
    - isc_base64_totext
    - dst_key_tobuffer
    - dst_key_generate
    - isc_buffer_usedregion
    - fatal
    - DO
    - dst_key_free
    - isc_buffer_init
    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:173,1
    - Dst: DO
      Src: /src/bind9/bin/confgen/keygen.c:176,1
    - Dst: isc_file_safecreate
      Src: /src/bind9/bin/confgen/keygen.c:176,1
    - Dst: set_user
      Src: /src/bind9/bin/confgen/keygen.c:179,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:180,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/keygen.c:184,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/confgen/keygen.c:187,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/confgen/keygen.c:188,1
    - Dst: fflush
      Src: /src/bind9/bin/confgen/keygen.c:189,1
    - Dst: ferror
      Src: /src/bind9/bin/confgen/keygen.c:190,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:191,1
    - Dst: fclose
      Src: /src/bind9/bin/confgen/keygen.c:193,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/keygen.c:194,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: 196
      start: 169
    functionDepth: 1
    functionLinenumber: 169
    functionLinenumberEnd: 196
    functionName: write_key_file
    functionSourceFile: /src/bind9/bin/confgen/keygen.c
    functionUses: 1
    functionsReached:
    - set_user
    - dst_hmac_algorithm_totext
    - ferror
    - isc_buffer_usedlength
    - fprintf
    - fflush
    - isc_buffer_base
    - fatal
    - fclose
    - isc_file_safecreate
    - DO
    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:97,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/tsig-keygen.c:99,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/confgen/tsig-keygen.c:102,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/confgen/tsig-keygen.c:105,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/confgen/tsig-keygen.c:110,1
    - Dst: alg_fromtext
      Src: /src/bind9/bin/confgen/tsig-keygen.c:116,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/tsig-keygen.c:118,1
    - Dst: alg_bits
      Src: /src/bind9/bin/confgen/tsig-keygen.c:120,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:123,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:129,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/confgen/tsig-keygen.c:133,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:142,1
    - Dst: fatal
      Src: /src/bind9/bin/confgen/tsig-keygen.c:146,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:152,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:159,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:164,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:167,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:169,1
    - Dst: fprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:173,1
    - Dst: exit
      Src: /src/bind9/bin/confgen/tsig-keygen.c:176,1
    - Dst: POST
      Src: /src/bind9/bin/confgen/tsig-keygen.c:184,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:187,1
    - Dst: usage
      Src: /src/bind9/bin/confgen/tsig-keygen.c:191,1
    - Dst: dst_hmac_algorithm_totext
      Src: /src/bind9/bin/confgen/tsig-keygen.c:195,1
    - Dst: strlen
      Src: /src/bind9/bin/confgen/tsig-keygen.c:208,1
    - Dst: strlen
      Src: /src/bind9/bin/confgen/tsig-keygen.c:208,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/confgen/tsig-keygen.c:209,1
    - Dst: snprintf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:210,1
    - Dst: validate_keyname
      Src: /src/bind9/bin/confgen/tsig-keygen.c:215,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/confgen/tsig-keygen.c:217,1
    - Dst: generate_key
      Src: /src/bind9/bin/confgen/tsig-keygen.c:219,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:222,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:228,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/confgen/tsig-keygen.c:233,1
    - Dst: isc_buffer_base
      Src: /src/bind9/bin/confgen/tsig-keygen.c:234,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:238,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:247,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:256,1
    - Dst: printf
      Src: /src/bind9/bin/confgen/tsig-keygen.c:267,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/confgen/tsig-keygen.c:274,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/confgen/tsig-keygen.c:278,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 126
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 282
    functionName: main
    functionSourceFile: /src/bind9/bin/confgen/tsig-keygen.c
    functionUses: 30
    functionsReached:
    - dst_hmac_algorithm_totext
    - isc_mem_put
    - isc_buffer_usedlength
    - fprintf
    - strlen
    - exit
    - strcasecmp
    - snprintf
    - fatal
    - usage
    - isc_commandline_init
    - isc_mem_stats
    - isc_buffer_init
    - printf
    - isc_commandline_parse
    - generate_key
    - UNREACHABLE
    - alg_fromtext
    - isc_mem_get
    - validate_keyname
    - POST
    - alg_bits
    - isc_buffer_base
    - isc_mem_debugon
    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:65,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:67,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:67,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:68,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:68,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - setname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 71
    functionName: initname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 58
    functionsReached:
    - dns_name_fromtext
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - isc_buffer_init
    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:78,1
    - Dst: dns_db_beginload
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:79,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:81,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:81,1
    - Dst: dns_master_loadstream
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:84,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:87,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:87,1
    - Dst: dns_db_endload
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:90,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:92,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:92,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - db
    - fp
    argTypes:
    - dns_db_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 94
    functionName: db_load_from_stream
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - dns_db_endload
    - dns_rdatacallbacks_init
    - dns_master_loadstream
    - fatal
    - dns_db_beginload
    - isc_result_totext
    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:103,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:105,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:108,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:111,1
    - Dst: db_load_from_stream
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:112,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:115,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:118,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:119,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:123,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:125,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:128,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:132,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:134,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:138,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:141,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - filename
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 144
    functionName: loadset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - db_load_from_stream
    - strcmp
    - dns_db_detachnode
    - dns_db_detach
    - dns_db_create
    - dns_name_format
    - dns_db_load
    - dns_db_findrdataset
    - dns_db_findnode
    - fatal
    - isc_result_totext
    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:154,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:156,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:158,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:161,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:162,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:168,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:169,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:172,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:174,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:177,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:178,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:178,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:181,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:183,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:184,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:184,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:186,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: 187
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 187
    functionName: loadkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dst_key_todns
    - dns_rdata_init
    - dst_key_name
    - fprintf
    - dst_key_format
    - dns_rdata_fromregion
    - dst_key_class
    - dst_key_fromnamedfile
    - isc_buffer_usedregion
    - dns_fixedname_initname
    - fatal
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    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:198,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:199,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:200,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:202,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:202,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:205,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:206,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:208,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:209,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:211,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:212,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:214,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:215,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:218,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:219,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:219,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:219,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:222,1
    - Dst: dst_key_isexternal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:222,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:223,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:225,1
    - Dst: dst_key_setexternal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:228,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:230,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:233,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:236,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:239,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:243,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:246,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:248,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:249,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:250,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:252,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:254,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:255,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:257,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:258,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:260,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:261,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 2
    argNames:
    - dir
    - rdata
    argTypes:
    - char*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 262
    functionName: emit
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 0
    functionsReached:
    - dst_key_fromfile
    - dst_key_setttl
    - isc_buffer_add
    - dst_key_tofile
    - dst_key_isprivate
    - dst_key_format
    - dst_key_buildfilename
    - dst_key_isexternal
    - fatal
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    - dst_key_alg
    - dst_key_name
    - printf
    - isc_buffer_clear
    - dst_key_setexternal
    - dst_key_fromdns
    - dst_key_settime
    - dst_key_id
    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:269,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:270,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:272,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:274,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:279,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:286,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:288,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:290,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 294
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 24
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:304,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:307,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:310,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:315,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:319,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:321,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:325,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:330,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:332,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:335,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:340,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:341,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:345,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:350,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:352,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:356,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:361,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:363,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:366,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:373,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:375,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:380,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:384,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:388,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:392,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:395,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:398,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:402,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:405,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:408,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:411,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:413,1
    - Dst: initname
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:423,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:425,1
    - Dst: loadset
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:428,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:431,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:432,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:437,1
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:438,1
    - Dst: loadkey
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:444,1
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:447,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:450,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:452,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:455,1
    - Dst: ferror
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:456,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:457,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 110
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 462
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-importkey.c
    functionUses: 30
    functionsReached:
    - version
    - strtottl
    - fprintf
    - dns_rdataset_init
    - strlen
    - strtol
    - exit
    - loadkey
    - isoptarg
    - fatal
    - usage
    - isc_commandline_init
    - isc_mem_stats
    - isc_result_totext
    - strtoclass
    - initname
    - ferror
    - isc_stdtime_now
    - fflush
    - isc_commandline_parse
    - strtotime
    - dns_rdataset_current
    - loadset
    - emit
    - dns_rdataset_cleanup
    - setup_logging
    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:437,1
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-importkey.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 439
    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: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 97
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 97
    functionName: BADTOKEN
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: BADTOKEN()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:102,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:103,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:105,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:106,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:107,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:108,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:109,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:110,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:111,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:112,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:113,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:114,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:115,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:116,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:117,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:118,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:119,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:120,1
    - 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:123,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 126
    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: 135
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 135
    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:140,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:143,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:146,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - ksr
    - command
    argTypes:
    - ksr_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 154
    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: cfg_parse_file
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:160,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:163,1
    - Dst: kasp_from_conf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:166,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:168,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:170,1
    - Dst: dns_kasp_keys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:170,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:171,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - ksr
    - kasp
    argTypes:
    - ksr_ctx_t*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 174
    functionName: getkasp
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 7
    functionsReached:
    - dns_kasp_keys
    - cfg_parse_file
    - cfg_obj_detach
    - ISC_LIST_EMPTY
    - fatal
    - kasp_from_conf
    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:180,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:180,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:182,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:182,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:184,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:184,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:186,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:186,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - k1
    - k2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 190
    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:199,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:200,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:201,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:205,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:206,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:212,1
    - Dst: qsort
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:216,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:218,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:222,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:224,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:224,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - ksr
    - keys
    argTypes:
    - ksr_ctx_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 226
    functionName: get_dnskeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - qsort
    - isc_mem_cput
    - isc_mem_cget
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - dns_dnssec_findmatchingkeys
    - ISC_LIST_INIT
    - fatal
    - isc_result_totext
    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: 211
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 211
    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: 215
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 215
    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:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 219
    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:230,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:231,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:232,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:233,1
    - Dst: dns_kasp_sigvalidity_dnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:234,1
    - Dst: dns_kasp_sigrefresh
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:235,1
    - Dst: dns_kasp_signdelay
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:236,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:237,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:238,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - ksr
    - kasp
    argTypes:
    - ksr_ctx_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 228
    functionDepth: 1
    functionLinenumber: 228
    functionLinenumberEnd: 240
    functionName: setcontext
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_kasp_zonepropagationdelay
    - dns_kasp_sigvalidity_dnskey
    - dns_kasp_sigrefresh
    - dns_kasp_dnskeyttl
    - dns_kasp_parentpropagationdelay
    - dns_kasp_retiresafety
    - dns_kasp_dsttl
    - dns_kasp_publishsafety
    - dns_kasp_zonemaxttl
    - dns_kasp_signdelay
    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:244,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:245,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:246,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:247,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:249,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:252,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - keys
    - kasp
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 255
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 16
    functionsReached:
    - dns_kasp_detach
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    - ISC_LIST_FOREACH
    - isc_buffer_free
    - dst_key_free
    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:252,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 254
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 70
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_buffer_free
    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:276,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:277,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 257
    functionDepth: 0
    functionLinenumber: 257
    functionLinenumberEnd: 278
    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:284,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:288,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:290,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:291,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:292,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:294,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 280
    functionDepth: 1
    functionLinenumber: 280
    functionLinenumberEnd: 296
    functionName: freerrset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_rdataset_isassociated
    - dns_rdatalist_fromrdataset
    - ISC_LIST_FOREACH
    - dns_rdataset_disassociate
    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:315,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:323,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:324,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:325,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:327,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:331,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:333,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:343,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:363,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:366,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:369,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:372,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:373,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:391,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:393,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:405,1
    - Dst: dns_keystore_keygen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:409,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:414,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:418,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:420,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:427,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:428,1
    - Dst: key_collision
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:432,1
    - Dst: dns_kasp_key_tagmin
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:433,1
    - Dst: dns_kasp_key_tagmax
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:434,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:438,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:439,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:442,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:451,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:459,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:460,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:461,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:462,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:463,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:464,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:465,1
    - Dst: dns_keymgr_settime_syncpublish
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:467,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:478,1
    - Dst: dst_key_settime
      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_tofile
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:490,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:493,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:494,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:495,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:499,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:500,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:502,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:503,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:505,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:506,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:508,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: 510
      start: 298
    functionDepth: 1
    functionLinenumber: 298
    functionLinenumberEnd: 510
    functionName: create_key
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - dns_keymgr_settime_syncpublish
    - dns_keystore_keygen
    - dst_algorithm_supported
    - INSIST
    - fprintf
    - dst_key_setttl
    - dst_algorithm_format
    - dst_key_tofile
    - dst_key_format
    - dst_key_buildfilename
    - dns_kasp_key_match
    - dns_kasp_key_tagmax
    - fatal
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    - printf
    - fflush
    - dst_key_generate
    - isc_buffer_clear
    - isc_stdtime_tostring
    - isc_crypto_fips_mode
    - key_collision
    - dst_key_setnum
    - dst_key_settime
    - dst_key_setbool
    - dns_kasp_key_tagmin
    - ISC_LIST_FOREACH
    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:519,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:520,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:522,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:524,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rrset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 526
    functionName: print_rdata
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_buffer_usedregion
    - fatal
    - isc_buffer_init
    - 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:538,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:539,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:539,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:543,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:544,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:548,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:551,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:552,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:562,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:578,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:579,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:580,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:581,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:581,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:582,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:583,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:584,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:585,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:586,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:588,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:589,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:590,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:593,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:594,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:599,1
    - Dst: print_rdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:600,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:604,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:607,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: 612
      start: 528
    functionDepth: 2
    functionLinenumber: 528
    functionLinenumberEnd: 612
    functionName: print_dnskeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - dns_secalg_format
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - dns_rdata_fromregion
    - dns_kasp_key_match
    - fatal
    - isc_buffer_init
    - dns_rdata_init
    - isc_buffer_putmem
    - ISC_LIST_EMPTY
    - dst_key_todns
    - CHECK
    - isc_buffer_clear
    - isc_stdtime_tostring
    - print_rdata
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_kasp_key_algorithm
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    - isc_buffer_allocate
    - freerrset
    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:622,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:631,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:632,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:633,1
    - Dst: dns_time32_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:634,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:636,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:637,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:639,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:640,1
    - Dst: print_rdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:645,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:648,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:649,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:653,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:665,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:666,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:667,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:668,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:669,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:670,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:671,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:672,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:681,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:682,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:683,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:684,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:687,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:689,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:690,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:691,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:692,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:693,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:695,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:696,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:697,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:699,1
    - Dst: print_rdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:700,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:701,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: 704
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 704
    functionName: sign_rrset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - UNUSED
    - fprintf
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - dns_time32_totext
    - dns_rdata_fromregion
    - fatal
    - isc_buffer_init
    - isc_result_totext
    - between
    - dns_rdata_init
    - isc_buffer_putmem
    - isc_buffer_clear
    - isc_stdtime_tostring
    - dns_dnssec_sign
    - print_rdata
    - isc_mem_get
    - ISC_LIST_APPEND
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - ISC_LIST_FOREACH
    - freerrset
    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:715,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:716,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:718,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:720,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:724,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:729,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:734,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:739,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:752,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:753,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:754,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:755,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:766,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:767,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:769,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:770,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:770,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:771,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:772,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:773,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:774,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:775,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:777,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:778,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:779,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:783,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:783,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:786,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:788,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:791,1
    - Dst: between
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:792,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:810,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:811,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:813,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:814,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:814,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:815,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:816,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:817,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:818,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:819,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:821,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:822,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:824,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:825,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:833,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:834,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:836,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:836,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:839,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:840,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:841,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:842,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:843,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:845,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:846,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:847,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:850,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:851,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:855,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:856,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:857,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:862,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: 864
      start: 710
    functionDepth: 1
    functionLinenumber: 710
    functionLinenumberEnd: 864
    functionName: get_keymaterial
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - isc_mem_put
    - dns_rdata_toregion
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - dns_rdata_fromregion
    - fatal
    - isc_buffer_init
    - between
    - dns_ds_buildrdata
    - dns_rdata_init
    - isc_buffer_putmem
    - ISC_LIST_EMPTY
    - dns_kasp_digests
    - dst_key_todns
    - CHECK
    - dns_kasp_cdnskey
    - isc_buffer_clear
    - isc_mem_get
    - ISC_LIST_APPEND
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - ISC_LIST_FOREACH
    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:833,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:834,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:836,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:836,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:839,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:840,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:841,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:842,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:843,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:845,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:846,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:847,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 828
    functionDepth: 1
    functionLinenumber: 828
    functionLinenumberEnd: 848
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 75
    functionsReached:
    - dns_ds_buildrdata
    - dns_rdata_init
    - isc_mem_get
    - isc_buffer_putmem
    - dns_rdata_fromregion
    - ISC_LIST_APPEND
    - dns_rdata_toregion
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - CHECK
    - isc_buffer_clear
    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:874,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:875,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:882,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:883,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:889,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:890,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:891,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:892,1
    - Dst: get_keymaterial
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:893,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:900,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:902,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:903,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:904,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:908,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:910,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:911,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:912,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:915,1
    - Dst: sign_rrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:916,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:921,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:922,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:925,1
    - Dst: sign_rrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:926,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:929,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:932,1
    - Dst: sign_rrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:933,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:936,1
    - Dst: freerrset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:947,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    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: 948
      start: 866
    functionDepth: 2
    functionLinenumber: 866
    functionLinenumberEnd: 948
    functionName: sign_bundle
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - isc_mem_get
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - get_keymaterial
    - freerrset
    - dns_rdatalist_init
    - dns_rdataset_current
    - sign_rrset
    - dns_rdataset_count
    - dns_rdatalist_tordataset
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:900,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:902,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:903,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 905
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 905
    functionName: (&ksk)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - ISC_LIST_APPEND
    - dns_rdata_init
    - isc_mem_get
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&ksk)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:908,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:910,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:911,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 913
    functionName: (&zsk)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - ISC_LIST_APPEND
    - dns_rdata_init
    - isc_mem_get
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&zsk)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_setcomments
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:960,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:963,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:964,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:967,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:968,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:968,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:969,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:969,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:970,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:970,1
    - Dst: dns_name_compare
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:971,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:975,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:978,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:980,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:984,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:986,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:989,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:993,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:995,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:998,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1002,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1002,1
    - Dst: BADTOKEN
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1003,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1006,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1010,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 4
    argNames:
    - lex
    - owner
    - buf
    - ttl
    argTypes:
    - isc_lex_t*
    - char*
    - isc_buffer_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 1012
    functionName: parse_dnskey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_name_fromtext
    - isc_lex_setcomments
    - dns_rdataclass_fromtext
    - strcasecmp
    - dns_ttl_fromtext
    - BADTOKEN
    - STR
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - NEXTTOKEN
    - dns_rdata_fromtext
    - CHECK
    - dns_name_compare
    - isc_buffer_clear
    - isc_buffer_init
    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:1021,1
    - Dst: getkasp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1023,1
    - Dst: get_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1025,1
    - Dst: setcontext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1027,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1030,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1033,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1037,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1038,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1039,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1040,1
    - Dst: create_key
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1046,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1054,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1057,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 1
    argNames:
    - ksr
    argTypes:
    - ksr_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1058
    functionName: keygen
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 1
    functionsReached:
    - getkasp
    - checkparams
    - dns_kasp_key_zsk
    - dns_kasp_key_lifetime
    - create_key
    - dns_kasp_key_ksk
    - cleanup
    - dns_kasp_key_keystore
    - dns_kasp_key_algorithm
    - dns_kasp_key_size
    - fatal
    - setcontext
    - get_dnskeys
    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:1030,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1033,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1037,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1038,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1039,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1040,1
    - Dst: create_key
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1046,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1052
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1052
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 75
    functionsReached:
    - create_key
    - dns_kasp_key_zsk
    - dns_kasp_key_lifetime
    - dns_kasp_key_ksk
    - dns_kasp_key_keystore
    - dns_kasp_key_algorithm
    - 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:1069,1
    - Dst: getkasp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1071,1
    - Dst: get_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1073,1
    - Dst: setcontext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1075,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1084,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1085,1
    - Dst: dns_time32_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1086,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1088,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1089,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1091,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1092,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1105,1
    - Dst: print_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1110,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1116,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1117,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1121,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - ksr
    argTypes:
    - ksr_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1122
      start: 1060
    functionDepth: 3
    functionLinenumber: 1060
    functionLinenumberEnd: 1122
    functionName: request
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 4
    functionsReached:
    - getkasp
    - checkparams
    - dns_time32_totext
    - print_dnskeys
    - cleanup
    - dns_kasp_key_ksk
    - isc_result_totext
    - fprintf
    - isc_buffer_usedregion
    - fatal
    - setcontext
    - get_dnskeys
    - isc_buffer_init
    - isc_stdtime_tostring
    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:1105,1
    - Dst: print_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1112
    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: 17
    BranchProfiles: []
    Callsites:
    - Dst: checkparams
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1139,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1141,1
    - Dst: getkasp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1144,1
    - Dst: get_dnskeys
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1146,1
    - Dst: setcontext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1148,1
    - Dst: isc_lex_create
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1151,1
    - Dst: memset
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1152,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1156,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1157,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1159,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1160,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1163,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1165,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1168,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1169,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1172,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1172,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1175,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1175,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1177,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1177,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1179,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1181,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1184,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1184,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1186,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1187,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1190,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1190,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1191,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1192,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1195,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1195,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1197,1
    - Dst: isc_lex_getsourceline
      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: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1206,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1206,1
    - Dst: sign_bundle
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1211,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1213,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1217,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1218,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1229,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1231,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1234,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1235,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1248,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1250,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1253,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1254,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1255,1
    - Dst: parse_dnskey
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1256,1
    - Dst: STR
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1256,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1258,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1259,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1260,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1262,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1263,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1264,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1265,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1266,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1272,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1273,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1274,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1279,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1280,1
    - Dst: sign_bundle
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1285,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1287,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1288,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1292,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1293,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1297,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1298,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 101
    argCount: 1
    argNames:
    - ksr
    argTypes:
    - ksr_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1299
    functionName: sign
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 1
    functionsReached:
    - isc_lex_gettoken
    - fprintf
    - STR
    - dns_rdatalist_init
    - setcontext
    - memset
    - sign_bundle
    - dns_rdata_fromregion
    - isc_lex_create
    - fatal
    - isc_buffer_init
    - isc_result_totext
    - getkasp
    - strcmp
    - dns_rdata_init
    - isc_buffer_putmem
    - isc_lex_openfile
    - strtotime
    - CHECK
    - isc_buffer_clear
    - isc_lex_destroy
    - isc_lex_getsourceline
    - get_dnskeys
    - parse_dnskey
    - isc_stdtime_tostring
    - checkparams
    - cleanup
    - isc_mem_get
    - ISC_LIST_APPEND
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_lex_setspecials
    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:1308,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1311,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1316,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1319,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1319,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1322,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1326,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1327,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1334,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1337,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1342,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1344,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1345,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1358,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1361,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1363,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1367,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1375,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1382,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1386,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1390,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1391,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1391,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1392,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1392,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1393,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1395,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1396,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1400,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1401,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1402,1
    - Dst: request
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1403,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1404,1
    - Dst: sign
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1405,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1407,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-ksr.c:1410,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1301
    functionDepth: 4
    functionLinenumber: 1301
    functionLinenumberEnd: 1411
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-ksr.c
    functionUses: 30
    functionsReached:
    - version
    - strtoul
    - isc_crypto_fips_enable
    - isc_buffer_add
    - strlen
    - exit
    - dns_name_fromtext
    - request
    - fatal
    - usage
    - isc_commandline_init
    - isc_buffer_init
    - isc_result_totext
    - strcmp
    - isc_stdtime_now
    - isc_commandline_parse
    - strtotime
    - keygen
    - isc_crypto_fips_mode
    - try_dir
    - dns_fixedname_initname
    - sign
    - setup_logging
    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: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    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: 182
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 182
    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:190,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fzonecut
    - name
    argTypes:
    - dns_fixedname_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 194
    functionName: savezonecut
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_fixedname_initname
    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:208,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:209,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:211,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:215,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:218,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:222,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:227,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:234,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:235,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:237,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:239,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:240,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:241,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:242,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:244,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:247,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:248,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - name
    - node
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 249
    functionName: dumpnode
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - dns_rdatatype_isnsec
    - dns_db_allrdatasets
    - isc_buffer_free
    - dns_rdatasetiter_destroy
    - dns_master_rdatasettotext
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - isc_buffer_clear
    - check_result
    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:215,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:218,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:222,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:227,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:234,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:235,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:237,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:239,1
    - Dst: isc_stdio_write
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:240,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:241,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:242,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:244,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 245
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - dns_rdatatype_isnsec
    - dns_master_rdatasettotext
    - check_result
    - isc_buffer_usedregion
    - dns_rdataset_disassociate
    - isc_buffer_allocate
    - isc_buffer_free
    - isc_buffer_clear
    - dns_rdatasetiter_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(iter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:257,1
    - Dst: dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:258,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:259,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - node
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: lock_and_dumpnode
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dumpnode
    - UNLOCK
    - LOCK
    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:277,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:278,1
    - Dst: isc_random_uniform
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:286,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:287,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:288,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:291,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:292,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:294,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:297,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:300,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:301,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: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:309,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:311,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: 312
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 312
    functionName: signwithkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_sign
    - isc_random_uniform
    - dns_difftuple_create
    - dst_key_format
    - vbprintf
    - dns_diff_append
    - INCSTAT
    - dns_dnssec_verify
    - fatal
    - isc_buffer_init
    - isc_result_totext
    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: 317
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 317
    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: 322
      start: 319
    functionDepth: 0
    functionLinenumber: 319
    functionLinenumberEnd: 322
    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:326,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:326,1
    - Dst: dst_key_iszonekey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_dnsseckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 328
    functionName: iszonekey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 1
    functionsReached:
    - dst_key_name
    - dst_key_iszonekey
    - dns_name_equal
    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: 333
      start: 330
    functionDepth: 0
    functionLinenumber: 330
    functionLinenumberEnd: 333
    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: 338
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 338
    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:348,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:352,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:353,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:354,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - rrsig
    argTypes:
    - dns_rdata_rrsig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 360
    functionName: keythatsigned_unlocked
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dst_key_alg
    - dst_key_name
    - dst_key_id
    - dst_algorithm_fromdata
    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:352,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:353,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:354,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 358
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - dst_key_name
    - dns_name_equal
    - dst_key_id
    - 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:372,1
    - Dst: keythatsigned_unlocked
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:373,1
    - Dst: RWUNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:374,1
    - Dst: isc_rwlock_lock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:386,1
    - Dst: keythatsigned_unlocked
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:387,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:389,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:393,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:397,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:401,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:406,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:407,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:409,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:414,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:416,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    argCount: 1
    argNames:
    - rrsig
    argTypes:
    - dns_rdata_rrsig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 366
    functionDepth: 2
    functionLinenumber: 366
    functionLinenumberEnd: 418
    functionName: keythatsigned
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - dns_dnsseckey_create
    - keythatsigned_unlocked
    - dst_key_fromfile
    - ISC_LIST_APPEND
    - isc_rwlock_lock
    - isc_rwlock_unlock
    - dst_key_free
    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:432,1
    - Dst: dns_db_find
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:433,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:434,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:447,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:448,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:449,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:450,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 452
    functionName: expecttofindkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_fixedname_name
    - dns_db_find
    - fatal
    - dns_fixedname_init
    - UNREACHABLE
    - isc_result_totext
    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:458,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:461,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:464,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: 467
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 467
    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: 35
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:490,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:491,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:493,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:495,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:496,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:499,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:505,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:506,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:509,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:513,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:515,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:516,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:529,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:531,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:532,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:534,1
    - Dst: keythatsigned
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:536,1
    - Dst: sig_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:538,1
    - Dst: isc_serial_gt
      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:542,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:544,1
    - Dst: expecttofindkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:549,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:552,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:558,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:562,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:566,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:570,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:574,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:576,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:580,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:587,1
    - Dst: ispublishedkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:597,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:598,1
    - Dst: iszonekey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:602,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:606,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:608,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:612,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:619,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:629,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:632,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:640,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:642,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:645,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:649,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:650,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_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:681,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:684,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:692,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:699,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:701,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:704,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:705,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:709,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:712,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:716,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:717,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:719,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:722,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:729,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:744,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:745,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:746,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:747,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:751,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:755,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:776,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:782,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:783,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 161
    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: 784
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 784
    functionName: signset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - sig_format
    - dns_difftuple_create
    - signwithkey
    - isksk
    - dns_rdataset_init
    - dns_rdata_freestruct
    - ISC_MIN
    - issigningkey
    - expecttofindkey
    - setverifies
    - isc_mem_cget
    - dns_name_format
    - REVOKE
    - keythatsigned
    - iszsk
    - fatal
    - check_result
    - dns_rdata_tostruct
    - isc_result_totext
    - dns_name_equal
    - dns_rdatatype_format
    - dst_key_alg
    - dns_db_findrdataset
    - vbprintf
    - dns_diff_append
    - dns_rdata_reset
    - isc_serial_lt
    - dst_key_getnum
    - dns_rdataset_current
    - ispublishedkey
    - isc_mem_cput
    - dns_rdataset_cleanup
    - dns_dnssec_keyactive
    - dst_key_id
    - INCSTAT
    - iszonekey
    - dns_rdataset_count
    - isc_serial_gt
    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:529,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:531,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:532,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:534,1
    - Dst: keythatsigned
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:536,1
    - Dst: sig_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:538,1
    - Dst: isc_serial_gt
      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:542,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:544,1
    - Dst: expecttofindkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:549,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:552,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:558,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:562,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:566,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:570,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:574,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:576,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:580,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:587,1
    - Dst: ispublishedkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:597,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:598,1
    - Dst: iszonekey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:602,1
    - Dst: setverifies
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:606,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:608,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:612,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:619,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:629,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:632,1
    - Dst: INCSTAT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:640,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:642,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:645,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:649,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:650,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: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 677
    functionName: (&sigset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - sig_format
    - dns_difftuple_create
    - signwithkey
    - dns_rdata_freestruct
    - issigningkey
    - expecttofindkey
    - setverifies
    - keythatsigned
    - check_result
    - dns_rdata_tostruct
    - dns_rdata_reset
    - vbprintf
    - dns_diff_append
    - isc_serial_lt
    - dns_rdataset_current
    - ispublishedkey
    - dns_dnssec_keyactive
    - INCSTAT
    - iszonekey
    - isc_serial_gt
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&sigset)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:684,1
    - Dst: issigningkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:692,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:699,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:701,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:704,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:705,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:709,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:712,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:716,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:717,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:719,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:722,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:729,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:744,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:745,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:746,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:747,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:751,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:755,1
    - Dst: signwithkey
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:776,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 683
    functionDepth: 2
    functionLinenumber: 683
    functionLinenumberEnd: 780
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - dns_name_equal
    - dst_key_alg
    - isksk
    - REVOKE
    - signwithkey
    - dst_key_id
    - issigningkey
    - dst_key_getnum
    - iszsk
    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:704,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:705,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:709,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:712,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 715
    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:744,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:745,1
    - Dst: iszsk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:746,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:747,1
    - Dst: dst_key_getnum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:751,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:755,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 741
    functionDepth: 1
    functionLinenumber: 741
    functionLinenumberEnd: 768
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 75
    functionsReached:
    - dst_key_getnum
    - iszsk
    - dst_key_id
    - 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:800,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: 808
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 808
    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:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - l
    argTypes:
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 819
    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:823,1
    - Dst: realloc
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:827,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:829,1
    - Dst: memset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:832,1
    - Dst: memmove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:833,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: 835
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 835
    functionName: hashlist_add
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - realloc
    - fatal
    - memset
    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:847,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:850,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:852,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:854,1
    - Dst: hashlist_add
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:857,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: 858
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 858
    functionName: hashlist_add_dns_name
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - fprintf
    - hashlist_add
    - isc_iterated_hash
    - dns_name_format
    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:862,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 863
    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:867,1
    - Dst: qsort
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - l
    argTypes:
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 865
    functionDepth: 0
    functionLinenumber: 865
    functionLinenumberEnd: 871
    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:893,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 1
    argNames:
    - l
    argTypes:
    - hashlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 899
    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:905,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:907,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - l
    - hash
    argTypes:
    - hashlist_t*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 921
    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:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - l
    - hash
    argTypes:
    - hashlist_t*
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 931
      start: 923
    functionDepth: 0
    functionLinenumber: 923
    functionLinenumberEnd: 931
    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:944,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:946,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:950,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:952,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:954,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:959,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:960,1
    - Dst: hashlist_add_dns_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:963,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: 965
      start: 933
    functionDepth: 3
    functionLinenumber: 933
    functionLinenumberEnd: 965
    functionName: addnowildcardhash
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - hashlist_add_dns_name
    - dns_name_concatenate
    - dns_name_format
    - fprintf
    - dns_fixedname_initname
    - dns_db_findnode
    - check_result
    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:974,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:977,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:977,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:978,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:980,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:981,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:985,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:985,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:986,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:988,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:989,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:990,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:991,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:993,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:994,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:996,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:998,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1000,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1002,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1004,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: 1006
      start: 967
    functionDepth: 1
    functionLinenumber: 967
    functionLinenumberEnd: 1006
    functionName: opendb
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_db_create
    - dns_name_format
    - dns_db_load
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    - strlen
    - fatal
    - dns_name_tofilenametext
    - check_result
    - isc_buffer_init
    - isc_buffer_putstr
    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:1024,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1026,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1028,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1029,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1032,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1034,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1036,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1040,1
    - Dst: opendb
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1044,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1049,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1051,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1055,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1056,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1059,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1060,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1063,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1065,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1066,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1067,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1072,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1073,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1075,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1077,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1079,1
    - Dst: dns_diff_apply
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1082,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1083,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1084,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1086,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1088,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1090,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1092,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1093,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1094,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: 1096
      start: 1013
    functionDepth: 2
    functionLinenumber: 1013
    functionLinenumberEnd: 1096
    functionName: loadds
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - dns_db_detachnode
    - dns_diff_apply
    - dns_db_detach
    - dns_db_newversion
    - dns_difftuple_create
    - dns_rdataset_init
    - dns_db_findrdataset
    - vbprintf
    - dns_diff_append
    - opendb
    - dns_rdataset_disassociate
    - dns_db_findnode
    - dns_diff_init
    - dns_rdataset_current
    - dns_diff_clear
    - dns_db_closeversion
    - check_result
    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:1072,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1073,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1075,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1077,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1080
    functionName: (&keyset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdataset_current
    - check_result
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&keyset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1103,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1107,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1108,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - name
    - node
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1098
    functionDepth: 1
    functionLinenumber: 1098
    functionLinenumberEnd: 1113
    functionName: secure
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 3
    functionsReached:
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_name_equal
    linkageType: ''
    returnType: bool
    signature: bool secure(dns_name_t *name, dns_dbnode_t *node)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1121,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1125,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1126,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1128,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1129,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1130,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    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: 1134
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1134
    functionName: is_delegation
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - dns_name_equal
    - SET_IF_NOT_NULL
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1145,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1146,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - db
    - ver
    - node
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1151
    functionName: has_dname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    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:1165,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1166,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1171,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1178,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1179,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1181,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1182,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1184,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1204,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1205,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1209,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1210,1
    - Dst: signset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1213,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1216,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1219,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1221,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1223,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1224,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1227,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1229,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1230,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1233,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1234,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: 1235
      start: 1156
    functionDepth: 4
    functionLinenumber: 1156
    functionLinenumberEnd: 1235
    functionName: signname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_db_allrdatasets
    - dns_rdataset_init
    - dns_rdatasetiter_destroy
    - signset
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dns_diff_init
    - fatal
    - dns_diff_applysilently
    - dns_diff_clear
    - check_result
    - is_delegation
    - isc_result_totext
    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:1184,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1204,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1205,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1209,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1210,1
    - Dst: signset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1213,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1216,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1183
    functionDepth: 4
    functionLinenumber: 1183
    functionLinenumberEnd: 1217
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - signset
    - dns_rdataset_disassociate
    - fatal
    - dns_rdatasetiter_current
    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:1252,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1253,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1255,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1257,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1259,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1270,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1271,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1274,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1275,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1281,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1283,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1285,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1288,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1297,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1299,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1308,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1312,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1315,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1317,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1320,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1321,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1324,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1326,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 1
    argNames:
    - node
    argTypes:
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1241
    functionDepth: 1
    functionLinenumber: 1241
    functionLinenumberEnd: 1329
    functionName: active_node
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isnsec
    - dns_db_allrdatasets
    - fatal
    - dns_rdatasetiter_destroy
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - check_result
    - dns_db_deleterdataset
    - isc_result_totext
    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:1255,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1257,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1259,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1263
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isnsec
    - 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:1270,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1271,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1274,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1269
    functionDepth: 1
    functionLinenumber: 1269
    functionLinenumberEnd: 1276
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - check_result
    - dns_rdatasetiter_current
    - dns_db_deleterdataset
    - dns_rdataset_disassociate
    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:1285,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1288,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1297,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1299,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1308,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1312,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1315,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1317,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1320,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1321,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1323
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - fatal
    - check_result
    - dns_db_deleterdataset
    - isc_result_totext
    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:1308,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1313
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1313
    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:1342,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1343,1
    - Dst: dns_db_find
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1344,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1347,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1348,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1351,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1352,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1353,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1355,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1355,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1357,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1358,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1334
    functionDepth: 1
    functionLinenumber: 1334
    functionLinenumberEnd: 1361
    functionName: get_soa_ttls
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_soa_getminimum
    - dns_rdataset_first
    - dns_rdataset_init
    - ISC_MIN
    - dns_db_find
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - fatal
    - check_result
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void get_soa_ttls(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1375,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1375,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1377,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1379,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1379,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1382,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1383,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1385,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1387,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1392,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1398,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1402,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1417,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1423,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1425,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1427,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1432,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1433,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1439,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1441,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1443,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 2
    argNames:
    - serial
    - method
    argTypes:
    - uint32_t
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1366
    functionDepth: 1
    functionLinenumber: 1366
    functionLinenumberEnd: 1446
    functionName: setsoaserial
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - dns_soa_setserial
    - dns_db_deleterdataset
    - dns_rdataset_first
    - RUNTIME_CHECK
    - fprintf
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdata_reset
    - dns_db_addrdataset
    - RETERR
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - dns_update_soaserial
    - check_result
    - dns_soa_getserial
    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:1456,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1451
    functionDepth: 1
    functionLinenumber: 1451
    functionLinenumberEnd: 1458
    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:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    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:1480,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1481,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1482,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1483,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1484,1
    - Dst: signname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1485,1
    - Dst: dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1486,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1487,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1488,1
    - Dst: atomic_store
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1490,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1492,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1495
      start: 1473
    functionDepth: 5
    functionLinenumber: 1473
    functionLinenumberEnd: 1495
    functionName: signapex
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - check_dns_dbiterator_current
    - dumpnode
    - dns_dbiterator_first
    - dns_fixedname_initname
    - signname
    - fatal
    - dns_dbiterator_seek
    - check_result
    - dns_dbiterator_current
    - atomic_store
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void signapex(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1499,1
    - Dst: atomic_store
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1502
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1502
    functionName: abortwork
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void abortwork(void *arg)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1520,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1522,1
    - Dst: LOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1526,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1527,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1530,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1532,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1536,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1540,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1541,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1545,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1546,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1557,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1558,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1560,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1564,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1566,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1568,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1571,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1572,1
    - Dst: secure
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1573,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1577,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1578,1
    - Dst: dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1587,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1588,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1592,1
    - Dst: atomic_store
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1594,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1597,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1598,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1604,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1606,1
    - Dst: UNLOCK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1610,1
    - Dst: signname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1612,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1612,1
    - Dst: lock_and_dumpnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1617,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1617,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1618,1
    - Dst: isc_async_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1620,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 75
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1621
      start: 1508
    functionDepth: 5
    functionLinenumber: 1508
    functionLinenumberEnd: 1621
    functionName: assignwork
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_rdataset_init
    - secure
    - signname
    - dns_dbiterator_current
    - UNLOCK
    - atomic_store
    - savezonecut
    - check_dns_dbiterator_current
    - fatal
    - dns_name_issubdomain
    - dns_dbiterator_next
    - isc_result_totext
    - OPTOUT
    - dns_name_equal
    - dumpnode
    - dns_db_findrdataset
    - LOCK
    - atomic_load
    - is_delegation
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - lock_and_dumpnode
    - isc_async_current
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - has_dname
    - dns_fixedname_name
    linkageType: ''
    returnType: void
    signature: void assignwork(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1632,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1633,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1634,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1637,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1638,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1640,1
    - Dst: loadds
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1643,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1645,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1647,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1648,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1649,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1650,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1651,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1654,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 3
    argNames:
    - name
    - node
    - nsttl
    argTypes:
    - dns_name_t*
    - dns_dbnode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1626
    functionDepth: 3
    functionLinenumber: 1626
    functionLinenumberEnd: 1657
    functionName: add_ds
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_db_addrdataset
    - dns_rdataset_disassociate
    - check_result
    - loadds
    - dns_db_deleterdataset
    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:1671,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1672,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1675,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1678,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1683,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1689,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1692,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1694,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1697,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: 1698
      start: 1662
    functionDepth: 1
    functionLinenumber: 1662
    functionLinenumberEnd: 1698
    functionName: remove_records
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - fatal
    - check_result
    - dns_db_deleterdataset
    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:1675,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1678,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1683,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1689,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1692,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1694,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1696
      start: 1673
    functionDepth: 1
    functionLinenumber: 1673
    functionLinenumberEnd: 1696
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - check_result
    - dns_rdataset_disassociate
    - fatal
    - dns_rdatasetiter_current
    - 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:1711,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1712,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1715,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1718,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1725,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1736,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1738,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1740,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: 1741
      start: 1705
    functionDepth: 1
    functionLinenumber: 1705
    functionLinenumberEnd: 1741
    functionName: remove_sigs
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_atparent
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - check_result
    - dns_db_deleterdataset
    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:1715,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1718,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1725,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1736,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1738,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1739
      start: 1713
    functionDepth: 1
    functionLinenumber: 1713
    functionLinenumberEnd: 1739
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_atparent
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - check_result
    - 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:1751,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1752,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1763,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1764,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1767,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1768,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1769,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1771,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1773,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1776,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1777,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1779,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1782,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1783,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1785,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1787,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1788,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1790,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1791,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1794,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1795,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1799,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1800,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1804,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1806,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1810,1
    - Dst: remove_records
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1811,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1813,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1816,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1817,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1818,1
    - Dst: add_ds
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1820,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1822,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1823,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1826,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1830,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1832,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1833,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1835,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1836,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1839,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1841,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1843,1
    - Dst: remove_records
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1844,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1846,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1847,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1850,1
    - Dst: dns_name_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1854,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1857,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1858,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1860,1
    - Dst: dns_nsec_build
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1861,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1863,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1864,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1867,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1868
      start: 1746
    functionDepth: 2
    functionLinenumber: 1746
    functionLinenumberEnd: 1868
    functionName: nsecify
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - add_ds
    - dns_dbiterator_destroy
    - dns_db_allrdatasets
    - active_node
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - dns_db_deleterdataset
    - dns_dbiterator_current
    - savezonecut
    - check_dns_dbiterator_current
    - remove_records
    - fatal
    - check_result
    - dns_name_issubdomain
    - dns_db_createiterator
    - dns_dbiterator_next
    - isc_result_totext
    - dns_name_equal
    - dns_nsec_build
    - dns_rdatasetiter_destroy
    - dns_name_clone
    - is_delegation
    - dns_db_detachnode
    - remove_sigs
    - dns_dbiterator_first
    - dns_fixedname_initname
    - has_dname
    - dns_dbiterator_pause
    linkageType: ''
    returnType: void
    signature: void nsecify(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1767,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1768,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1769,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1771,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1773,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1776,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1777,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1779,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1782,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1765
    functionDepth: 1
    functionLinenumber: 1765
    functionLinenumberEnd: 1784
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - check_dns_dbiterator_current
    - dns_db_deleterdataset
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - check_result
    - dns_dbiterator_current
    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:1773,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1776,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1777,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1772
    functionDepth: 1
    functionLinenumber: 1772
    functionLinenumberEnd: 1781
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - check_result
    - dns_rdatasetiter_current
    - dns_db_deleterdataset
    - dns_rdataset_disassociate
    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:1882,1
    - Dst: UNCONST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1891,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1893,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1894,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1896,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1897,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1900,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1901,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1903,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1904,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1909,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1914,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1916,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1921,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1922,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 3
    argNames:
    - salt
    - salt_len
    - iterations
    argTypes:
    - unsigned char*
    - size_t
    - dns_iterations_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1870
    functionDepth: 1
    functionLinenumber: 1870
    functionLinenumberEnd: 1923
    functionName: addnsec3param
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - dns_db_addrdataset
    - dns_rdatalist_init
    - dns_db_findnode
    - dns_rdatalist_tordataset
    - UNCONST
    - check_result
    - dns_db_deleterdataset
    - isc_buffer_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:1941,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1943,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1944,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1946,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1947,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1949,1
    - Dst: hashlist_findnext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1950,1
    - Dst: dns_nsec3_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1951,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1956,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1957,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1961,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1962,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1963,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1963,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1965,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1966,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1971,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:1972,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: 1973
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1973
    functionName: addnsec3
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_findnsec3node
    - dns_db_detachnode
    - hashlist_findnext
    - dns_nsec3_hashname
    - dns_name_format
    - dns_rdataset_init
    - dns_nsec3_buildrdata
    - ISC_LIST_APPEND
    - dns_fixedname_name
    - dns_name_downcase
    - dns_rdatalist_init
    - dns_fixedname_init
    - dns_rdatalist_tordataset
    - check_result
    - dns_db_addrdataset
    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:2002,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2007,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2012,1
    - Dst: isc_base32hex_decoderegion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2013,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2018,1
    - Dst: hashlist_exists
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2020,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2026,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2027,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2029,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2043,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2044,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2045,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2049,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2053,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2057,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2060,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2061,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2062,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2063,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2065,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2067,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2071,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2079,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2082,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: 2084
      start: 1985
    functionDepth: 1
    functionLinenumber: 1985
    functionLinenumberEnd: 2084
    functionName: nsec3clean
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - dns_rdataset_init
    - ISC_MIN
    - dns_rdatalist_init
    - dns_rdataset_disassociate
    - dns_rdatalist_tordataset
    - isc_region_consume
    - dns_db_deleterdataset
    - check_result
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_rdata_clone
    - dns_db_findrdataset
    - dns_name_getlabel
    - dns_rdataset_current
    - isc_base32hex_decoderegion
    - isc_safe_memequal
    - dns_db_subtractrdataset
    - ISC_LIST_APPEND
    - hashlist_exists
    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:2043,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2044,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2045,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2049,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2053,1
    - Dst: ISC_MIN
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2057,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2060,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2061,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2062,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2063,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2065,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2067,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2039
    functionDepth: 1
    functionLinenumber: 2039
    functionLinenumberEnd: 2070
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_safe_memequal
    - dns_db_subtractrdataset
    - dns_rdata_clone
    - ISC_LIST_APPEND
    - ISC_MIN
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - check_result
    - dns_rdata_tostruct
    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:2094,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2095,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2097,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2103,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2104,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2109,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2111,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2113,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2115,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2118,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2120,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2125,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2128,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2130,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2133,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2136,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: 2138
      start: 2086
    functionDepth: 1
    functionLinenumber: 2086
    functionLinenumberEnd: 2138
    functionName: rrset_cleanup
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_format
    - dns_name_format
    - dns_difftuple_create
    - dns_rdataset_init
    - dns_rdataset_clone
    - vbprintf
    - dns_diff_append
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_casecompare
    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:2103,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2104,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2109,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2111,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2113,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2115,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2118,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2120,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2125,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2128,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2130,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2133,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2136,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2098
    functionDepth: 1
    functionLinenumber: 2098
    functionLinenumberEnd: 2137
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - vbprintf
    - dns_rdataset_clone
    - dns_diff_append
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_casecompare
    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:2109,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2111,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2113,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2115,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2118,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2120,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2125,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2128,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2130,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2105
    functionDepth: 1
    functionLinenumber: 2105
    functionLinenumberEnd: 2135
    functionName: (&tmprdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - vbprintf
    - dns_rdataset_current
    - 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:2148,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2150,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2151,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2153,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2154,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2158,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2159,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2160,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2162,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2164,1
    - Dst: rrset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2165,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2166,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2168,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2169,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2172,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2173,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2175,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2176,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2178,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2179,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2140
    functionDepth: 2
    functionLinenumber: 2140
    functionLinenumberEnd: 2181
    functionName: cleanup_zone
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_db_detachnode
    - check_dns_dbiterator_current
    - rrset_cleanup
    - dns_dbiterator_destroy
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_fixedname_initname
    - dns_rdatasetiter_current
    - dns_diff_applysilently
    - dns_diff_init
    - dns_rdataset_disassociate
    - dns_diff_clear
    - check_result
    - dns_dbiterator_current
    linkageType: ''
    returnType: void
    signature: void cleanup_zone(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2158,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2159,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2160,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2162,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2164,1
    - Dst: rrset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2165,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2166,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2168,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2156
    functionDepth: 2
    functionLinenumber: 2156
    functionLinenumberEnd: 2170
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - check_dns_dbiterator_current
    - rrset_cleanup
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - check_result
    - dns_dbiterator_current
    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:2164,1
    - Dst: rrset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2165,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2167
      start: 2163
    functionDepth: 2
    functionLinenumber: 2163
    functionLinenumberEnd: 2167
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - rrset_cleanup
    - dns_rdatasetiter_current
    - 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:2201,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2202,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2203,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2209,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2210,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2212,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2213,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2216,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2217,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2221,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2222,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2226,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2228,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2232,1
    - Dst: remove_records
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2233,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2235,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2238,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2239,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2242,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2245,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2247,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2248,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2250,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2251,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2254,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2256,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2258,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2259,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2260,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2263,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2266,1
    - Dst: remove_sigs
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2267,1
    - Dst: add_ds
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2269,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2271,1
    - Dst: secure
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2272,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2274,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2275,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2278,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2279,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2281,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2285,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2288,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2289,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2291,1
    - Dst: hashlist_add_dns_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2292,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2294,1
    - Dst: dns_name_downcase
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2301,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2302,1
    - Dst: addnowildcardhash
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2303,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2305,1
    - Dst: dns_name_split
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2308,1
    - Dst: hashlist_add_dns_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2309,1
    - Dst: addnowildcardhash
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2312,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2316,1
    - Dst: hashlist_sort
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2321,1
    - Dst: hashlist_hasdup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2327,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2328,1
    - Dst: addnsec3param
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2337,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2342,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2343,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2346,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2347,1
    - Dst: nsec3clean
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2348,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2350,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2352,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2357,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2358,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2360,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2361,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2364,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2365,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2369,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2370,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2374,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2376,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2380,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2381,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2384,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2387,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2389,1
    - Dst: active_node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2390,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2392,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2393,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2396,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2398,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2400,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2401,1
    - Dst: is_delegation
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2404,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2407,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2408,1
    - Dst: secure
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2409,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2411,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2412,1
    - Dst: has_dname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2415,1
    - Dst: savezonecut
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2416,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2418,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2422,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2425,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2426,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2431,1
    - Dst: addnsec3
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2432,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2434,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2438,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2439,1
    - Dst: dns_name_split
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2442,1
    - Dst: addnsec3
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2443,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2447,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: 2448
      start: 2186
    functionDepth: 4
    functionLinenumber: 2186
    functionLinenumberEnd: 2448
    functionName: nsec3ify
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - add_ds
    - dns_name_copy
    - dns_dbiterator_destroy
    - dns_name_split
    - addnsec3param
    - dns_rdataset_init
    - addnsec3
    - secure
    - active_node
    - nsec3clean
    - hashlist_hasdup
    - dns_dbiterator_current
    - savezonecut
    - check_dns_dbiterator_current
    - dns_name_fullcompare
    - hashlist_sort
    - remove_records
    - fatal
    - check_result
    - dns_name_issubdomain
    - dns_db_createiterator
    - dns_dbiterator_next
    - OPTOUT
    - isc_result_totext
    - hashlist_add_dns_name
    - dns_name_equal
    - addnowildcardhash
    - dns_name_countlabels
    - is_delegation
    - dns_db_detachnode
    - remove_sigs
    - dns_dbiterator_first
    - dns_name_downcase
    - dns_fixedname_initname
    - has_dname
    - dns_dbiterator_pause
    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:2346,1
    - Dst: check_dns_dbiterator_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2347,1
    - Dst: nsec3clean
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2348,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2351
      start: 2345
    functionDepth: 2
    functionLinenumber: 2345
    functionLinenumberEnd: 2351
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - check_dns_dbiterator_current
    - dns_dbiterator_current
    - nsec3clean
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH(dbiter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2462,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2463,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2464,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2466,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2467,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2469,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2470,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2473,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2475,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2477,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2479,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2480,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: 2482
      start: 2453
    functionDepth: 1
    functionLinenumber: 2453
    functionLinenumberEnd: 2482
    functionName: loadzone
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 1
    functionsReached:
    - dns_name_fromtext
    - dns_db_create
    - dns_db_load
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - check_result
    - fatal
    - isc_buffer_constinit
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: "void loadzone(char *file, const char *origin, dns_rdataclass_t rdclass,\n\t
      dns_db_t **db)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2496,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2498,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2499,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2502,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2504,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2505,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2506,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2509,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2509,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2513,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2514,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2514,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2519,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2523,1
    - Dst: dns_dnssec_keylistfromrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2531,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2535,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2536,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2540,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2541,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2542,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2543,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2544,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 29
    argCount: 2
    argNames:
    - preserve_keys
    - load_public
    argTypes:
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2545
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2545
    functionName: loadzonekeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_dnssec_keylistfromrdataset
    - fprintf
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - CHECK
    - dns_rdataset_disassociate
    - dns_db_findnode
    - fatal
    - dns_db_closeversion
    - dns_db_currentversion
    - isc_result_totext
    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:2556,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2561,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2562,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2565,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2565,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2566,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2569,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2570,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2576,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2576,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2577,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2577,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2586,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2587,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2590,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - keyfiles
    - n
    - setksk
    argTypes:
    - char*[]
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2601
      start: 2547
    functionDepth: 1
    functionLinenumber: 2547
    functionLinenumberEnd: 2601
    functionName: loadexplicitkeys
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_dnsseckey_create
    - dns_name_equal
    - dst_key_alg
    - dst_key_name
    - dst_key_isprivate
    - ISC_LIST_APPEND
    - dst_key_id
    - dst_key_fromnamedfile
    - fatal
    - dst_key_free
    - isc_result_totext
    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:2576,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2576,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2577,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2577,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2582
      start: 2575
    functionDepth: 1
    functionLinenumber: 2575
    functionLinenumberEnd: 2582
    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:2610,1
    - Dst: vsnprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2611,1
    - Dst: va_end
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2612,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2603
    functionDepth: 0
    functionLinenumber: 2603
    functionLinenumberEnd: 2615
    functionName: report
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - va_start
    - fprintf
    - va_end
    - 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:2619,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2620,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2617
    functionDepth: 1
    functionLinenumber: 2617
    functionLinenumberEnd: 2623
    functionName: clear_keylist
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_dnsseckey_destroy
    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:2633,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2638,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2639,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2645,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2647,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2649,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2650,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2651,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2652,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2656,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2662,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2664,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2665,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: 2666
      start: 2625
    functionDepth: 1
    functionLinenumber: 2625
    functionLinenumberEnd: 2666
    functionName: add_digest
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_LIST_APPEND
    - dst_ds_digest_supported
    - strncmp
    - ISC_LIST_FOREACH
    - dns_dsdigest_fromtext
    - fatal
    - ISC_LINK_INIT
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: "void add_digest(char *str, size_t dlen, dns_kasp_digestlist_t *digests,\n\t
      \  bool *cdnskey)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2680,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2681,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2682,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2684,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2685,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2686,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2688,1
    - Dst: UNCONST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2694,1
    - Dst: strchr
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2696,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2698,1
    - Dst: add_digest
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2699,1
    - Dst: add_digest
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2703,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2712,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2718,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2720,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2721,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2723,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2724,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2727,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2730,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2734,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2737,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2740,1
    - Dst: dns_dnssec_updatekeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2745,1
    - Dst: dns_dnssec_syncupdate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2752,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2755,1
    - Dst: dns_diff_applysilently
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2757,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2759,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2760,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2763,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2764,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2766,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2768,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2769,1
    - Dst: clear_keylist
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2771,1
    - Dst: clear_keylist
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2772,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2775,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2776,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2778,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2778,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2779
      start: 2668
    functionDepth: 1
    functionLinenumber: 2668
    functionLinenumberEnd: 2779
    functionName: build_final_keylist
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - ISC_LIST_UNLINK
    - dns_db_newversion
    - isc_mem_put
    - INSIST
    - dns_rdataset_init
    - ISC_LIST_INIT
    - strchr
    - strlen
    - clear_keylist
    - dns_name_format
    - dns_diff_applysilently
    - fatal
    - check_result
    - isc_result_totext
    - dns_db_findrdataset
    - dns_dnssec_updatekeys
    - ISC_LIST_EMPTY
    - dns_db_closeversion
    - dns_diff_clear
    - UNCONST
    - dns_db_detachnode
    - add_digest
    - dns_rdataset_cleanup
    - dns_dnssec_findmatchingkeys
    - dns_diff_init
    - dns_dnssec_syncupdate
    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:2775,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2777
      start: 2774
    functionDepth: 1
    functionLinenumber: 2774
    functionLinenumberEnd: 2777
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    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:2790,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2792,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2794,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2795,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2798,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2799,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2803,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2804,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2807,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2808,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2812,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2814,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2815,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2820,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2822,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2823,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2824,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2827,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2832,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2836
      start: 2781
    functionDepth: 1
    functionLinenumber: 2781
    functionLinenumberEnd: 2836
    functionName: warnifallksk
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_rdataset_first
    - fprintf
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdata_freestruct
    - dns_rdataset_disassociate
    - dns_db_findnode
    - fatal
    - dns_rdataset_current
    - dns_db_closeversion
    - dns_db_currentversion
    - check_result
    - dns_rdata_tostruct
    - isc_result_totext
    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:2812,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2814,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2815,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2820,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2821
      start: 2810
    functionDepth: 1
    functionLinenumber: 2810
    functionLinenumberEnd: 2821
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_result
    - dns_rdata_freestruct
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_currentversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2853,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2854,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2857,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2857,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2864,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2866,1
    - Dst: memmove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2871,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2877,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2889,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2890,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2893,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2895,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2895,1
    - Dst: CHECK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2897,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2897,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2900,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2901,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2902,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2903,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2904,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2908,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2910,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2911,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2912,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2918,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2921,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2923,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2925,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 50
    argCount: 4
    argNames:
    - update
    - set_salt
    - set_optout
    - set_iter
    argTypes:
    - bool
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2838
    functionDepth: 1
    functionLinenumber: 2838
    functionLinenumberEnd: 2926
    functionName: set_nsec3params
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - memmove
    - dns_rdataset_init
    - dns_rdata_freestruct
    - dns_db_currentversion
    - fatal
    - check_result
    - dns_db_getnsec3parameters
    - dns_rdata_tostruct
    - OPTOUT
    - dns_rdataset_first
    - dns_db_findrdataset
    - dns_rdataset_current
    - CHECK
    - dns_db_closeversion
    - dns_db_findnsec3node
    - dns_db_detachnode
    - isc_safe_memequal
    - dns_nsec3_hashname
    - dns_rdataset_cleanup
    - dns_fixedname_initname
    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:2951,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2952,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2953,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2954,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2955,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2955,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2957,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2959,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2961,1
    - Dst: strlcat
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2965,1
    - Dst: strlcat
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2966,1
    - Dst: dns_diff_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2968,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2973,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2976,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2985,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2985,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2988,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2991,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2997,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3000,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3001,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3002,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3003,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3004,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3005,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3006,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3008,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3011,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3012,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3015,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3019,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3022,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3024,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3026,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3027,1
    - Dst: dns_diff_apply
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3029,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3030,1
    - Dst: dns_diff_clear
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3031,1
    - Dst: dns_master_dump
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3033,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3035,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3037,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3039,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3040,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 72
    argCount: 2
    argNames:
    - prefix
    - type
    argTypes:
    - char*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 2928
    functionDepth: 1
    functionLinenumber: 2928
    functionLinenumberEnd: 3041
    functionName: writeset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - dns_db_newversion
    - dns_db_create
    - isksk
    - dns_difftuple_create
    - isc_mem_put
    - strlen
    - dns_diff_apply
    - REVOKE
    - dns_rdata_fromregion
    - snprintf
    - dns_master_dump
    - isc_buffer_putuint8
    - check_result
    - isc_buffer_init
    - dns_ds_buildrdata
    - dns_db_detach
    - dns_rdata_init
    - dst_key_alg
    - dns_diff_append
    - dns_db_closeversion
    - dst_key_todns
    - dns_diff_clear
    - strlcat
    - isc_mem_get
    - isc_buffer_usedregion
    - dns_diff_init
    - dns_name_tofilenametext
    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:2973,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2976,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2985,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2985,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2988,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2991,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2997,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3000,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3001,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3002,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3003,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3004,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3005,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3006,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3008,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3011,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3012,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3015,1
    - Dst: dns_diff_append
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3019,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3020
      start: 2972
    functionDepth: 1
    functionLinenumber: 2972
    functionLinenumberEnd: 3020
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached:
    - dns_ds_buildrdata
    - dns_rdata_init
    - dst_key_alg
    - isksk
    - REVOKE
    - dns_difftuple_create
    - dns_rdata_fromregion
    - dns_diff_append
    - isc_buffer_usedregion
    - dst_key_todns
    - check_result
    - isc_buffer_init
    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:2985,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2985,1
    - Dst: REVOKE
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2988,1
    - Dst: isksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:2991,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2996
      start: 2984
    functionDepth: 1
    functionLinenumber: 2984
    functionLinenumberEnd: 2996
    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:3047,1
    - Dst: localtime_r
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3048,1
    - Dst: strftime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3056,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3057,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3059
      start: 3045
    functionDepth: 0
    functionLinenumber: 3045
    functionLinenumberEnd: 3059
    functionName: print_time
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - time
    - fprintf
    - localtime_r
    - strftime
    linkageType: ''
    returnType: void
    signature: void print_time(FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3069,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3063
    functionDepth: 0
    functionLinenumber: 3063
    functionLinenumberEnd: 3071
    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:3078,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3079,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3082,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3084,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3086,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3087,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3090,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3091,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3092,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3093,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3094,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3095,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3096,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3098,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3099,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3100,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3101,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3103,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3104,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3107,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3108,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3111,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3112,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3114,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3115,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3117,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3118,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3119,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3120,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3121,1
    - 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:3125,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3126,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3127,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3128,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3129,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:3132,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3133,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:3141,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:3146,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:3149,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3150,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3152,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3153,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3154,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:3160,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: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 68
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3165
      start: 3076
    functionDepth: 0
    functionLinenumber: 3076
    functionLinenumberEnd: 3165
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 26
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_file_remove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3167
    functionDepth: 1
    functionLinenumber: 3167
    functionLinenumberEnd: 3172
    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:3182,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3183,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3184,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3185,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3186,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3187,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3188,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3189,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3190,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3191,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3193,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3195,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3198,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3200,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3205,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3207,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: 3209
      start: 3174
    functionDepth: 1
    functionLinenumber: 3174
    functionLinenumberEnd: 3209
    functionName: print_stats
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_time_microdiff
    - atomic_load
    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:3236,1
    - Dst: atomic_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3237,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3239,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3252,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3255,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3257,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3259,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3261,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3263,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3265,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3277,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3282,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3287,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3289,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3290,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3292,1
    - Dst: OPTOUT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3298,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3319,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3320,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3322,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3324,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3325,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3334,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3334,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3343,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3359,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3364,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3366,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3369,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3379,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3381,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3388,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3390,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3404,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3412,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3414,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3416,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3423,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3425,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3427,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3440,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3442,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3459,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3471,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3485,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3502,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3504,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3525,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3526,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3532,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3537,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3541,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3545,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3548,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3554,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3557,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3561,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3564,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3570,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3576,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3578,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3590,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3592,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3594,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3600,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3602,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3608,1
    - Dst: isc_file_basename
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3617,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3623,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3623,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3624,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3625,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3629,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3631,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3633,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3635,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3638,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3643,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3645,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3648,1
    - Dst: strncasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3650,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3654,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3658,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3659,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3662,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3667,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3669,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3670,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3673,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3675,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3678,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3683,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3687,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3691,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3694,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3696,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3699,1
    - Dst: loadzone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3700,1
    - Dst: loadjournal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3702,1
    - Dst: dns_db_origin
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3704,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3705,1
    - Dst: get_soa_ttls
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3706,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3709,1
    - Dst: set_nsec3params
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3727,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3734,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3735,1
    - Dst: loadzonekeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3749,1
    - Dst: loadexplicitkeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3751,1
    - Dst: loadexplicitkeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3752,1
    - Dst: loadzonekeys
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3753,1
    - Dst: build_final_keylist
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3761,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3771,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3776,1
    - Dst: warnifallksk
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3781,1
    - Dst: dns_nsec3_hashlength
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3786,1
    - Dst: hashlist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3787,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3787,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3789,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3791,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3796,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3798,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3802,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3804,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3807,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3809,1
    - Dst: hashlist_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3813,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3817,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3818,1
    - Dst: setsoaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3822,1
    - Dst: setsoaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3825,1
    - Dst: setsoaserial
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3828,1
    - Dst: cleanup_zone
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3837,1
    - Dst: nsec3ify
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3841,1
    - Dst: nsecify
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3844,1
    - Dst: writeset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3849,1
    - Dst: writeset
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3851,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3861,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3862,1
    - Dst: isc_file_mktemplate
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3864,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3865,1
    - Dst: isc_file_openunique
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3867,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3869,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3870,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3872,1
    - Dst: setfatalcallback
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3874,1
    - Dst: print_time
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3877,1
    - Dst: print_version
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3878,1
    - Dst: isc_mutex_init
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3880,1
    - Dst: presign
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3882,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3883,1
    - Dst: signapex
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3884,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3885,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3890,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3891,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3892,1
    - Dst: atomic_load
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3894,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3895,1
    - Dst: postsign
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3898,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3899,1
    - Dst: dns_zoneverify_dnssec
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3904,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3908,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3910,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3916,1
    - Dst: dns_master_dumptostream
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3923,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3926,1
    - Dst: isc_stdio_close
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3930,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3931,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3935,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3937,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3938,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3940,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3942,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3946,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3947,1
    - Dst: hashlist_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3949,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3952,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3953,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3957,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3961,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3964,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3967,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3970,1
    - Dst: isc_time_now
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3973,1
    - Dst: print_stats
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3974,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3977,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3978,1
    CyclomaticComplexity: 156
    EdgeCount: 156
    ICount: 544
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3981
      start: 3211
    functionDepth: 6
    functionLinenumber: 3211
    functionLinenumberEnd: 3981
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 33
    functionsReached:
    - isc_mem_put
    - INSIST
    - isc_buffer_usedlength
    - isc_crypto_fips_enable
    - ISC_LIST_INIT
    - isc_file_mktemplate
    - exit
    - strcasecmp
    - setfatalcallback
    - isc_file_basename
    - isc_mem_free
    - loadjournal
    - isc_mem_stats
    - signapex
    - writeset
    - isc_time_now
    - isc_stdtime_now
    - set_nsec3params
    - build_final_keylist
    - nsec3ify
    - isc_rwlock_destroy
    - dns_master_dumptostream
    - strncasecmp
    - isc_hex_decodestring
    - strtottl
    - dns_db_origin
    - dns_nsec3_hashlength
    - warnifallksk
    - isc_file_rename
    - isc_file_remove
    - dns_zoneverify_dnssec
    - fatal
    - OPTOUT
    - strtoclass
    - dns_master_initrawheader
    - vbprintf
    - isc_commandline_parse
    - print_stats
    - hashlist_init
    - cleanup_zone
    - isc_mutex_init
    - loadexplicitkeys
    - dns_nsec_nseconly
    - setup_logging
    - ISC_LIST_UNLINK
    - dns_db_newversion
    - fprintf
    - dns_dnsseckey_destroy
    - strlen
    - strtol
    - dns_nsec3_maxiterations
    - nsecify
    - isc_stdio_close
    - check_result
    - isc_commandline_init
    - usage
    - dns_master_stylecreate
    - dns_db_detach
    - setsoaserial
    - printf
    - isc_file_openunique
    - strtotime
    - dns_db_class
    - dns_master_styledestroy
    - get_soa_ttls
    - loadzone
    - isc_mutex_destroy
    - dns_db_nodecount
    - version
    - isc_managers_create
    - print_time
    - strtoul
    - postsign
    - hashlist_free
    - atomic_init
    - print_version
    - presign
    - isc_loopmgr_setup
    - snprintf
    - isc_mem_allocate
    - isc_buffer_init
    - isc_result_totext
    - strcmp
    - isc_rwlock_init
    - isc_managers_destroy
    - isc_loopmgr_teardown
    - dns_db_closeversion
    - atomic_load
    - isc_loopmgr_run
    - isc_mem_get
    - isc_os_ncpus
    - try_dir
    - isc_mem_debugon
    - loadzonekeys
    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: 3767
      start: 3765
    functionDepth: 0
    functionLinenumber: 3765
    functionLinenumberEnd: 3767
    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:3952,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssec-signzone.c:3953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3954
      start: 3951
    functionDepth: 1
    functionLinenumber: 3951
    functionLinenumberEnd: 3954
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-signzone.c
    functionUses: 77
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    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:63,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:65,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:65,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:66,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:66,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - setname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: initname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 73
    functionsReached:
    - dns_name_fromtext
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - isc_buffer_init
    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:76,1
    - Dst: dns_db_beginload
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:77,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:79,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:79,1
    - Dst: dns_master_loadstream
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:82,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:85,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:85,1
    - Dst: dns_db_endload
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:88,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:90,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:90,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - db
    - fp
    argTypes:
    - dns_db_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 92
    functionName: db_load_from_stream
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 1
    functionsReached:
    - dns_db_endload
    - dns_rdatacallbacks_init
    - dns_master_loadstream
    - fatal
    - dns_db_beginload
    - isc_result_totext
    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:101,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:103,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:106,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:109,1
    - Dst: db_load_from_stream
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:110,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:113,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:115,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:116,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:120,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:122,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:125,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:129,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:131,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:135,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:138,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - filename
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 141
    functionName: loadset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 1
    functionsReached:
    - db_load_from_stream
    - strcmp
    - dns_db_detachnode
    - dns_db_detach
    - dns_db_create
    - dns_name_format
    - dns_db_load
    - dns_db_findrdataset
    - dns_db_findnode
    - fatal
    - isc_result_totext
    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:149,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:151,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:154,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:154,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:157,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:158,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:159,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:163,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:166,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:168,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:169,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:170,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:173,1
    - Dst: loadset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:175,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - dirname
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 176
    functionName: loadkeyset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_init
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    - strlen
    - loadset
    - dns_name_tofilenametext
    - check_result
    - isc_buffer_init
    - isc_buffer_putstr
    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:186,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:188,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:190,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:193,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:194,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:200,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:201,1
    - Dst: dst_key_todns
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:204,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:206,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:209,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:210,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:210,1
    - Dst: dst_key_class
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:213,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:215,1
    - Dst: dns_name_copy
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:216,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:216,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:218,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: 219
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 219
    functionName: loadkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - dst_key_todns
    - dns_rdata_init
    - dst_key_name
    - fprintf
    - dst_key_format
    - dns_rdata_fromregion
    - dst_key_class
    - dst_key_fromnamedfile
    - isc_buffer_usedregion
    - dns_fixedname_initname
    - fatal
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    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:228,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:229,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:230,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:235,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:236,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: logkey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dst_key_fromdns
    - dst_key_format
    - isc_buffer_add
    - dst_key_free
    - isc_buffer_init
    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:253,1
    - 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: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:257,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:259,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:261,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:272,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:274,1
    - Dst: dns_name_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:277,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:279,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:282,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:286,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:289,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:291,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:294,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:295,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:298,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:301,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:302,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:305,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:307,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:310,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:311,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: 312
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 312
    functionName: emit
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 2
    functionsReached:
    - dns_ds_buildrdata
    - isc_buffer_init
    - dns_rdata_init
    - dns_name_totext
    - printf
    - dns_rdata_tofmttext
    - dns_rdataclass_totext
    - isc_buffer_usedregion
    - fatal
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void emit(dns_dsdigest_t dt, bool showall, bool cds, dns_rdata_t *rdata)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:321,1
    - Dst: emit
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:326,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - showall
    - cds
    - rdata
    argTypes:
    - bool
    - bool
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 329
    functionName: emits
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - fprintf
    - 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:336,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:341,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:343,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:344,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:345,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:363,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 366
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 27
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 36
    BranchProfiles: []
    Callsites:
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:381,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:384,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:389,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:392,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:395,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:401,1
    - Dst: strtodsdigest
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:401,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:410,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:417,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:418,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:429,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:432,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:434,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:445,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:450,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:454,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:458,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:461,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:464,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:468,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:471,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:490,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:493,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:496,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:498,1
    - Dst: initname
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:508,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:510,1
    - Dst: loadkeyset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:514,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:516,1
    - Dst: loadset
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:517,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:521,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:522,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:527,1
    - Dst: logkey
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:530,1
    - Dst: emits
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:533,1
    - Dst: loadkey
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:539,1
    - Dst: emits
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:541,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:544,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:546,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:549,1
    - Dst: ferror
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:550,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:551,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 128
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 368
    functionDepth: 2
    functionLinenumber: 368
    functionLinenumberEnd: 556
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 33
    functionsReached:
    - loadkeyset
    - version
    - strtottl
    - INSIST
    - fprintf
    - dns_rdataset_init
    - strlen
    - strtol
    - exit
    - add_dtype
    - loadkey
    - fatal
    - usage
    - isc_commandline_init
    - isc_mem_stats
    - isc_result_totext
    - strtoclass
    - initname
    - ferror
    - strtodsdigest
    - fflush
    - isc_commandline_parse
    - dns_rdataset_current
    - loadset
    - emits
    - dns_rdataset_cleanup
    - setup_logging
    - logkey
    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:527,1
    - Dst: logkey
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:530,1
    - Dst: emits
      Src: /src/bind9/bin/dnssec/dnssec-dsfromkey.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 534
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 534
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-dsfromkey.c
    functionUses: 0
    functionsReached:
    - emits
    - dns_rdataset_current
    - logkey
    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: 1
    argNames:
    - ret
    argTypes:
    - int
    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(int ret)
  - BBCount: 111
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:143,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:146,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:149,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:154,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:166,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:166,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:170,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:172,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:175,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:181,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:183,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:184,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:191,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:195,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:200,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:203,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:205,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:208,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:213,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:216,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:219,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:222,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:224,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:235,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:237,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:241,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:247,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:249,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:252,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:258,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:261,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:267,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:270,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:276,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:279,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:285,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:287,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:291,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:297,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:299,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:302,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:310,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:317,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:322,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:326,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:330,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:333,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:336,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:340,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:344,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:347,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:350,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:353,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:354,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:355,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:356,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:356,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:357,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:359,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:361,1
    - Dst: strchr
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:364,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:368,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:369,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:370,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:371,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:376,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:380,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:381,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:383,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:400,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:408,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:426,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:440,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:443,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:446,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:449,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:452,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:455,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:460,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:461,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:463,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:464,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:467,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:468,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:469,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:471,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:472,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:474,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:479,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:481,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:487,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:489,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:497,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:507,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:509,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:525,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:526,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:536,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:548,1
    - Dst: dst_key_fromlabel
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:551,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:557,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:558,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:559,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:560,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:561,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:562,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:571,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:574,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:578,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: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:586,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:588,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:593,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:600,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:604,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:608,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:611,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:614,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:619,1
    - Dst: key_collision
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:627,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:630,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:631,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:633,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:634,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:637,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:642,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:647,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:655,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:658,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:659,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:660,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:663,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:664,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: printf
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:669,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:670,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:672,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:676,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:678,1
    - Dst: free
      Src: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c:681,1
    CyclomaticComplexity: 125
    EdgeCount: 125
    ICount: 384
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 685
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c
    functionUses: 33
    functionsReached:
    - dst_key_gettime
    - version
    - dns_secalg_format
    - strtottl
    - strtoul
    - fprintf
    - dst_key_setttl
    - toupper
    - isc_mem_strdup
    - dst_algorithm_fromtext
    - isc_buffer_add
    - strlen
    - strchr
    - strtol
    - exit
    - free
    - dns_name_fromtext
    - dns_name_format
    - dst_key_tofile
    - dst_key_isprivate
    - dst_key_format
    - dst_key_buildfilename
    - snprintf
    - isc_mem_free
    - isoptarg
    - isc_mem_allocate
    - fatal
    - usage
    - isc_commandline_init
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    - isc_mem_stats
    - strtoclass
    - dst_key_flags
    - dst_key_getprivateformat
    - isc_stdtime_now
    - dst_key_alg
    - dst_key_name
    - dst_key_fromlabel
    - printf
    - isc_commandline_parse
    - strtotime
    - dst_key_fromnamedfile
    - isc_buffer_clear
    - UNREACHABLE
    - key_collision
    - dst_key_settime
    - try_dir
    - dns_fixedname_initname
    - setup_logging
    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
    - fprintf
    - va_end
    - vsnprintf
    linkageType: ''
    returnType: void
    signature: void report(const char *format, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:101,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:102,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:103,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:105,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:106,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:108,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:109,1
    - Dst: dns_db_create
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:112,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:114,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:116,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:123,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:129,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:130,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 5
    argNames:
    - file
    - origin
    - origin_is_file
    - rdclass
    - db
    argTypes:
    - char*
    - char*
    - bool
    - dns_rdataclass_t
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 132
    functionName: loadzone
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-verify.c
    functionUses: 2
    functionsReached:
    - dns_name_fromtext
    - dns_db_create
    - dns_db_load
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - check_result
    - fatal
    - isc_buffer_constinit
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: "void loadzone(char *file, const char *origin, bool origin_is_file,\n\t
      dns_rdataclass_t rdclass, dns_db_t **db)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:139,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:140,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:143,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:145,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:147,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:148,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:149,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:150,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:158,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 160
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-verify.c
    functionUses: 29
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:174,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:181,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:184,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:186,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:188,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:190,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:192,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:194,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:205,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:212,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:212,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:232,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:234,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:252,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:257,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:261,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:265,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:268,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:271,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:275,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:277,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:279,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:285,1
    - Dst: POST
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:293,1
    - Dst: POST
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:294,1
    - Dst: isc_file_basename
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:297,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:302,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:304,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:307,1
    - Dst: report
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:312,1
    - Dst: loadzone
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:313,1
    - Dst: loadjournal
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:315,1
    - Dst: dns_db_origin
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:317,1
    - Dst: dns_db_class
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:318,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:321,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:322,1
    - Dst: dns_zoneverify_dnssec
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:324,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:328,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:329,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-verify.c:332,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 115
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 336
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-verify.c
    functionUses: 33
    functionsReached:
    - version
    - dns_db_newversion
    - dns_db_origin
    - fprintf
    - strtol
    - exit
    - strcasecmp
    - isc_file_basename
    - loadjournal
    - dns_zoneverify_dnssec
    - fatal
    - usage
    - isc_commandline_init
    - check_result
    - isc_mem_stats
    - isc_result_totext
    - strtoclass
    - dns_db_detach
    - isc_stdtime_now
    - isc_commandline_parse
    - dns_db_closeversion
    - dns_db_class
    - report
    - POST
    - loadzone
    - setup_logging
    - isc_mem_debugon
    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:153,1
    - Dst: dns_time64_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:154,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:155,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:156,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:158,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:160,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - level
    - msg
    - time
    argTypes:
    - int
    - char*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: verbose_time
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_time64_totext
    - vbprintf
    - isc_buffer_putuint8
    - check_result
    - isc_buffer_init
    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:169,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:172,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:172,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:173,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:173,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:174,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - setname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 178
    functionName: initname
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 78
    functionsReached:
    - dns_name_fromtext
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - fatal
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void initname(char *setname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:185,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:187,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:189,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:192,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: 194
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 194
    functionName: findset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - check_result
    - dns_rdataset_init
    - dns_db_findrdataset
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: freeset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_cleanup
    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:205,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:209,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:211,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:212,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:213,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:215,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 217
    functionName: freelist
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_rdataset_isassociated
    - dns_rdatalist_fromrdataset
    - ISC_LIST_FOREACH
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void freelist(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:221,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:222,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:223,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:224,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:225,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:226,1
    - Dst: freeset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:227,1
    - Dst: freelist
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:228,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 232
    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:238,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:240,1
    - Dst: dns_db_load
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:242,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:245,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:245,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:248,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:250,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: 252
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 252
    functionName: load_db
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_db_create
    - dns_db_load
    - dns_db_findnode
    - fatal
    - check_result
    - isc_result_totext
    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:258,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:261,1
    - Dst: dns_db_detach
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:263,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: 265
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 265
    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:269,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:270,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:272,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:274,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - file
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: load_child_sets
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - findset
    - load_db
    - free_db
    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:285,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:287,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:290,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:291,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:293,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:295,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:299,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:302,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:302,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:303,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:305,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:307,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:308,1
    - Dst: isc_buffer_availablelength
      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_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:314,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:314,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:315,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:317,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:318,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: 319
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 319
    functionName: get_dsset_name
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint8
    - isc_buffer_availablelength
    - strlen
    - isc_file_isdirectory
    - fatal
    - dns_name_tofilenametext
    - check_result
    - isc_buffer_init
    - isc_buffer_putstr
    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:327,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:329,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:331,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:332,1
    - Dst: isc_time_seconds
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:334,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:336,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:337,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:339,1
    - Dst: load_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:341,1
    - Dst: findset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:342,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:344,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:345,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:349,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 350
    functionName: load_parent_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - free_db
    - dns_rdataset_isassociated
    - isc_stdtime_now
    - isc_time_seconds
    - strtotime
    - get_dsset_name
    - load_db
    - findset
    - fatal
    - isc_file_getmodtime
    - verbose_time
    - isc_result_totext
    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:368,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:370,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:372,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:373,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:374,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:376,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:381,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:382,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:385,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 387
    functionName: formatset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_master_stylecreate
    - dns_master_styledestroy
    - isc_buffer_putuint8
    - dns_master_rdatasettotext
    - isc_buffer_availablelength
    - isc_buffer_allocate
    - isc_buffer_free
    - check_result
    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:405,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:406,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:412,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:413,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:414,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:415,1
    - Dst: strerror
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:415,1
    - Dst: get_dsset_name
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:421,1
    - Dst: get_dsset_name
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:423,1
    - Dst: get_dsset_name
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:424,1
    - Dst: isc_file_openunique
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:426,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:428,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:429,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:429,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:431,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:432,1
    - Dst: fclose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:433,1
    - Dst: isc_file_remove
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:435,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:436,1
    - Dst: strerror
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:436,1
    - Dst: isc_time_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:439,1
    - Dst: isc_file_settime
      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: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:444,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:448,1
    - Dst: isc_file_rename
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:450,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: 451
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 451
    functionName: write_parent_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_file_rename
    - fatal
    - printf
    - isc_file_openunique
    - fprintf
    - formatset
    - fflush
    - isc_time_set
    - get_dsset_name
    - isc_buffer_usedregion
    - isc_file_settime
    - isc_buffer_free
    - fclose
    - strerror
    - isc_file_remove
    - isc_result_totext
    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:469,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:470,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:471,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:477,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:480,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:484,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:490,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:491,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:496,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:505,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: 511
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 511
    functionName: match_key_dsset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - vbprintf
    - dns_rdataset_current
    - dns_rdata_compare
    - check_result
    - dns_rdata_tostruct
    - isc_result_totext
    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:469,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:470,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:471,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:477,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:480,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:484,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:490,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:491,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:496,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 503
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - vbprintf
    - dns_rdataset_current
    - dns_rdata_compare
    - check_result
    - dns_rdata_tostruct
    - isc_result_totext
    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:524,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:526,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:534,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:537,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:538,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:540,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:541,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:544,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:545,1
    - Dst: match_key_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:548,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:553,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:556,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:559,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: 565
      start: 517
    functionDepth: 2
    functionLinenumber: 517
    functionLinenumberEnd: 565
    functionName: match_keyset_dsset
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_keyfromrdata
    - isc_mem_cget
    - INSIST
    - dns_rdata_init
    - vbprintf
    - dns_rdata_toregion
    - dst_region_computeid
    - dns_rdataset_current
    - dns_rdataset_count
    - check_result
    - match_key_dsset
    - dns_rdata_tostruct
    - isc_result_totext
    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:534,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:537,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:538,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:540,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:541,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:544,1
    - Dst: dst_region_computeid
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:545,1
    - Dst: match_key_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:548,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:553,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:556,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 562
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dns_rdata_init
    - INSIST
    - vbprintf
    - dns_rdata_toregion
    - dst_region_computeid
    - dns_rdataset_current
    - check_result
    - match_key_dsset
    - dns_rdata_tostruct
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(keyset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:574,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:578,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - keytable_p
    argTypes:
    - keyinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 583
    functionName: free_keytable
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_free
    - isc_mem_cput
    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:601,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:603,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:609,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:610,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:611,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:616,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:617,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:625,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:630,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:637,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:644,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:647,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:651,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:659,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:661,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: 669
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 669
    functionName: matching_sigs
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - dns_name_equal
    - vbprintf
    - isc_serial_lt
    - dns_rdataset_current
    - dns_dnssec_verify
    - check_result
    - verbose_time
    - dns_rdata_tostruct
    - isc_result_totext
    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:609,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:610,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:611,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:616,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:617,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:625,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:630,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:637,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:644,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:647,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:651,1
    - Dst: isc_serial_lt
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:659,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:661,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 605
    functionDepth: 2
    functionLinenumber: 605
    functionLinenumberEnd: 666
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - vbprintf
    - isc_serial_lt
    - dns_rdataset_current
    - dns_dnssec_verify
    - check_result
    - verbose_time
    - dns_rdata_tostruct
    - isc_result_totext
    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:684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - algo
    argTypes:
    - dns_secalg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 675
    functionDepth: 1
    functionLinenumber: 675
    functionLinenumberEnd: 686
    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:705,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:706,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:707,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:716,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:724,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - dsset
    - algo
    argTypes:
    - dns_rdataset_t*
    - dns_secalg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 726
    functionName: signed_strict
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - vbprintf
    - dns_rdataset_current
    - check_result
    - dns_rdata_tostruct
    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:705,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:706,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:707,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:716,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 722
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - check_result
    - vbprintf
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(dsset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:739,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:741,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:742,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:749,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: 750
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 750
    functionName: ds_from_cds
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_fromstruct
    - check_result
    - dns_rdata_tostruct
    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:758,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:760,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:765,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:767,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: 771
      start: 752
    functionDepth: 1
    functionLinenumber: 752
    functionLinenumberEnd: 771
    functionName: ds_from_cdnskey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - REQUIRE
    - isc_buffer_availableregion
    - 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:783,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:785,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:786,1
    - Dst: ds_from_rdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:788,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:792,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:795,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:798,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:801,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:802,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: 807
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 807
    functionName: append_new_ds_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_rdata_init
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_rdataset_current
    - check_result
    - 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:783,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:785,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:786,1
    - Dst: ds_from_rdata
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:788,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:792,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:795,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:798,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:801,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:802,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 779
    functionDepth: 1
    functionLinenumber: 779
    functionLinenumberEnd: 804
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_rdata_init
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_rdataset_current
    - check_result
    - 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:819,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:820,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:825,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:826,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:828,1
    - Dst: append_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:832,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:842,1
    - Dst: freelist
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:843,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:844,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: 847
      start: 809
    functionDepth: 2
    functionLinenumber: 809
    functionLinenumberEnd: 847
    functionName: make_new_ds_set
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - append_new_ds_set
    - isc_mem_get
    - dns_rdataset_init
    - vbprintf
    - freelist
    - isc_buffer_allocate
    - dns_rdatalist_init
    - isc_buffer_free
    - dns_rdatalist_tordataset
    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:851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 853
    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:875,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:877,1
    - Dst: dns_rdata_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:880,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:881,1
    - Dst: qsort
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:885,1
    - Dst: isc_mem_cget
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:890,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:893,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:894,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:929,1
    - Dst: isc_mem_cput
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:930,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 1
    argNames:
    - dsset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 859
    functionDepth: 1
    functionLinenumber: 859
    functionLinenumberEnd: 933
    functionName: consistent_digests
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - qsort
    - isc_mem_cput
    - isc_mem_cget
    - dns_rdata_init
    - dns_rdataset_current
    - dns_rdataset_count
    - check_result
    - dns_rdata_tostruct
    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:880,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 883
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - dns_rdata_init
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(dsset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: formatset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:942,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:943,1
    - Dst: memchr
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:945,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:947,1
    - Dst: isc_region_consume
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:948,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cmd
    - rdataset
    argTypes:
    - char*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 952
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 952
    functionName: print_diff
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - printf
    - formatset
    - isc_buffer_usedregion
    - isc_buffer_free
    - isc_region_consume
    - memchr
    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:961,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:963,1
    - Dst: dns_db_newversion
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:965,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:966,1
    - Dst: dns_db_findnode
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:968,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:969,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:971,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:973,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:975,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:977,1
    - Dst: print_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:982,1
    - Dst: check_result
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:985,1
    - Dst: print_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:987,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:988,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:991,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: 992
      start: 954
    functionDepth: 3
    functionLinenumber: 954
    functionLinenumberEnd: 992
    functionName: update_diff
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - print_diff
    - free_db
    - dns_db_subtractrdataset
    - dns_db_newversion
    - dns_db_create
    - dns_rdataset_init
    - dns_db_findnode
    - dns_rdataset_disassociate
    - check_result
    - dns_db_addrdataset
    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:997,1
    - Dst: update_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:999,1
    - Dst: update_diff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1000,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1002,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1004,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1006,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1007,1
    - Dst: strerror
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1007,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: 1009
      start: 994
    functionDepth: 4
    functionLinenumber: 994
    functionLinenumberEnd: 1009
    functionName: nsdiff
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 0
    functionsReached:
    - printf
    - vbprintf
    - fflush
    - fatal
    - strerror
    - 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:1016,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1017,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1020,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1021,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1014
    functionDepth: 0
    functionLinenumber: 1014
    functionLinenumberEnd: 1039
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 30
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1043,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1044,1
    - Dst: free_db
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1045,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1047,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1050,1
    - Dst: free_all_sets
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1052,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1041
    functionDepth: 3
    functionLinenumber: 1041
    functionLinenumberEnd: 1056
    functionName: cleanup
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 32
    functionsReached:
    - free_keytable
    - free_db
    - isc_mem_stats
    - free_all_sets
    linkageType: ''
    returnType: void
    signature: void cleanup(void)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: setfatalcallback
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1069,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1071,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1076,1
    - Dst: add_dtype
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1079,1
    - Dst: strtodsdigest
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1079,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1082,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1108,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1115,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1122,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1125,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1127,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1131,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1139,1
    - Dst: initname
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1141,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1150,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1153,1
    - Dst: load_parent_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1155,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1165,1
    - Dst: load_child_sets
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1168,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1174,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1175,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1177,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1180,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1181,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1183,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1185,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1186,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1188,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1191,1
    - Dst: match_keyset_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1192,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1201,1
    - Dst: signed_loose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1202,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1202,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1204,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1207,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1208,1
    - Dst: signed_loose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1209,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1209,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1212,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1216,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1217,1
    - Dst: signed_loose
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1218,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1219,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1221,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1226,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1234,1
    - Dst: verbose_time
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1235,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1237,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1244,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1245,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1247,1
    - Dst: write_parent_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1249,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1257,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1258,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1259,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1260,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1262,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1269,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1270,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1272,1
    - Dst: freelist
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1274,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1275,1
    - Dst: make_new_ds_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1276,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1278,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1279,1
    - Dst: vbprintf
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1287,1
    - Dst: match_keyset_dsset
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1288,1
    - Dst: consistent_digests
      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:1296,1
    - Dst: signed_strict
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1297,1
    - Dst: matching_sigs
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1297,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1300,1
    - Dst: free_keytable
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1305,1
    - Dst: nsdiff
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1311,1
    - Dst: write_parent_set
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1314,1
    - Dst: cleanup
      Src: /src/bind9/bin/dnssec/dnssec-cds.c:1318,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 151
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1321
      start: 1058
    functionDepth: 5
    functionLinenumber: 1058
    functionLinenumberEnd: 1321
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-cds.c
    functionUses: 33
    functionsReached:
    - version
    - strtottl
    - strtoul
    - matching_sigs
    - match_keyset_dsset
    - verbose_time
    - add_dtype
    - dns_rdataset_isassociated
    - dns_rdataset_count
    - setfatalcallback
    - consistent_digests
    - signed_loose
    - fatal
    - usage
    - isc_commandline_init
    - load_parent_set
    - strtoclass
    - initname
    - strtodsdigest
    - dns_rdatatype_format
    - vbprintf
    - freelist
    - isc_commandline_parse
    - free_keytable
    - nsdiff
    - load_child_sets
    - write_parent_set
    - cleanup
    - signed_strict
    - make_new_ds_set
    - setup_logging
    - isc_buffer_free
    - isc_mem_debugon
    linkageType: ''
    returnType: int
    signature: int main(int argc, char *argv[])
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:44,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:45,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:47,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:48,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:53,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:54,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: exit
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-revoke.c
    functionUses: 31
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:78,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:81,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:86,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:89,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:89,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:99,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:109,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:111,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:116,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:121,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:125,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:129,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:132,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:135,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:142,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:145,1
    - Dst: isc_file_splitpath
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:151,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:168,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:169,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:173,1
    - Dst: dst_key_rid
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:173,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:176,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:179,1
    - Dst: check_keyversion
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:182,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:184,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:186,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:189,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:196,1
    - Dst: dst_key_setflags
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:198,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:200,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:201,1
    - Dst: access
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:203,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:204,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:209,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:212,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:213,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:214,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:217,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:218,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:219,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:226,1
    - Dst: dst_key_setflags
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:227,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:228,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:229,1
    - Dst: unlink
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:232,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:233,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:234,1
    - Dst: unlink
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:235,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:238,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:239,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:243,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:245,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-revoke.c:248,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 121
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 252
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-revoke.c
    functionUses: 33
    functionsReached:
    - check_keyversion
    - version
    - isc_file_splitpath
    - fprintf
    - isc_mem_strdup
    - unlink
    - dst_key_rid
    - strtol
    - exit
    - dst_key_tofile
    - dst_key_format
    - dst_key_buildfilename
    - isc_mem_free
    - dst_key_setflags
    - fatal
    - usage
    - isc_commandline_init
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    - isc_mem_stats
    - strcmp
    - dst_key_flags
    - isc_stdtime_now
    - printf
    - isc_commandline_parse
    - dst_key_fromnamedfile
    - access
    - isc_buffer_clear
    - dst_key_settime
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:131,1
    - 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:140,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:141,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:142,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: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:163,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:171,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:179,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:181,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:183,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:185,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:187,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:189,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:190,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:193,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:194,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:196,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:199,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:200,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:203,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 55
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 204
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 32
    functionsReached:
    - fprintf
    - isc_crypto_fips_mode
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: putc
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:226,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - p
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 228
      start: 206
    functionDepth: 0
    functionLinenumber: 206
    functionLinenumberEnd: 228
    functionName: progress
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 0
    functionsReached:
    - putc
    - fflush
    linkageType: ''
    returnType: void
    signature: void progress(int p)
  - BBCount: 113
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:244,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:251,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:252,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:252,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:253,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:253,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:254,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:256,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:257,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:260,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:261,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:264,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:269,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:291,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:301,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:302,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:312,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:325,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:333,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:351,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:365,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:368,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: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:383,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:388,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:389,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:391,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:392,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:395,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:396,1
    - Dst: dst_key_size
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:397,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:398,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:400,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:401,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:403,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:408,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:410,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:416,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:419,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:427,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:437,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:439,1
    - Dst: dns_secalg_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:454,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:455,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:467,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:468,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:478,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:494,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:532,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:538,1
    - Dst: dns_keystore_keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:542,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:546,1
    - Dst: dst_key_generate
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:551,1
    - Dst: putc
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:558,1
    - Dst: fflush
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:559,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:564,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:565,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:566,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:585,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:588,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:592,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:594,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:597,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:603,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:608,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:614,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:618,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:623,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:629,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:633,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:638,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:643,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:648,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:649,1
    - Dst: dst_key_setbool
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:650,1
    - Dst: key_collision
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:658,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:663,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:664,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:667,1
    - Dst: dst_key_free
      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_id
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:682,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:683,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:683,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:685,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:688,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:689,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:690,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:694,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:697,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:698,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:699,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: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:705,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:706,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:708,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:710,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:712,1
    CyclomaticComplexity: 108
    EdgeCount: 108
    ICount: 322
    argCount: 2
    argNames:
    - ctx
    - keyname
    argTypes:
    - keygen_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 714
    functionName: keygen
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 3
    functionsReached:
    - dst_key_gettime
    - dns_keystore_keygen
    - dst_algorithm_supported
    - dns_secalg_format
    - fprintf
    - dst_key_setttl
    - isc_buffer_add
    - strlen
    - putc
    - dst_key_size
    - dst_algorithm_format
    - dns_name_fromtext
    - dns_name_format
    - dst_key_tofile
    - dst_key_isprivate
    - dst_key_format
    - dst_key_buildfilename
    - fatal
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    - dst_key_flags
    - dst_key_getprivateformat
    - dst_key_alg
    - dst_key_name
    - printf
    - fflush
    - dst_key_fromnamedfile
    - dst_key_generate
    - isc_buffer_clear
    - isc_crypto_fips_mode
    - key_collision
    - dst_key_setnum
    - dst_key_settime
    - dst_key_id
    - dns_fixedname_initname
    - dst_key_setbool
    - isc_buffer_constinit
    linkageType: ''
    returnType: void
    signature: void keygen(keygen_ctx_t *ctx, const char *keyname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_keystore_directory
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:718,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:720,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:722,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:723,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - keygen_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 726
    functionName: check_keystore_options
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - dns_keystore_directory
    - try_dir
    - fatal
    linkageType: ''
    returnType: void
    signature: void check_keystore_options(keygen_ctx_t *ctx)
  - BBCount: 89
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:742,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:746,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:749,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:759,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:762,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:764,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:766,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:768,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:770,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:772,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:781,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:790,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:792,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:796,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:802,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:805,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:805,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:809,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:811,1
    - Dst: toupper
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:813,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:816,1
    - Dst: try_dir
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:822,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:824,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:825,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:832,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:839,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:843,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:846,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:848,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:852,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:859,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:865,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:869,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:872,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:874,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:879,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:884,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:888,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:890,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:898,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:900,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:904,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:909,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:911,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:914,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:920,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:923,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:929,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:932,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:939,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:942,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:949,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:951,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:955,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:960,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:962,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:965,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:973,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:976,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:977,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:982,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:987,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:991,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:995,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:998,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1001,1
    - Dst: isatty
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1005,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1013,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1017,1
    - Dst: strtoclass
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1019,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1027,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1030,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1036,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1039,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1040,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1042,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1044,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1045,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1051,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1054,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1057,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1060,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1063,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1066,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1069,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1074,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1086,1
    - Dst: cfg_parse_file
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1091,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1094,1
    - Dst: kasp_from_conf
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1099,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1102,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1105,1
    - Dst: dns_kasp_keys
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1105,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1106,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1111,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1116,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1117,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1118,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1119,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1120,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1121,1
    - Dst: check_keystore_options
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1123,1
    - Dst: dns_kasp_key_tagmin
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1125,1
    - Dst: dns_kasp_key_tagmax
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1126,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1132,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1135,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1136,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1139,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1143,1
    - Dst: free
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1147,1
    CyclomaticComplexity: 107
    EdgeCount: 107
    ICount: 318
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 728
    functionDepth: 2
    functionLinenumber: 728
    functionLinenumberEnd: 1151
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 33
    functionsReached:
    - version
    - dst_algorithm_supported
    - dns_kasp_key_ksk
    - strtottl
    - strtoul
    - fprintf
    - toupper
    - isc_crypto_fips_enable
    - dst_algorithm_fromtext
    - strlen
    - dns_kasp_key_size
    - strtol
    - exit
    - kasp_from_conf
    - isatty
    - free
    - dns_kasp_dnskeyttl
    - dns_kasp_keys
    - strcasecmp
    - cfg_parse_file
    - isoptarg
    - dns_kasp_key_keystore
    - dns_kasp_key_tagmax
    - fatal
    - usage
    - isc_commandline_init
    - isc_mem_stats
    - isc_result_totext
    - strcmp
    - strtoclass
    - dns_kasp_key_zsk
    - isc_stdtime_now
    - ISC_LIST_EMPTY
    - isc_commandline_parse
    - strtotime
    - keygen
    - isc_crypto_fips_mode
    - dns_kasp_detach
    - dns_kasp_key_lifetime
    - check_keystore_options
    - cfg_obj_detach
    - try_dir
    - dns_kasp_key_algorithm
    - dns_kasp_key_tagmin
    - setup_logging
    - isc_mem_debugon
    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:1116,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1117,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1118,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1119,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1120,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1121,1
    - Dst: check_keystore_options
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1123,1
    - Dst: dns_kasp_key_tagmin
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1125,1
    - Dst: dns_kasp_key_tagmax
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1126,1
    - Dst: keygen
      Src: /src/bind9/bin/dnssec/dnssec-keygen.c:1132,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1133
      start: 1114
    functionDepth: 2
    functionLinenumber: 1114
    functionLinenumberEnd: 1133
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-keygen.c
    functionUses: 78
    functionsReached:
    - dns_kasp_key_zsk
    - dns_kasp_key_lifetime
    - dns_kasp_key_ksk
    - check_keystore_options
    - keygen
    - dns_kasp_key_keystore
    - dns_kasp_key_algorithm
    - dns_kasp_key_size
    - dns_kasp_key_tagmin
    - dns_kasp_key_tagmax
    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:48,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:49,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:51,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:52,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:56,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:61,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:82,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:83,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:84,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:85,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:89,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:91,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:92,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:94,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:96,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:97,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 1
    argNames:
    - ret
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 101
    functionName: usage
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 33
    functionsReached:
    - fprintf
    - exit
    linkageType: ''
    returnType: void
    signature: void usage(int ret)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:109,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:112,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:114,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:116,1
    - Dst: localtime_r
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:119,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:124,1
    - Dst: strftime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:128,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:130,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:131,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: 133
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 133
    functionName: printtime
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - INSIST
    - fprintf
    - localtime_r
    - strftime
    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:147,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:148,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:150,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:151,1
    - Dst: dst_key_tofile
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:154,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:156,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:157,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:158,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:160,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:162,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:163,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:165,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:166,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:168,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:171,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:172,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:175,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:176,1
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:178,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: 180
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 180
    functionName: writekey
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 0
    functionsReached:
    - dst_key_tofile
    - printf
    - dst_key_format
    - dst_key_buildfilename
    - fatal
    - isc_buffer_clear
    - isc_buffer_init
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void writekey(dst_key_t *key, const char *directory, bool write_state)
  - BBCount: 141
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:233,1
    - Dst: isc_commandline_init
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:235,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:240,1
    - Dst: setup_logging
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:243,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:248,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:252,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:256,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:262,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:264,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:269,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:275,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:277,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:281,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:287,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:289,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:293,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:299,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:302,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:305,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:306,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:310,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:310,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:313,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:317,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:320,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:325,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:332,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:337,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:341,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:345,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:349,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:354,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:361,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:366,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:369,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:372,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:373,1
    - Dst: strtottl
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:377,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:382,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:384,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:389,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:395,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:397,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:401,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:407,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:409,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:413,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:419,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:442,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:447,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:458,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:463,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:476,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:483,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:487,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:493,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:496,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:499,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:500,1
    - Dst: version
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:514,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:516,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:518,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:523,1
    - Dst: strtokeystate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:526,1
    - Dst: isoptarg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:528,1
    - Dst: strtotime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:529,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:534,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:537,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:544,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:547,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:553,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:564,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:567,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:570,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:573,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:574,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:576,1
    - Dst: dst_key_isexternal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:576,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:578,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:581,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:582,1
    - Dst: dst_key_size
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:583,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:584,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:586,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:587,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:589,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:594,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:596,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:601,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:604,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:613,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:621,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:623,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:630,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:646,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:660,1
    - Dst: isc_file_splitpath
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:669,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:673,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:675,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:679,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:682,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:683,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:686,1
    - Dst: dst_key_isexternal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:686,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:687,1
    - Dst: dst_key_format
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:690,1
    - Dst: dns_name_equal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:693,1
    - Dst: dst_key_name
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:693,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:694,1
    - Dst: dst_key_alg
      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_size
      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_flags
      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_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:709,1
    - Dst: dst_key_gettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:712,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:717,1
    - Dst: check_keyversion
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:724,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:727,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:734,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:736,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:740,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:742,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:746,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:747,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_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:760,1
    - Dst: dst_key_flags
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:762,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:763,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:769,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:773,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:775,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:779,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:781,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:785,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:787,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:791,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:793,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:797,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:799,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:803,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:805,1
    - Dst: dst_key_setttl
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:809,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:813,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:813,1
    - Dst: dst_key_setnum
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:814,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:814,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:823,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:825,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:831,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:832,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:834,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:835,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:841,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:842,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:844,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:845,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:852,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:853,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:855,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:856,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:863,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:864,1
    - Dst: dst_key_setstate
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:866,1
    - Dst: dst_key_settime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:867,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:882,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:886,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:890,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:894,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:898,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:902,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:906,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:911,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:916,1
    - Dst: printtime
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:920,1
    - Dst: writekey
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:924,1
    - Dst: writekey
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:926,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:931,1
    - Dst: dst_key_free
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:933,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:935,1
    - Dst: isc_mem_free
      Src: /src/bind9/bin/dnssec/dnssec-settime.c:937,1
    CyclomaticComplexity: 197
    EdgeCount: 197
    ICount: 525
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 182
    functionDepth: 2
    functionLinenumber: 182
    functionLinenumberEnd: 940
    functionName: main
    functionSourceFile: /src/bind9/bin/dnssec/dnssec-settime.c
    functionUses: 33
    functionsReached:
    - check_keyversion
    - dst_key_gettime
    - version
    - isc_file_splitpath
    - dst_key_unsetstate
    - strtottl
    - fprintf
    - dst_key_setttl
    - isc_mem_strdup
    - strtokeystate
    - dst_key_size
    - strtol
    - dst_key_setstate
    - exit
    - printtime
    - strcasecmp
    - dst_key_isprivate
    - dst_key_format
    - isc_mem_free
    - isoptarg
    - dst_key_isexternal
    - fatal
    - usage
    - isc_commandline_init
    - writekey
    - dst_key_free
    - isc_result_totext
    - isc_mem_stats
    - dst_key_flags
    - dst_key_getprivateformat
    - isc_stdtime_now
    - dst_key_alg
    - dst_key_name
    - dns_name_equal
    - isc_commandline_parse
    - strtotime
    - dst_key_fromnamedfile
    - strncmp
    - dst_key_setnum
    - dst_key_settime
    - dst_key_id
    - setup_logging
    - dst_key_unsettime
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:81,1
    - Dst: va_start
      Src: /src/bind9/bin/dnssec/dnssectool.c:82,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:83,1
    - Dst: va_end
      Src: /src/bind9/bin/dnssec/dnssectool.c:84,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:85,1
    - Dst: _exit
      Src: /src/bind9/bin/dnssec/dnssectool.c:89,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 90
    functionName: fatal
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 139
    functionsReached:
    - _exit
    - fprintf
    - va_start
    - va_end
    - 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: 95
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 95
    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:100,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - result
    - message
    argTypes:
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 102
    functionName: check_result
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 100
    functionsReached:
    - isc_result_totext
    - fatal
    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:110,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:111,1
    - Dst: vfprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:112,1
    - Dst: va_end
      Src: /src/bind9/bin/dnssec/dnssectool.c:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 114
    functionName: vbprintf
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 20
    functionsReached:
    - va_start
    - fprintf
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void vbprintf(int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/bin/dnssec/dnssectool.c:118,1
    - Dst: exit
      Src: /src/bind9/bin/dnssec/dnssectool.c:119,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 120
    functionName: version
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 42
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: void
    signature: void version(const char *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/bin/dnssec/dnssectool.c:126,1
    - Dst: dns_name_format
      Src: /src/bind9/bin/dnssec/dnssectool.c:129,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/bin/dnssec/dnssectool.c:130,1
    - Dst: snprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:131,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: 132
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: sig_format
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - snprintf
    - dst_algorithm_format
    - dst_algorithm_fromdata
    - dns_name_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:154,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:158,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/dnssec/dnssectool.c:160,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/dnssec/dnssectool.c:168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 173
    functionName: setup_logging
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 13
    functionsReached:
    - isc_log_createandusechannel
    - isc_logconfig_get
    - ISC_LOG_DEBUG
    - isc_log_settag
    linkageType: ''
    returnType: void
    signature: void setup_logging(void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:191,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:195,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssectool.c:197,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:213,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/dnssec/dnssectool.c:215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 39
    argCount: 3
    argNames:
    - offset
    - suffix
    - str
    argTypes:
    - isc_stdtime_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 217
    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:221,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:222,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    functionName: isnone
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool isnone(const char *str)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isnone
      Src: /src/bind9/bin/dnssec/dnssectool.c:233,1
    - Dst: isspace
      Src: /src/bind9/bin/dnssec/dnssectool.c:242,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:246,1
    - Dst: strtoul
      Src: /src/bind9/bin/dnssec/dnssectool.c:250,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:252,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:255,1
    - Dst: time_units
      Src: /src/bind9/bin/dnssec/dnssectool.c:257,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 258
    functionName: strtottl
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 7
    functionsReached:
    - strtoul
    - time_units
    - isnone
    - fatal
    - isspace
    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:262,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:267,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:272,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 273
    functionName: strtokeystate
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 1
    functionsReached:
    - isnone
    - strcasecmp
    - fatal
    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:284,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssectool.c:285,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssectool.c:289,1
    - Dst: strspn
      Src: /src/bind9/bin/dnssec/dnssectool.c:304,1
    - Dst: strlcpy
      Src: /src/bind9/bin/dnssec/dnssectool.c:310,1
    - Dst: strlcat
      Src: /src/bind9/bin/dnssec/dnssectool.c:313,1
    - Dst: dns_time64_fromtext
      Src: /src/bind9/bin/dnssec/dnssectool.c:315,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:317,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:318,1
    - Dst: strtoll
      Src: /src/bind9/bin/dnssec/dnssectool.c:325,1
    - Dst: strncmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:327,1
    - Dst: isc_tm_strptime
      Src: /src/bind9/bin/dnssec/dnssectool.c:332,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:334,1
    - Dst: mktime
      Src: /src/bind9/bin/dnssec/dnssectool.c:336,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssectool.c:343,1
    - Dst: time_units
      Src: /src/bind9/bin/dnssec/dnssectool.c:344,1
    - Dst: strtol
      Src: /src/bind9/bin/dnssec/dnssectool.c:347,1
    - Dst: time_units
      Src: /src/bind9/bin/dnssec/dnssectool.c:348,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:351,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: 355
      start: 275
    functionDepth: 2
    functionLinenumber: 275
    functionLinenumberEnd: 355
    functionName: strtotime
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 8
    functionsReached:
    - strlcat
    - isc_tm_strptime
    - SET_IF_NOT_NULL
    - fatal
    - mktime
    - isnone
    - strspn
    - strtoll
    - strncmp
    - strtol
    - dns_time64_fromtext
    - time_units
    - strlcpy
    - isc_result_totext
    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:366,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssectool.c:367,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/bin/dnssec/dnssectool.c:368,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:370,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 373
    functionName: strtoclass
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 7
    functionsReached:
    - UNCONST
    - strlen
    - dns_rdataclass_fromtext
    - fatal
    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:381,1
    - Dst: strlen
      Src: /src/bind9/bin/dnssec/dnssectool.c:382,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/bin/dnssec/dnssectool.c:383,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:385,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/bin/dnssec/dnssectool.c:387,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 391
    functionName: strtodsdigest
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - dst_ds_digest_supported
    - strlen
    - dns_dsdigest_fromtext
    - fatal
    - UNCONST
    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: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    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:412,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:416,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - dt
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 417
    functionName: add_dtype
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - qsort
    - fatal
    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:424,1
    - Dst: isc_dir_open
      Src: /src/bind9/bin/dnssec/dnssectool.c:425,1
    - Dst: isc_dir_close
      Src: /src/bind9/bin/dnssec/dnssectool.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 430
    functionName: try_dir
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 5
    functionsReached:
    - isc_dir_init
    - isc_dir_close
    - isc_dir_open
    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:438,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:439,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:442,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:447,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - key
    - keystr
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 435
    functionDepth: 1
    functionLinenumber: 435
    functionLinenumberEnd: 451
    functionName: check_keyversion
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - dst_key_getprivateformat
    - INSIST
    - fatal
    linkageType: ''
    returnType: void
    signature: void check_keyversion(dst_key_t *key, char *keystr)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/bin/dnssec/dnssectool.c:463,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssectool.c:465,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssectool.c:467,1
    - Dst: dst_key_rid
      Src: /src/bind9/bin/dnssec/dnssectool.c:468,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssectool.c:469,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:473,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:478,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssectool.c:486,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/bin/dnssec/dnssectool.c:494,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssectool.c:500,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dnssec/dnssectool.c:501,1
    - Dst: dst_key_alg
      Src: /src/bind9/bin/dnssec/dnssectool.c:502,1
    - Dst: dst_key_id
      Src: /src/bind9/bin/dnssec/dnssectool.c:506,1
    - Dst: dst_key_rid
      Src: /src/bind9/bin/dnssec/dnssectool.c:507,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:513,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/bin/dnssec/dnssectool.c:519,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:521,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:528,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:529,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/bin/dnssec/dnssectool.c:533,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/bin/dnssec/dnssectool.c:534,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:535,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:536,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 62
    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: 545
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 545
    functionName: key_collision
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 3
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_stdtime_now
    - dst_key_alg
    - SET_IF_NOT_NULL
    - fprintf
    - ISC_LIST_EMPTY
    - dst_key_id
    - ISC_LIST_HEAD
    - dns_dnssec_findmatchingkeys
    - dns_dnsseckey_destroy
    - ISC_LIST_INIT
    - 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:549,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:551,1
    - Dst: usage
      Src: /src/bind9/bin/dnssec/dnssectool.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - arg
    - argv
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 563
    functionName: isoptarg
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 4
    functionsReached:
    - fprintf
    - usage
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool isoptarg(const char *arg, char **argv, void (*usage)(int ret))
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_journal_open
      Src: /src/bind9/bin/dnssec/dnssectool.c:570,1
    - Dst: fprintf
      Src: /src/bind9/bin/dnssec/dnssectool.c:572,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:576,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:577,1
    - Dst: dns_journal_empty
      Src: /src/bind9/bin/dnssec/dnssectool.c:580,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:581,1
    - Dst: dns_journal_rollforward
      Src: /src/bind9/bin/dnssec/dnssectool.c:585,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:593,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:596,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:596,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/bin/dnssec/dnssectool.c:600,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: 601
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 601
    functionName: loadjournal
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 3
    functionsReached:
    - dns_journal_open
    - fprintf
    - dns_journal_destroy
    - dns_journal_rollforward
    - fatal
    - dns_journal_empty
    - isc_result_totext
    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:616,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/bin/dnssec/dnssectool.c:617,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:619,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/dnssec/dnssectool.c:621,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:622,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:624,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:625,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:625,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:626,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:630,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:631,1
    - Dst: dns_keystore_setdirectory
      Src: /src/bind9/bin/dnssec/dnssectool.c:634,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:636,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:638,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/dnssec/dnssectool.c:642,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:649,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:652,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:653,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:653,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:654,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:656,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/dnssec/dnssectool.c:657,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:667,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:668,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/bin/dnssec/dnssectool.c:675,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:676,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: 678
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 678
    functionName: kasp_from_conf
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 2
    functionsReached:
    - strcmp
    - dns_kasp_freeze
    - ISC_LIST_UNLINK
    - dns_kasp_detach
    - INSIST
    - cfg_kasp_fromconfig
    - cfg_tuple_get
    - cfg_map_get
    - dns_keystore_setdirectory
    - cfg_listelt_value
    - cfg_obj_asstring
    - ISC_LIST_INIT
    - cfg_keystore_fromconfig
    - fatal
    - dns_keystore_detach
    - isc_result_totext
    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:621,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:622,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:624,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:625,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:625,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_keystore_fromconfig
    - fatal
    - isc_result_totext
    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:642,1
    - Dst: strcmp
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:643,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/bin/dnssec/dnssectool.c:649,1
    - Dst: fatal
      Src: /src/bind9/bin/dnssec/dnssectool.c:652,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/dnssec/dnssectool.c:653,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/dnssec/dnssectool.c:653,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/dnssec/dnssectool.c:654,1
    - Dst: INSIST
      Src: /src/bind9/bin/dnssec/dnssectool.c:656,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/bin/dnssec/dnssectool.c:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 661
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_kasp_freeze
    - INSIST
    - cfg_kasp_fromconfig
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - fatal
    - isc_result_totext
    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:667,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 669
    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:675,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/bin/dnssec/dnssectool.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 677
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 677
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/dnssec/dnssectool.c
    functionUses: 78
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_keystore_detach
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(kslist, ks, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:91,1
    - Dst: exit
      Src: /src/bind9/bin/rndc/rndc.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 240
    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:249,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:253,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 270
    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:277,1
    - Dst: isc_getaddresses
      Src: /src/bind9/bin/rndc/rndc.c:280,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:285,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:286,1
    - Dst: INSIST
      Src: /src/bind9/bin/rndc/rndc.c:288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - host
    - port
    argTypes:
    - char*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: get_addresses
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - fatal
    - isc_getaddresses
    - isc_result_totext
    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:308,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/rndc/rndc.c:309,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:312,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:321,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:321,1
    - Dst: isccc_ccmsg_toregion
      Src: /src/bind9/bin/rndc/rndc.c:324,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:326,1
    - Dst: isccc_cc_fromwire
      Src: /src/bind9/bin/rndc/rndc.c:327,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/rndc/rndc.c:329,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/bin/rndc/rndc.c:330,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:331,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/bin/rndc/rndc.c:333,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:336,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:339,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:340,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/bin/rndc/rndc.c:343,1
    - Dst: strlen
      Src: /src/bind9/bin/rndc/rndc.c:345,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:346,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:349,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:350,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/bin/rndc/rndc.c:356,1
    - Dst: printf
      Src: /src/bind9/bin/rndc/rndc.c:358,1
    - Dst: isc_result_toid
      Src: /src/bind9/bin/rndc/rndc.c:358,1
    - Dst: printf
      Src: /src/bind9/bin/rndc/rndc.c:360,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/bin/rndc/rndc.c:364,1
    - Dst: isccc_ccmsg_disconnect
      Src: /src/bind9/bin/rndc/rndc.c:366,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/bin/rndc/rndc.c:367,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: 368
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 368
    functionName: rndc_recvdone
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isccc_cc_lookupuint32
    - isccc_sexpr_free
    - isccc_ccmsg_disconnect
    - isc_result_toid
    - isccc_alist_alistp
    - fprintf
    - printf
    - isccc_cc_fromwire
    - isccc_cc_lookupstring
    - isc_loopmgr_shutdown
    - strlen
    - isccc_alist_lookup
    - fatal
    - isccc_ccmsg_toregion
    - DO
    - isc_result_totext
    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:459,1
    - Dst: REQUIRE
      Src: /src/bind9/bin/rndc/rndc.c:463,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/rndc/rndc.c:466,1
    - Dst: notify
      Src: /src/bind9/bin/rndc/rndc.c:469,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:470,1
    - Dst: rndc_startconnect
      Src: /src/bind9/bin/rndc/rndc.c:471,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:475,1
    - Dst: isc_result_totext
      Src: /src/bind9/bin/rndc/rndc.c:476,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:479,1
    - Dst: isccc_cc_createmessage
      Src: /src/bind9/bin/rndc/rndc.c:479,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/bin/rndc/rndc.c:481,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:483,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/bin/rndc/rndc.c:485,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:486,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/bin/rndc/rndc.c:489,1
    - Dst: isc_buffer_add
      Src: /src/bind9/bin/rndc/rndc.c:491,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:493,1
    - Dst: isccc_cc_towire
      Src: /src/bind9/bin/rndc/rndc.c:494,1
    - Dst: isc_buffer_init
      Src: /src/bind9/bin/rndc/rndc.c:496,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/bin/rndc/rndc.c:497,1
    - Dst: isccc_ccmsg_init
      Src: /src/bind9/bin/rndc/rndc.c:503,1
    - Dst: isccc_ccmsg_setmaxsize
      Src: /src/bind9/bin/rndc/rndc.c:504,1
    - Dst: isccc_ccmsg_readmessage
      Src: /src/bind9/bin/rndc/rndc.c:506,1
    - Dst: isccc_ccmsg_sendmessage
      Src: /src/bind9/bin/rndc/rndc.c:507,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/bin/rndc/rndc.c:509,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: 510
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 510
    functionName: rndc_connected
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isccc_sexpr_free
    - isc_buffer_putuint32
    - isccc_ccmsg_readmessage
    - isc_buffer_add
    - isccc_alist_lookup
    - isccc_ccmsg_init
    - isc_sockaddr_format
    - isccc_ccmsg_sendmessage
    - isccc_cc_definestring
    - rndc_startconnect
    - fatal
    - DO
    - isc_buffer_init
    - isc_result_totext
    - notify
    - isc_stdtime_now
    - isc_buffer_clear
    - isccc_cc_towire
    - isccc_cc_createmessage
    - isccc_ccmsg_setmaxsize
    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:517,1
    - Dst: notify
      Src: /src/bind9/bin/rndc/rndc.c:519,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/bin/rndc/rndc.c:521,1
    - Dst: UNREACHABLE
      Src: /src/bind9/bin/rndc/rndc.c:529,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/bin/rndc/rndc.c:532,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - addr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 533
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 533
    functionName: rndc_startconnect
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 1
    functionsReached:
    - notify
    - isc_nm_tcpconnect
    - isc_sockaddr_pf
    - isc_sockaddr_format
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void rndc_startconnect(isc_sockaddr_t *addr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/bin/rndc/rndc.c:537,1
    - Dst: rndc_startconnect
      Src: /src/bind9/bin/rndc/rndc.c:540,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 535
    functionDepth: 2
    functionLinenumber: 535
    functionLinenumberEnd: 541
    functionName: rndc_start
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - rndc_startconnect
    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: cfg_parse_file
      Src: /src/bind9/bin/rndc/rndc.c:588,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:590,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:594,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:601,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:603,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:608,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:612,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:616,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:617,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:618,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:619,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:633,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:633,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:634,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:636,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:637,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:638,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:640,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:647,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:647,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: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:654,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:655,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:655,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:656,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:662,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:665,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:666,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:668,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:671,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:672,1
    - Dst: strcasecmp
      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: fatal
      Src: /src/bind9/bin/rndc/rndc.c:687,1
    - Dst: DO
      Src: /src/bind9/bin/rndc/rndc.c:692,1
    - Dst: isccc_base64_decode
      Src: /src/bind9/bin/rndc/rndc.c:692,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:703,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:706,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/rndc/rndc.c:710,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:712,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:719,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:727,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/rndc/rndc.c:728,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:733,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:734,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:735,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/rndc/rndc.c:736,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/rndc/rndc.c:737,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:740,1
    - Dst: get_addresses
      Src: /src/bind9/bin/rndc/rndc.c:747,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:749,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:756,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/rndc/rndc.c:757,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/rndc/rndc.c:758,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/rndc/rndc.c:765,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:767,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:776,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:778,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:784,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:786,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:793,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:795,1
    - Dst: cfg_map_get
      Src: /src/bind9/bin/rndc/rndc.c:801,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:803,1
    CyclomaticComplexity: 63
    EdgeCount: 63
    ICount: 195
    argCount: 2
    argNames:
    - keyname
    - configp
    argTypes:
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 809
    functionName: parse_config
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - isccc_base64_decode
    - cfg_map_get
    - fprintf
    - isc_sockaddr_format
    - cfg_obj_isuint32
    - strcasecmp
    - isc_sockaddr_getport
    - cfg_parse_file
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - isc_file_exists
    - fatal
    - DO
    - cfg_obj_asuint32
    - cfg_map_getname
    - cfg_obj_assockaddr
    - get_addresses
    linkageType: ''
    returnType: void
    signature: void parse_config(const char *keyname, cfg_obj_t **configp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/bin/rndc/rndc.c:616,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:617,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:618,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:619,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 623
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    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:654,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:655,1
    - Dst: cfg_map_getname
      Src: /src/bind9/bin/rndc/rndc.c:655,1
    - Dst: strcasecmp
      Src: /src/bind9/bin/rndc/rndc.c:656,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 651
    functionDepth: 1
    functionLinenumber: 651
    functionLinenumberEnd: 660
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    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:727,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/bin/rndc/rndc.c:728,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:733,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/bin/rndc/rndc.c:734,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/bin/rndc/rndc.c:735,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/bin/rndc/rndc.c:736,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/bin/rndc/rndc.c:737,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:740,1
    - Dst: get_addresses
      Src: /src/bind9/bin/rndc/rndc.c:747,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:749,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/bin/rndc/rndc.c:756,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/bin/rndc/rndc.c:757,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/bin/rndc/rndc.c:758,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/bin/rndc/rndc.c:765,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:767,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 724
    functionDepth: 1
    functionLinenumber: 724
    functionLinenumberEnd: 771
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - cfg_obj_asuint32
    - cfg_obj_assockaddr
    - cfg_tuple_get
    - fprintf
    - isc_sockaddr_getport
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - get_addresses
    - fatal
    - isc_sockaddr_format
    - 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:824,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/bin/rndc/rndc.c:829,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/bin/rndc/rndc.c:830,1
    - Dst: preparse_args
      Src: /src/bind9/bin/rndc/rndc.c:834,1
    - Dst: isc_commandline_parse
      Src: /src/bind9/bin/rndc/rndc.c:836,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/bin/rndc/rndc.c:839,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:840,1
    - Dst: isc_net_disableipv6
      Src: /src/bind9/bin/rndc/rndc.c:842,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/bin/rndc/rndc.c:845,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:846,1
    - Dst: isc_net_disableipv4
      Src: /src/bind9/bin/rndc/rndc.c:848,1
    - Dst: inet_pton
      Src: /src/bind9/bin/rndc/rndc.c:851,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/bin/rndc/rndc.c:854,1
    - Dst: inet_pton
      Src: /src/bind9/bin/rndc/rndc.c:856,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/bin/rndc/rndc.c:859,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/bin/rndc/rndc.c:874,1
    - Dst: atoi
      Src: /src/bind9/bin/rndc/rndc.c:882,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:884,1
    - Dst: strtol
      Src: /src/bind9/bin/rndc/rndc.c:902,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:904,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:920,1
    - Dst: usage
      Src: /src/bind9/bin/rndc/rndc.c:923,1
    - Dst: usage
      Src: /src/bind9/bin/rndc/rndc.c:927,1
    - Dst: fprintf
      Src: /src/bind9/bin/rndc/rndc.c:930,1
    - Dst: exit
      Src: /src/bind9/bin/rndc/rndc.c:933,1
    - Dst: usage
      Src: /src/bind9/bin/rndc/rndc.c:941,1
    - Dst: strcmp
      Src: /src/bind9/bin/rndc/rndc.c:944,1
    - Dst: fatal
      Src: /src/bind9/bin/rndc/rndc.c:945,1
    - Dst: notify
      Src: /src/bind9/bin/rndc/rndc.c:947,1
    - Dst: isc_random32
      Src: /src/bind9/bin/rndc/rndc.c:950,1
    - Dst: isc_managers_create
      Src: /src/bind9/bin/rndc/rndc.c:952,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/bin/rndc/rndc.c:953,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/bin/rndc/rndc.c:955,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/bin/rndc/rndc.c:956,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/bin/rndc/rndc.c:957,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/bin/rndc/rndc.c:958,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/bin/rndc/rndc.c:960,1
    - Dst: isc_log_settag
      Src: /src/bind9/bin/rndc/rndc.c:961,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/bin/rndc/rndc.c:962,1
    - Dst: parse_config
      Src: /src/bind9/bin/rndc/rndc.c:968,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/bin/rndc/rndc.c:970,1
    - Dst: strlen
      Src: /src/bind9/bin/rndc/rndc.c:979,1
    - Dst: isc_mem_get
      Src: /src/bind9/bin/rndc/rndc.c:982,1
    - Dst: strlen
      Src: /src/bind9/bin/rndc/rndc.c:986,1
    - Dst: memmove
      Src: /src/bind9/bin/rndc/rndc.c:987,1
    - Dst: INSIST
      Src: /src/bind9/bin/rndc/rndc.c:994,1
    - Dst: get_addresses
      Src: /src/bind9/bin/rndc/rndc.c:997,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/bin/rndc/rndc.c:1000,1
    - Dst: isccc_ccmsg_invalidate
      Src: /src/bind9/bin/rndc/rndc.c:1002,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/bin/rndc/rndc.c:1004,1
    - Dst: isc_mem_put
      Src: /src/bind9/bin/rndc/rndc.c:1006,1
    - Dst: isc_buffer_free
      Src: /src/bind9/bin/rndc/rndc.c:1008,1
    - Dst: isc_mem_stats
      Src: /src/bind9/bin/rndc/rndc.c:1011,1
    - Dst: isc_managers_destroy
      Src: /src/bind9/bin/rndc/rndc.c:1014,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 140
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 1021
    functionName: main
    functionSourceFile: /src/bind9/bin/rndc/rndc.c
    functionUses: 33
    functionsReached:
    - isc_managers_create
    - memmove
    - INSIST
    - isc_net_probeipv6
    - isc_mem_put
    - atoi
    - fprintf
    - isc_log_createandusechannel
    - strlen
    - isc_log_settag
    - strtol
    - isc_sockaddr_any6
    - exit
    - isc_sockaddr_fromin6
    - isc_sockaddr_any
    - isc_net_disableipv6
    - inet_pton
    - isc_nm_setidletimeout
    - isc_net_disableipv4
    - isc_loopmgr_setup
    - isc_random32
    - fatal
    - usage
    - preparse_args
    - isc_commandline_init
    - isc_mem_stats
    - strcmp
    - isc_nm_setkeepalivetimeout
    - notify
    - isc_nm_setinitialtimeout
    - isc_logconfig_get
    - isc_managers_destroy
    - isc_commandline_parse
    - parse_config
    - isc_sockaddr_fromin
    - isc_loopmgr_run
    - isc_mem_get
    - cfg_obj_detach
    - isc_net_probeipv4
    - isccc_ccmsg_invalidate
    - isc_nm_setprimariestimeout
    - isc_buffer_allocate
    - get_addresses
    - isc_buffer_free
    - isc_mem_debugon
    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:
    - va_start
    - fprintf
    - vfprintf
    - va_end
    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: 159
    functionsReached:
    - _exit
    - fprintf
    - va_start
    - va_end
    - 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:
    - stream_recv_one
    - atomic_store
    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:
    - stream_recv_two
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - UNUSED
    - isc_ascii_toupper
    - assert_true
    - isc_ascii_tolower
    - ARRAY_SIZE
    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
    - assert_true
    - ARRAY_SIZE
    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:
    - isc_ascii_lowercmp
    - strlen
    - assert_true
    - ARRAY_SIZE
    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
    - isc_ascii_tolower
    - isc_ascii_tolower8
    - tolower
    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:43,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:44,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:44,1
    - Dst: isc_stats_ncounters
      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_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:52,1
    - Dst: isc_stats_increment
      Src: /src/bind9/tests/isc/stats_test.c:53,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:54,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:54,1
    - Dst: isc_stats_increment
      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_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:60,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/tests/isc/stats_test.c:61,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:62,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:62,1
    - Dst: isc_stats_decrement
      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_set
      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_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:74,1
    - Dst: isc_stats_update_if_greater
      Src: /src/bind9/tests/isc/stats_test.c:75,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:76,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:76,1
    - Dst: isc_stats_update_if_greater
      Src: /src/bind9/tests/isc/stats_test.c:77,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:78,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:78,1
    - Dst: isc_stats_resize
      Src: /src/bind9/tests/isc/stats_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:83,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:83,1
    - Dst: isc_stats_resize
      Src: /src/bind9/tests/isc/stats_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:85,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:85,1
    - Dst: isc_stats_resize
      Src: /src/bind9/tests/isc/stats_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:87,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:87,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/tests/isc/stats_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:95,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:95,1
    - Dst: isc_stats_detach
      Src: /src/bind9/tests/isc/stats_test.c:98,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 99
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/stats_test.c
    functionUses: 0
    functionsReached:
    - isc_stats_ncounters
    - isc_stats_detach
    - assert_int_equal
    - isc_stats_decrement
    - isc_stats_update_if_greater
    - isc_stats_increment
    - isc_stats_set
    - isc_stats_resize
    - isc_stats_get_counter
    - isc_stats_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_stats_basic)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_statsmulti_create
      Src: /src/bind9/tests/isc/stats_test.c:106,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/tests/isc/stats_test.c:110,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:111,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:111,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/tests/isc/stats_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:113,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:113,1
    - Dst: isc_statsmulti_decrement
      Src: /src/bind9/tests/isc/stats_test.c:118,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:119,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:119,1
    - Dst: isc_statsmulti_decrement
      Src: /src/bind9/tests/isc/stats_test.c:120,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:121,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:121,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/tests/isc/stats_test.c:125,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/tests/isc/stats_test.c:126,1
    - Dst: isc_statsmulti_clear
      Src: /src/bind9/tests/isc/stats_test.c:127,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:129,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:129,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/tests/isc/stats_test.c:132,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 133
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/stats_test.c
    functionUses: 0
    functionsReached:
    - isc_statsmulti_get_counter
    - isc_statsmulti_decrement
    - isc_statsmulti_detach
    - isc_statsmulti_create
    - assert_int_equal
    - isc_statsmulti_clear
    - isc_statsmulti_increment
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_statsmulti_basic)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/tests/isc/stats_test.c:146,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/stats_test.c:150,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/stats_test.c:151,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/stats_test.c:153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 155
    functionName: mt_increment_worker
    functionSourceFile: /src/bind9/tests/isc/stats_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - isc_loopmgr_nloops
    - isc_statsmulti_increment
    linkageType: ''
    returnType: void
    signature: void mt_increment_worker(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/stats_test.c:160,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/stats_test.c:161,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/stats_test.c:161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: mt_setup_workers
    functionSourceFile: /src/bind9/tests/isc/stats_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_loopmgr_nloops
    - isc_loop_get
    linkageType: ''
    returnType: void
    signature: void mt_setup_workers(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/stats_test.c:166,1
    - Dst: isc_statsmulti_create
      Src: /src/bind9/tests/isc/stats_test.c:169,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/stats_test.c:171,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/stats_test.c:171,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/stats_test.c:172,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/tests/isc/stats_test.c:175,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/stats_test.c:176,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:180,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/stats_test.c:181,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/stats_test.c:184,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/stats_test.c:184,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/stats_test.c:185,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/tests/isc/stats_test.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 189
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/stats_test.c
    functionUses: 0
    functionsReached:
    - isc_statsmulti_get_counter
    - isc_statsmulti_detach
    - isc_loopmgr_run
    - isc_loop_main
    - isc_statsmulti_create
    - isc_loopmgr_nloops
    - isc_loop_setup
    - assert_int_equal
    - assert_true
    - atomic_load
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_statsmulti_multithread)
  - 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:
    - stream_recv_one
    - set_proxyheader_info
    - isc_nm_proxyheader_info_init_complete
    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:
    - stream_recv_one
    - atomic_store
    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:
    - stream_recv_two
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - stream_recv_one
    - atomic_store
    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:
    - stream_recv_two
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - assert_non_null
    - assert_int_equal
    - isc_refcount_decrement
    - atomic_fetch_add
    - F
    - 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_loop_main
      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_main
    - assert_int_equal
    - stream_listen
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - 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:
    - X
    - teardown_netmgr_test
    - atomic_assert_int_eq
    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_non_null
    - assert_true
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    - F
    - 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_non_null
    - assert_true
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    - F
    - 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_nm_read
    - assert_non_null
    - isc_nmhandle_ref
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nm_send
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - F
    - assert_null
    - isc_refcount_increment0
    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: isc_loop_main
      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_main
    - assert_int_equal
    - stream_listen
    - isc_loop_teardown
    - stream_connect
    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:
    - X
    - teardown_netmgr_test
    - atomic_assert_int_eq
    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:45,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:46,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:54,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:55,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:56,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:57,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:63,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:64,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:65,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:66,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:67,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:72,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:73,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:74,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:75,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:84,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:85,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:86,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:88,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:97,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:98,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:99,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:100,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:101,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:107,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:108,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:109,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:110,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:111,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:112,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:118,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:119,1
    - Dst: isc_ht_delete
      Src: /src/bind9/tests/isc/ht_test.c:120,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:121,1
    - Dst: isc_ht_find
      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: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:124,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:132,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:133,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:134,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:135,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:141,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:142,1
    - Dst: isc_ht_delete
      Src: /src/bind9/tests/isc/ht_test.c:143,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:145,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:146,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/ht_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:148,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:149,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:158,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:159,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:160,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:161,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:162,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:168,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:169,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:170,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:171,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:172,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:175,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:176,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 82
    argCount: 2
    argNames:
    - init_bits
    - count
    argTypes:
    - uint8_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 177
    functionName: test_ht_full
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - strlcat
    - assert_ptr_equal
    - assert_non_null
    - isc_ht_destroy
    - assert_int_equal
    - isc_ht_find
    - snprintf
    - strlen
    - isc_ht_add
    - isc_ht_delete
    - assert_null
    - isc_ht_init
    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:190,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:191,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:197,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:198,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:199,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:200,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ht_test.c:204,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/ht_test.c:204,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/tests/isc/ht_test.c:207,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:209,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:210,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/tests/isc/ht_test.c:215,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/tests/isc/ht_test.c:216,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:217,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:219,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:220,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/ht_test.c:221,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:224,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:225,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:229,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/tests/isc/ht_test.c:234,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/tests/isc/ht_test.c:235,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:236,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:238,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:239,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/ht_test.c:240,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/tests/isc/ht_test.c:242,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:244,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:248,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:249,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:253,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/tests/isc/ht_test.c:258,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/tests/isc/ht_test.c:259,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:260,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/ht_test.c:262,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/ht_test.c:263,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/ht_test.c:264,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/tests/isc/ht_test.c:266,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:268,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:272,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:273,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/tests/isc/ht_test.c:276,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/tests/isc/ht_test.c:277,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:282,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:283,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/ht_test.c:286,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/ht_test.c:286,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/tests/isc/ht_test.c:288,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:289,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:291,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:292,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 73
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 293
    functionName: test_ht_iterator
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - isc_ht_iter_delcurrent_next
    - strlcat
    - isc_ht_iter_create
    - assert_null
    - isc_ht_iter_next
    - assert_non_null
    - isc_ht_destroy
    - assert_int_equal
    - assert_true
    - rehashing_in_progress
    - isc_ht_iter_first
    - snprintf
    - isc_ht_iter_destroy
    - isc_ht_iter_currentkey
    - isc_ht_add
    - isc_ht_iter_current
    - isc_ht_init
    - assert_memory_equal
    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:297,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 299
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 302
    functionDepth: 2
    functionLinenumber: 302
    functionLinenumberEnd: 305
    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:309,1
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 2
    functionLinenumber: 308
    functionLinenumberEnd: 311
    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:315,1
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 314
    functionDepth: 2
    functionLinenumber: 314
    functionLinenumberEnd: 317
    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:321,1
    - Dst: test_ht_full
      Src: /src/bind9/tests/isc/ht_test.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 323
    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:328,1
    - Dst: test_ht_iterator
      Src: /src/bind9/tests/isc/ht_test.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 2
    functionLinenumber: 327
    functionLinenumberEnd: 330
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_ht_iterator
    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:342,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:343,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:345,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:346,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:348,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:349,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:351,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:352,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:354,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:355,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:356,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:358,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:359,1
    - Dst: isc_ht_init
      Src: /src/bind9/tests/isc/ht_test.c:361,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/ht_test.c:362,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:364,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:365,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:367,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:368,1
    - Dst: isc_ht_add
      Src: /src/bind9/tests/isc/ht_test.c:370,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:371,1
    - Dst: isc_ht_find
      Src: /src/bind9/tests/isc/ht_test.c:373,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/ht_test.c:374,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/ht_test.c:375,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/tests/isc/ht_test.c:377,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/ht_test.c:378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 379
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/ht_test.c
    functionUses: 0
    functionsReached:
    - assert_ptr_equal
    - assert_non_null
    - isc_ht_destroy
    - assert_int_equal
    - isc_ht_find
    - isc_ht_add
    - assert_null
    - isc_ht_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_ht_case)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/loop_test.c:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: count
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 11
    functionsReached:
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: void count(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/loop_test.c:54,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/loop_test.c:54,1
    - Dst: isc_thread_yield
      Src: /src/bind9/tests/isc/loop_test.c:55,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/loop_test.c:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: shutdown_loopmgr
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - atomic_load
    - isc_loopmgr_nloops
    - isc_thread_yield
    linkageType: ''
    returnType: void
    signature: void shutdown_loopmgr(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/loop_test.c:62,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/tests/isc/loop_test.c:64,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:65,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/loop_test.c:65,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:67,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/loop_test.c:69,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/loop_test.c:69,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/loop_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 70
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - assert_int_equal
    - isc_loopmgr_setup
    - isc_loop_setup
    - isc_loopmgr_nloops
    - atomic_load
    - atomic_store
    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:74,1
    - Dst: isc_tid
      Src: /src/bind9/tests/isc/loop_test.c:75,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/loop_test.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 78
    functionName: runjob
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - isc_async_current
    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:81,1
    - Dst: isc_loopmgr_setup
      Src: /src/bind9/tests/isc/loop_test.c:83,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/loop_test.c:85,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/loop_test.c:85,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/loop_test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 86
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - assert_int_equal
    - isc_loopmgr_setup
    - isc_loopmgr_nloops
    - atomic_load
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr_runjob)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_pause
      Src: /src/bind9/tests/isc/loop_test.c:90,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/loop_test.c:92,1
    - Dst: isc_loopmgr_paused
      Src: /src/bind9/tests/isc/loop_test.c:92,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/loop_test.c:94,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/loop_test.c:95,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/loop_test.c:97,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/loop_test.c:100,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/loop_test.c:100,1
    - Dst: isc_loopmgr_resume
      Src: /src/bind9/tests/isc/loop_test.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: pause_loopmgr
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_paused
    - assert_true
    - isc_loopmgr_nloops
    - isc_loop_get
    - isc_loopmgr_pause
    - isc_loopmgr_resume
    - atomic_init
    linkageType: ''
    returnType: void
    signature: void pause_loopmgr(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:106,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/loop_test.c:106,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:107,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/loop_test.c:107,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 109
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr_pause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/bind9/tests/isc/loop_test.c:113,1
    - Dst: getpid
      Src: /src/bind9/tests/isc/loop_test.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 114
    functionName: send_sigint
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - kill
    - getpid
    linkageType: ''
    returnType: void
    signature: void send_sigint(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:117,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/loop_test.c:117,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 119
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_loopmgr_sigint)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: kill
      Src: /src/bind9/tests/isc/loop_test.c:123,1
    - Dst: getpid
      Src: /src/bind9/tests/isc/loop_test.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    functionName: send_sigterm
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - kill
    - getpid
    linkageType: ''
    returnType: void
    signature: void send_sigterm(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/loop_test.c:127,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/loop_test.c:127,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/loop_test.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 129
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/loop_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - 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: 22
    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: 11
    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_new
    - isc_md_free
    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_new
    - isc_md_free
    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:
    - isc_md_init
    - assert_return_code
    - assert_non_null
    - assert_int_equal
    - isc_md_final
    - isc_md_reset
    - strlen
    - isc_hex_totext
    - isc_md_update
    - isc_buffer_init
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: "void isc_md_test(isc_md_t *md, 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/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:
    - isc_crypto_fips_mode
    - isc_md_init
    - assert_non_null
    - expect_assert_failure
    - assert_int_equal
    - isc_md_reset
    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:
    - assert_non_null
    - expect_assert_failure
    - assert_int_equal
    - 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:
    - isc_md_init
    - isc_md_update
    - assert_non_null
    - expect_assert_failure
    - assert_int_equal
    - isc_md_final
    - isc_md_reset
    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:
    - isc_md_init
    - assert_non_null
    - expect_assert_failure
    - isc_md_final
    - assert_int_equal
    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:
    - isc_crypto_fips_mode
    - isc_md_test
    - TEST_INPUT
    - 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:
    - TEST_INPUT
    - isc_md_test
    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:
    - TEST_INPUT
    - isc_md_test
    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:
    - TEST_INPUT
    - isc_md_test
    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:
    - TEST_INPUT
    - isc_md_test
    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:
    - TEST_INPUT
    - isc_md_test
    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:57,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/tlsdns_test.c:59,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/tlsdns_test.c:59,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: 60
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 60
    functionName: start_listening
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_main
    - assert_int_equal
    - isc_loop_teardown
    - isc_nm_listenstreamdns
    - get_proxy_type
    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:64,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: tlsdns_connect
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_streamdnsconnect
    - get_proxy_type
    linkageType: ''
    returnType: void
    signature: void tlsdns_connect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: start_listening
      Src: /src/bind9/tests/isc/tlsdns_test.c:71,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:74,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tlsdns_test.c:75,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 79
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_streamdnsconnect
    - start_listening
    - get_proxy_type
    - isc_refcount_increment0
    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:82,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:84,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tlsdns_test.c:85,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_streamdnsconnect
    - start_listening
    - get_proxy_type
    - isc_refcount_increment0
    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:97,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:104,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/tests/isc/tlsdns_test.c:105,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/tlsdns_test.c:108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 109
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_streamdnsconnect
    - start_listening
    - get_proxy_type
    - isc_refcount_increment0
    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:112,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:114,1
    - Dst: tlsdns_connect
      Src: /src/bind9/tests/isc/tlsdns_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 116
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - tlsdns_connect
    - start_listening
    - isc_refcount_increment0
    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:119,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/tlsdns_test.c:121,1
    - Dst: tlsdns_connect
      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: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 126
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - tlsdns_connect
    - start_listening
    - isc_refcount_increment0
    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:129,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/tlsdns_test.c:132,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/tlsdns_test.c:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 135
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tlsdns_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - start_listening
    - isc_loop_get
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 139
    functionName: 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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 143
    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:146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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: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_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: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/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:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 153
    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:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 157
    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:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 161
    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:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 165
    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: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_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:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 169
    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:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    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: 231
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 231
    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:
    - UNUSED
    - assert_string_equal
    - isc_result_toid
    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:
    - UNUSED
    - assert_string_equal
    - 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:60,1
    - Dst: isc_mempool_create
      Src: /src/bind9/tests/isc/mem_test.c:61,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/tests/isc/mem_test.c:63,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/tests/isc/mem_test.c:64,1
    - Dst: isc_mempool_get
      Src: /src/bind9/tests/isc/mem_test.c:70,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:71,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:79,1
    - Dst: isc_mempool_getfreecount
      Src: /src/bind9/tests/isc/mem_test.c:83,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:84,1
    - Dst: isc_mempool_getallocated
      Src: /src/bind9/tests/isc/mem_test.c:87,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:88,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/tests/isc/mem_test.c:95,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/tests/isc/mem_test.c:96,1
    - Dst: isc_mempool_get
      Src: /src/bind9/tests/isc/mem_test.c:100,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:101,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:104,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:112,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/tests/isc/mem_test.c:115,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/tests/isc/mem_test.c:116,1
    - Dst: isc_mempool_create
      Src: /src/bind9/tests/isc/mem_test.c:118,1
    - Dst: isc_mempool_get
      Src: /src/bind9/tests/isc/mem_test.c:120,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:121,1
    - Dst: isc_mempool_put
      Src: /src/bind9/tests/isc/mem_test.c:123,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/tests/isc/mem_test.c:125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 126
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mempool_setfillcount
    - assert_non_null
    - assert_int_equal
    - isc_mempool_create
    - isc_mempool_setfreemax
    - isc_mempool_destroy
    - isc_mempool_getfreecount
    - isc_mempool_getallocated
    - isc_mempool_get
    - isc_mempool_put
    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:136,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:143,1
    - Dst: skip
      Src: /src/bind9/tests/isc/mem_test.c:145,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/mem_test.c:149,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:150,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 152
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - skip
    - isc_mem_cget
    - isc_mem_put
    - isc_mem_get
    - assert_memory_equal
    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:161,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:168,1
    - Dst: skip
      Src: /src/bind9/tests/isc/mem_test.c:170,1
    - Dst: isc_mem_callocate
      Src: /src/bind9/tests/isc/mem_test.c:174,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:175,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:176,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 177
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - skip
    - isc_mem_put
    - isc_mem_get
    - isc_mem_free
    - isc_mem_callocate
    - assert_memory_equal
    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: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 198
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - assert_int_equal
    - isc_mem_inuse
    - isc_mem_detach
    - isc_mem_free
    - isc_mem_allocate
    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:
    - assert_non_null
    - isc_mem_put
    - isc_mem_get
    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:233,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:236,1
    - Dst: isc_mem_reget
      Src: /src/bind9/tests/isc/mem_test.c:243,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:245,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:248,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:251,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 252
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_reget
    - isc_mem_put
    - isc_mem_get
    - assert_non_null
    - assert_int_equal
    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:258,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:259,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:260,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:263,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:264,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/tests/isc/mem_test.c:266,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:267,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/tests/isc/mem_test.c:273,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:274,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:277,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/tests/isc/mem_test.c:284,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:285,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:288,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 292
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - assert_int_equal
    - isc_mem_free
    - isc_mem_allocate
    - isc_mem_reallocate
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_mem_reallocate)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 303
    functionName: at_least_one_overmem
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_isovermem
    linkageType: ''
    returnType: bool
    signature: bool at_least_one_overmem(isc_mem_t *mctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:307,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:308,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/tests/isc/mem_test.c:310,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:313,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/mem_test.c:314,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:314,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:317,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/mem_test.c:318,1
    - Dst: at_least_one_overmem
      Src: /src/bind9/tests/isc/mem_test.c:318,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/isc/mem_test.c:321,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/mem_test.c:322,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:322,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:325,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/mem_test.c:326,1
    - Dst: at_least_one_overmem
      Src: /src/bind9/tests/isc/mem_test.c:326,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:329,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/mem_test.c:330,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:330,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/mem_test.c:333,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/mem_test.c:334,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/tests/isc/mem_test.c:334,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 337
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - isc_mem_setwater
    - assert_non_null
    - isc_mem_isovermem
    - at_least_one_overmem
    - assert_true
    - isc_mem_detach
    - isc_mem_free
    - isc_mem_allocate
    - assert_false
    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:350,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:351,1
    - Dst: isc_mem_debugoff
      Src: /src/bind9/tests/isc/mem_test.c:353,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:354,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:355,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:356,1
    - Dst: isc__mem_printactive
      Src: /src/bind9/tests/isc/mem_test.c:357,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:358,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:359,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/tests/isc/mem_test.c:360,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:361,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mem_test.c:363,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:364,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:365,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/isc/mem_test.c:366,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:367,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:368,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:373,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/mem_test.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 375
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - isc_mem_create
    - isc_stdio_open
    - assert_null
    - isc_mem_put
    - isc_stdio_read
    - isc_mem_get
    - assert_non_null
    - isc_mem_debugoff
    - assert_int_equal
    - isc_mem_detach
    - memset
    - strchr
    - isc_mem_debugon
    - isc__mem_printactive
    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:387,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:388,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:390,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:392,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:393,1
    - Dst: isc__mem_get
      Src: /src/bind9/tests/isc/mem_test.c:402,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:403,1
    - Dst: isc__mem_printactive
      Src: /src/bind9/tests/isc/mem_test.c:406,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:407,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:408,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:409,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:410,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mem_test.c:412,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:413,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:414,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/isc/mem_test.c:415,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:416,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:417,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/isc/mem_test.c:418,1
    - Dst: strstr
      Src: /src/bind9/tests/isc/mem_test.c:427,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:428,1
    - Dst: strstr
      Src: /src/bind9/tests/isc/mem_test.c:435,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:436,1
    - Dst: strstr
      Src: /src/bind9/tests/isc/mem_test.c:437,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 439
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - isc_mem_create
    - isc_stdio_open
    - isc__mem_get
    - isc_mem_put
    - isc_stdio_read
    - isc_mem_get
    - assert_non_null
    - assert_int_equal
    - isc_mem_detach
    - strstr
    - memset
    - isc__mem_printactive
    - isc_file_remove
    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:451,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:452,1
    - Dst: isc_mem_debugoff
      Src: /src/bind9/tests/isc/mem_test.c:454,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/tests/isc/mem_test.c:455,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/isc/mem_test.c:456,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:457,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:458,1
    - Dst: isc__mem_printactive
      Src: /src/bind9/tests/isc/mem_test.c:459,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:460,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/isc/mem_test.c:461,1
    - Dst: isc_mem_debugoff
      Src: /src/bind9/tests/isc/mem_test.c:462,1
    - Dst: isc_mem_debugon
      Src: /src/bind9/tests/isc/mem_test.c:463,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:464,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mem_test.c:466,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/isc/mem_test.c:467,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:468,1
    - Dst: isc_stdio_read
      Src: /src/bind9/tests/isc/mem_test.c:469,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mem_test.c:470,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/isc/mem_test.c:471,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/isc/mem_test.c:472,1
    - Dst: freopen
      Src: /src/bind9/tests/isc/mem_test.c:475,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:479,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:480,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:481,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:483,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:484,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:485,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:486,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:487,1
    - Dst: assert_uint_in_range
      Src: /src/bind9/tests/isc/mem_test.c:488,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:489,1
    - Dst: strchr
      Src: /src/bind9/tests/isc/mem_test.c:490,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/mem_test.c:491,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/mem_test.c:492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 493
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - isc_mem_create
    - isc_stdio_open
    - isc_mem_put
    - isc_stdio_read
    - isc_mem_get
    - assert_non_null
    - isc_mem_debugoff
    - assert_int_equal
    - isc_mem_detach
    - memset
    - strchr
    - assert_uint_in_range
    - isc_mem_debugon
    - isc__mem_printactive
    - isc_file_remove
    - freopen
    - assert_memory_equal
    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:508,1
    - Dst: atomic_compare_exchange_weak
      Src: /src/bind9/tests/isc/mem_test.c:509,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/mem_test.c:515,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/mem_test.c:518,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 523
    functionName: mem_thread
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - atomic_compare_exchange_weak
    - isc_mem_put
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_thread(void *arg)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MAX
      Src: /src/bind9/tests/isc/mem_test.c:526,1
    - Dst: ISC_MIN
      Src: /src/bind9/tests/isc/mem_test.c:526,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/isc/mem_test.c:526,1
    - Dst: isc_thread_setstacksize
      Src: /src/bind9/tests/isc/mem_test.c:531,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/mem_test.c:533,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/mem_test.c:535,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/mem_test.c:538,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/mem_test.c:541,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/mem_test.c:544,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/mem_test.c:546,1
    - Dst: printf
      Src: /src/bind9/tests/isc/mem_test.c:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 525
    functionDepth: 1
    functionLinenumber: 525
    functionLinenumberEnd: 553
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mem_test.c
    functionUses: 0
    functionsReached:
    - isc_time_now
    - isc_time_microdiff
    - printf
    - ISC_MIN
    - isc_thread_setstacksize
    - ISC_MAX
    - isc_os_ncpus
    - atomic_init
    - isc_thread_create
    - isc_thread_join
    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
    - UNUSED
    - assert_return_code
    - assert_int_equal
    - chdir
    - touch
    - unlink
    - F
    - isc_file_sanitize
    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:100,1
    - Dst: mkstemp
      Src: /src/bind9/tests/isc/file_test.c:102,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/file_test.c:103,1
    - Dst: close
      Src: /src/bind9/tests/isc/file_test.c:104,1
    - Dst: mkstemp
      Src: /src/bind9/tests/isc/file_test.c:106,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/file_test.c:107,1
    - Dst: close
      Src: /src/bind9/tests/isc/file_test.c:108,1
    - Dst: unlink
      Src: /src/bind9/tests/isc/file_test.c:109,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/file_test.c:110,1
    - Dst: symlink
      Src: /src/bind9/tests/isc/file_test.c:110,1
    - Dst: isc_file_safecreate
      Src: /src/bind9/tests/isc/file_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:113,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/file_test.c:114,1
    - Dst: unlink
      Src: /src/bind9/tests/isc/file_test.c:116,1
    - Dst: unlink
      Src: /src/bind9/tests/isc/file_test.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 118
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/file_test.c
    functionUses: 0
    functionsReached:
    - mkstemp
    - UNUSED
    - assert_return_code
    - close
    - assert_int_equal
    - unlink
    - symlink
    - assert_int_not_equal
    - assert_null
    - isc_file_safecreate
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_file_safecreate_symlink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/file_test.c:125,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/file_test.c:127,1
    - Dst: chdir
      Src: /src/bind9/tests/isc/file_test.c:127,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:129,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
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:134,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:136,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:137,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:139,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:141,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:142,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:146,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:147,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:149,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:150,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:151,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:155,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:156,1
    - Dst: isc_file_template
      Src: /src/bind9/tests/isc/file_test.c:158,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/file_test.c:159,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/file_test.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 161
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/file_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_file_template
    - assert_return_code
    - assert_int_equal
    - chdir
    - assert_string_equal
    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:54,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/spinlock_test.c:56,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:58,1
    - Dst: getenv
      Src: /src/bind9/tests/isc/spinlock_test.c:60,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/spinlock_test.c:62,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 67
    functionName: setup_env
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - atoi
    - assert_int_not_equal
    - 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:72,1
    - Dst: isc_spinlock_lock
      Src: /src/bind9/tests/isc/spinlock_test.c:75,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:76,1
    - Dst: isc_spinlock_unlock
      Src: /src/bind9/tests/isc/spinlock_test.c:77,1
    - Dst: isc_spinlock_destroy
      Src: /src/bind9/tests/isc/spinlock_test.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 81
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - isc_spinlock_destroy
    - isc_spinlock_init
    - isc_spinlock_unlock
    - isc_pause_n
    - isc_spinlock_lock
    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:101,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:103,1
    - Dst: pthread_spin_unlock
      Src: /src/bind9/tests/isc/spinlock_test.c:105,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:106,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 110
    functionName: pthread_spin_thread
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - isc_pause_n
    - pthread_spin_lock
    - 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:120,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:122,1
    - Dst: isc_spinlock_unlock
      Src: /src/bind9/tests/isc/spinlock_test.c:124,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/spinlock_test.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 129
    functionName: isc_spinlock_thread
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - isc_spinlock_unlock
    - isc_pause_n
    - isc_spinlock_lock
    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:132,1
    - Dst: isc_thread_setstacksize
      Src: /src/bind9/tests/isc/spinlock_test.c:139,1
    - Dst: memset
      Src: /src/bind9/tests/isc/spinlock_test.c:141,1
    - Dst: pthread_spin_init
      Src: /src/bind9/tests/isc/spinlock_test.c:149,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:150,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:152,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/spinlock_test.c:161,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/spinlock_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:170,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:172,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/spinlock_test.c:174,1
    - Dst: printf
      Src: /src/bind9/tests/isc/spinlock_test.c:176,1
    - Dst: pthread_spin_destroy
      Src: /src/bind9/tests/isc/spinlock_test.c:182,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:183,1
    - Dst: isc_spinlock_init
      Src: /src/bind9/tests/isc/spinlock_test.c:188,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:190,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/spinlock_test.c:199,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/spinlock_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/spinlock_test.c:208,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/spinlock_test.c:210,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/spinlock_test.c:212,1
    - Dst: printf
      Src: /src/bind9/tests/isc/spinlock_test.c:214,1
    - Dst: isc_spinlock_destroy
      Src: /src/bind9/tests/isc/spinlock_test.c:220,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/spinlock_test.c:222,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 223
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/spinlock_test.c
    functionUses: 0
    functionsReached:
    - pthread_spin_init
    - isc_mem_cput
    - isc_time_microdiff
    - isc_mem_cget
    - isc_time_now_hires
    - isc_spinlock_destroy
    - pthread_spin_destroy
    - printf
    - assert_int_equal
    - isc_thread_setstacksize
    - isc_spinlock_init
    - isc_thread_create
    - assert_int_not_equal
    - isc_thread_join
    - memset
    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:
    - UNUSED
    - assert_true
    - 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:
    - UNUSED
    - assert_int_equal
    - memcmp
    - isc_safe_memwipe
    - memset
    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:
    - isc_counter_increment
    - isc_counter_create
    - assert_int_equal
    - isc_counter_detach
    - isc_counter_setlimit
    - isc_counter_used
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_counter)
  - 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:
    - assert_int_equal
    - isc_hash32
    - 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_equal
    - assert_int_not_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:
    - isc_hash_get_initializer
    - assert_int_equal
    - isc_hash_set_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
    - Dst: isc_loop_main
      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_loop_main
    - assert_int_equal
    - isc_loop_teardown
    - isc_nm_listenstreamdns
    - get_proxy_type
    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: 0
    argNames: []
    argTypes: []
    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:
    - isc_nm_streamdnsconnect
    - get_proxy_type
    linkageType: ''
    returnType: void
    signature: void tcpdns_connect(void)
  - 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_nm_streamdnsconnect
    - start_listening
    - get_proxy_type
    - isc_refcount_increment0
    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_nm_streamdnsconnect
    - start_listening
    - get_proxy_type
    - isc_refcount_increment0
    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_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 105
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - start_listening
    - isc_async_current
    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:108,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - start_listening
    - isc_async_current
    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:114,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:116,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/tcpdns_test.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - start_listening
    - isc_async_current
    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:122,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/tcpdns_test.c:125,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/tcpdns_test.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 128
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcpdns_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - start_listening
    - isc_loop_get
    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:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 132
    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:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 136
    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:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 142
    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:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 144
    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: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/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: 184
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 184
    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
    - TRACETIME
    - isc_histo_put
    - assert_int_equal
    - isc_histo_destroy
    - isc_time_monotonic
    - isc_histo_add
    - isc_histo_create
    - isc_histo_moments
    - isc_histo_get
    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_uint_in_range
      Src: /src/bind9/tests/isc/histo_test.c:217,1
    - Dst: assert_uint_in_range
      Src: /src/bind9/tests/isc/histo_test.c:218,1
    - Dst: assert_uint_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:
    - floor
    - isc_histo_inc
    - TRACETIME
    - assert_float_equal
    - ceil
    - assert_true
    - assert_int_equal
    - isc_histo_destroy
    - isc_time_monotonic
    - isc_histo_quantiles
    - assert_uint_in_range
    - isc_histo_create
    - isc_histo_moments
    - isc_histo_get
    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:
    - isc_histo_get
    - isc_histo_bits_to_digits
    - isc_histo_digits_to_bits
    - assert_int_equal
    - assert_true
    - isc_histo_destroy
    - TRACE
    - 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:
    - isc_histo_get
    - TRACETIME
    - isc_histo_put
    - assert_int_equal
    - isc_histo_destroy
    - isc_time_monotonic
    - isc_histo_quantiles
    - ARRAY_SIZE
    - 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:
    - UNUSED
    - inet_addr
    - assert_int_equal
    - isc_netaddr_fromin
    - isc_netaddr_isnetzero
    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:
    - inet_pton
    - isc_netaddr_masktoprefixlen
    - assert_true
    - isc_netaddr_fromin6
    - assert_int_equal
    - isc_netaddr_fromin
    - ARRAY_SIZE
    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:
    - UNUSED
    - inet_pton
    - assert_int_equal
    - isc_netaddr_fromin6
    - isc_netaddr_fromin
    - isc_netaddr_ismulticast
    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: isc_loop_main
      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_loop_main
      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:
    - isc_loop_main
    - isc_ratelimiter_create
    - expect_assert_failure
    - isc_loopmgr_shutdown
    - isc_ratelimiter_shutdown
    - isc_ratelimiter_detach
    - 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:
    - isc_loopmgr_shutdown
    - assert_null
    - isc_ratelimiter_shutdown
    - expect_assert_failure
    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:
    - isc_loopmgr_shutdown
    - assert_null
    - expect_assert_failure
    - 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_time_now
    - isc_mem_put
    - isc_loopmgr_shutdown
    - isc_ratelimiter_shutdown
    - isc_rlevent_free
    - isc_ratelimiter_detach
    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
    - Dst: isc_loop_main
      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_now
    - isc_loop_main
    - isc_ratelimiter_create
    - isc_time_set
    - assert_null
    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: isc_loop_main
      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_non_null
    - isc_loop_main
    - assert_int_equal
    - 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:132,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/ratelimiter_test.c:132,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: isc_loop_main
      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: isc_loop_main
      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:146,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/ratelimiter_test.c:146,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:
    - isc_mem_get
    - assert_non_null
    - isc_loop_main
    - expect_assert_failure
    - assert_int_equal
    - isc_ratelimiter_shutdown
    - assert_null
    - isc_ratelimiter_enqueue
    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: isc_loop_main
      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_loop_main
      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_mem_put
    - isc_mem_get
    - isc_loop_attach
    - isc_loop_main
    - assert_int_equal
    - isc_loopmgr_shutdown
    - isc_ratelimiter_dequeue
    - isc_ratelimiter_shutdown
    - isc_ratelimiter_detach
    - isc_ratelimiter_enqueue
    - isc_loop_detach
    - isc_ratelimiter_attach
    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_rlevent_free
    - isc_time_now
    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:
    - isc_time_microdiff
    - assert_int_equal
    - 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_loop_main
      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
    - Dst: isc_loop_main
      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:
    - isc_mem_get
    - expect_assert_failure
    - isc_loop_main
    - assert_int_equal
    - isc_ratelimiter_setinterval
    - isc_ratelimiter_setpertic
    - isc_interval_set
    - isc_ratelimiter_enqueue
    - isc_ratelimiter_setpushpop
    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:
    - isc_time_microdiff
    - assert_int_equal
    - 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_loop_main
      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
    - Dst: isc_loop_main
      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_mem_get
    - isc_loop_main
    - assert_int_equal
    - isc_ratelimiter_setinterval
    - isc_ratelimiter_setpertic
    - isc_interval_set
    - isc_ratelimiter_enqueue
    - isc_ratelimiter_setpushpop
    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:
    - UNUSED
    - isc_regex_validate
    - assert_int_equal
    - print_error
    - regcomp
    - regfree
    - memset
    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:
    - UNUSED
    - isc_lex_gettoken
    - assert_int_equal
    - isc_lex_openbuffer
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_destroy
    - isc_buffer_init
    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:
    - UNUSED
    - isc_lex_setsourceline
    - isc_lex_gettoken
    - assert_int_equal
    - isc_lex_openbuffer
    - isc_buffer_add
    - isc_lex_create
    - isc_lex_destroy
    - isc_lex_getsourceline
    - isc_buffer_init
    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:
    - AS_STR
    - UNUSED
    - isc_lex_destroy
    - isc_lex_setsourceline
    - assert_int_equal
    - isc_lex_getmastertoken
    - assert_string_equal
    - isc_lex_openbuffer
    - isc_buffer_add
    - strlen
    - isc_lex_create
    - memset
    - isc_buffer_constinit
    - ARRAY_SIZE
    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:
    - AS_STR
    - UNUSED
    - isc_lex_destroy
    - isc_lex_setsourceline
    - assert_int_equal
    - isc_lex_getmastertoken
    - assert_string_equal
    - isc_lex_openbuffer
    - isc_buffer_add
    - strlen
    - isc_lex_create
    - memset
    - isc_buffer_constinit
    - ARRAY_SIZE
    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:
    - AS_STR
    - UNUSED
    - isc_lex_destroy
    - isc_lex_setsourceline
    - assert_int_equal
    - isc_lex_getmastertoken
    - assert_string_equal
    - isc_lex_openbuffer
    - isc_buffer_add
    - strlen
    - isc_lex_create
    - memset
    - isc_buffer_constinit
    - ARRAY_SIZE
    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: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    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:40,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ISC_SETUP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_new
    linkageType: ''
    returnType: void
    signature: void ISC_SETUP_TEST_IMPL(hmac_state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:53,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 64
    functionName: _reset
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _reset(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/hmac_test.c:67,1
    - Dst: isc_hmac_new
      Src: /src/bind9/tests/isc/hmac_test.c:69,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:70,1
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 72
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - UNUSED
    - isc_hmac_new
    - isc_hmac_free
    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:75,1
    - Dst: isc_hmac_new
      Src: /src/bind9/tests/isc/hmac_test.c:77,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:78,1
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:79,1
    - Dst: isc_hmac_free
      Src: /src/bind9/tests/isc/hmac_test.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - UNUSED
    - isc_hmac_new
    - isc_hmac_free
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_free)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:90,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:91,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:93,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:95,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/hmac_test.c:96,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:99,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:99,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/hmac_test.c:108,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:109,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:109,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/hmac_test.c:114,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/hmac_test.c:115,1
    - Dst: isc_hex_totext
      Src: /src/bind9/tests/isc/hmac_test.c:117,1
    - Dst: assert_return_code
      Src: /src/bind9/tests/isc/hmac_test.c:119,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hmac_test.c:121,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hmac_test.c:121,1
    - Dst: isc_hmac_key_destroy
      Src: /src/bind9/tests/isc/hmac_test.c:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    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: 124
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 124
    functionName: isc_hmac_test
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_init
    - assert_return_code
    - assert_non_null
    - assert_int_equal
    - isc_hmac_key_create
    - strlen
    - isc_buffer_usedregion
    - isc_hmac_final
    - isc_hmac_key_destroy
    - isc_hex_totext
    - isc_hmac_update
    - isc_buffer_init
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: "void isc_hmac_test(isc_hmac_t *hmac_st, const void *key, size_t keylen,\n\t
      \     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_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:129,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:130,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/tests/isc/hmac_test.c:133,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:139,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:139,1
    - Dst: isc_hmac_key_destroy
      Src: /src/bind9/tests/isc/hmac_test.c:142,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:145,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:146,1
    - Dst: isc_hmac_key_destroy
      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_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:151,1
    - Dst: isc_hmac_key_destroy
      Src: /src/bind9/tests/isc/hmac_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:155,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:156,1
    - Dst: isc_hmac_key_destroy
      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_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:161,1
    - Dst: isc_hmac_key_destroy
      Src: /src/bind9/tests/isc/hmac_test.c:163,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:165,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:166,1
    - Dst: isc_hmac_key_destroy
      Src: /src/bind9/tests/isc/hmac_test.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 169
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_crypto_fips_mode
    - assert_int_equal
    - isc_hmac_key_create
    - isc_hmac_key_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_hmac_key_create)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hmac_test.c:173,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:175,1
    - Dst: isc_hmac_update
      Src: /src/bind9/tests/isc/hmac_test.c:175,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - isc_hmac_update
    - assert_int_equal
    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:183,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:185,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/tests/isc/hmac_test.c:186,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/hmac_test.c:193,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:194,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:194,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:197,1
    - Dst: isc_hmac_init
      Src: /src/bind9/tests/isc/hmac_test.c:197,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/hmac_test.c:198,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hmac_test.c:199,1
    - Dst: isc_hmac_final
      Src: /src/bind9/tests/isc/hmac_test.c:199,1
    - Dst: isc_hmac_key_destroy
      Src: /src/bind9/tests/isc/hmac_test.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 202
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_hmac_init
    - assert_non_null
    - assert_int_equal
    - isc_hmac_key_create
    - isc_hmac_final
    - isc_hmac_key_destroy
    - isc_buffer_init
    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:207,1
    - Dst: skip
      Src: /src/bind9/tests/isc/hmac_test.c:208,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:213,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:213,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:213,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:217,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:218,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:221,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:225,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:225,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:226,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:232,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:233,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:236,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:243,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:244,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:248,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:256,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:257,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:260,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:264,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:265,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:279,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:284,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:285,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 304
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - isc_crypto_fips_mode
    - isc_hmac_test
    - TEST_INPUT
    - 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:310,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:310,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:314,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:315,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:318,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:321,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:321,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:322,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:327,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:328,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:331,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:338,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:339,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:351,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:352,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:355,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:360,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:361,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:370,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:374,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:375,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 387
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - TEST_INPUT
    - isc_hmac_test
    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:393,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:393,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:393,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:403,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:408,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:408,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:409,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:416,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:417,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:420,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:429,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:430,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:444,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:445,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:448,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:453,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:454,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:469,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:475,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:476,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 510
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - TEST_INPUT
    - isc_hmac_test
    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:516,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:516,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:516,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:522,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:523,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:526,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:531,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:531,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:532,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:539,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:540,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:543,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:552,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:553,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:567,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:568,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:571,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:576,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:577,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:592,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:598,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:599,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 633
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - TEST_INPUT
    - isc_hmac_test
    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:639,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:639,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:639,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:645,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:646,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:649,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:655,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:655,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:656,1
    - 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:665,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:668,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:678,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:679,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:683,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:694,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:695,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:698,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:719,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:726,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:727,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:742,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 635
    functionDepth: 2
    functionLinenumber: 635
    functionLinenumberEnd: 762
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - TEST_INPUT
    - isc_hmac_test
    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:768,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:768,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:768,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:775,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:776,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:779,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:785,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:785,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:786,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:794,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:795,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:798,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:808,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:809,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:813,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:824,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:825,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:828,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:849,1
    - Dst: isc_hmac_test
      Src: /src/bind9/tests/isc/hmac_test.c:856,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:857,1
    - Dst: TEST_INPUT
      Src: /src/bind9/tests/isc/hmac_test.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 892
      start: 764
    functionDepth: 2
    functionLinenumber: 764
    functionLinenumberEnd: 892
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hmac_test.c
    functionUses: 0
    functionsReached:
    - TEST_INPUT
    - isc_hmac_test
    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:
    - UNUSED
    - NETADDR_TO_PREFIX_T
    - isc_radix_destroy
    - inet_addr
    - assert_int_equal
    - isc_radix_remove
    - isc_radix_create
    - isc_netaddr_fromin
    - isc_radix_insert
    - isc_refcount_destroy
    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:
    - UNUSED
    - NETADDR_TO_PREFIX_T
    - assert_ptr_equal
    - inet_addr
    - isc_radix_destroy
    - assert_int_equal
    - isc_radix_search
    - isc_radix_create
    - isc_netaddr_fromin
    - isc_radix_insert
    - isc_refcount_destroy
    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:
    - isc_loopmgr_shutdown
    - UNUSED
    - assert_int_equal
    - 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_nm_listenudp
    - isc_loopmgr_shutdown
    - assert_int_not_equal
    - assert_null
    - WILL_RETURN
    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_nm_listenudp
    - isc_loopmgr_shutdown
    - assert_int_not_equal
    - assert_null
    - WILL_RETURN
    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_nm_listenudp
    - isc_loopmgr_shutdown
    - assert_int_not_equal
    - assert_null
    - WILL_RETURN
    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:
    - isc_nm_udpconnect
    - WILL_RETURN
    - isc_refcount_increment0
    - isc_loopmgr_shutdown
    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:
    - isc_nm_udpconnect
    - WILL_RETURN
    - isc_refcount_increment0
    - isc_loopmgr_shutdown
    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:
    - isc_nm_udpconnect
    - WILL_RETURN
    - isc_refcount_increment0
    - isc_loopmgr_shutdown
    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:
    - isc_nm_udpconnect
    - WILL_RETURN
    - isc_refcount_increment0
    - isc_loopmgr_shutdown
    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:
    - isc_nm_udpconnect
    - WILL_RETURN
    - isc_refcount_increment0
    - isc_loopmgr_shutdown
    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_fromin
    - UNUSED
    - inet_pton
    - inet_addr
    - assert_int_equal
    - isc_sockaddr_hash
    - assert_int_not_equal
    - isc_sockaddr_fromin6
    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:
    - isc_sockaddr_fromin
    - UNUSED
    - inet_pton
    - inet_addr
    - isc_sockaddr_isnetzero
    - assert_int_equal
    - isc_sockaddr_fromin6
    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:
    - isc_sockaddr_fromin
    - UNUSED
    - inet_pton
    - assert_true
    - isc_sockaddr_eqaddrprefix
    - assert_false
    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:42,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:43,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:45,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/tests/isc/quota_test.c:45,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:46,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/tests/isc/quota_test.c:46,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/quota_test.c:48,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:49,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:51,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/tests/isc/quota_test.c:51,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:52,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/tests/isc/quota_test.c:52,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_acquire
      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_release
      Src: /src/bind9/tests/isc/quota_test.c:57,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:58,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:58,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/quota_test.c:61,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:62,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 65
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_max
    - UNUSED
    - isc_quota_soft
    - isc_quota_acquire
    - assert_int_equal
    - isc_quota_release
    - isc_quota_init
    - isc_quota_getmax
    - isc_quota_getsoft
    - isc_quota_getused
    - isc_quota_destroy
    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:72,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:73,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:83,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:83,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: 84
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 84
    functionName: add_quota
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_acquire
    - assert_int_equal
    - 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:88,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:90,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:93,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:96,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:98,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:98,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:100,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:102,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:103,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:106,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: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:109,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:109,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:110,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 86
    functionDepth: 2
    functionLinenumber: 86
    functionLinenumberEnd: 111
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - add_quota
    - assert_int_equal
    - isc_quota_init
    - isc_quota_release
    - isc_quota_getused
    - isc_quota_destroy
    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:115,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:117,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:118,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:121,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:124,1
    - Dst: add_quota
      Src: /src/bind9/tests/isc/quota_test.c:127,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:130,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: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:133,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:133,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:134,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 135
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_quota_soft
    - add_quota
    - isc_quota_release
    - isc_quota_init
    - assert_int_equal
    - isc_quota_getused
    - isc_quota_destroy
    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:144,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:148,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 157
    functionName: callback
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 6
    functionsReached:
    - atomic_fetch_add_relaxed
    - assert_int_equal
    - assert_int_not_equal
    - 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:170,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:172,1
    - Dst: isc_quota_soft
      Src: /src/bind9/tests/isc/quota_test.c:173,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/tests/isc/quota_test.c:177,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:179,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:180,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:180,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/tests/isc/quota_test.c:184,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:186,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:187,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:187,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/tests/isc/quota_test.c:192,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:194,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:195,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:195,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:197,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:197,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:200,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:201,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:201,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:202,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:202,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:205,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:206,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:206,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:210,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:214,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:215,1
    - Dst: isc_quota_getused
      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: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:217,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:219,1
    - Dst: isc_quota_getused
      Src: /src/bind9/tests/isc/quota_test.c:219,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:220,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 221
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_quota_soft
    - assert_int_equal
    - isc_quota_release
    - isc_quota_init
    - isc_quota_getused
    - isc_quota_destroy
    - atomic_load
    - isc_quota_acquire_cb
    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:242,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/isc/quota_test.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 245
    functionName: quota_release
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 8
    functionsReached:
    - isc_quota_release
    - uv_sleep
    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:250,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:251,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/quota_test.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 253
    functionName: quota_callback
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_relaxed
    - isc_thread_create
    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:260,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:263,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/tests/isc/quota_test.c:264,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/quota_test.c:265,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - qtip
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 270
    functionName: quota_thread
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_acquire_cb
    - atomic_fetch_add_relaxed
    - isc_thread_create
    linkageType: ''
    returnType: void
    signature: 'void *

      quota_thread(void *qtip)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_thread_setstacksize
      Src: /src/bind9/tests/isc/quota_test.c:275,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/quota_test.c:277,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/quota_test.c:281,1
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/quota_test.c:282,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/quota_test.c:283,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/quota_test.c:286,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:289,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/quota_test.c:290,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:295,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/quota_test.c:296,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/quota_test.c:299,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/quota_test.c:306,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/quota_test.c:308,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 309
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/quota_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - assert_true
    - isc_quota_init
    - isc_thread_setstacksize
    - atomic_init
    - isc_thread_create
    - isc_quota_destroy
    - isc_thread_join
    - 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_hash
    - isc_siphash24_finalize
    - isc_siphash24
    - ARRAY_SIZE
    - isc_siphash24_init
    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:
    - isc_halfsiphash24_init
    - isc_halfsiphash24_finalize
    - isc_halfsiphash24_hash
    - isc_halfsiphash24
    - ARRAY_SIZE
    - assert_memory_equal
    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:48,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/mutex_test.c:50,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:52,1
    - Dst: getenv
      Src: /src/bind9/tests/isc/mutex_test.c:54,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/mutex_test.c:56,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:58,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 61
    functionName: setup_env
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - atoi
    - assert_int_not_equal
    - 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:66,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/tests/isc/mutex_test.c:69,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:70,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/mutex_test.c:71,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/tests/isc/mutex_test.c:74,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 75
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    - isc_mutex_unlock
    - isc_pause_n
    - isc_mutex_destroy
    - isc_mutex_lock
    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:94,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:96,1
    - Dst: pthread_mutex_unlock
      Src: /src/bind9/tests/isc/mutex_test.c:98,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 103
    functionName: pthread_mutex_thread
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - pthread_mutex_lock
    - pthread_mutex_unlock
    - isc_pause_n
    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:110,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:112,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/tests/isc/mutex_test.c:114,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/mutex_test.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 119
    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:122,1
    - Dst: isc_thread_setstacksize
      Src: /src/bind9/tests/isc/mutex_test.c:130,1
    - Dst: memset
      Src: /src/bind9/tests/isc/mutex_test.c:132,1
    - Dst: pthread_mutex_init
      Src: /src/bind9/tests/isc/mutex_test.c:139,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:140,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:142,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/mutex_test.c:151,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/mutex_test.c:155,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mutex_test.c:160,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:162,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/mutex_test.c:164,1
    - Dst: printf
      Src: /src/bind9/tests/isc/mutex_test.c:166,1
    - Dst: pthread_mutex_destroy
      Src: /src/bind9/tests/isc/mutex_test.c:172,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/mutex_test.c:173,1
    - Dst: isc_mutex_init
      Src: /src/bind9/tests/isc/mutex_test.c:177,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:179,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/mutex_test.c:188,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/mutex_test.c:192,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/mutex_test.c:197,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/mutex_test.c:199,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/mutex_test.c:201,1
    - Dst: printf
      Src: /src/bind9/tests/isc/mutex_test.c:203,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/tests/isc/mutex_test.c:209,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/mutex_test.c:211,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 212
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/mutex_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - isc_time_microdiff
    - isc_mem_cget
    - isc_mutex_init
    - isc_time_now_hires
    - printf
    - assert_int_equal
    - isc_thread_setstacksize
    - pthread_mutex_destroy
    - pthread_mutex_init
    - isc_mutex_destroy
    - isc_thread_create
    - assert_int_not_equal
    - isc_thread_join
    - memset
    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_loopmgr_shutdown
    - isc_mem_put
    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_job_run
    - atomic_fetch_add
    - isc_loop
    - isc_mem_get
    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:
    - isc_loopmgr_run
    - assert_int_equal
    - isc_loopmgr_setup
    - atomic_init
    - 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: 17
    functionsReached:
    - sprintf
    - strlcat
    linkageType: ''
    returnType: void
    signature: void append(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:115,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/job_test.c:115,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:116,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/job_test.c:116,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/isc/job_test.c:117,1
    - Dst: isc_loop_main
      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_loop_main
      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_loop_main
      Src: /src/bind9/tests/isc/job_test.c:119,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/job_test.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: job_multiple
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_loop_main
    - isc_job_run
    linkageType: ''
    returnType: void
    signature: void job_multiple(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/job_test.c:125,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/job_test.c:125,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/job_test.c:126,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/job_test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 128
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/job_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - isc_loop_setup
    - assert_string_equal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_job_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/work_test.c:44,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/work_test.c:46,1
    - Dst: isc_tid
      Src: /src/bind9/tests/isc/work_test.c:46,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 47
    functionName: work_cb
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - atomic_fetch_add
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void work_cb(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/work_test.c:51,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/work_test.c:51,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/work_test.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: after_work_cb
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - atomic_load
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void after_work_cb(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_work_enqueue
      Src: /src/bind9/tests/isc/work_test.c:57,1
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/work_test.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 58
    functionName: work_enqueue_cb
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - isc_loop
    - isc_work_enqueue
    linkageType: ''
    returnType: void
    signature: void work_enqueue_cb(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_init
      Src: /src/bind9/tests/isc/work_test.c:61,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/work_test.c:63,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/work_test.c:63,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/work_test.c:65,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/work_test.c:67,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/work_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 68
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/work_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - assert_int_equal
    - isc_loop_setup
    - atomic_init
    - atomic_load
    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:125,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:128,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/isc/netmgr_common.c:130,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netmgr_common.c:130,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/netmgr_common.c:131,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/isc/netmgr_common.c:132,1
    - Dst: inet_pton
      Src: /src/bind9/tests/isc/netmgr_common.c:132,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/netmgr_common.c:133,1
    - Dst: isc_nm_proxyheader_info_init
      Src: /src/bind9/tests/isc/netmgr_common.c:134,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:139,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:141,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:145,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: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:169,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_nonce_buf
      Src: /src/bind9/tests/isc/netmgr_common.c:175,1
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:177,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/tests/isc/netmgr_common.c:178,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:179,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:180,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:181,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:182,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:183,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/netmgr_common.c:185,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:186,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/tests/isc/netmgr_common.c:191,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/tests/isc/netmgr_common.c:196,1
    - Dst: isc_tlsctx_enable_dot_client_alpn
      Src: /src/bind9/tests/isc/netmgr_common.c:200,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/tests/isc/netmgr_common.c:202,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 61
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 208
    functionName: setup_netmgr_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_tlsctx_client_session_cache_create
    - isc_nonce_buf
    - isc_sockaddr_fromin6
    - atomic_store
    - isc_nm_setidletimeout
    - inet_pton
    - RUNTIME_CHECK
    - isc_quota_init
    - isc_nm_setkeepalivetimeout
    - setup_loopmgr
    - isc_nm_setinitialtimeout
    - isc_nm_proxyheader_info_init
    - isc_tlsctx_createserver
    - isc_tlsctx_createclient
    - isc_netmgr_create
    - isc_refcount_init
    - isc_sockaddr_fromin
    - isc_nm_setadvertisedtimeout
    - isc_nm_setprimariestimeout
    - 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:212,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:214,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/netmgr_common.c:216,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/netmgr_common.c:217,1
    - Dst: isc_netmgr_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:219,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:221,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:223,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:224,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:225,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:226,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 210
    functionDepth: 1
    functionLinenumber: 210
    functionLinenumberEnd: 232
    functionName: teardown_netmgr_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - isc_tlsctx_free
    - teardown_loopmgr
    - isc_netmgr_destroy
    - isc_tlsctx_client_session_cache_detach
    - isc_refcount_destroy
    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:236,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/tests/isc/netmgr_common.c:237,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/netmgr_common.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 239
    functionName: stop_listening
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_stoplistening
    - assert_null
    - 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:273,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:275,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:277,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/tests/isc/netmgr_common.c:286,1
    - Dst: have_expected_csends
      Src: /src/bind9/tests/isc/netmgr_common.c:290,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:290,1
    - Dst: do_csends_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:291,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:295,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:296,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:297,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:300,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:301,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: 302
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 302
    functionName: connect_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - do_csends_shutdown
    - assert_non_null
    - fprintf
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_nm_cancelread
    - isc_refcount_decrement
    - have_expected_csends
    - atomic_fetch_add
    - F
    - isc_result_totext
    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:307,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:308,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:309,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 311
    functionName: connect_send
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_send
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    - isc_nmhandle_attach
    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:318,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:320,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:322,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:326,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:328,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:330,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/netmgr_common.c:332,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:332,1
    - Dst: do_creads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:333,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:337,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/tests/isc/netmgr_common.c:343,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:354,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:355,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:356,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:359,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:360,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: 361
      start: 313
    functionDepth: 2
    functionLinenumber: 313
    functionLinenumberEnd: 361
    functionName: connect_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - memmove
    - assert_non_null
    - connect_send
    - fprintf
    - assert_true
    - do_creads_shutdown
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nmhandle_detach
    - atomic_fetch_add
    - F
    - isc_nmhandle_close
    - have_expected_creads
    - isc_result_totext
    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:367,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:369,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:376,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:376,1
    - Dst: have_expected_cconnects
      Src: /src/bind9/tests/isc/netmgr_common.c:380,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:380,1
    - Dst: do_cconnects_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:381,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:383,1
    - Dst: get_stream_connect_function
      Src: /src/bind9/tests/isc/netmgr_common.c:385,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:389,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:390,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:394,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:395,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:397,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - handle
    - eresult
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 398
    functionName: connect_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - have_expected_cconnects
    - isc_nm_read
    - get_stream_connect_function
    - connect_send
    - assert_true
    - isc_refcount_decrement
    - isc_async_current
    - isc_nmhandle_settimeout
    - atomic_fetch_add
    - do_cconnects_shutdown
    - isc_nmhandle_attach
    - F
    - isc_nm_is_proxy_handle
    - isc_refcount_increment0
    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:404,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:405,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:407,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:409,1
    - Dst: have_expected_ssends
      Src: /src/bind9/tests/isc/netmgr_common.c:418,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:418,1
    - Dst: do_ssends_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:419,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:423,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:424,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:425,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:428,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:429,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: 430
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 430
    functionName: listen_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - fprintf
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    - do_ssends_shutdown
    - F
    - have_expected_ssends
    - isc_result_totext
    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:437,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:439,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:444,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:444,1
    - Dst: proxy_verify_endpoints
      Src: /src/bind9/tests/isc/netmgr_common.c:445,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:448,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:449,1
    - Dst: have_expected_sreads
      Src: /src/bind9/tests/isc/netmgr_common.c:451,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:451,1
    - Dst: do_sreads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:452,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:455,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:457,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:458,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:463,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:464,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:465,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:466,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:477,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:478,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:479,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:482,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:483,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: 484
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 484
    functionName: listen_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert_non_null
    - fprintf
    - assert_true
    - proxy_verify_endpoints
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nm_send
    - isc_nmhandle_detach
    - atomic_fetch_add
    - isc_nmhandle_attach
    - F
    - do_sreads_shutdown
    - isc_nm_is_proxy_handle
    - have_expected_sreads
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    - isc_result_totext
    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:488,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:489,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:491,1
    - Dst: have_expected_saccepts
      Src: /src/bind9/tests/isc/netmgr_common.c:497,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:497,1
    - Dst: do_saccepts_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:498,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:501,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:502,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: 505
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 505
    functionName: listen_accept_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - do_saccepts_shutdown
    - have_expected_saccepts
    - atomic_fetch_add
    - isc_nmhandle_attach
    - F
    - isc_refcount_increment0
    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:511,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:513,1
    - Dst: have_expected_saccepts
      Src: /src/bind9/tests/isc/netmgr_common.c:519,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:519,1
    - Dst: do_saccepts_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:520,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:524,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:524,1
    - Dst: proxy_verify_endpoints
      Src: /src/bind9/tests/isc/netmgr_common.c:525,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:528,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:530,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:531,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: 534
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 534
    functionName: stream_accept_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_nm_read
    - do_saccepts_shutdown
    - assert_true
    - proxy_verify_endpoints
    - have_expected_saccepts
    - atomic_fetch_add
    - isc_nmhandle_attach
    - F
    - isc_nm_is_proxy_handle
    - isc_refcount_increment0
    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:542,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:544,1
    - Dst: connect
      Src: /src/bind9/tests/isc/netmgr_common.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 536
    functionDepth: 1
    functionLinenumber: 536
    functionLinenumberEnd: 546
    functionName: stream_recv_send_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - connect
    - isc_sockaddr_fromin6
    - isc_refcount_increment0
    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:553,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:554,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:556,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:558,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:561,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:563,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:564,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:568,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:569,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:571,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: 572
      start: 550
    functionDepth: 2
    functionLinenumber: 550
    functionLinenumberEnd: 572
    functionName: timeout_retry_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - connect_send
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - isc_nmhandle_settimeout
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - F
    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:577,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/isc/netmgr_common.c:578,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/netmgr_common.c:579,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 574
    functionDepth: 1
    functionLinenumber: 574
    functionLinenumberEnd: 583
    functionName: tcp_listener_init_quota
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_quota_max
    - atomic_load
    - ISC_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:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 585
    functionDepth: 1
    functionLinenumber: 585
    functionLinenumberEnd: 589
    functionName: tcp_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 1
    functionsReached:
    - isc_nm_tcpconnect
    linkageType: ''
    returnType: void
    signature: void tcp_connect(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 597
    functionName: tls_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_tlsconnect
    linkageType: ''
    returnType: void
    signature: void tls_connect(void)
  - 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: 602
      start: 599
    functionDepth: 0
    functionLinenumber: 599
    functionLinenumberEnd: 602
    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:614,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 604
    functionDepth: 0
    functionLinenumber: 604
    functionLinenumberEnd: 619
    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:628,1
    - Dst: get_proxyheader_info
      Src: /src/bind9/tests/isc/netmgr_common.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 631
    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(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:643,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 644
    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:652,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/tests/isc/netmgr_common.c:660,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/tests/isc/netmgr_common.c:665,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:671,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: 672
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 672
    functionName: stream_listen
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_nm_listentls
    - isc_nm_listenproxystream
    - UNREACHABLE
    - 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:676,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:679,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:691,1
    - Dst: get_proxyheader_info
      Src: /src/bind9/tests/isc/netmgr_common.c:693,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:696,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:700,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: 701
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 701
    functionName: stream_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_nm_proxystreamconnect
    - isc_nm_tlsconnect
    - isc_nm_tcpconnect
    - get_proxyheader_info
    - UNREACHABLE
    - isc_refcount_increment0
    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: 712
      start: 703
    functionDepth: 0
    functionLinenumber: 703
    functionLinenumberEnd: 712
    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:716,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:717,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:719,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:721,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:722,1
    - Dst: have_expected_cconnects
      Src: /src/bind9/tests/isc/netmgr_common.c:724,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:724,1
    - Dst: do_cconnects_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:725,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: 728
      start: 714
    functionDepth: 1
    functionLinenumber: 714
    functionLinenumberEnd: 728
    functionName: connect_success_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - have_expected_cconnects
    - UNUSED
    - assert_int_equal
    - isc_refcount_decrement
    - atomic_fetch_add
    - do_cconnects_shutdown
    - F
    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:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 735
    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:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 741
    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:746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 743
    functionDepth: 4
    functionLinenumber: 743
    functionLinenumberEnd: 747
    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:753,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:754,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:755,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/netmgr_common.c:755,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 759
      start: 749
    functionDepth: 2
    functionLinenumber: 749
    functionLinenumberEnd: 759
    functionName: stream_noop
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 3
    functionsReached:
    - isc_loop_main
    - assert_int_equal
    - stream_listen
    - isc_loop_teardown
    - stream_connect
    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:763,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:764,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:765,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:766,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:767,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:768,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 761
    functionDepth: 2
    functionLinenumber: 761
    functionLinenumberEnd: 769
    functionName: stream_noop_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_netmgr_test
    - atomic_assert_int_eq
    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:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 771
    functionDepth: 3
    functionLinenumber: 771
    functionLinenumberEnd: 777
    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:781,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 779
    functionDepth: 4
    functionLinenumber: 779
    functionLinenumberEnd: 785
    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:790,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:791,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:792,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:794,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:796,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:799,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:800,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:802,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: 803
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 803
    functionName: noresponse_readcb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - isc_loopmgr_shutdown
    - 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:807,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:808,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:810,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:812,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:813,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:814,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:815,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: 816
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 816
    functionName: noresponse_sendcb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    - F
    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:824,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:826,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:828,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:830,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:832,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:833,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:834,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:836,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:837,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:838,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:840,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: 842
      start: 818
    functionDepth: 1
    functionLinenumber: 818
    functionLinenumberEnd: 842
    functionName: noresponse_connectcb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nm_send
    - atomic_fetch_add
    - isc_nmhandle_attach
    - F
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    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:846,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 844
    functionDepth: 2
    functionLinenumber: 844
    functionLinenumberEnd: 850
    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:855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 856
      start: 852
    functionDepth: 3
    functionLinenumber: 852
    functionLinenumberEnd: 856
    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:860,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 863
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 863
    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:868,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 865
    functionDepth: 4
    functionLinenumber: 865
    functionLinenumberEnd: 869
    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:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 876
    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:882,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:883,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:884,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/netmgr_common.c:884,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 878
    functionDepth: 2
    functionLinenumber: 878
    functionLinenumberEnd: 887
    functionName: stream_noresponse
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 3
    functionsReached:
    - isc_loop_main
    - assert_int_equal
    - stream_listen
    - isc_loop_teardown
    - stream_connect
    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:891,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:892,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:893,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:894,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:895,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:897,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:898,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:899,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:900,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 889
    functionDepth: 2
    functionLinenumber: 889
    functionLinenumberEnd: 903
    functionName: stream_noresponse_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - X
    - teardown_netmgr_test
    - atomic_assert_int_eq
    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:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 916
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 916
    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:932,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:933,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:934,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:935,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/isc/netmgr_common.c:937,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: 946
      start: 923
    functionDepth: 1
    functionLinenumber: 923
    functionLinenumberEnd: 946
    functionName: proxy2_handler_save_addrs_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:951,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/tests/isc/netmgr_common.c:952,1
    - Dst: isc_nm_is_proxy_unspec
      Src: /src/bind9/tests/isc/netmgr_common.c:954,1
    - Dst: isc_nmhandle_real_peeraddr
      Src: /src/bind9/tests/isc/netmgr_common.c:956,1
    - Dst: isc_nmhandle_real_localaddr
      Src: /src/bind9/tests/isc/netmgr_common.c:957,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:959,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:959,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:960,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:960,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:962,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:962,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:963,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:963,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:965,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:965,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:967,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:967,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/tests/isc/netmgr_common.c:971,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/netmgr_common.c:971,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:976,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:976,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
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 979
    functionName: proxy_verify_endpoints
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_nmhandle_real_localaddr
    - isc_nmhandle_real_peeraddr
    - isc_proxy2_header_handle_directly
    - isc_nm_is_proxy_unspec
    - RUNTIME_CHECK
    - assert_true
    - isc_sockaddr_equal
    - isc_nmhandle_peeraddr
    - isc_nmhandle_localaddr
    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:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 985
    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:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 992
    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:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 994
    functionDepth: 4
    functionLinenumber: 994
    functionLinenumberEnd: 998
    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:1002,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1005
    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:1016,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1017,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1018,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/netmgr_common.c:1018,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1023
    functionName: stream_timeout_recovery
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 3
    functionsReached:
    - isc_loop_main
    - assert_int_equal
    - stream_listen
    - isc_loop_teardown
    - 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:1027,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1028,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1029
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1029
    functionName: stream_timeout_recovery_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - teardown_netmgr_test
    - atomic_assert_int_eq
    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:1033,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1031
    functionDepth: 2
    functionLinenumber: 1031
    functionLinenumberEnd: 1054
    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:1059,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1060
      start: 1056
    functionDepth: 3
    functionLinenumber: 1056
    functionLinenumberEnd: 1060
    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:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1067
      start: 1062
    functionDepth: 1
    functionLinenumber: 1062
    functionLinenumberEnd: 1067
    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:1072,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1073
      start: 1069
    functionDepth: 4
    functionLinenumber: 1069
    functionLinenumberEnd: 1073
    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:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1075
    functionDepth: 2
    functionLinenumber: 1075
    functionLinenumberEnd: 1080
    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:1085,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1087,1
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:1089,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1091,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1092,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/netmgr_common.c:1092,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1094,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1095
      start: 1082
    functionDepth: 2
    functionLinenumber: 1082
    functionLinenumberEnd: 1095
    functionName: stream_recv_one
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 7
    functionsReached:
    - isc_loop_main
    - assert_int_equal
    - stream_listen
    - isc_loop_teardown
    - tcp_listener_init_quota
    - stream_connect
    - atomic_store
    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:1099,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1100,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1101,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1102,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1103,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1104,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1097
    functionDepth: 2
    functionLinenumber: 1097
    functionLinenumberEnd: 1107
    functionName: stream_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - teardown_netmgr_test
    - atomic_assert_int_eq
    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:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1132
    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:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1134
    functionDepth: 3
    functionLinenumber: 1134
    functionLinenumberEnd: 1138
    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:1142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1145
      start: 1140
    functionDepth: 1
    functionLinenumber: 1140
    functionLinenumberEnd: 1145
    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:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1147
    functionDepth: 4
    functionLinenumber: 1147
    functionLinenumberEnd: 1151
    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:1155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1153
    functionDepth: 2
    functionLinenumber: 1153
    functionLinenumberEnd: 1158
    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:1163,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1165,1
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:1167,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1169,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1170,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/netmgr_common.c:1170,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1172,1
    - Dst: stream_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1175
      start: 1160
    functionDepth: 2
    functionLinenumber: 1160
    functionLinenumberEnd: 1175
    functionName: stream_recv_two
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 6
    functionsReached:
    - isc_loop_main
    - assert_int_equal
    - stream_listen
    - isc_loop_teardown
    - tcp_listener_init_quota
    - stream_connect
    - atomic_store
    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:1179,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1180,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1181,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1182,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1183,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1184,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1177
    functionDepth: 2
    functionLinenumber: 1177
    functionLinenumberEnd: 1187
    functionName: stream_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - teardown_netmgr_test
    - atomic_assert_int_eq
    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:1191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1198
    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:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1200
    functionDepth: 3
    functionLinenumber: 1200
    functionLinenumberEnd: 1204
    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:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1206
    functionDepth: 1
    functionLinenumber: 1206
    functionLinenumberEnd: 1211
    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:1216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1217
      start: 1213
    functionDepth: 4
    functionLinenumber: 1213
    functionLinenumberEnd: 1217
    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:1221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1219
    functionDepth: 2
    functionLinenumber: 1219
    functionLinenumberEnd: 1224
    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:1229,1
    - Dst: stream_listen
      Src: /src/bind9/tests/isc/netmgr_common.c:1231,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1233,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1234,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/netmgr_common.c:1234,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/netmgr_common.c:1237,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/netmgr_common.c:1237,1
    - Dst: get_stream_connect_function
      Src: /src/bind9/tests/isc/netmgr_common.c:1238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1226
    functionDepth: 2
    functionLinenumber: 1226
    functionLinenumberEnd: 1240
    functionName: stream_recv_send
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 12
    functionsReached:
    - get_stream_connect_function
    - isc_loop_main
    - assert_int_equal
    - isc_loop_get
    - stream_listen
    - isc_loop_teardown
    - tcp_listener_init_quota
    - isc_async_run
    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:1244,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1245,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1246,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1247,1
    - Dst: X
      Src: /src/bind9/tests/isc/netmgr_common.c:1248,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1250,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1251,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1252,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/netmgr_common.c:1253,1
    - Dst: teardown_netmgr_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1256
    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:1260,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:1261,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:1264,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/netmgr_common.c:1267,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1271,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1272,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1274,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1275,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1276,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/netmgr_common.c:1277,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1279,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1280,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1281,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1282,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/isc/netmgr_common.c:1283,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/netmgr_common.c:1298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1303
    functionName: setup_udp_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - setup_netmgr
    - setup_loopmgr
    - isc_nonce_buf
    - isc_sockaddr_fromin6
    - atomic_store
    - isc_refcount_init
    linkageType: ''
    returnType: int
    signature: int setup_udp_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1307,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1309,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1310,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1311,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1312,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/tests/isc/netmgr_common.c:1313,1
    - Dst: teardown_netmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:1315,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/isc/netmgr_common.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1305
    functionDepth: 1
    functionLinenumber: 1305
    functionLinenumberEnd: 1319
    functionName: teardown_udp_test
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - teardown_netmgr
    - UNUSED
    - isc_refcount_destroy
    - teardown_loopmgr
    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:1324,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/tests/isc/netmgr_common.c:1327,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: 1330
      start: 1321
    functionDepth: 1
    functionLinenumber: 1321
    functionLinenumberEnd: 1330
    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:1336,1
    - Dst: listen_read_cb
      Src: /src/bind9/tests/isc/netmgr_common.c:1338,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: 1339
      start: 1332
    functionDepth: 2
    functionLinenumber: 1332
    functionLinenumberEnd: 1339
    functionName: udp_listen_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - listen_read_cb
    - isc_refcount_increment0
    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:1346,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/isc/netmgr_common.c:1349,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1353,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/netmgr_common.c:1355,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/netmgr_common.c:1355,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: 1356
      start: 1341
    functionDepth: 1
    functionLinenumber: 1341
    functionLinenumberEnd: 1356
    functionName: udp_start_listening
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenudp
    - isc_loop_main
    - assert_int_equal
    - isc_loop_teardown
    - isc_nm_listenproxyudp
    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:1362,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1364,1
    - Dst: have_expected_csends
      Src: /src/bind9/tests/isc/netmgr_common.c:1368,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1368,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/tests/isc/netmgr_common.c:1370,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1371,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:1379,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:1380,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1381,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1384,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1385,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: 1386
      start: 1358
    functionDepth: 1
    functionLinenumber: 1358
    functionLinenumberEnd: 1386
    functionName: udp__send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - fprintf
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_nm_cancelread
    - isc_refcount_decrement
    - isc_loopmgr_shutdown
    - have_expected_csends
    - atomic_fetch_add
    - F
    - isc_result_totext
    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:1396,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1398,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1391
    functionDepth: 2
    functionLinenumber: 1391
    functionLinenumberEnd: 1401
    functionName: udp_enqueue_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_connect
    - isc_sockaddr_fromin6
    - isc_refcount_increment0
    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:1408,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1410,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1419,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1422,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:1424,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1426,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/netmgr_common.c:1428,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1428,1
    - Dst: do_creads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1429,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1433,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:1439,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:1440,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1441,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1444,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1446,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: 1447
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1447
    functionName: udp__connect_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - memmove
    - assert_non_null
    - connect_send
    - fprintf
    - assert_true
    - do_creads_shutdown
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nmhandle_detach
    - atomic_fetch_add
    - F
    - have_expected_creads
    - isc_result_totext
    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:1454,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1456,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1461,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/netmgr_common.c:1461,1
    - Dst: have_expected_cconnects
      Src: /src/bind9/tests/isc/netmgr_common.c:1464,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1464,1
    - Dst: do_cconnects_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1467,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:1469,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1472,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1473,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1474,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1476,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1477,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1478,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1480,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1486,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:1492,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:1493,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1494,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: 1496
      start: 1449
    functionDepth: 3
    functionLinenumber: 1449
    functionLinenumberEnd: 1496
    functionName: udp__connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - have_expected_cconnects
    - isc_nm_read
    - udp_enqueue_connect
    - fprintf
    - assert_true
    - assert_int_equal
    - isc_refcount_decrement
    - isc_async_current
    - isc_nm_send
    - atomic_fetch_add
    - do_cconnects_shutdown
    - isc_nmhandle_attach
    - F
    - isc_nm_is_proxy_handle
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    - isc_result_totext
    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:1500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1504
      start: 1498
    functionDepth: 2
    functionLinenumber: 1498
    functionLinenumberEnd: 1504
    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:1508,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1511
      start: 1506
    functionDepth: 2
    functionLinenumber: 1506
    functionLinenumberEnd: 1511
    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:1526,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1528
    functionName: udp_noop
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_connect
    - isc_refcount_increment0
    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:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1530
    functionDepth: 3
    functionLinenumber: 1530
    functionLinenumberEnd: 1534
    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:1538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1536
    functionDepth: 3
    functionLinenumber: 1536
    functionLinenumberEnd: 1541
    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:1546,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1547,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1548,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1549,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: 1550
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1550
    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:1555,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1556,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1558,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1560,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1562,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1564,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1566,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: 1567
      start: 1552
    functionDepth: 1
    functionLinenumber: 1552
    functionLinenumberEnd: 1567
    functionName: udp_noresponse_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    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:1572,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1574,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1575,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1576,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1577,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1578,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: 1579
      start: 1569
    functionDepth: 1
    functionLinenumber: 1569
    functionLinenumberEnd: 1579
    functionName: udp_noresponse_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    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:1587,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1589,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1592,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1593,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1594,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1597,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1598,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1599,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1601,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1604,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: 1605
      start: 1581
    functionDepth: 1
    functionLinenumber: 1581
    functionLinenumberEnd: 1605
    functionName: udp_noresponse_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nm_send
    - atomic_fetch_add
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    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:1609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1607
    functionDepth: 2
    functionLinenumber: 1607
    functionLinenumberEnd: 1612
    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:1616,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1619
      start: 1614
    functionDepth: 2
    functionLinenumber: 1614
    functionLinenumberEnd: 1619
    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:1623,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1625,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1626,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1621
    functionDepth: 2
    functionLinenumber: 1621
    functionLinenumberEnd: 1627
    functionName: udp_noresponse
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_connect
    - udp_start_listening
    - 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:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1629
    functionDepth: 3
    functionLinenumber: 1629
    functionLinenumberEnd: 1633
    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:1637,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1640
      start: 1635
    functionDepth: 3
    functionLinenumber: 1635
    functionLinenumberEnd: 1640
    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:1645,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1647,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1648,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1649,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1650,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1651,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: 1652
      start: 1642
    functionDepth: 1
    functionLinenumber: 1642
    functionLinenumberEnd: 1652
    functionName: udp_timeout_recovery_ssend_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    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:1659,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1661,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1663,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1665,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:1667,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1668,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1669,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1672,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1673,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1674,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1675,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: 1678
      start: 1654
    functionDepth: 1
    functionLinenumber: 1654
    functionLinenumberEnd: 1678
    functionName: udp_timeout_recovery_recv_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert_non_null
    - assert_int_equal
    - assert_true
    - isc_nm_send
    - atomic_fetch_add
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    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:1683,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1684,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1686,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1688,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1691,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1693,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1697,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1698,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1700,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1701,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: 1702
      start: 1680
    functionDepth: 1
    functionLinenumber: 1680
    functionLinenumberEnd: 1702
    functionName: udp_timeout_recovery_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - isc_nmhandle_settimeout
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - F
    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:1707,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1709,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1710,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1711,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1713,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1714,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: 1715
      start: 1704
    functionDepth: 1
    functionLinenumber: 1704
    functionLinenumberEnd: 1715
    functionName: udp_timeout_recovery_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    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:1723,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1725,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1727,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1730,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1731,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1732,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1735,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1736,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1737,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1738,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1741,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: 1742
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1742
    functionName: udp_timeout_recovery_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nm_send
    - atomic_fetch_add
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    - F
    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:1746,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1744
    functionDepth: 2
    functionLinenumber: 1744
    functionLinenumberEnd: 1752
    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:1756,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1757,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1758,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1759,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1754
    functionDepth: 2
    functionLinenumber: 1754
    functionLinenumberEnd: 1762
    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:1769,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1776,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1778
      start: 1764
    functionDepth: 2
    functionLinenumber: 1764
    functionLinenumberEnd: 1778
    functionName: udp_timeout_recovery
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_connect
    - udp_start_listening
    - 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:1783,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1784
      start: 1780
    functionDepth: 3
    functionLinenumber: 1780
    functionLinenumberEnd: 1784
    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:1788,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1791
      start: 1786
    functionDepth: 3
    functionLinenumber: 1786
    functionLinenumberEnd: 1791
    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:1799,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1800,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1802,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1809,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1810,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:1811,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1813,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: 1815
      start: 1796
    functionDepth: 1
    functionLinenumber: 1796
    functionLinenumberEnd: 1815
    functionName: udp_shutdown_connect_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - isc_async_current
    - isc_refcount_decrement
    - atomic_fetch_add
    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:1819,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1817
    functionDepth: 2
    functionLinenumber: 1817
    functionLinenumberEnd: 1821
    functionName: udp_shutdown_connect_async_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - udp_connect
    - isc_refcount_increment0
    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:1825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1823
    functionDepth: 2
    functionLinenumber: 1823
    functionLinenumberEnd: 1828
    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:1832,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1830
    functionDepth: 2
    functionLinenumber: 1830
    functionLinenumberEnd: 1835
    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:1839,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/netmgr_common.c:1844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1845
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1845
    functionName: udp_shutdown_connect
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_async_current
    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:1850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1851
      start: 1847
    functionDepth: 3
    functionLinenumber: 1847
    functionLinenumberEnd: 1851
    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:1855,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1858
      start: 1853
    functionDepth: 3
    functionLinenumber: 1853
    functionLinenumberEnd: 1858
    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:1865,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1867,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1869,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1871,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1873,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:1875,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1876,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: 1877
      start: 1860
    functionDepth: 0
    functionLinenumber: 1860
    functionLinenumberEnd: 1877
    functionName: udp_shutdown_read_recv_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - memmove
    - assert_non_null
    - assert_int_equal
    - assert_true
    - F
    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:1882,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1884,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1886,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1887,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1889,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:1891,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1893,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1894,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: 1895
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1895
    functionName: udp_shutdown_read_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - F
    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:1900,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/netmgr_common.c:1901,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1903,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:1905,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1907,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:1909,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: 1910
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1910
    functionName: udp_shutdown_read_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - atomic_fetch_add
    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:1918,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1920,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1923,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1924,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:1925,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1926,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1929,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:1930,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:1931,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:1932,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:1935,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: 1936
      start: 1912
    functionDepth: 1
    functionLinenumber: 1912
    functionLinenumberEnd: 1936
    functionName: udp_shutdown_read_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - assert_int_equal
    - assert_true
    - isc_refcount_decrement
    - isc_nm_send
    - atomic_fetch_add
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    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:1940,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1938
    functionDepth: 2
    functionLinenumber: 1938
    functionLinenumberEnd: 1944
    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:1948,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:1949,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1946
    functionDepth: 2
    functionLinenumber: 1946
    functionLinenumberEnd: 1952
    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:1956,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:1958,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:1959,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1954
    functionDepth: 2
    functionLinenumber: 1954
    functionLinenumberEnd: 1960
    functionName: udp_shutdown_read
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_connect
    - udp_start_listening
    - 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:1965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1962
    functionDepth: 3
    functionLinenumber: 1962
    functionLinenumberEnd: 1966
    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:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1968
    functionDepth: 3
    functionLinenumber: 1968
    functionLinenumberEnd: 1973
    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:1980,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:1982,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1984,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:1986,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1988,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:1990,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:1991,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: 1992
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1992
    functionName: udp_cancel_read_recv_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - memmove
    - assert_non_null
    - assert_int_equal
    - assert_true
    - F
    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:1997,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:1999,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/netmgr_common.c:2001,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2002,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2004,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/tests/isc/netmgr_common.c:2006,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2008,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2009,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: 2010
      start: 1994
    functionDepth: 1
    functionLinenumber: 1994
    functionLinenumberEnd: 2010
    functionName: udp_cancel_read_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_non_null
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_nm_cancelread
    - isc_refcount_decrement
    - atomic_fetch_add
    - F
    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:2018,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2020,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2026,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2027,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:2028,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2031,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2032,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:2033,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2034,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2040,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:2041,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/isc/netmgr_common.c:2044,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2047,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2049,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: 2050
      start: 2012
    functionDepth: 1
    functionLinenumber: 2012
    functionLinenumberEnd: 2050
    functionName: udp_cancel_read_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_nm_read
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - isc_nm_send
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - isc_nmhandle_attach
    - UNREACHABLE
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    - F
    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:2057,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2059,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2061,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2062,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:2063,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2065,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: 2066
      start: 2052
    functionDepth: 1
    functionLinenumber: 2052
    functionLinenumberEnd: 2066
    functionName: udp_cancel_read_connect_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - assert_int_equal
    - isc_refcount_decrement
    - atomic_fetch_add
    - isc_nmhandle_attach
    - isc_refcount_increment0
    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:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2074
      start: 2068
    functionDepth: 2
    functionLinenumber: 2068
    functionLinenumberEnd: 2074
    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:2078,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2079,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2080,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2076
    functionDepth: 2
    functionLinenumber: 2076
    functionLinenumberEnd: 2082
    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:2086,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2088,1
    - Dst: udp_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2084
    functionDepth: 2
    functionLinenumber: 2084
    functionLinenumberEnd: 2090
    functionName: udp_cancel_read
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - udp_connect
    - udp_start_listening
    - 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:2095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2092
    functionDepth: 3
    functionLinenumber: 2092
    functionLinenumberEnd: 2096
    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:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2103
      start: 2098
    functionDepth: 3
    functionLinenumber: 2098
    functionLinenumberEnd: 2103
    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:2107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2127
      start: 2105
    functionDepth: 2
    functionLinenumber: 2105
    functionLinenumberEnd: 2127
    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:2131,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2132,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2133,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2134,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2135,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2129
    functionDepth: 2
    functionLinenumber: 2129
    functionLinenumberEnd: 2140
    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:2144,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2142
    functionDepth: 3
    functionLinenumber: 2142
    functionLinenumberEnd: 2147
    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:2152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2149
    functionDepth: 3
    functionLinenumber: 2149
    functionLinenumberEnd: 2153
    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:2157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2155
    functionDepth: 3
    functionLinenumber: 2155
    functionLinenumberEnd: 2160
    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:2164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2162
    functionDepth: 2
    functionLinenumber: 2162
    functionLinenumberEnd: 2184
    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:2188,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2189,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2190,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2191,1
    - Dst: atomic_assert_int_eq
      Src: /src/bind9/tests/isc/netmgr_common.c:2192,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2196
      start: 2186
    functionDepth: 2
    functionLinenumber: 2186
    functionLinenumberEnd: 2196
    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:2200,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2202,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2198
    functionDepth: 3
    functionLinenumber: 2198
    functionLinenumberEnd: 2204
    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:2209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2206
    functionDepth: 3
    functionLinenumber: 2206
    functionLinenumberEnd: 2210
    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:2214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2212
    functionDepth: 3
    functionLinenumber: 2212
    functionLinenumberEnd: 2217
    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:2221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2231
      start: 2219
    functionDepth: 2
    functionLinenumber: 2219
    functionLinenumberEnd: 2231
    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:2235,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2236,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2237,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2238,1
    - Dst: atomic_assert_int_ge
      Src: /src/bind9/tests/isc/netmgr_common.c:2239,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2233
    functionDepth: 2
    functionLinenumber: 2233
    functionLinenumberEnd: 2243
    functionName: udp_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - atomic_assert_int_ge
    - teardown_udp_test
    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:2247,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/netmgr_common.c:2250,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/netmgr_common.c:2250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2245
    functionDepth: 2
    functionLinenumber: 2245
    functionLinenumberEnd: 2252
    functionName: udp_recv_send
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 2
    functionsReached:
    - isc_async_run
    - udp_start_listening
    - isc_loop_get
    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:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2254
    functionDepth: 3
    functionLinenumber: 2254
    functionLinenumberEnd: 2258
    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:2262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2265
      start: 2260
    functionDepth: 3
    functionLinenumber: 2260
    functionLinenumberEnd: 2265
    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:2270,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2272,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2274,1
    - Dst: have_expected_ssends
      Src: /src/bind9/tests/isc/netmgr_common.c:2278,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2278,1
    - Dst: do_ssends_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:2279,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2282,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:2283,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2284,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2285,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:2293,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:2294,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2295,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2298,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: 2299
      start: 2267
    functionDepth: 1
    functionLinenumber: 2267
    functionLinenumberEnd: 2299
    functionName: udp_double_read_send_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - fprintf
    - assert_int_equal
    - isc_nmhandle_detach
    - isc_refcount_decrement
    - isc_nm_send
    - atomic_fetch_add
    - do_ssends_shutdown
    - isc_nmhandle_attach
    - F
    - have_expected_ssends
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    - isc_result_totext
    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:2306,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2308,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:2316,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2317,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2319,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:2321,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2322,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/netmgr_common.c:2325,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/tests/isc/netmgr_common.c:2326,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/isc/netmgr_common.c:2327,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2328,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:2332,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:2333,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2334,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2337,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2339,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: 2340
      start: 2301
    functionDepth: 1
    functionLinenumber: 2301
    functionLinenumberEnd: 2340
    functionName: udp_double_read_listen_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert_non_null
    - fprintf
    - isc_result_totext
    - assert_true
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nmhandle_detach
    - isc_nm_send
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    - isc_refcount_increment0
    - F
    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:2348,1
    - Dst: F
      Src: /src/bind9/tests/isc/netmgr_common.c:2350,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2362,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/netmgr_common.c:2364,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/netmgr_common.c:2366,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/netmgr_common.c:2368,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/netmgr_common.c:2368,1
    - Dst: do_creads_shutdown
      Src: /src/bind9/tests/isc/netmgr_common.c:2369,1
    - Dst: connect_send
      Src: /src/bind9/tests/isc/netmgr_common.c:2374,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/netmgr_common.c:2386,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/netmgr_common.c:2387,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/netmgr_common.c:2388,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/tests/isc/netmgr_common.c:2392,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/netmgr_common.c:2393,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/netmgr_common.c:2395,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: 2397
      start: 2342
    functionDepth: 2
    functionLinenumber: 2342
    functionLinenumberEnd: 2397
    functionName: udp_double_read_cb
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - memmove
    - assert_non_null
    - connect_send
    - fprintf
    - assert_true
    - do_creads_shutdown
    - assert_int_equal
    - isc_refcount_decrement
    - isc_nmhandle_detach
    - atomic_fetch_add
    - F
    - have_expected_creads
    - isc_result_totext
    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:2401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2399
    functionDepth: 2
    functionLinenumber: 2399
    functionLinenumberEnd: 2420
    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:2424,1
    - Dst: teardown_udp_test
      Src: /src/bind9/tests/isc/netmgr_common.c:2426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2429
      start: 2422
    functionDepth: 2
    functionLinenumber: 2422
    functionLinenumberEnd: 2429
    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:2433,1
    - Dst: udp_enqueue_connect
      Src: /src/bind9/tests/isc/netmgr_common.c:2435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2436
      start: 2431
    functionDepth: 3
    functionLinenumber: 2431
    functionLinenumberEnd: 2436
    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:2441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2438
    functionDepth: 3
    functionLinenumber: 2438
    functionLinenumberEnd: 2442
    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:2446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2449
      start: 2444
    functionDepth: 3
    functionLinenumber: 2444
    functionLinenumberEnd: 2449
    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:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 49
    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:54,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/hashmap_test.c:56,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 57
    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:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    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:72,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:73,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:74,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:76,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hashmap_test.c:77,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:85,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:86,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:87,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:90,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:92,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:94,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:96,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:99,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:100,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:102,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:111,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:112,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:118,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:120,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:121,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:127,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:129,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:130,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:135,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:138,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:139,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:147,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:148,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:156,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:157,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/tests/isc/hashmap_test.c:162,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:164,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:167,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:168,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:173,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:176,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:177,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/tests/isc/hashmap_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:185,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:186,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:189,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:190,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:195,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:198,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:199,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:206,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:207,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:210,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:211,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:213,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:214,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:215,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 2
    argNames:
    - init_bits
    - count
    argTypes:
    - uint8_t
    - uintptr_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 216
    functionName: test_hashmap_full
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - strlcat
    - isc_hashmap_delete
    - isc_mem_cget
    - isc_mem_cput
    - assert_ptr_equal
    - isc_hashmap_add
    - assert_non_null
    - assert_int_equal
    - isc_hash32
    - snprintf
    - isc_hashmap_find
    - strlen
    - isc_hashmap_destroy
    - isc_hashmap_create
    - assert_null
    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:229,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/hashmap_test.c:230,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:232,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/hashmap_test.c:233,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:237,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:238,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:240,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:248,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:250,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:251,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:255,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/hashmap_test.c:255,1
    - Dst: memset
      Src: /src/bind9/tests/isc/hashmap_test.c:257,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/tests/isc/hashmap_test.c:258,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:260,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:261,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/tests/isc/hashmap_test.c:268,1
    - Dst: isc_hashmap_iter_currentkey
      Src: /src/bind9/tests/isc/hashmap_test.c:269,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:273,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:274,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:276,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/hashmap_test.c:278,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:281,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:283,1
    - Dst: memset
      Src: /src/bind9/tests/isc/hashmap_test.c:287,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:288,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/tests/isc/hashmap_test.c:295,1
    - Dst: isc_hashmap_iter_currentkey
      Src: /src/bind9/tests/isc/hashmap_test.c:296,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:299,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:300,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:301,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/tests/isc/hashmap_test.c:304,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:306,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/hashmap_test.c:309,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:312,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:314,1
    - Dst: memset
      Src: /src/bind9/tests/isc/hashmap_test.c:318,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:319,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/tests/isc/hashmap_test.c:326,1
    - Dst: isc_hashmap_iter_currentkey
      Src: /src/bind9/tests/isc/hashmap_test.c:327,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/hashmap_test.c:330,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/hashmap_test.c:331,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:332,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/tests/isc/hashmap_test.c:335,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:337,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:340,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/tests/isc/hashmap_test.c:342,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/tests/isc/hashmap_test.c:343,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:345,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:347,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/hashmap_test.c:350,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/tests/isc/hashmap_test.c:350,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:352,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:353,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:355,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/hashmap_test.c:356,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:358,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/hashmap_test.c:359,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 84
    argCount: 1
    argNames:
    - random_data
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 360
    functionName: test_hashmap_iterator
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - assert_ptr_equal
    - assert_int_equal
    - memset
    - assert_memory_equal
    - isc_hashmap_iter_first
    - isc_mem_cget
    - isc_hashmap_iter_next
    - isc_hashmap_add
    - rehashing_in_progress
    - snprintf
    - isc_hashmap_create
    - assert_null
    - isc_hashmap_iter_currentkey
    - assert_false
    - isc_hashmap_iter_current
    - assert_non_null
    - assert_true
    - isc_hash32
    - isc_hashmap_destroy
    - isc_hashmap_iter_delcurrent_next
    - strlcat
    - isc_mem_cput
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_create
    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:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 363
    functionDepth: 2
    functionLinenumber: 363
    functionLinenumberEnd: 366
    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:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 372
    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:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 375
    functionDepth: 2
    functionLinenumber: 375
    functionLinenumberEnd: 378
    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:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 381
    functionDepth: 2
    functionLinenumber: 381
    functionLinenumberEnd: 384
    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:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 387
    functionDepth: 2
    functionLinenumber: 387
    functionLinenumberEnd: 390
    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:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 397
    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:400,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 399
    functionDepth: 2
    functionLinenumber: 399
    functionLinenumberEnd: 402
    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:410,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:412,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:414,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 426
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_destroy
    - isc_hash32
    - 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:431,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/hashmap_test.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 434
    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:439,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/tests/isc/hashmap_test.c:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node0
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 442
    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:453,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:455,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:456,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:456,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:458,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:460,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:461,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:461,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:463,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:465,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:466,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:466,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:468,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:470,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:471,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:471,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:473,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:474,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:476,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/tests/isc/hashmap_test.c:478,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:480,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:481,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:481,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:483,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:485,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:486,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:486,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:488,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/tests/isc/hashmap_test.c:490,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:491,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:491,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:493,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/tests/isc/hashmap_test.c:495,1
    - Dst: isc_hash32
      Src: /src/bind9/tests/isc/hashmap_test.c:496,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/hashmap_test.c:496,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:498,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/isc/hashmap_test.c:499,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/tests/isc/hashmap_test.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 502
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/hashmap_test.c
    functionUses: 0
    functionsReached:
    - assert_ptr_equal
    - isc_hashmap_add
    - assert_int_equal
    - isc_hash32
    - isc_hashmap_find
    - isc_hashmap_destroy
    - strlen
    - 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:75,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/time_test.c:77,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:79,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:86,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:87,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:90,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:90,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:93,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:93,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:97,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:97,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:100,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:100,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:103,1
    - Dst: isc_time_add
      Src: /src/bind9/tests/isc/time_test.c:103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 105
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - expect_assert_failure
    - assert_int_equal
    - isc_time_add
    - ARRAY_SIZE
    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:108,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isc/time_test.c:110,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:114,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:118,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:119,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:122,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:122,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:125,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:125,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:129,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:129,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:132,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:132,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/isc/time_test.c:135,1
    - Dst: isc_time_subtract
      Src: /src/bind9/tests/isc/time_test.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 137
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - expect_assert_failure
    - assert_int_equal
    - isc_time_subtract
    - ARRAY_SIZE
    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:146,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:148,1
    - Dst: tzset
      Src: /src/bind9/tests/isc/time_test.c:149,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:150,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/tests/isc/time_test.c:152,1
    - Dst: isc_time_parsehttptimestamp
      Src: /src/bind9/tests/isc/time_test.c:153,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:155,1
    - Dst: isc_time_seconds
      Src: /src/bind9/tests/isc/time_test.c:155,1
    - Dst: isc_time_seconds
      Src: /src/bind9/tests/isc/time_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 156
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_time_now
    - setenv
    - isc_time_formathttptimestamp
    - assert_int_equal
    - tzset
    - isc_time_parsehttptimestamp
    - isc_time_seconds
    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:164,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:166,1
    - Dst: tzset
      Src: /src/bind9/tests/isc/time_test.c:167,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:168,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:171,1
    - Dst: isc_time_formatISO8601
      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: strlen
      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: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:177,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:178,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:179,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:182,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:183,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/tests/isc/time_test.c:184,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:185,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:187,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:188,1
    - Dst: isc_time_formatISO8601
      Src: /src/bind9/tests/isc/time_test.c:189,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 191
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_time_now
    - setenv
    - isc_time_settoepoch
    - assert_int_equal
    - tzset
    - assert_string_equal
    - isc_time_set
    - strlen
    - memset
    - isc_time_formatISO8601
    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:199,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:201,1
    - Dst: tzset
      Src: /src/bind9/tests/isc/time_test.c:202,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:203,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:206,1
    - Dst: isc_time_formatISO8601ms
      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: strlen
      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: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:212,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:213,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:214,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:215,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:218,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:219,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/tests/isc/time_test.c:220,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:221,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:223,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:224,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/tests/isc/time_test.c:225,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 227
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_time_now
    - setenv
    - isc_time_settoepoch
    - assert_int_equal
    - tzset
    - assert_string_equal
    - isc_time_set
    - strlen
    - isc_time_formatISO8601ms
    - memset
    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:235,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:237,1
    - Dst: tzset
      Src: /src/bind9/tests/isc/time_test.c:238,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/time_test.c:239,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:242,1
    - Dst: isc_time_formatISO8601us
      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: strlen
      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: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:247,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:248,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:249,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:250,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:251,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:254,1
    - Dst: isc_time_settoepoch
      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
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:259,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:260,1
    - Dst: isc_time_formatISO8601us
      Src: /src/bind9/tests/isc/time_test.c:261,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 263
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setenv
    - isc_time_now_hires
    - isc_time_settoepoch
    - assert_int_equal
    - tzset
    - assert_string_equal
    - isc_time_set
    - strlen
    - memset
    - isc_time_formatISO8601us
    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:271,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:273,1
    - Dst: tzset
      Src: /src/bind9/tests/isc/time_test.c:274,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:275,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:278,1
    - Dst: isc_time_formatISO8601TZms
      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: strlen
      Src: /src/bind9/tests/isc/time_test.c:281,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:281,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:283,1
    - Dst: assert_int_equal
      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: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:286,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:287,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:288,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/time_test.c:290,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:291,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:294,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:295,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:296,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:297,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:299,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:300,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:301,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 303
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_time_now
    - setenv
    - isc_time_settoepoch
    - isc_time_formatISO8601TZms
    - assert_int_equal
    - tzset
    - assert_true
    - assert_string_equal
    - isc_time_set
    - strlen
    - memset
    - isc_time_formatISO8601Lms
    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:310,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:312,1
    - Dst: tzset
      Src: /src/bind9/tests/isc/time_test.c:313,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:314,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:317,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:319,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:319,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:320,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:321,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:322,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:323,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:324,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:325,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:328,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:329,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:330,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:331,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:333,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:334,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/tests/isc/time_test.c:335,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 337
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_time_now
    - setenv
    - isc_time_settoepoch
    - assert_int_equal
    - tzset
    - assert_string_equal
    - isc_time_set
    - strlen
    - memset
    - isc_time_formatISO8601Lms
    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:345,1
    - Dst: setenv
      Src: /src/bind9/tests/isc/time_test.c:347,1
    - Dst: tzset
      Src: /src/bind9/tests/isc/time_test.c:348,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/isc/time_test.c:349,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:352,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/tests/isc/time_test.c:353,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/time_test.c:354,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/time_test.c:354,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:357,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/tests/isc/time_test.c:358,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/tests/isc/time_test.c:359,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:360,1
    - Dst: memset
      Src: /src/bind9/tests/isc/time_test.c:362,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/isc/time_test.c:363,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/tests/isc/time_test.c:364,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/time_test.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 341
    functionDepth: 1
    functionLinenumber: 341
    functionLinenumberEnd: 366
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/time_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_time_now
    - setenv
    - isc_time_settoepoch
    - assert_int_equal
    - tzset
    - assert_string_equal
    - isc_time_set
    - isc_time_formatshorttimestamp
    - strlen
    - memset
    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_lookup
    - isc_symtab_define
    - isc_symtab_destroy
    - assert_non_null
    - assert_int_equal
    - isc_mem_strdup
    - assert_string_equal
    - snprintf
    - isc_symtab_create
    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_lookup
    - isc_symtab_define
    - isc_symtab_destroy
    - assert_non_null
    - assert_int_equal
    - isc_mem_strdup
    - snprintf
    - isc_mem_free
    - isc_symtab_create
    - 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_lookup
    - isc_symtab_define
    - isc_symtab_destroy
    - assert_non_null
    - assert_int_equal
    - isc_mem_strdup
    - assert_string_equal
    - snprintf
    - isc_symtab_create
    - 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_lookup
    - isc_symtab_define
    - isc_symtab_define_and_return
    - isc_symtab_destroy
    - assert_non_null
    - assert_int_equal
    - isc_mem_strdup
    - assert_string_equal
    - undefine
    - snprintf
    - isc_symtab_create
    - isc_symtab_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_lookup
    - isc_symtab_define
    - isc_symtab_destroy
    - assert_non_null
    - assert_int_equal
    - assert_true
    - isc_mem_strdup
    - assert_string_equal
    - snprintf
    - isc_symtab_foreach
    - isc_symtab_create
    - 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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    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: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    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: 84
      start: 83
    functionDepth: 0
    functionLinenumber: 83
    functionLinenumberEnd: 84
    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: 86
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 86
    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: 87
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 87
    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: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    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: 119
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 119
    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: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    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: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    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:136,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:138,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:138,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 143
    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:149,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/tests/isc/doh_test.c:150,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/tests/isc/doh_test.c:151,1
    - Dst: isc_nmhandle_real_peeraddr
      Src: /src/bind9/tests/isc/doh_test.c:152,1
    - Dst: isc_nmhandle_real_localaddr
      Src: /src/bind9/tests/isc/doh_test.c:153,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:155,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/doh_test.c:155,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:156,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/doh_test.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: proxy_verify_unspec_endpoint
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_real_localaddr
    - isc_nmhandle_real_peeraddr
    - isc_nm_is_proxy_unspec
    - assert_true
    - isc_sockaddr_equal
    - isc_nmhandle_peeraddr
    - isc_nmhandle_localaddr
    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:170,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:171,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/doh_test.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/isc/doh_test.c:177,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/tests/isc/doh_test.c:177,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:179,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/doh_test.c:185,1
    - Dst: csdata_t::reply_cb
      Src: /src/bind9/tests/isc/doh_test.c:188,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/isc/doh_test.c:189,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: 190
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 190
    functionName: connect_send_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - memmove
    - isc_mem_put
    - atomic_fetch_sub
    - isc__nm_http_request
    - csdata_t::reply_cb
    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:200,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:202,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/isc/doh_test.c:203,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/tests/isc/doh_test.c:209,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 7
    argNames:
    - uri
    - post
    - region
    - cb
    - cbarg
    - tls
    - timeout
    argTypes:
    - char*
    - bool
    - isc_region_t*
    - isc_nm_recv_cb_t
    - void*
    - bool
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 212
    functionName: connect_send_request
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_httpconnect
    - get_proxy_type
    - memmove
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: "void connect_send_request(const char *uri, bool post, isc_region_t
      *region,\n\t\t     isc_nm_recv_cb_t cb, void *cbarg, bool tls,\n\t\t     unsigned
      int timeout)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/doh_test.c:221,1
    - Dst: socket
      Src: /src/bind9/tests/isc/doh_test.c:223,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:225,1
    - Dst: bind
      Src: /src/bind9/tests/isc/doh_test.c:229,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:232,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/tests/isc/doh_test.c:233,1
    - Dst: getsockname
      Src: /src/bind9/tests/isc/doh_test.c:237,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:239,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/tests/isc/doh_test.c:240,1
    - Dst: isc__nm_socket_reuse
      Src: /src/bind9/tests/isc/doh_test.c:244,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/doh_test.c:246,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/doh_test.c:248,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:249,1
    - Dst: isc__nm_socket_reuse_lb
      Src: /src/bind9/tests/isc/doh_test.c:253,1
    - Dst: fprintf
      Src: /src/bind9/tests/isc/doh_test.c:255,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/isc/doh_test.c:257,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:258,1
    - Dst: setsockopt_on
      Src: /src/bind9/tests/isc/doh_test.c:266,1
    - Dst: perror
      Src: /src/bind9/tests/isc/doh_test.c:268,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:269,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - addr
    - family
    argTypes:
    - isc_sockaddr_t*
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 275
    functionName: setup_ephemeral_port
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - getsockname
    - close
    - isc__nm_closesocket
    - setsockopt_on
    - isc__nm_socket_reuse_lb
    - fprintf
    - bind
    - isc__nm_socket_reuse
    - socket
    - isc_sockaddr_fromin6
    - perror
    - isc_result_totext
    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: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    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:282,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:283,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:284,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:285,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: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    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:293,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/isc/doh_test.c:297,1
    - Dst: close
      Src: /src/bind9/tests/isc/doh_test.c:301,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/doh_test.c:305,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/isc/doh_test.c:307,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/doh_test.c:309,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:311,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:312,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:312,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:314,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:315,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:316,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_store
      Src: /src/bind9/tests/isc/doh_test.c:319,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:328,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:329,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:330,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:331,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/doh_test.c:335,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/tests/isc/doh_test.c:336,1
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/isc/doh_test.c:341,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/isc/doh_test.c:342,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/tests/isc/doh_test.c:345,1
    - Dst: isc_tlsctx_enable_http2server_alpn
      Src: /src/bind9/tests/isc/doh_test.c:346,1
    - Dst: isc_tlsctx_createclient
      Src: /src/bind9/tests/isc/doh_test.c:348,1
    - Dst: isc_tlsctx_enable_http2client_alpn
      Src: /src/bind9/tests/isc/doh_test.c:349,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/tests/isc/doh_test.c:350,1
    - Dst: isc_quota_init
      Src: /src/bind9/tests/isc/doh_test.c:355,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:356,1
    - Dst: INSIST
      Src: /src/bind9/tests/isc/doh_test.c:358,1
    - Dst: isc_nm_http_endpoints_new
      Src: /src/bind9/tests/isc/doh_test.c:359,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 52
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 362
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_tlsctx_enable_http2server_alpn
    - isc_nm_http_endpoints_new
    - setup_netmgr
    - close
    - INSIST
    - getenv
    - isc_nonce_buf
    - atoi
    - setup_loopmgr
    - isc_tlsctx_client_session_cache_create
    - isc_quota_init
    - isc_os_ncpus
    - setup_ephemeral_port
    - isc_tlsctx_enable_http2client_alpn
    - isc_tlsctx_createserver
    - atomic_load
    - isc_tlsctx_createclient
    - atomic_store
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: teardown_netmgr
      Src: /src/bind9/tests/isc/doh_test.c:366,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/isc/doh_test.c:367,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/doh_test.c:370,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/isc/doh_test.c:373,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/tests/isc/doh_test.c:376,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/tests/isc/doh_test.c:378,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/tests/isc/doh_test.c:380,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 383
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_tlsctx_free
    - teardown_loopmgr
    - isc_nm_http_endpoints_detach
    - isc_tlsctx_client_session_cache_detach
    - isc_quota_destroy
    - teardown_netmgr
    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:390,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: 391
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 391
    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:396,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/isc/doh_test.c:397,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/isc/doh_test.c:398,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - nthreads
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 402
    functionName: init_listener_quota
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_max
    - atomic_load
    - ISC_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:407,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:408,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:409,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:412,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:413,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/doh_test.c:413,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/isc/doh_test.c:415,1
    - Dst: have_expected_csends
      Src: /src/bind9/tests/isc/doh_test.c:416,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:416,1
    - Dst: have_expected_creads
      Src: /src/bind9/tests/isc/doh_test.c:417,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:417,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:419,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:422,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: 424
      start: 404
    functionDepth: 1
    functionLinenumber: 404
    functionLinenumberEnd: 424
    functionName: doh_receive_reply_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - atomic_fetch_sub
    - assert_non_null
    - assert_true
    - isc_loopmgr_shutdown
    - have_expected_csends
    - atomic_fetch_add
    - atomic_load
    - isc_nm_is_proxy_handle
    - have_expected_creads
    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:428,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:429,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:431,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:434,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: 436
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 436
    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:443,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:444,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:450,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:451,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/tests/isc/doh_test.c:451,1
    - Dst: proxy_verify_unspec_endpoint
      Src: /src/bind9/tests/isc/doh_test.c:452,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:455,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:457,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:463,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/doh_test.c:466,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/doh_test.c:471,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:480,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: 483
      start: 438
    functionDepth: 2
    functionLinenumber: 438
    functionLinenumberEnd: 483
    functionName: doh_receive_request_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - memmove
    - assert_non_null
    - assert_true
    - assert_int_equal
    - isc_nm_send
    - atomic_fetch_add
    - atomic_load
    - isc_nm_is_proxy_handle
    - proxy_verify_unspec_endpoint
    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:489,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:491,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:493,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:494,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/doh_test.c:496,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:497,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 502
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_nm_http_endpoints_add
    - isc_loopmgr_shutdown
    - assert_int_not_equal
    - assert_null
    - WILL_RETURN
    - isc_nm_listenhttp
    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:508,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/tests/isc/doh_test.c:509,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 511
    functionName: listen_sock_close
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_stoplistening
    - assert_null
    - 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:519,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:521,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:523,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:524,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:526,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:527,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/doh_test.c:527,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:529,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:531,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:531,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:534,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:536,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:538,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:538,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:539,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:539,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:540,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:540,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:541,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 542
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 542
    functionName: doh_noop
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - sockaddr_to_url
    - isc_loop_main
    - assert_int_equal
    - isc_nm_http_endpoints_add
    - connect_send_request
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - get_proxy_type
    - atomic_load
    - isc_nm_listenhttp
    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:545,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 547
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 547
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noop
    - atomic_store
    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:550,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 549
    functionDepth: 3
    functionLinenumber: 549
    functionLinenumberEnd: 552
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noop
    - atomic_store
    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:560,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:562,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:564,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:565,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:567,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:568,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/doh_test.c:568,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:570,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:572,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:572,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:575,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 578
    functionName: doh_noresponse
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - sockaddr_to_url
    - isc_loop_main
    - assert_int_equal
    - isc_nm_http_endpoints_add
    - connect_send_request
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - get_proxy_type
    - atomic_load
    - isc_nm_listenhttp
    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:581,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 580
    functionDepth: 3
    functionLinenumber: 580
    functionLinenumberEnd: 583
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noresponse
    - atomic_store
    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:586,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:587,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 585
    functionDepth: 3
    functionLinenumber: 585
    functionLinenumberEnd: 588
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noresponse
    - atomic_store
    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:593,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:594,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:596,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:599,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/doh_test.c:602,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: 603
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 603
    functionName: timeout_query_sent_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - UNUSED
    - atomic_fetch_add
    - isc_nmhandle_detach
    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:609,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:611,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:613,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/doh_test.c:614,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/isc/doh_test.c:618,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:619,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: 620
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 620
    functionName: timeout_retry_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - isc_nmhandle_detach
    - isc_nmhandle_settimeout
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - 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:627,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/tests/isc/doh_test.c:627,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/doh_test.c:633,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/isc/doh_test.c:634,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/isc/doh_test.c:639,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/tests/isc/doh_test.c:640,1
    - Dst: isc_nm_read
      Src: /src/bind9/tests/isc/doh_test.c:641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - handle
    - result
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 622
    functionDepth: 1
    functionLinenumber: 622
    functionLinenumberEnd: 642
    functionName: timeout_request_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_nm_read
    - isc_nm_send
    - isc_nmhandle_settimeout
    - isc_nmhandle_attach
    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:648,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:651,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:653,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:655,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:656,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:658,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:659,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/doh_test.c:659,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:670,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/tests/isc/doh_test.c:672,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:672,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 676
    functionName: doh_timeout_recovery
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - sockaddr_to_url
    - isc_loop_main
    - assert_int_equal
    - isc_nm_http_endpoints_add
    - isc_loop_teardown
    - get_proxy_type
    - isc_nm_httpconnect
    - atomic_load
    - isc_nm_listenhttp
    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:680,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:680,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 678
    functionDepth: 0
    functionLinenumber: 678
    functionLinenumberEnd: 682
    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:685,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 687
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_timeout_recovery
    - atomic_store
    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:690,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 692
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_timeout_recovery
    - atomic_store
    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:704,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/doh_test.c:705,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/isc/doh_test.c:707,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:708,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:709,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:713,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:722,1
    - Dst: isc_async_current
      Src: /src/bind9/tests/isc/doh_test.c:725,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:728,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    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: 730
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 730
    functionName: doh_receive_send_reply_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - atomic_fetch_sub
    - assert_non_null
    - assert_true
    - isc__nm_http_request
    - isc_async_current
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    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 ISC_ATTR_UNUSED)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:735,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:737,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:737,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/tests/isc/doh_test.c:744,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/tests/isc/doh_test.c:746,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:749,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:749,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:753,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/doh_test.c:756,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 732
    functionDepth: 2
    functionLinenumber: 732
    functionLinenumberEnd: 758
    functionName: doh_connect_thread
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - sockaddr_to_url
    - atomic_fetch_sub
    - connect_send_request
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - atomic_load
    linkageType: ''
    returnType: void
    signature: void doh_connect_thread(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: init_listener_quota
      Src: /src/bind9/tests/isc/doh_test.c:765,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:767,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:770,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:770,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:772,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:774,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:776,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:778,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:779,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:780,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:782,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:782,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:784,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:784,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:787,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:790,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/doh_test.c:790,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 760
    functionDepth: 2
    functionLinenumber: 760
    functionLinenumberEnd: 791
    functionName: doh_recv_one
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - sockaddr_to_url
    - isc_loop_main
    - assert_int_equal
    - isc_nm_http_endpoints_add
    - connect_send_request
    - isc_loop_teardown
    - get_proxy_type
    - atomic_load
    - init_listener_quota
    - atomic_store
    - isc_nm_listenhttp
    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:795,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:796,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:797,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:798,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:799,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:801,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:801,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:802,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:802,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:803,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:803,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:804,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:804,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 793
    functionDepth: 0
    functionLinenumber: 793
    functionLinenumberEnd: 807
    functionName: doh_recv_one_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - X
    - assert_int_equal
    - 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:810,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 809
    functionDepth: 3
    functionLinenumber: 809
    functionLinenumberEnd: 812
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:815,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 814
    functionDepth: 3
    functionLinenumber: 814
    functionLinenumberEnd: 817
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:820,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:821,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 819
    functionDepth: 3
    functionLinenumber: 819
    functionLinenumberEnd: 823
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:826,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:827,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 825
    functionDepth: 3
    functionLinenumber: 825
    functionLinenumberEnd: 829
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:832,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:833,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:834,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 835
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:838,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:839,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 841
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:844,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:845,1
    - 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: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 843
    functionDepth: 3
    functionLinenumber: 843
    functionLinenumberEnd: 848
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:851,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:852,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:853,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 850
    functionDepth: 3
    functionLinenumber: 850
    functionLinenumberEnd: 855
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:860,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/tests/isc/doh_test.c:860,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:865,1
    - Dst: isc__nm_http_request
      Src: /src/bind9/tests/isc/doh_test.c:874,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: 882
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 882
    functionName: doh_connect_send_two_requests_cb
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - 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:890,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:892,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:895,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:895,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:897,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:899,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:901,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:903,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:904,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:905,1
    - Dst: sockaddr_to_url
      Src: /src/bind9/tests/isc/doh_test.c:907,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:907,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:910,1
    - Dst: isc_nm_httpconnect
      Src: /src/bind9/tests/isc/doh_test.c:914,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:914,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:916,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:918,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/doh_test.c:918,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 919
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 919
    functionName: doh_recv_two
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - sockaddr_to_url
    - isc_loop_main
    - assert_int_equal
    - isc_nm_http_endpoints_add
    - isc_loop_teardown
    - get_proxy_type
    - isc_nm_httpconnect
    - atomic_load
    - init_listener_quota
    - atomic_store
    - isc_nm_listenhttp
    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:923,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:924,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:925,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:926,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:927,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:929,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:929,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:930,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:930,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:931,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:931,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:932,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:932,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 921
    functionDepth: 0
    functionLinenumber: 921
    functionLinenumberEnd: 935
    functionName: doh_recv_two_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - X
    - assert_int_equal
    - 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:938,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 937
    functionDepth: 3
    functionLinenumber: 937
    functionLinenumberEnd: 940
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:943,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 3
    functionLinenumber: 942
    functionLinenumberEnd: 945
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:948,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:949,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 951
      start: 947
    functionDepth: 3
    functionLinenumber: 947
    functionLinenumberEnd: 951
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:954,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:955,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 957
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:960,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:961,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 963
      start: 959
    functionDepth: 3
    functionLinenumber: 959
    functionLinenumberEnd: 963
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:966,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:967,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 965
    functionDepth: 3
    functionLinenumber: 965
    functionLinenumberEnd: 969
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:972,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:973,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:974,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:975,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 976
      start: 971
    functionDepth: 3
    functionLinenumber: 971
    functionLinenumberEnd: 976
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:979,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:980,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:981,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 978
    functionDepth: 3
    functionLinenumber: 978
    functionLinenumberEnd: 983
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:989,1
    - Dst: init_listener_quota
      Src: /src/bind9/tests/isc/doh_test.c:990,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:992,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:993,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:995,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:997,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:999,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1001,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:1002,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1003,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/doh_test.c:1006,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/doh_test.c:1006,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:1009,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/doh_test.c:1009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 1010
    functionName: doh_recv_send
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_main
    - isc_loopmgr_nloops
    - isc_nm_http_endpoints_add
    - assert_int_equal
    - isc_loop_get
    - isc_loop_teardown
    - isc_async_run
    - get_proxy_type
    - atomic_load
    - init_listener_quota
    - atomic_store
    - isc_nm_listenhttp
    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:1014,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1016,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1017,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1018,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1019,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1020,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1022,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1023,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1024,1
    - Dst: CHECK_RANGE_FULL
      Src: /src/bind9/tests/isc/doh_test.c:1025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1012
    functionDepth: 0
    functionLinenumber: 1012
    functionLinenumberEnd: 1028
    functionName: doh_recv_send_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - teardown_test
    - X
    - CHECK_RANGE_FULL
    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:1031,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1033
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1033
    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:1036,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1035
    functionDepth: 3
    functionLinenumber: 1035
    functionLinenumberEnd: 1038
    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:1041,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1042,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1043,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1044
    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:1047,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1048,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 3
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    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:1053,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1054,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1052
    functionDepth: 3
    functionLinenumber: 1052
    functionLinenumberEnd: 1056
    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:1059,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1060,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1062
      start: 1058
    functionDepth: 3
    functionLinenumber: 1058
    functionLinenumberEnd: 1062
    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:1065,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1066,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1067,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1068,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1064
    functionDepth: 3
    functionLinenumber: 1064
    functionLinenumberEnd: 1069
    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:1072,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1073,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1074,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1076
    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:1080,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1081,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1082,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1083,1
    - Dst: X
      Src: /src/bind9/tests/isc/doh_test.c:1084,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1087,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1087,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1088,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1088,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1089,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1089,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1090,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1090,1
    - Dst: teardown_test
      Src: /src/bind9/tests/isc/doh_test.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1078
    functionDepth: 0
    functionLinenumber: 1078
    functionLinenumberEnd: 1093
    functionName: doh_bad_connect_uri_teardown
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - atomic_load
    - X
    - assert_int_equal
    - 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:1100,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1102,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1104,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1104,1
    - Dst: isc_nm_http_endpoints_add
      Src: /src/bind9/tests/isc/doh_test.c:1106,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1108,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/tests/isc/doh_test.c:1110,1
    - Dst: get_proxy_type
      Src: /src/bind9/tests/isc/doh_test.c:1112,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/doh_test.c:1113,1
    - Dst: snprintf
      Src: /src/bind9/tests/isc/doh_test.c:1119,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/tests/isc/doh_test.c:1120,1
    - Dst: connect_send_request
      Src: /src/bind9/tests/isc/doh_test.c:1122,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/doh_test.c:1122,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/isc/doh_test.c:1127,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/doh_test.c:1127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1096
    functionDepth: 2
    functionLinenumber: 1096
    functionLinenumberEnd: 1128
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_getport
    - isc_loop_main
    - assert_int_equal
    - isc_nm_http_endpoints_add
    - connect_send_request
    - isc_loop_teardown
    - snprintf
    - get_proxy_type
    - atomic_load
    - init_listener_quota
    - atomic_store
    - isc_nm_listenhttp
    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:1141,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1142,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1143,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1144,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1145,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1145,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1146,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1146,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1158,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1159,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1160,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1161,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1162,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1162,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1163,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1163,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1172,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1173,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1174,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1175,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1176,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1177,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1177,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1186,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1187,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1188,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1189,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1190,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1191,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1191,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1203,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1204,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1205,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1206,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1207,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1208,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1208,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1220,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1221,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1222,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1223,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1232,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1233,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1234,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1235,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1244,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1245,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1246,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1247,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1256,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1257,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1258,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1259,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1268,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1269,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1270,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1271,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1280,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1281,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1282,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1283,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1292,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1293,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1294,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1295,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1296,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1297,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1297,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1306,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1307,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1308,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1309,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1318,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1319,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1320,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1321,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1330,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1331,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1332,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1333,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/tests/isc/doh_test.c:1342,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1343,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1344,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1345,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1346,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1347,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/doh_test.c:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 95
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1349
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1349
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc__nm_parse_httpquery
    - assert_non_null
    - assert_true
    - memcmp
    - strlen
    - assert_null
    - assert_false
    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:1359,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1360,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1361,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1362,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1362,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1363,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1363,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1364,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1371,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1372,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1373,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1374,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1374,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1375,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1375,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1376,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1383,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1384,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1385,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1386,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1386,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1387,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1387,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1388,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1395,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1396,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1397,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1398,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1398,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1399,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1399,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1400,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1407,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1408,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1409,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1410,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1410,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1411,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1411,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1412,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1419,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1420,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1421,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1422,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1422,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1423,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1423,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1424,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1431,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1432,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1433,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1434,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1434,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1435,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1442,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1444,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1445,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1452,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1453,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1454,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1455,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1462,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1463,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1464,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1465,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1473,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1474,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1475,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1476,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/tests/isc/doh_test.c:1482,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1484,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1487
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isc__nm_base64url_to_base64
    - assert_non_null
    - assert_true
    - isc_mem_free
    - strlen
    - 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:1497,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1498,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1499,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1500,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1500,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1501,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1501,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1502,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1509,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1510,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1511,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1512,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1512,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1513,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1513,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1514,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1521,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1522,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1523,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1524,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1524,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1525,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1525,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1526,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1533,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1534,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1535,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1536,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1536,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1537,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1537,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1538,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1545,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1546,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1547,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1548,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1548,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1549,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1549,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1550,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1557,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1558,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1559,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1560,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1560,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1561,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1561,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1562,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1569,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1570,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isc/doh_test.c:1571,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1572,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1572,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/isc/doh_test.c:1573,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1580,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1582,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1583,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1590,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1591,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1592,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1593,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1600,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/doh_test.c:1601,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1602,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1603,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:1612,1
    - Dst: assert_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: isc__nm_base64_to_base64url
      Src: /src/bind9/tests/isc/doh_test.c:1620,1
    - Dst: assert_null
      Src: /src/bind9/tests/isc/doh_test.c:1622,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1489
    functionDepth: 1
    functionLinenumber: 1489
    functionLinenumberEnd: 1625
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - assert_non_null
    - assert_true
    - isc_mem_free
    - strlen
    - assert_null
    - isc__nm_base64_to_base64url
    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:1628,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1628,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1629,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1629,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1630,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1630,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1631,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1631,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1632,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1632,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1633,1
    - Dst: isc_nm_http_path_isvalid
      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_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1634,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1635,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1635,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1636,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1636,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1637,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1637,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1638,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1638,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1639,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1639,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1640,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1640,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1641,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1641,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1642,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1642,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1643,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1643,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1644,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1644,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1645,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1645,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1646,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1647,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1648,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1648,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1651,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1651,1
    - Dst: assert_false
      Src: /src/bind9/tests/isc/doh_test.c:1652,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1652,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1653,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1653,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1655,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1655,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1656,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/tests/isc/doh_test.c:1656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1627
    functionDepth: 1
    functionLinenumber: 1627
    functionLinenumberEnd: 1657
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_http_path_isvalid
    - assert_true
    - 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:1660,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/doh_test.c:1665,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1667,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1669,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1669,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1672,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1674,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1674,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1681,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1683,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1683,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1686,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1688,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1688,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/doh_test.c:1691,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1693,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1695,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1695,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1698,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1700,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1700,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_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1717,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1719,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1721,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1721,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1723,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1725,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1727,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1727,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/tests/isc/doh_test.c:1733,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1735,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1737,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1737,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1740,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1742,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1742,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1745,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_sockaddr_setport
      Src: /src/bind9/tests/isc/doh_test.c:1751,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1753,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1755,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1755,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_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1764,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1766,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1766,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1773,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1775,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1775,1
    - Dst: isc_nm_http_makeuri
      Src: /src/bind9/tests/isc/doh_test.c:1778,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/doh_test.c:1780,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/doh_test.c:1780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1781
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - ntohl
    - strcmp
    - isc_sockaddr_fromin
    - isc_sockaddr_setport
    - assert_true
    - isc_sockaddr_any
    - isc_sockaddr_fromin6
    - isc_nm_http_makeuri
    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:1785,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1786,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:1787,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1784
    functionDepth: 3
    functionLinenumber: 1784
    functionLinenumberEnd: 1788
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noop
    - atomic_store
    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:1791,1
    - Dst: doh_noop
      Src: /src/bind9/tests/isc/doh_test.c:1792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1790
    functionDepth: 3
    functionLinenumber: 1790
    functionLinenumberEnd: 1793
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noop
    - atomic_store
    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:1796,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1797,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:1798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1795
    functionDepth: 3
    functionLinenumber: 1795
    functionLinenumberEnd: 1799
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noresponse
    - atomic_store
    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:1802,1
    - Dst: doh_noresponse
      Src: /src/bind9/tests/isc/doh_test.c:1803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1801
    functionDepth: 3
    functionLinenumber: 1801
    functionLinenumberEnd: 1804
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_noresponse
    - atomic_store
    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:1807,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1808,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:1809,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1806
    functionDepth: 3
    functionLinenumber: 1806
    functionLinenumberEnd: 1810
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_timeout_recovery
    - atomic_store
    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:1813,1
    - Dst: doh_timeout_recovery
      Src: /src/bind9/tests/isc/doh_test.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1815
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_timeout_recovery
    - atomic_store
    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:1818,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1819,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1820,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1817
    functionDepth: 3
    functionLinenumber: 1817
    functionLinenumberEnd: 1821
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1824,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1826
      start: 1823
    functionDepth: 3
    functionLinenumber: 1823
    functionLinenumberEnd: 1826
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1829,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1830,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1831,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1833
      start: 1828
    functionDepth: 3
    functionLinenumber: 1828
    functionLinenumberEnd: 1833
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1836,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1837,1
    - Dst: doh_recv_one
      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:
    - doh_recv_one
    - atomic_store
    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:1842,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1843,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1844,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1845,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1846
      start: 1841
    functionDepth: 3
    functionLinenumber: 1841
    functionLinenumberEnd: 1846
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1849,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1850,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1848
    functionDepth: 3
    functionLinenumber: 1848
    functionLinenumberEnd: 1852
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1855,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1856,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1857,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1858,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1854
    functionDepth: 3
    functionLinenumber: 1854
    functionLinenumberEnd: 1859
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1862,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1863,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1864,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1865,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1861
    functionDepth: 3
    functionLinenumber: 1861
    functionLinenumberEnd: 1867
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1870,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1871,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1873
      start: 1869
    functionDepth: 3
    functionLinenumber: 1869
    functionLinenumberEnd: 1873
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:1877,1
    - Dst: doh_recv_two
      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:
    - doh_recv_two
    - atomic_store
    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: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_two
      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:
    - doh_recv_two
    - atomic_store
    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:1889,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1890,1
    - Dst: doh_recv_two
      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:
    - doh_recv_two
    - atomic_store
    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: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_two
      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:
    - doh_recv_two
    - atomic_store
    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:1902,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1903,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1901
    functionDepth: 3
    functionLinenumber: 1901
    functionLinenumberEnd: 1905
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:1908,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1909,1
    - 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: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1907
    functionDepth: 3
    functionLinenumber: 1907
    functionLinenumberEnd: 1913
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:1916,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1917,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1918,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:1919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1915
    functionDepth: 3
    functionLinenumber: 1915
    functionLinenumberEnd: 1920
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:1923,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1924,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1925,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1922
    functionDepth: 3
    functionLinenumber: 1922
    functionLinenumberEnd: 1926
    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:1929,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1930,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1931
      start: 1928
    functionDepth: 3
    functionLinenumber: 1928
    functionLinenumberEnd: 1931
    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:1934,1
    - 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: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1933
    functionDepth: 3
    functionLinenumber: 1933
    functionLinenumberEnd: 1938
    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:1941,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1942,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1940
    functionDepth: 3
    functionLinenumber: 1940
    functionLinenumberEnd: 1944
    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:1947,1
    - 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: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1946
    functionDepth: 3
    functionLinenumber: 1946
    functionLinenumberEnd: 1951
    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:1954,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1955,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1957
      start: 1953
    functionDepth: 3
    functionLinenumber: 1953
    functionLinenumberEnd: 1957
    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:1960,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1961,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1962,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1963,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1959
    functionDepth: 3
    functionLinenumber: 1959
    functionLinenumberEnd: 1965
    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:1968,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1969,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1970,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:1971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1967
    functionDepth: 3
    functionLinenumber: 1967
    functionLinenumberEnd: 1972
    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:1977,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1978,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1979,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1980,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1981,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1982
      start: 1976
    functionDepth: 3
    functionLinenumber: 1976
    functionLinenumberEnd: 1982
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1985,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1986,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1987,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:1988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1989
      start: 1984
    functionDepth: 3
    functionLinenumber: 1984
    functionLinenumberEnd: 1989
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:1992,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:1993,1
    - 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_one
      Src: /src/bind9/tests/isc/doh_test.c:1996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1997
      start: 1991
    functionDepth: 3
    functionLinenumber: 1991
    functionLinenumberEnd: 1997
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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: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: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2004,1
    - Dst: doh_recv_one
      Src: /src/bind9/tests/isc/doh_test.c:2005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2006
      start: 1999
    functionDepth: 3
    functionLinenumber: 1999
    functionLinenumberEnd: 2006
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_one
    - atomic_store
    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:2009,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2010,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2011,1
    - Dst: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2012,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2008
    functionDepth: 3
    functionLinenumber: 2008
    functionLinenumberEnd: 2014
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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: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: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2021
      start: 2016
    functionDepth: 3
    functionLinenumber: 2016
    functionLinenumberEnd: 2021
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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:2024,1
    - 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: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2028,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2023
    functionDepth: 3
    functionLinenumber: 2023
    functionLinenumberEnd: 2030
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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: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: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2036,1
    - Dst: doh_recv_two
      Src: /src/bind9/tests/isc/doh_test.c:2037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2032
    functionDepth: 3
    functionLinenumber: 2032
    functionLinenumberEnd: 2038
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/doh_test.c
    functionUses: 0
    functionsReached:
    - doh_recv_two
    - atomic_store
    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: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_send
      Src: /src/bind9/tests/isc/doh_test.c:2045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2040
    functionDepth: 3
    functionLinenumber: 2040
    functionLinenumberEnd: 2046
    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: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: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2053
      start: 2048
    functionDepth: 3
    functionLinenumber: 2048
    functionLinenumberEnd: 2053
    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:2056,1
    - 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: atomic_store
      Src: /src/bind9/tests/isc/doh_test.c:2060,1
    - Dst: doh_recv_send
      Src: /src/bind9/tests/isc/doh_test.c:2061,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2055
    functionDepth: 3
    functionLinenumber: 2055
    functionLinenumberEnd: 2062
    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: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_send
      Src: /src/bind9/tests/isc/doh_test.c:2069,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2070
      start: 2064
    functionDepth: 3
    functionLinenumber: 2064
    functionLinenumberEnd: 2070
    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:
    - UNUSED
    - isc_heap_delete
    - assert_non_null
    - assert_int_equal
    - isc_heap_insert
    - isc_heap_destroy
    - assert_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:67,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/rwlock_test.c:69,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:71,1
    - Dst: getenv
      Src: /src/bind9/tests/isc/rwlock_test.c:73,1
    - Dst: atoi
      Src: /src/bind9/tests/isc/rwlock_test.c:75,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:77,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/isc/rwlock_test.c:79,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/rwlock_test.c:81,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - unused
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 85
    functionName: setup_env
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_random_uniform
    - getenv
    - atoi
    - assert_int_not_equal
    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:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 92
    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:96,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/isc/rwlock_test.c:98,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/isc/rwlock_test.c:99,1
    - Dst: pthread_rwlock_init
      Src: /src/bind9/tests/isc/rwlock_test.c:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 105
    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:109,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/tests/isc/rwlock_test.c:112,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/tests/isc/rwlock_test.c:113,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/tests/isc/rwlock_test.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 118
    functionName: rwlock_teardown
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_barrier_destroy
    - pthread_rwlock_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:124,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:125,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 127
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_pause_n
    - isc_rwlock_unlock
    - isc_rwlock_lock
    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:133,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:134,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 136
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_pause_n
    - isc_rwlock_unlock
    - isc_rwlock_lock
    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:144,1
    - Dst: isc_rwlock_tryupgrade
      Src: /src/bind9/tests/isc/rwlock_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:151,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:152,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:154,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 157
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - isc_rwlock_tryupgrade
    - isc_rwlock_unlock
    - isc_rwlock_lock
    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:161,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:163,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:164,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:166,1
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:168,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:170,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:171,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 176
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 176
    functionName: trylock_thread1
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_barrier_wait
    - isc_rwlock_unlock
    - isc_rwlock_lock
    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:182,1
    - Dst: isc_rwlock_trylock
      Src: /src/bind9/tests/isc/rwlock_test.c:184,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:185,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:187,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:188,1
    - Dst: isc_rwlock_trylock
      Src: /src/bind9/tests/isc/rwlock_test.c:190,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/rwlock_test.c:191,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/isc/rwlock_test.c:193,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 198
    functionName: trylock_thread2
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_rwlock_trylock
    - assert_int_equal
    - 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:204,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/rwlock_test.c:205,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:207,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 200
    functionDepth: 1
    functionLinenumber: 200
    functionLinenumberEnd: 209
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_thread_join
    - isc_thread_create
    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:217,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:221,1
    - Dst: pthread_rwlock_rdlock
      Src: /src/bind9/tests/isc/rwlock_test.c:223,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:224,1
    - Dst: pthread_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:225,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:227,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 231
    functionName: pthread_rwlock_thread
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - pthread_rwlock_unlock
    - isc_pause_n
    - pthread_rwlock_wrlock
    - pthread_rwlock_rdlock
    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:239,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:243,1
    - Dst: isc_rwlock_lock
      Src: /src/bind9/tests/isc/rwlock_test.c:245,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:246,1
    - Dst: isc_rwlock_unlock
      Src: /src/bind9/tests/isc/rwlock_test.c:247,1
    - Dst: isc_pause_n
      Src: /src/bind9/tests/isc/rwlock_test.c:249,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 233
    functionDepth: 1
    functionLinenumber: 233
    functionLinenumberEnd: 253
    functionName: isc_rwlock_thread
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_pause_n
    - isc_rwlock_unlock
    - isc_rwlock_lock
    linkageType: ''
    returnType: void
    signature: 'void *

      isc_rwlock_thread(void *arg __attribute__((__unused__)))'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_thread_setstacksize
      Src: /src/bind9/tests/isc/rwlock_test.c:263,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:272,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/rwlock_test.c:281,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:285,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:291,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/rwlock_test.c:293,1
    - Dst: printf
      Src: /src/bind9/tests/isc/rwlock_test.c:295,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:304,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/isc/rwlock_test.c:313,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/isc/rwlock_test.c:317,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/isc/rwlock_test.c:323,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/isc/rwlock_test.c:325,1
    - Dst: printf
      Src: /src/bind9/tests/isc/rwlock_test.c:327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - threads
    - nthreads
    - pct
    argTypes:
    - isc_thread_t*
    - unsigned int
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 333
    functionName: isc__rwlock_benchmark
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - isc_time_microdiff
    - isc_time_now_hires
    - printf
    - isc_thread_setstacksize
    - isc_thread_create
    - isc_thread_join
    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:336,1
    - Dst: memset
      Src: /src/bind9/tests/isc/rwlock_test.c:339,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:342,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:343,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:344,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:345,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:346,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:347,1
    - Dst: isc__rwlock_benchmark
      Src: /src/bind9/tests/isc/rwlock_test.c:348,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/isc/rwlock_test.c:351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 335
    functionDepth: 2
    functionLinenumber: 335
    functionLinenumberEnd: 352
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/rwlock_test.c
    functionUses: 0
    functionsReached:
    - memset
    - isc_mem_cget
    - isc__rwlock_benchmark
    - isc_mem_cput
    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: atomic_fetch_add
      Src: /src/bind9/tests/isc/async_test.c:46,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/async_test.c:49,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:50,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/async_test.c:52,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 54
    functionName: async_cb
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_get
    - isc_tid
    - isc_async_run
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    linkageType: ''
    returnType: void
    signature: void async_cb(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/async_test.c:58,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/isc/async_test.c:59,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 62
    functionName: async_setup_cb
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - isc_loopmgr_nloops
    - isc_loop_get
    linkageType: ''
    returnType: void
    signature: void async_setup_cb(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/async_test.c:65,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/async_test.c:65,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/async_test.c:66,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/async_test.c:67,1
    - Dst: atomic_load
      Src: /src/bind9/tests/isc/async_test.c:67,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/isc/async_test.c:67,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 68
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - assert_int_equal
    - isc_loopmgr_nloops
    - isc_loop_setup
    - atomic_load
    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:76,1
    - Dst: strlcat
      Src: /src/bind9/tests/isc/async_test.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 78
    functionName: append
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 17
    functionsReached:
    - sprintf
    - strlcat
    linkageType: ''
    returnType: void
    signature: void append(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/tests/isc/async_test.c:82,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:84,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:85,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:86,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:87,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/isc/async_test.c:88,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/isc/async_test.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 90
    functionName: async_multiple
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - isc_async_run
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void async_multiple(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/isc/async_test.c:94,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/isc/async_test.c:94,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/isc/async_test.c:95,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isc/async_test.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/async_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_run
    - isc_loop_main
    - isc_loop_setup
    - assert_string_equal
    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:
    - isc_buffer_current
    - isc_buffer_putmem
    - isc_buffer_length
    - isc_buffer_usedlength
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - assert_true
    - isc_buffer_trycompact
    - isc_buffer_remainingregion
    - isc_buffer_clear
    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:
    - isc_buffer_current
    - isc_buffer_length
    - isc_buffer_putmem
    - isc_buffer_forward
    - assert_true
    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:
    - isc_buffer_current
    - isc_buffer_remaininglength
    - assert_true
    - assert_int_equal
    - isc_buffer_putuint16
    - isc_buffer_getuint16
    - isc_buffer_peekuint16
    - htons
    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:
    - UNUSED
    - assert_true
    - memcmp
    - isc_dnsstream_assembler_clear
    - 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:
    - UNUSED
    - assert_true
    - isc_dnsstream_assembler_result
    - memcmp
    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:
    - assert_true
    - isc_dnsstream_assembler_setcb
    - isc_dnsstream_assembler_result
    - isc_dnsstream_assembler_incoming
    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:
    - isc_buffer_setmctx
    - isc_buffer_current
    - isc_buffer_putmem
    - isc_buffer_remaininglength
    - isc_buffer_invalidate
    - assert_true
    - isc_buffer_clearmctx
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_result
    - isc_dnsstream_assembler_setcb
    - isc_buffer_init
    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_incoming
    - isc_dnsstream_assembler_result
    - isc_dnsstream_assembler_setcb
    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:
    - isc_buffer_setmctx
    - isc_buffer_current
    - isc_buffer_putmem
    - isc_buffer_remaininglength
    - isc_buffer_invalidate
    - assert_true
    - isc_buffer_clearmctx
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_remaininglength
    - isc_dnsstream_assembler_result
    - isc_dnsstream_assembler_setcb
    - isc_buffer_init
    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:
    - isc_buffer_setmctx
    - isc_buffer_current
    - isc_random_uniform
    - isc_buffer_putmem
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc_buffer_invalidate
    - assert_true
    - isc_buffer_clearmctx
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_remaininglength
    - isc_dnsstream_assembler_result
    - isc_dnsstream_assembler_setcb
    - isc_buffer_init
    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:
    - isc_buffer_setmctx
    - isc_buffer_current
    - isc_buffer_putmem
    - isc_buffer_remaininglength
    - isc_buffer_invalidate
    - assert_true
    - isc_buffer_clearmctx
    - isc_dnsstream_assembler_incoming
    - isc_dnsstream_assembler_remaininglength
    - isc_dnsstream_assembler_result
    - isc_dnsstream_assembler_setcb
    - isc_buffer_init
    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: 3
    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: 3
    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: 3
    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: 3
    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: 3
    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: 3
    functionLinenumber: 100
    functionLinenumberEnd: 104
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_one
    - atomic_store
    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: 3
    functionLinenumber: 106
    functionLinenumberEnd: 110
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/tcp_test.c
    functionUses: 0
    functionsReached:
    - stream_recv_two
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - stream_recv_send
    - atomic_store
    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:
    - UNUSED
    - isc_proxy2_tlv_iterate
    - INSIST
    - assert_true
    - isc_proxy2_tlv_data_verify
    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: 152
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 152
    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:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 159
    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:170,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isc/proxyheader_test.c:171,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/proxyheader_test.c:173,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/isc/proxyheader_test.c:178,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isc/proxyheader_test.c:179,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:183,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:186,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:187,1
    - Dst: isc_proxy2_handler_result
      Src: /src/bind9/tests/isc/proxyheader_test.c:187,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/tests/isc/proxyheader_test.c:190,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:197,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:198,1
    - Dst: isc_proxy2_handler_result
      Src: /src/bind9/tests/isc/proxyheader_test.c:198,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:201,1
    - Dst: isc_proxy2_handler_result
      Src: /src/bind9/tests/isc/proxyheader_test.c:201,1
    - Dst: isc_proxy2_handler_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:202,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:203,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:204,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:204,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: 205
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 205
    functionName: test_header_data
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - assert_true
    - isc_proxy2_handler_push_data
    - memcmp
    - isc_proxy2_handler_result
    - isc_buffer_add
    - isc_proxy2_handler_push
    - isc_buffer_remainingregion
    - isc_proxy2_handler_header
    - isc_buffer_init
    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:215,1
    - Dst: assert_true
      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: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:218,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:218,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:220,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:221,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:221,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:222,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:223,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:223,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:226,1
    - Dst: assert_true
      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: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:230,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:231,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
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:237,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: 238
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 238
    functionName: verify_proxy_v2_header
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isc_proxy2_handler_addresses
    - assert_true
    - isc_sockaddr_equal
    - isc_sockaddr_pf
    - isc_sockaddr_format
    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:248,1
    - Dst: assert_true
      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: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:251,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:251,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:253,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:254,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:254,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:255,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:256,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:256,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:259,1
    - Dst: assert_true
      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: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:263,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:264,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:270,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:273,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:274,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:274,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: 275
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 275
    functionName: verify_proxy_v2_header_with_TLS
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isc_proxy2_handler_addresses
    - assert_true
    - isc_sockaddr_equal
    - memcmp
    - isc_sockaddr_pf
    - isc_sockaddr_format
    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:285,1
    - Dst: assert_true
      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: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:288,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:288,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:290,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:291,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:291,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/tests/isc/proxyheader_test.c:292,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:293,1
    - Dst: strcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:293,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:296,1
    - Dst: assert_true
      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: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:300,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:301,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:306,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:309,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:312,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:313,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:313,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:316,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:317,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:317,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: 318
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 318
    functionName: verify_proxy_v2_header_with_TLS_CN
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - strcmp
    - isc_proxy2_handler_addresses
    - assert_true
    - isc_sockaddr_equal
    - memcmp
    - isc_sockaddr_pf
    - isc_sockaddr_format
    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:323,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:324,1
    - Dst: isc_proxy2_handler_addresses
      Src: /src/bind9/tests/isc/proxyheader_test.c:330,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:333,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:335,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: 337
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 337
    functionName: verify_proxy_v2_header_with_AF_UNIX
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_addresses
    - assert_true
    - assert_int_equal
    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:343,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:345,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:347,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:350,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:352,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:355,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:357,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:360,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:362,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 363
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - test_header_data
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - verify_proxy_v2_header_with_TLS
    - isc_proxy2_handler_setcb
    - verify_proxy_v2_header
    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:369,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:371,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:373,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:374,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:377,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:379,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:380,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:384,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:386,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:387,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:391,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:393,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 396
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - test_header_data
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - verify_proxy_v2_header_with_TLS
    - assert_true
    - isc_proxy2_handler_setcb
    - verify_proxy_v2_header
    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:402,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:404,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:406,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:409,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:411,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:414,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:416,1
    - Dst: test_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:419,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 422
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - test_header_data
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - verify_proxy_v2_header_with_TLS
    - isc_proxy2_handler_setcb
    - verify_proxy_v2_header
    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:432,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:434,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:435,1
    - Dst: verify_proxy_v2_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:436,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/proxyheader_test.c:441,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:443,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:444,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:445,1
    - Dst: verify_proxy_v2_header_with_TLS
      Src: /src/bind9/tests/isc/proxyheader_test.c:446,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/proxyheader_test.c:451,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:453,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:454,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:455,1
    - Dst: verify_proxy_v2_header_with_TLS_CN
      Src: /src/bind9/tests/isc/proxyheader_test.c:456,1
    - Dst: isc_proxy2_header_handle_directly
      Src: /src/bind9/tests/isc/proxyheader_test.c:461,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:463,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:464,1
    - Dst: verify_proxy_v2_header_with_AF_UNIX
      Src: /src/bind9/tests/isc/proxyheader_test.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 466
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_tlv_iterate
    - isc_proxy2_header_handle_directly
    - verify_proxy_v2_header_with_TLS_CN
    - verify_proxy_v2_header_with_AF_UNIX
    - verify_proxy_v2_header_with_TLS
    - assert_true
    - verify_proxy_v2_header
    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:474,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:483,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 486
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 486
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - isc_proxy2_handler_push_data
    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:506,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/proxyheader_test.c:508,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/proxyheader_test.c:509,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:511,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:513,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:514,1
    - Dst: isc_proxy2_handler_header
      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: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:520,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:520,1
    - Dst: isc_proxy2_handler_extra
      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: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:526,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 527
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_extra
    - isc_buffer_putmem
    - assert_true
    - memcmp
    - isc_proxy2_handler_push
    - isc_buffer_remainingregion
    - isc_proxy2_handler_header
    - isc_buffer_init
    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:533,1
    - Dst: isc_proxy2_handler_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:535,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:538,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:541,1
    - Dst: isc_proxy2_handler_uninit
      Src: /src/bind9/tests/isc/proxyheader_test.c:543,1
    - Dst: isc_proxy2_handler_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:545,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:549,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:552,1
    - Dst: isc_proxy2_handler_uninit
      Src: /src/bind9/tests/isc/proxyheader_test.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 555
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_proxy2_handler_uninit
    - assert_true
    - isc_proxy2_handler_push_data
    - isc_proxy2_handler_init
    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:575,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/proxyheader_test.c:577,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/isc/proxyheader_test.c:578,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/proxyheader_test.c:579,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/isc/proxyheader_test.c:580,1
    - Dst: isc_proxy2_handler_setcb
      Src: /src/bind9/tests/isc/proxyheader_test.c:581,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:583,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:584,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:587,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:589,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:591,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:592,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:595,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:597,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:599,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:600,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:603,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:604,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:605,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:609,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:611,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:614,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:616,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:617,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:620,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:622,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:624,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:625,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:629,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:630,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:633,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:634,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:634,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:635,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:635,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:637,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:637,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:638,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:638,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:642,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:644,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:647,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:649,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:650,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:653,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:655,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:657,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:660,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:661,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:663,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:664,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:666,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:668,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:669,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:671,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:673,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:677,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:677,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:678,1
    - Dst: isc_proxy2_handler_push
      Src: /src/bind9/tests/isc/proxyheader_test.c:680,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:683,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:684,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:684,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:685,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/tests/isc/proxyheader_test.c:685,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:687,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:687,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:688,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/tests/isc/proxyheader_test.c:688,1
    - Dst: isc_proxy2_handler_tlvs
      Src: /src/bind9/tests/isc/proxyheader_test.c:691,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:692,1
    - Dst: isc_proxy2_tlv_data_verify
      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: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:698,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:698,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:699,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:699,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:700,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:702,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:702,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:703,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:703,1
    - Dst: strlen
      Src: /src/bind9/tests/isc/proxyheader_test.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 705
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_tlvs
    - strlen
    - isc_proxy2_handler_push
    - isc_proxy2_make_header
    - isc_sockaddr_fromin6
    - isc_sockaddr_equal
    - memcmp
    - isc_sockaddr_pf
    - isc_buffer_init
    - isc_proxy2_tlv_data_verify
    - assert_true
    - isc_buffer_clear
    - htonl
    - isc_proxy2_append_tlv_string
    - isc_sockaddr_fromin
    - isc_proxy2_make_tls_subheader
    - isc_proxy2_header_append_tlv
    - isc_proxy2_handler_setcb
    - isc_buffer_usedregion
    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:714,1
    - Dst: UNUSED
      Src: /src/bind9/tests/isc/proxyheader_test.c:715,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:717,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:718,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: 721
      start: 707
    functionDepth: 1
    functionLinenumber: 707
    functionLinenumberEnd: 721
    functionName: rebuild_subtlv_iter_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_proxy2_append_tlv
    - 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:736,1
    - Dst: isc_proxy2_subtlv_tls_header_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:739,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:741,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:744,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:746,1
    - Dst: isc_proxy2_subtlv_tls_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:749,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:751,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:753,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:754,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:756,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:758,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:759,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: 763
      start: 723
    functionDepth: 1
    functionLinenumber: 723
    functionLinenumberEnd: 763
    functionName: rebuild_tlv_iter_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_make_tls_subheader
    - isc_proxy2_header_append_tlv
    - assert_true
    - isc_buffer_usedregion
    - isc_proxy2_subtlv_tls_header_data
    - isc_proxy2_subtlv_tls_iterate
    - isc_buffer_init
    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:779,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:781,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/tests/isc/proxyheader_test.c:784,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:788,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:789,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isc/proxyheader_test.c:790,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: 792
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 792
    functionName: proxy2_handler_rebuild_cb
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_tlv_iterate
    - isc_buffer_putmem
    - assert_true
    - isc_proxy2_make_header
    - isc_proxy2_tlv_data_verify
    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:799,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:802,1
    - Dst: isc_proxy2_handler_uninit
      Src: /src/bind9/tests/isc/proxyheader_test.c:804,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: 805
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: proxy2_handler_rebuild
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_uninit
    - isc_proxy2_handler_init
    - isc_proxy2_handler_push_data
    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:813,1
    - Dst: proxy2_handler_rebuild
      Src: /src/bind9/tests/isc/proxyheader_test.c:815,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:816,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:817,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:818,1
    - Dst: memcmp
      Src: /src/bind9/tests/isc/proxyheader_test.c:818,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 807
    functionDepth: 2
    functionLinenumber: 807
    functionLinenumberEnd: 819
    functionName: try_rebuild_header
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memcmp
    - proxy2_handler_rebuild
    - isc_buffer_usedregion
    - isc_buffer_init
    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:822,1
    - Dst: try_rebuild_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:823,1
    - Dst: try_rebuild_header
      Src: /src/bind9/tests/isc/proxyheader_test.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 827
      start: 821
    functionDepth: 3
    functionLinenumber: 821
    functionLinenumberEnd: 827
    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:836,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:839,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:841,1
    - Dst: isc_proxy2_handler_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:842,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:845,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:848,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 849
      start: 829
    functionDepth: 1
    functionLinenumber: 829
    functionLinenumberEnd: 849
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_clear
    - assert_true
    - memmove
    - isc_proxy2_handler_push_data
    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:857,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:861,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:865,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:867,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:871,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 874
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 874
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - isc_proxy2_handler_push_data
    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:882,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:886,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:890,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:892,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:896,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 876
    functionDepth: 1
    functionLinenumber: 876
    functionLinenumberEnd: 899
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - memmove
    - isc_proxy2_handler_push_data
    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:903,1
    - Dst: memmove
      Src: /src/bind9/tests/isc/proxyheader_test.c:904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - botched_header
    - newlen
    argTypes:
    - uint8_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 906
    functionName: update_header_length
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - htons
    - memmove
    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:913,1
    - Dst: update_header_length
      Src: /src/bind9/tests/isc/proxyheader_test.c:915,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:916,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:918,1
    - Dst: update_header_length
      Src: /src/bind9/tests/isc/proxyheader_test.c:920,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:921,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:923,1
    - Dst: update_header_length
      Src: /src/bind9/tests/isc/proxyheader_test.c:925,1
    - Dst: isc_proxy2_handler_push_data
      Src: /src/bind9/tests/isc/proxyheader_test.c:926,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:928,1
    - Dst: isc_proxy2_handler_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 930
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert_true
    - isc_proxy2_handler_push_data
    - isc_proxy2_handler_clear
    - update_header_length
    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:944,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isc/proxyheader_test.c:945,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:950,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:951,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:954,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:957,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:959,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:960,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:962,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:963,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:965,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:968,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:970,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:971,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:973,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:974,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:977,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:980,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:982,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:983,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:985,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:986,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:988,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:991,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:993,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:994,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:996,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:997,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1000,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1002,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1004,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1005,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1007,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1008,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1010,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1011,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1014,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1015,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1017,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1019,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1020,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1021,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1024,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1026,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1028,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1029,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1030,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1033,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1034,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1035,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1036,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1037,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1038,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1040,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1041,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1042,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1043,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1046,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1047,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1048,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1050,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1051,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1052,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1054,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1055,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1056,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1057,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1060,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1061,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1062,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1064,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1066,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1068,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1069,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1070,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1072,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1073,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1074,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1075,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1078,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1079,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1080,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1082,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1083,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1085,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1086,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1088,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1089,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1090,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1092,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1093,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1094,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1095,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1098,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1099,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1100,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1101,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1102,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1104,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1105,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1106,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1108,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1109,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1110,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1111,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1114,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1115,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1116,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1119,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1120,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1122,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1123,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1124,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1126,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1127,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1128,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1129,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1132,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1133,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1134,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1136,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1137,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1139,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1140,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1141,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1143,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1144,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1145,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1146,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1149,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1150,1
    - Dst: isc_proxy2_make_tls_subheader
      Src: /src/bind9/tests/isc/proxyheader_test.c:1151,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1155,1
    - Dst: isc_proxy2_append_tlv_string
      Src: /src/bind9/tests/isc/proxyheader_test.c:1156,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: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1160,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1161,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1162,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1164,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1165,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1166,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1167,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/isc/proxyheader_test.c:1170,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/tests/isc/proxyheader_test.c:1173,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/tests/isc/proxyheader_test.c:1175,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/isc/proxyheader_test.c:1176,1
    - Dst: isc_proxy2_tlv_data_verify
      Src: /src/bind9/tests/isc/proxyheader_test.c:1177,1
    - Dst: assert_true
      Src: /src/bind9/tests/isc/proxyheader_test.c:1178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 164
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 1179
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isc/proxyheader_test.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_make_tls_subheader
    - isc_buffer_subtract
    - assert_true
    - isc_proxy2_append_tlv_string
    - isc_proxy2_append_tlv
    - isc_buffer_usedregion
    - isc_buffer_clear
    - isc_buffer_init
    - isc_proxy2_tlv_data_verify
    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:
    - UNUSED
    - isc_buffer_reserve
    - assert_non_null
    - assert_int_equal
    - isc_buffer_add
    - isc_buffer_allocate
    - isc_buffer_free
    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:
    - UNUSED
    - assert_non_null
    - isc_buffer_putuint32
    - assert_int_equal
    - assert_true
    - isc_buffer_putuint16
    - isc_buffer_allocate
    - isc_buffer_free
    - isc_buffer_putuint8
    - isc_buffer_putstr
    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:
    - UNUSED
    - assert_int_equal
    - isc_buffer_copyregion
    - isc_buffer_allocate
    - isc_buffer_free
    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:
    - isc_buffer_current
    - UNUSED
    - isc_buffer_printf
    - isc_buffer_usedlength
    - isc_buffer_forward
    - assert_int_equal
    - isc_buffer_allocate
    - isc_buffer_free
    - isc_buffer_init
    - assert_memory_equal
    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:
    - isc_parse_uint32
    - assert_int_equal
    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: 81
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 81
    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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    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: 84
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 84
    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: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    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: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    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: 95
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 95
    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: 99
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 99
    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: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    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: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    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: 111
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 111
    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: 115
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 115
    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: 119
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 119
    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: 182
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 182
    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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    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: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    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: 186
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 186
    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: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    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: 189
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 189
    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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    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: 197
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 197
    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: 203
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 203
    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: 210
      start: 207
    functionDepth: 0
    functionLinenumber: 207
    functionLinenumberEnd: 210
    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: 211
      start: 210
    functionDepth: 0
    functionLinenumber: 210
    functionLinenumberEnd: 211
    functionName: P
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 56
    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: 214
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 214
    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: 222
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 222
    functionName: isc_loopmgr_shutdown
    functionSourceFile: /src/bind9/tests/isc/netmgr_common.h
    functionUses: 55
    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: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    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: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    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: 232
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 232
    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: 233
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 233
    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: 234
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 234
    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: 235
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 235
    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_loop_main
      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_time_now
    - isc_timer_create
    - isc_timer_start
    - isc_loop_main
    - isc_mutex_lock
    - UNLOCK
    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_loop_main
      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
    - isc_loopmgr_run
    - isc_loop_main
    - isc_time_settoepoch
    - assert_int_equal
    - isc_loop_setup
    - atomic_init
    - isc_mutex_destroy
    - atomic_load
    - atomic_store
    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:
    - printf
    - set_global_error
    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:
    - printf
    - set_global_error
    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:
    - UNUSED
    - isc_time_now
    - print_message
    - subthread_assert_result_equal
    - isc_time_compare
    - isc_timer_destroy
    - isc_mutex_unlock
    - isc_time_add
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - isc_time_subtract
    - isc_interval_set
    - atomic_load
    - subthread_assert_true
    - isc_mutex_lock
    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:
    - isc_interval_set
    - UNUSED
    - setup_test
    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:
    - UNUSED
    - isc_time_now
    - print_message
    - subthread_assert_result_equal
    - isc_time_compare
    - isc_timer_destroy
    - isc_mutex_unlock
    - isc_time_add
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - isc_time_subtract
    - isc_interval_set
    - subthread_assert_true
    - isc_mutex_lock
    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:
    - isc_interval_set
    - UNUSED
    - setup_test
    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:
    - UNUSED
    - isc_time_now
    - print_message
    - subthread_assert_result_equal
    - isc_time_compare
    - isc_timer_start
    - isc_timer_destroy
    - isc_mutex_unlock
    - isc_time_add
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - isc_time_subtract
    - isc_interval_set
    - subthread_assert_true
    - isc_mutex_lock
    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:
    - isc_interval_set
    - UNUSED
    - setup_test
    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_timer_destroy
    - UNUSED
    - print_message
    - isc_loopmgr_shutdown
    - atomic_fetch_add
    - atomic_load
    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:
    - UNUSED
    - isc_timer_destroy
    - atomic_store
    - print_message
    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_init
    - atomic_store
    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_loop_main
      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_loop_main
      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:
    - UNUSED
    - isc_timer_create
    - print_message
    - isc_timer_start
    - isc_loop_main
    - atomic_init
    - isc_interval_set
    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:
    - isc_time_microdiff
    - assert_true
    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_timer_destroy
    - isc_timer_start
    - isc_loopmgr_shutdown
    - isc_loop_now
    - isc_loop
    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_now
    - isc_loop
    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_loop_main
      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_loop_main
    - 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_now
    - isc_loop
    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_loop_main
      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_loop_main
    - 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_now
    - isc_loop
    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_loop_main
      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_loop_main
    - 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_now
    - isc_loop
    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_loop_main
      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_loop_main
    - 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_now
    - isc_loop
    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_loop_main
      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_loop_main
    - 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:51,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:52,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/ns/notify_test.c:54,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/tests/ns/notify_test.c:55,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:56,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:58,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/ns/notify_test.c:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - buf
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 61
    functionName: check_response
    functionSourceFile: /src/bind9/tests/ns/notify_test.c
    functionUses: 0
    functionsReached:
    - dns_rcode_totext
    - dns_message_create
    - assert_int_equal
    - dns_message_parse
    - dns_message_detach
    - isc_buffer_init
    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:73,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/ns/notify_test.c:75,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:76,1
    - Dst: ns_test_serve_zone
      Src: /src/bind9/tests/ns/notify_test.c:78,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:81,1
    - Dst: ns_test_getdata
      Src: /src/bind9/tests/ns/notify_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:90,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/ns/notify_test.c:91,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/ns/notify_test.c:92,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/ns/notify_test.c:94,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/ns/notify_test.c:97,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/ns/notify_test.c:98,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/ns/notify_test.c:105,1
    - Dst: ns_notify_start
      Src: /src/bind9/tests/ns/notify_test.c:110,1
    - Dst: ns_test_cleanup_zone
      Src: /src/bind9/tests/ns/notify_test.c:115,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/ns/notify_test.c:118,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/ns/notify_test.c:119,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/notify_test.c:121,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/ns/notify_test.c:121,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/notify_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 64
    functionDepth: 1
    functionLinenumber: 64
    functionLinenumberEnd: 123
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/notify_test.c
    functionUses: 0
    functionsReached:
    - ns_notify_start
    - dns_test_makeview
    - dns_message_create
    - ns_test_cleanup_zone
    - assert_int_equal
    - ns_test_serve_zone
    - isc_nmhandle_detach
    - isc_loop_main
    - dns_message_parse
    - ns_test_getclient
    - isc_buffer_add
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - ns_test_getdata
    - dns_message_detach
    - isc_buffer_init
    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: ns__client_reset_cb
      Src: /src/bind9/tests/ns/netmgr_wrap.c:88,1
    - Dst: ns__client_put_cb
      Src: /src/bind9/tests/ns/netmgr_wrap.c:89,1
    - Dst: atomic_store
      Src: /src/bind9/tests/ns/netmgr_wrap.c:90,1
    - Dst: fprintf
      Src: /src/bind9/tests/ns/netmgr_wrap.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - handlep
    argTypes:
    - isc_nmhandle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 98
    functionName: isc_nmhandle_detach
    functionSourceFile: /src/bind9/tests/ns/netmgr_wrap.c
    functionUses: 34
    functionsReached:
    - ns__client_put_cb
    - atomic_fetch_sub
    - INSIST
    - fprintf
    - ns__client_reset_cb
    - atomic_load
    - atomic_store
    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: 110
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 110
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/plugin_test.c:43,1
    - Dst: mock
      Src: /src/bind9/tests/ns/plugin_test.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 45
    functionName: isc_file_exists
    functionSourceFile: /src/bind9/tests/ns/plugin_test.c
    functionUses: 7
    functionsReached:
    - UNUSED
    - mock
    linkageType: ''
    returnType: bool
    signature: bool isc_file_exists(const char *pathname)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:73,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:74,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/ns/plugin_test.c:76,1
    - Dst: will_return
      Src: /src/bind9/tests/ns/plugin_test.c:79,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/ns/plugin_test.c:86,1
    - Dst: ns_plugin_expandpath
      Src: /src/bind9/tests/ns/plugin_test.c:91,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/plugin_test.c:97,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/plugin_test.c:100,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/ns/plugin_test.c:101,1
    - Dst: strcmp
      Src: /src/bind9/tests/ns/plugin_test.c:107,1
    - Dst: fail_msg
      Src: /src/bind9/tests/ns/plugin_test.c:108,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/ns/plugin_test.c:114,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - test
    - state
    argTypes:
    - ns_plugin_expandpath_test_params_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 115
    functionName: run_full_path_test
    functionSourceFile: /src/bind9/tests/ns/plugin_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - fail_msg
    - ns_plugin_expandpath
    - isc_mem_free
    - isc_mem_allocate
    - will_return
    - isc_result_totext
    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:123,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:131,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:139,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:147,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:156,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:165,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:174,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:183,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:190,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:197,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/plugin_test.c:204,1
    - Dst: run_full_path_test
      Src: /src/bind9/tests/ns/plugin_test.c:213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 215
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/plugin_test.c
    functionUses: 0
    functionsReached:
    - NS_TEST_ID
    - run_full_path_test
    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:
    - REQUIRE
    - ns_hooktable_create
    - ns_test_qctx_create
    - ns__query_sfcache
    - isc_result_totext
    - ns_hook_add
    - assert_int_equal
    - isc_time_nowplusinterval
    - isc_time_seconds
    - ns_test_qctx_destroy
    - fail_msg
    - ns_hooktable_free
    - isc_interval_set
    - dns_badcache_add
    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_loop_main
      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_main
    - 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:
    - REQUIRE
    - ns_hooktable_create
    - ns_test_qctx_create
    - ns_test_cleanup_zone
    - ns_hook_add
    - assert_int_equal
    - ns_test_serve_zone
    - ns__query_start
    - ns_test_qctx_destroy
    - fail_msg
    - ns_hooktable_free
    - UNREACHABLE
    - isc_result_totext
    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_loop_main
      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_main
    - 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_hookasyncctx
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void destroy_hookasyncctx(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_hookasyncctx
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void cancel_hookasyncctx(ns_hookasync_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:650,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:651,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/ns/query_test.c:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    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: 673
      start: 639
    functionDepth: 1
    functionLinenumber: 639
    functionLinenumberEnd: 673
    functionName: test_hookasync
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t test_hookasync(query_ctx_t *qctx, isc_mem_t *mctx, void
      *arg, isc_loop_t *loop,\n\t       isc_job_cb cb, void *evarg, ns_hookasync_t
      **ctxp)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ns_query_hookasync
      Src: /src/bind9/tests/ns/query_test.c:693,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:703,1
    - Dst: HANDLE_RECTYPE_HOOK
      Src: /src/bind9/tests/ns/query_test.c:703,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:710,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: 718
      start: 681
    functionDepth: 1
    functionLinenumber: 681
    functionLinenumberEnd: 718
    functionName: hook_async_common
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns_query_hookasync
    - HANDLE_RECTYPE_HOOK
    - INSIST
    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:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 723
    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:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 728
      start: 725
    functionDepth: 2
    functionLinenumber: 725
    functionLinenumberEnd: 728
    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:732,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 730
    functionDepth: 2
    functionLinenumber: 730
    functionLinenumberEnd: 733
    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:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 735
    functionDepth: 2
    functionLinenumber: 735
    functionLinenumberEnd: 738
    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:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 744
    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:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 751
    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:755,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 753
    functionDepth: 2
    functionLinenumber: 753
    functionLinenumberEnd: 756
    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:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 761
    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:766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 763
    functionDepth: 2
    functionLinenumber: 763
    functionLinenumberEnd: 768
    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:773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 775
    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:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 777
    functionDepth: 2
    functionLinenumber: 777
    functionLinenumberEnd: 781
    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:786,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 783
    functionDepth: 2
    functionLinenumber: 783
    functionLinenumberEnd: 788
    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:792,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 793
    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:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 795
    functionDepth: 2
    functionLinenumber: 795
    functionLinenumberEnd: 798
    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:802,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 800
    functionDepth: 2
    functionLinenumber: 800
    functionLinenumberEnd: 803
    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:807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 808
      start: 805
    functionDepth: 2
    functionLinenumber: 805
    functionLinenumberEnd: 808
    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:812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 810
    functionDepth: 2
    functionLinenumber: 810
    functionLinenumberEnd: 813
    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:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 815
    functionDepth: 2
    functionLinenumber: 815
    functionLinenumberEnd: 818
    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:822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 820
    functionDepth: 2
    functionLinenumber: 820
    functionLinenumberEnd: 824
    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:828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 826
    functionDepth: 2
    functionLinenumber: 826
    functionLinenumberEnd: 829
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/ns/query_test.c:854,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:855,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:862,1
    - Dst: ns_test_qctx_create
      Src: /src/bind9/tests/ns/query_test.c:871,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:872,1
    - Dst: isc_quota_max
      Src: /src/bind9/tests/ns/query_test.c:880,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/tests/ns/query_test.c:882,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:883,1
    - Dst: ns_stats_get_counter
      Src: /src/bind9/tests/ns/query_test.c:887,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/ns/query_test.c:900,1
    - Dst: ns__query_start
      Src: /src/bind9/tests/ns/query_test.c:909,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:910,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:916,1
    - Dst: ns_query_cancel
      Src: /src/bind9/tests/ns/query_test.c:924,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:926,1
    - Dst: hookasync_data_t::rev::cb
      Src: /src/bind9/tests/ns/query_test.c:931,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:934,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:935,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:936,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/tests/ns/query_test.c:936,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:939,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/tests/ns/query_test.c:939,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:946,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:947,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:950,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:957,1
    - Dst: ns_stats_get_counter
      Src: /src/bind9/tests/ns/query_test.c:957,1
    - Dst: ns_test_qctx_destroy
      Src: /src/bind9/tests/ns/query_test.c:966,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:967,1
    - Dst: isc_quota_release
      Src: /src/bind9/tests/ns/query_test.c:969,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 1
    argNames:
    - test
    argTypes:
    - ns__query_hookasync_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 971
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 971
    functionName: run_hookasync_test
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_quota_max
    - ns_test_qctx_create
    - ns_hooktable_create
    - INSIST
    - isc_quota_acquire
    - ns_hook_add
    - hookasync_data_t::rev::cb
    - ns__query_start
    - ISC_LINK_LINKED
    - ns_test_qctx_destroy
    - isc_quota_release
    - ns_stats_get_counter
    - isc_nmhandle_attach
    - ns_hooktable_free
    - isc_stats_get_counter
    - ns_query_cancel
    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:978,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:987,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:996,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1005,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1018,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1027,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1036,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1045,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1054,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1063,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1072,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1081,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1090,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1099,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1108,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1117,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1126,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1135,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1144,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1153,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1162,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1171,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1180,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1189,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1198,1
    - Dst: run_hookasync_test
      Src: /src/bind9/tests/ns/query_test.c:1209,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/query_test.c:1212,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/ns/query_test.c:1212,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/query_test.c:1213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 973
    functionDepth: 2
    functionLinenumber: 973
    functionLinenumberEnd: 1214
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - run_hookasync_test
    - isc_loop_main
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - NS_TEST_ID
    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:1250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - ns_hookasync_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1251
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1251
    functionName: cancel_e2ehookasyncctx
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void cancel_e2ehookasyncctx(ns_hookasync_t *ctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:1266,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/ns/query_test.c:1267,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/ns/query_test.c:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    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: 1288
      start: 1254
    functionDepth: 1
    functionLinenumber: 1254
    functionLinenumberEnd: 1288
    functionName: test_hookasync_e2e
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t test_hookasync_e2e(query_ctx_t *qctx, isc_mem_t *mctx,
      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:1298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1290
    functionDepth: 1
    functionLinenumber: 1290
    functionLinenumberEnd: 1314
    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:1325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1329
      start: 1320
    functionDepth: 0
    functionLinenumber: 1320
    functionLinenumberEnd: 1329
    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:1357,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:1358,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:1359,1
    - Dst: ns_test_qctx_create
      Src: /src/bind9/tests/ns/query_test.c:1362,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1363,1
    - Dst: ns_test_serve_zone
      Src: /src/bind9/tests/ns/query_test.c:1368,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1370,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/ns/query_test.c:1376,1
    - Dst: ns__query_start
      Src: /src/bind9/tests/ns/query_test.c:1381,1
    - Dst: ns_query_cancel
      Src: /src/bind9/tests/ns/query_test.c:1385,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1392,1
    - Dst: hookasync_e2e_data_t::rev::cb
      Src: /src/bind9/tests/ns/query_test.c:1393,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1400,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1401,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1403,1
    - Dst: ns_test_qctx_destroy
      Src: /src/bind9/tests/ns/query_test.c:1407,1
    - Dst: ns_test_cleanup_zone
      Src: /src/bind9/tests/ns/query_test.c:1408,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:1409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - test
    argTypes:
    - ns__query_hookasync_e2e_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1410
      start: 1331
    functionDepth: 1
    functionLinenumber: 1331
    functionLinenumberEnd: 1410
    functionName: run_hookasync_e2e_test
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns_test_qctx_create
    - ns_hooktable_create
    - INSIST
    - ns_test_cleanup_zone
    - ns_hook_add
    - ns_test_serve_zone
    - ns__query_start
    - ns_test_qctx_destroy
    - hookasync_e2e_data_t::rev::cb
    - isc_nmhandle_attach
    - ns_hooktable_free
    - ns_query_cancel
    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:1415,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1423,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1431,1
    - Dst: NS_TEST_ID
      Src: /src/bind9/tests/ns/query_test.c:1439,1
    - Dst: run_hookasync_e2e_test
      Src: /src/bind9/tests/ns/query_test.c:1449,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/query_test.c:1452,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/ns/query_test.c:1452,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/query_test.c:1453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1412
    functionDepth: 2
    functionLinenumber: 1412
    functionLinenumberEnd: 1454
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_main
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - NS_TEST_ID
    - run_hookasync_e2e_test
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ns__query_hookasync_e2e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strcpy
      Src: /src/bind9/tests/ns/query_test.c:1472,1
    - Dst: snprintf
      Src: /src/bind9/tests/ns/query_test.c:1473,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - base
    - tail
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1468
    functionDepth: 0
    functionLinenumber: 1468
    functionLinenumberEnd: 1474
    functionName: ns__query_test_concat
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - snprintf
    - strcpy
    linkageType: ''
    returnType: void
    signature: void ns__query_test_concat(char *base, const char *tail)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1478,1
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1479,1
    - Dst: ns__query_test_concat
      Src: /src/bind9/tests/ns/query_test.c:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1476
    functionDepth: 1
    functionLinenumber: 1476
    functionLinenumberEnd: 1483
    functionName: ns__query_test_zonehook1
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns__query_test_concat
    - UNUSED
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns__query_test_zonehook1(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1487,1
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1488,1
    - Dst: ns__query_test_concat
      Src: /src/bind9/tests/ns/query_test.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1485
    functionDepth: 1
    functionLinenumber: 1485
    functionLinenumberEnd: 1492
    functionName: ns__query_test_zonehook2
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns__query_test_concat
    - UNUSED
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns__query_test_zonehook2(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1496,1
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1497,1
    - Dst: ns__query_test_concat
      Src: /src/bind9/tests/ns/query_test.c:1499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1501
    functionName: ns__query_test_viewhook1
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns__query_test_concat
    - UNUSED
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns__query_test_viewhook1(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1505,1
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1506,1
    - Dst: ns__query_test_concat
      Src: /src/bind9/tests/ns/query_test.c:1508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1503
    functionDepth: 1
    functionLinenumber: 1503
    functionLinenumberEnd: 1510
    functionName: ns__query_test_viewhook2
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns__query_test_concat
    - UNUSED
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns__query_test_viewhook2(void *arg, void *data, isc_result_t
      *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1514,1
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1515,1
    - Dst: ns__query_test_concat
      Src: /src/bind9/tests/ns/query_test.c:1517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1512
    functionDepth: 1
    functionLinenumber: 1512
    functionLinenumberEnd: 1519
    functionName: ns__query_test_defaulthook1
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns__query_test_concat
    - UNUSED
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns__query_test_defaulthook1(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1523,1
    - Dst: UNUSED
      Src: /src/bind9/tests/ns/query_test.c:1524,1
    - Dst: ns__query_test_concat
      Src: /src/bind9/tests/ns/query_test.c:1526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1528
      start: 1521
    functionDepth: 1
    functionLinenumber: 1521
    functionLinenumberEnd: 1528
    functionName: ns__query_test_defaulthook2
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns__query_test_concat
    - UNUSED
    linkageType: ''
    returnType: ns_hookresult_t
    signature: ns_hookresult_t ns__query_test_defaulthook2(void *arg, void *data,
      isc_result_t *resultp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1534,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/ns/query_test.c:1535,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:1538,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/ns/query_test.c:1543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 3
    argNames:
    - h1
    - h2
    - tp
    argTypes:
    - ns_hook_t*
    - ns_hook_t*
    - ns_hooktable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1530
    functionDepth: 1
    functionLinenumber: 1530
    functionLinenumberEnd: 1551
    functionName: ns__query_test_setup_hooks
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns_hooktable_create
    - ns_hook_add
    - INSIST
    linkageType: ''
    returnType: bool
    signature: "bool ns__query_test_setup_hooks(const ns_hook_t *h1, const ns_hook_t
      *h2,\n\t\t\t   ns_hooktable_t **tp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ns_test_qctx_create
      Src: /src/bind9/tests/ns/query_test.c:1588,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1589,1
    - Dst: ns_test_serve_zone
      Src: /src/bind9/tests/ns/query_test.c:1594,1
    - Dst: INSIST
      Src: /src/bind9/tests/ns/query_test.c:1596,1
    - Dst: ns__query_test_setup_hooks
      Src: /src/bind9/tests/ns/query_test.c:1601,1
    - Dst: ns_test_serve_zone_sethooktab
      Src: /src/bind9/tests/ns/query_test.c:1602,1
    - Dst: ns__query_test_setup_hooks
      Src: /src/bind9/tests/ns/query_test.c:1608,1
    - Dst: ns__query_test_setup_hooks
      Src: /src/bind9/tests/ns/query_test.c:1615,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/tests/ns/query_test.c:1622,1
    - Dst: ns__query_start
      Src: /src/bind9/tests/ns/query_test.c:1628,1
    - Dst: ns_query_done
      Src: /src/bind9/tests/ns/query_test.c:1629,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/ns/query_test.c:1634,1
    - Dst: ns_test_qctx_destroy
      Src: /src/bind9/tests/ns/query_test.c:1639,1
    - Dst: ns_test_cleanup_zone
      Src: /src/bind9/tests/ns/query_test.c:1640,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:1643,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/ns/query_test.c:1647,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - test
    argTypes:
    - ns__query_hook_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1553
    functionDepth: 2
    functionLinenumber: 1553
    functionLinenumberEnd: 1649
    functionName: ns__query_test_run_hookchain_test
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - ns_test_qctx_create
    - ns__query_test_setup_hooks
    - INSIST
    - ns_test_cleanup_zone
    - ns_test_qctx_destroy
    - ns_test_serve_zone
    - ns__query_start
    - assert_string_equal
    - isc_nmhandle_attach
    - ns_hooktable_free
    - ns_query_done
    - ns_test_serve_zone_sethooktab
    linkageType: ''
    returnType: void
    signature: void ns__query_test_run_hookchain_test(const ns__query_hook_test_params_t
      *test)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/ns/query_test.c:1709,1
    - Dst: ns__query_test_run_hookchain_test
      Src: /src/bind9/tests/ns/query_test.c:1710,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/ns/query_test.c:1713,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/ns/query_test.c:1713,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/ns/query_test.c:1714,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1651
    functionDepth: 3
    functionLinenumber: 1651
    functionLinenumberEnd: 1715
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/ns/query_test.c
    functionUses: 0
    functionsReached:
    - isc_loop_main
    - isc_loop_teardown
    - isc_loopmgr_shutdown
    - ns__query_test_run_hookchain_test
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(ns__query_hookchain)
  - 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: 17
    functionsReached:
    - snprintf
    - strlen
    linkageType: ''
    returnType: void
    signature: void append(void *arg, const char *str, int len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/isccfg/parser_test.c:75,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/isccfg/parser_test.c:79,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/parser_test.c:79,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/parser_test.c:80,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/parser_test.c:80,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/parser_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:84,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/parser_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:91,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/parser_test.c:93,1
    - Dst: cfg_list_first
      Src: /src/bind9/tests/isccfg/parser_test.c:93,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:94,1
    - Dst: strlcpy
      Src: /src/bind9/tests/isccfg/parser_test.c:96,1
    - Dst: cfg_printx
      Src: /src/bind9/tests/isccfg/parser_test.c:97,1
    - Dst: strlcat
      Src: /src/bind9/tests/isccfg/parser_test.c:98,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:99,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/tests/isccfg/parser_test.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 103
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - assert_ptr_not_equal
    - strlcat
    - cfg_list_first
    - cfg_map_get
    - cfg_obj_detach
    - assert_int_equal
    - cfg_parse_buffer
    - cfg_listelt_value
    - assert_string_equal
    - isc_buffer_add
    - strlen
    - strlcpy
    - cfg_printx
    - isc_buffer_constinit
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(addzoneconf)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/bind9/tests/isccfg/parser_test.c:120,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:121,1
    - Dst: ISC_LOGDESTINATION_FILE
      Src: /src/bind9/tests/isccfg/parser_test.c:123,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/tests/isccfg/parser_test.c:124,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/tests/isccfg/parser_test.c:125,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/parser_test.c:131,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/parser_test.c:132,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/parser_test.c:133,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:134,1
    - Dst: assert_null
      Src: /src/bind9/tests/isccfg/parser_test.c:135,1
    - Dst: isc_buffer_first
      Src: /src/bind9/tests/isccfg/parser_test.c:138,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_null
      Src: /src/bind9/tests/isccfg/parser_test.c:142,1
    - Dst: isc_buffer_first
      Src: /src/bind9/tests/isccfg/parser_test.c:145,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/parser_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:147,1
    - Dst: assert_null
      Src: /src/bind9/tests/isccfg/parser_test.c:148,1
    - Dst: ftell
      Src: /src/bind9/tests/isccfg/parser_test.c:151,1
    - Dst: assert_uint_in_range
      Src: /src/bind9/tests/isccfg/parser_test.c:152,1
    - Dst: fseek
      Src: /src/bind9/tests/isccfg/parser_test.c:154,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:155,1
    - Dst: fread
      Src: /src/bind9/tests/isccfg/parser_test.c:157,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:158,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:162,1
    - Dst: strstr
      Src: /src/bind9/tests/isccfg/parser_test.c:163,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:164,1
    - Dst: strstr
      Src: /src/bind9/tests/isccfg/parser_test.c:165,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:166,1
    - Dst: strstr
      Src: /src/bind9/tests/isccfg/parser_test.c:167,1
    - Dst: fclose
      Src: /src/bind9/tests/isccfg/parser_test.c:169,1
    - Dst: remove
      Src: /src/bind9/tests/isccfg/parser_test.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 171
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - remove
    - isc_buffer_init
    - fopen
    - assert_non_null
    - isc_log_createandusechannel
    - isc_logconfig_get
    - assert_int_equal
    - cfg_parse_buffer
    - ftell
    - isc_buffer_first
    - fread
    - isc_buffer_add
    - strstr
    - assert_uint_in_range
    - fseek
    - fclose
    - assert_null
    - ISC_LOGDESTINATION_FILE
    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:179,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:180,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:181,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:182,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 184
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - assert_int_equal
    - 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:192,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:193,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:194,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:195,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:196,1
    - Dst: cfg_map_nextclause
      Src: /src/bind9/tests/isccfg/parser_test.c:199,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/parser_test.c:201,1
    - Dst: assert_null
      Src: /src/bind9/tests/isccfg/parser_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:204,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 207
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - cfg_map_firstclause
    - assert_non_null
    - assert_int_equal
    - cfg_map_nextclause
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(cfg_map_nextclause)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/isccfg/parser_test.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - closure
    - text
    - textlen
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 213
    functionName: cfg_clone_copy_dumpconf
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    linkageType: ''
    returnType: void
    signature: void cfg_clone_copy_dumpconf(void *closure, const char *text, int textlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/parser_test.c:267,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/parser_test.c:268,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/parser_test.c:270,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:271,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/parser_test.c:273,1
    - Dst: cfg_printx
      Src: /src/bind9/tests/isccfg/parser_test.c:274,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isccfg/parser_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:281,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:282,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/tests/isccfg/parser_test.c:288,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/tests/isccfg/parser_test.c:289,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/parser_test.c:295,1
    - Dst: cfg_printx
      Src: /src/bind9/tests/isccfg/parser_test.c:296,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isccfg/parser_test.c:298,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/tests/isccfg/parser_test.c:299,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:300,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/isccfg/parser_test.c:301,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/tests/isccfg/parser_test.c:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 304
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - cfg_obj_clone
    - isc_buffer_remaininglength
    - cfg_obj_detach
    - assert_int_equal
    - cfg_parse_buffer
    - isc_buffer_add
    - cfg_printx
    - isc_buffer_init
    - assert_memory_equal
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(cfg_clone_copy)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_findclause
      Src: /src/bind9/tests/isccfg/parser_test.c:313,1
    - Dst: assert_null
      Src: /src/bind9/tests/isccfg/parser_test.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 316
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/parser_test.c
    functionUses: 0
    functionsReached:
    - assert_null
    - cfg_map_findclause
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(cfg_map_findclause_empty)
  - 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_log_createandusechannel
    - isc_logconfig_get
    - isc_buffer_init
    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:
    - strcasecmp
    - assert_int_equal
    - isc_buffer_base
    - memset
    - isc_buffer_clear
    linkageType: ''
    returnType: void
    signature: void assert_text(const char *text)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_findclause
      Src: /src/bind9/tests/isccfg/grammar_test.c:79,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/grammar_test.c:80,1
    - Dst: cfg_map_findclause
      Src: /src/bind9/tests/isccfg/grammar_test.c:83,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/grammar_test.c:84,1
    - Dst: cfg_clausedef_t*::type::doc
      Src: /src/bind9/tests/isccfg/grammar_test.c:85,1
    - Dst: assert_text
      Src: /src/bind9/tests/isccfg/grammar_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - clause_name
    - name
    - expected
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 87
    functionName: test__querysource
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - cfg_map_findclause
    - 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:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 89
    functionDepth: 3
    functionLinenumber: 89
    functionLinenumberEnd: 92
    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:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 94
    functionDepth: 3
    functionLinenumber: 94
    functionLinenumberEnd: 97
    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:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 3
    functionLinenumber: 99
    functionLinenumberEnd: 102
    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:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 107
    functionName: 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: isc_buffer_constinit
      Src: /src/bind9/tests/isccfg/grammar_test.c:115,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/grammar_test.c:115,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/grammar_test.c:116,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/grammar_test.c:116,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/grammar_test.c:118,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/grammar_test.c:120,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/grammar_test.c:121,1
    - Dst: cfg_obj_t*::type::print
      Src: /src/bind9/tests/isccfg/grammar_test.c:126,1
    - Dst: assert_text
      Src: /src/bind9/tests/isccfg/grammar_test.c:127,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/tests/isccfg/grammar_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - config
    - expected
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 130
    functionName: test__query_source_print
    functionSourceFile: /src/bind9/tests/isccfg/grammar_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - cfg_obj_detach
    - assert_int_equal
    - assert_text
    - cfg_parse_buffer
    - isc_buffer_add
    - strlen
    - isc_buffer_constinit
    - cfg_obj_t*::type::print
    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:133,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:135,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:138,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 132
    functionDepth: 3
    functionLinenumber: 132
    functionLinenumberEnd: 142
    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:145,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:147,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:149,1
    - Dst: test__query_source_print
      Src: /src/bind9/tests/isccfg/grammar_test.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 153
    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:126,1
    - Dst: snprintf
      Src: /src/bind9/tests/isccfg/duration_test.c:140,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/isccfg/duration_test.c:142,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:142,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/isccfg/duration_test.c:143,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:143,1
    - Dst: cfg_parse_buffer
      Src: /src/bind9/tests/isccfg/duration_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:149,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:152,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/duration_test.c:154,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:155,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/duration_test.c:162,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:165,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:167,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/duration_test.c:168,1
    - Dst: cfg_list_first
      Src: /src/bind9/tests/isccfg/duration_test.c:170,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:171,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/duration_test.c:173,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:174,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:176,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:177,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:179,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/tests/isccfg/duration_test.c:180,1
    - Dst: cfg_print_duration_or_unlimited
      Src: /src/bind9/tests/isccfg/duration_test.c:182,1
    - Dst: strncasecmp
      Src: /src/bind9/tests/isccfg/duration_test.c:183,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:186,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:187,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/tests/isccfg/duration_test.c:190,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 192
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/isccfg/duration_test.c
    functionUses: 0
    functionsReached:
    - cfg_print_duration_or_unlimited
    - strncasecmp
    - cfg_obj_asduration
    - assert_non_null
    - cfg_map_get
    - cfg_tuple_get
    - assert_int_equal
    - cfg_list_first
    - cfg_parse_buffer
    - cfg_listelt_value
    - cfg_obj_detach
    - snprintf
    - isc_buffer_add
    - strlen
    - ARRAY_SIZE
    - isc_buffer_init
    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:162,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:165,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:167,1
    - Dst: cfg_map_get
      Src: /src/bind9/tests/isccfg/duration_test.c:168,1
    - Dst: cfg_list_first
      Src: /src/bind9/tests/isccfg/duration_test.c:170,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:171,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/tests/isccfg/duration_test.c:173,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:174,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/tests/isccfg/duration_test.c:176,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/isccfg/duration_test.c:177,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:179,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/tests/isccfg/duration_test.c:180,1
    - Dst: cfg_print_duration_or_unlimited
      Src: /src/bind9/tests/isccfg/duration_test.c:182,1
    - Dst: strncasecmp
      Src: /src/bind9/tests/isccfg/duration_test.c:183,1
    - Dst: strlen
      Src: /src/bind9/tests/isccfg/duration_test.c:186,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/isccfg/duration_test.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 188
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/tests/isccfg/duration_test.c
    functionUses: 0
    functionsReached:
    - cfg_print_duration_or_unlimited
    - strncasecmp
    - cfg_obj_asduration
    - assert_non_null
    - cfg_map_get
    - cfg_list_first
    - cfg_tuple_get
    - assert_int_equal
    - cfg_listelt_value
    - strlen
    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_stdtime_now
    - dns_badcache_find
    - assert_int_equal
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_badcache_destroy
    - dns_name_fromstring
    - dns_badcache_new
    - dns_badcache_add
    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_stdtime_now
    - dns_badcache_find
    - assert_int_equal
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_badcache_destroy
    - dns_name_fromstring
    - dns_badcache_new
    - dns_badcache_add
    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
    - ARRAY_SIZE
    - assert_ptr_not_equal
    - isc_stdtime_now
    - fopen
    - assert_int_equal
    - assert_true
    - fread
    - isc_loopmgr_shutdown
    - strlen
    - dns_fixedname_initname
    - strtol
    - fclose
    - dns_name_fromstring
    - dns_badcache_destroy
    - dns_badcache_print
    - dns_badcache_new
    - dns_badcache_add
    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_stdtime_now
    - dns_badcache_find
    - assert_int_equal
    - dns_badcache_flush
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_badcache_destroy
    - dns_name_fromstring
    - dns_badcache_new
    - dns_badcache_add
    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_stdtime_now
    - dns_badcache_find
    - assert_int_equal
    - dns_badcache_flushname
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_badcache_destroy
    - dns_name_fromstring
    - dns_badcache_new
    - dns_badcache_add
    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_stdtime_now
    - dns_badcache_find
    - dns_badcache_flushtree
    - assert_int_equal
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_badcache_destroy
    - dns_name_fromstring
    - dns_badcache_new
    - dns_badcache_add
    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_stdtime_now
    - dns_badcache_find
    - assert_int_equal
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_badcache_destroy
    - dns_name_fromstring
    - dns_badcache_new
    - dns_badcache_add
    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: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: 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:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 61
    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:99,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/keytable_test.c:100,1
    - Dst: UNCONST
      Src: /src/bind9/tests/dns/keytable_test.c:100,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/keytable_test.c:100,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/keytable_test.c:101,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/keytable_test.c:101,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:102,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/keytable_test.c:102,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - namestr
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 106
    functionName: str2name
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - assert_int_equal
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - UNCONST
    - isc_buffer_init
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      str2name(const char *namestr)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/keytable_test.c:123,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:124,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/tests/dns/keytable_test.c:124,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/keytable_test.c:126,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/dns/keytable_test.c:128,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/keytable_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    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: 130
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 130
    functionName: create_keystruct
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_base64_decodestring
    - assert_int_equal
    - isc_mem_allocate
    - isc_buffer_usedregion
    - isc_buffer_init
    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:145,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/keytable_test.c:150,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/keytable_test.c:151,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:154,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/tests/dns/keytable_test.c:159,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:161,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:163,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: 164
      start: 132
    functionDepth: 2
    functionLinenumber: 132
    functionLinenumberEnd: 164
    functionName: create_dsstruct
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - create_keystruct
    - assert_int_equal
    - dns_rdata_freestruct
    - dns_rdata_fromstruct
    - dns_ds_fromkeyrdata
    - isc_buffer_init
    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:172,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/keytable_test.c:173,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:175,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/keytable_test.c:175,1
    - Dst: dns_keytable_create
      Src: /src/bind9/tests/dns/keytable_test.c:178,1
    - Dst: dns_ntatable_create
      Src: /src/bind9/tests/dns/keytable_test.c:179,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:182,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:183,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:185,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:185,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:190,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:191,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:193,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:193,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:198,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/tests/dns/keytable_test.c:199,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:199,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:203,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/tests/dns/keytable_test.c:203,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 207
    functionName: create_tables
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_test_makeview
    - dns_keytable_create
    - dns_ntatable_create
    - isc_stdtime_now
    - create_dsstruct
    - str2name
    - assert_int_equal
    - dns_ntatable_add
    - dns_test_namefromstring
    - dns_fixedname_name
    - dns_keytable_marksecure
    - dns_keytable_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:212,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:213,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:216,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/keytable_test.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: destroy_tables
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_ntatable_shutdown
    - dns_keytable_detach
    - dns_view_detach
    - 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:229,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:231,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:233,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:238,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:239,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:239,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:246,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:247,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:249,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:249,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:252,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:253,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:254,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:254,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:258,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:259,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:261,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:261,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:264,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:265,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:265,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:267,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:274,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:275,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:275,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:277,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:277,1
    - Dst: dns_keynode_trust
      Src: /src/bind9/tests/dns/keytable_test.c:278,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:279,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:279,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:280,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:287,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:288,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:290,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:290,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:293,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:294,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:294,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:296,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:296,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:297,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:305,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:305,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:308,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:309,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:309,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:311,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:311,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:312,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:318,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:319,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:321,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:321,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:324,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:325,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:325,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:327,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:327,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:328,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:336,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:338,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:338,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:341,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:342,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:342,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:344,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/tests/dns/keytable_test.c:344,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:345,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:351,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:351,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:351,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:354,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:355,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:357,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:357,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:360,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:361,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:361,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/keytable_test.c:363,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:364,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:372,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/tests/dns/keytable_test.c:373,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:373,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:375,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:375,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:375,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/keytable_test.c:378,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:379,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:381,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:382,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 54
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 223
    functionDepth: 4
    functionLinenumber: 223
    functionLinenumberEnd: 385
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_keynode_initial
    - dns_keynode_trust
    - UNUSED
    - assert_ptr_equal
    - create_tables
    - dns_keytable_find
    - str2name
    - create_dsstruct
    - assert_int_equal
    - isc_loopmgr_shutdown
    - dns_test_namefromstring
    - destroy_tables
    - dns_keynode_detach
    - dns_fixedname_name
    - dns_keytable_marksecure
    - dns_keytable_add
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(add)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:389,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:391,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:394,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:394,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:394,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:397,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:397,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:398,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:401,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:401,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:401,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:406,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:406,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:406,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:411,1
    - Dst: dns_ntatable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:412,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:412,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:415,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 418
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_ntatable_delete
    - UNUSED
    - create_tables
    - str2name
    - assert_int_equal
    - isc_loopmgr_shutdown
    - destroy_tables
    - dns_keytable_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:424,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:426,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:428,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:431,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:432,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:433,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:433,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:435,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:438,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:439,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:440,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:440,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:442,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:445,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:446,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:447,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:447,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:449,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:456,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:457,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:457,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:459,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:459,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:466,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:466,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:468,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:468,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:470,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:476,1
    - Dst: create_keystruct
      Src: /src/bind9/tests/dns/keytable_test.c:477,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:478,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/tests/dns/keytable_test.c:478,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:480,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:480,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/keytable_test.c:482,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:484,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 421
    functionDepth: 4
    functionLinenumber: 421
    functionLinenumberEnd: 487
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - create_keystruct
    - UNUSED
    - create_tables
    - assert_int_equal
    - dns_rdata_freestruct
    - isc_loopmgr_shutdown
    - dns_test_namefromstring
    - destroy_tables
    - dns_keytable_delete
    - dns_fixedname_name
    - dns_keytable_deletekey
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(deletekey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:495,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:497,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:503,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:504,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:504,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:506,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:506,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:507,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:510,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:511,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:511,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:513,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:514,1
    - Dst: dns_keytable_find
      Src: /src/bind9/tests/dns/keytable_test.c:515,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:515,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/tests/dns/keytable_test.c:517,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/keytable_test.c:523,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:524,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:524,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:525,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:527,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/keytable_test.c:527,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:527,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:528,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:528,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:529,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:531,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/keytable_test.c:531,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:531,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:532,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:532,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:533,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:535,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/tests/dns/keytable_test.c:535,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:536,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:538,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/keytable_test.c:538,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:538,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:540,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:542,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 543
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_equal
    - create_tables
    - dns_keytable_find
    - str2name
    - assert_int_equal
    - assert_true
    - isc_loopmgr_shutdown
    - destroy_tables
    - dns_fixedname_initname
    - dns_keynode_detach
    - dns_keytable_finddeepestmatch
    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_true
      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:561,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:569,1
    - Dst: dns_keytable_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:569,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:570,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:572,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:574,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 546
    functionDepth: 4
    functionLinenumber: 546
    functionLinenumberEnd: 575
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - create_tables
    - str2name
    - assert_true
    - isc_loopmgr_shutdown
    - destroy_tables
    - dns_keytable_issecuredomain
    - 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:579,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/keytable_test.c:581,1
    - Dst: create_tables
      Src: /src/bind9/tests/dns/keytable_test.c:583,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:589,1
    - Dst: dns_keytable_dump
      Src: /src/bind9/tests/dns/keytable_test.c:589,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/keytable_test.c:590,1
    - Dst: destroy_tables
      Src: /src/bind9/tests/dns/keytable_test.c:592,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 578
    functionDepth: 4
    functionLinenumber: 578
    functionLinenumberEnd: 595
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - create_tables
    - fopen
    - assert_int_equal
    - isc_loopmgr_shutdown
    - destroy_tables
    - dns_keytable_dump
    - fclose
    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:602,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/keytable_test.c:606,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/keytable_test.c:608,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:609,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/tests/dns/keytable_test.c:611,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/tests/dns/keytable_test.c:613,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:614,1
    - Dst: dns_view_initntatable
      Src: /src/bind9/tests/dns/keytable_test.c:616,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/tests/dns/keytable_test.c:617,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:618,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/keytable_test.c:620,1
    - Dst: create_dsstruct
      Src: /src/bind9/tests/dns/keytable_test.c:621,1
    - Dst: dns_keytable_add
      Src: /src/bind9/tests/dns/keytable_test.c:623,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:625,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/tests/dns/keytable_test.c:627,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:627,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:629,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:632,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:632,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:633,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:634,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:637,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:637,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:638,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:640,1
    - Dst: dns_view_ntacovers
      Src: /src/bind9/tests/dns/keytable_test.c:643,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:643,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:645,1
    - Dst: dns_view_ntacovers
      Src: /src/bind9/tests/dns/keytable_test.c:648,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:648,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:650,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:653,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:653,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:654,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:656,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:659,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:659,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:660,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:661,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/tests/dns/keytable_test.c:663,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:663,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:665,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:667,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:667,1
    - Dst: str2name
      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_ntatable_delete
      Src: /src/bind9/tests/dns/keytable_test.c:671,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:671,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/keytable_test.c:672,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/keytable_test.c:674,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/tests/dns/keytable_test.c:674,1
    - Dst: str2name
      Src: /src/bind9/tests/dns/keytable_test.c:675,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/keytable_test.c:676,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/keytable_test.c:678,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:681,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/tests/dns/keytable_test.c:682,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/keytable_test.c:683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 684
      start: 598
    functionDepth: 3
    functionLinenumber: 598
    functionLinenumberEnd: 684
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/keytable_test.c
    functionUses: 0
    functionsReached:
    - dns_ntatable_delete
    - dns_test_makeview
    - dns_view_ntacovers
    - assert_int_equal
    - dns_view_issecuredomain
    - dns_view_getntatable
    - str2name
    - dns_view_detach
    - dns_view_getsecroots
    - assert_false
    - dns_ntatable_add
    - dns_view_initsecroots
    - isc_stdtime_now
    - dns_keytable_detach
    - create_dsstruct
    - assert_true
    - dns_test_namefromstring
    - dns_view_initntatable
    - dns_ntatable_detach
    - dns_keytable_add
    - isc_loopmgr_shutdown
    - dns_fixedname_name
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(nta)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: make_leaf
      Src: /src/bind9/tests/dns/qp_test.c:58,1
    - Dst: dns_name_reset
      Src: /src/bind9/tests/dns/qp_test.c:59,1
    - Dst: leaf_qpkey
      Src: /src/bind9/tests/dns/qp_test.c:60,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/tests/dns/qp_test.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - qp
    - pval
    - ival
    - name
    argTypes:
    - dns_qpreader_t*
    - void*
    - uint32_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 63
    functionName: maybe_set_name
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - leaf_qpkey
    - dns_name_reset
    - make_leaf
    - dns_qpkey_toname
    linkageType: ''
    returnType: void
    signature: "void maybe_set_name(dns_qpreader_t *qp, void *pval, uint32_t ival,\n\t
      \      dns_name_t *name)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterate
      Src: /src/bind9/tests/dns/qp_test.c:72,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/tests/dns/qp_test.c:74,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/tests/dns/qp_test.c:75,1
    - Dst: maybe_set_name
      Src: /src/bind9/tests/dns/qp_test.c:76,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - qpi
    - name
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 79
    functionName: qpiter_next_with_name
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - iterate
    - maybe_set_name
    - SET_IF_NOT_NULL
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpiter_next_with_name(dns_qpiter_t *qpi, dns_name_t *name,
      void **pval_r,\n\t\t      uint32_t *ival_r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: iterate
      Src: /src/bind9/tests/dns/qp_test.c:88,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/tests/dns/qp_test.c:90,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/tests/dns/qp_test.c:91,1
    - Dst: maybe_set_name
      Src: /src/bind9/tests/dns/qp_test.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - qpi
    - name
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: qpiter_prev_with_name
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - iterate
    - maybe_set_name
    - SET_IF_NOT_NULL
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpiter_prev_with_name(dns_qpiter_t *qpi, dns_name_t *name,
      void **pval_r,\n\t\t      uint32_t *ival_r)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpiter_current
      Src: /src/bind9/tests/dns/qp_test.c:104,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/tests/dns/qp_test.c:106,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/tests/dns/qp_test.c:107,1
    - Dst: maybe_set_name
      Src: /src/bind9/tests/dns/qp_test.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - qpi
    - name
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - dns_name_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 111
    functionName: qpiter_current_with_name
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - dns_qpiter_current
    - maybe_set_name
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpiter_current_with_name(dns_qpiter_t *qpi, dns_name_t
      *name, void **pval_r,\n\t\t\t uint32_t *ival_r)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qp_test.c:191,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:199,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:201,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/dns/qp_test.c:203,1
    - Dst: qp_test_printkey
      Src: /src/bind9/tests/dns/qp_test.c:205,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:208,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/qp_test.c:209,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:211,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/tests/dns/qp_test.c:212,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:213,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:213,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:214,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/tests/dns/qp_test.c:216,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/qp_test.c:217,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 219
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - qp_test_printkey
    - dns_qpkey_toname
    - dns_name_equal
    - dns_name_format
    - assert_int_equal
    - assert_true
    - dns_test_namefromstring
    - dns_fixedname_initname
    - dns_qpkey_fromname
    - assert_memory_equal
    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:249,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:250,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/qp_test.c:252,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/dns/qp_test.c:253,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qp_test.c:258,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qp_test.c:259,1
    - Dst: dns_name_compare
      Src: /src/bind9/tests/dns/qp_test.c:260,1
    - Dst: ISC_MIN
      Src: /src/bind9/tests/dns/qp_test.c:262,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/qp_test.c:265,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:268,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:269,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:270,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:274,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:275,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 279
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - assert_true
    - ISC_MIN
    - memcmp
    - dns_name_compare
    - dns_test_namefromstring
    - dns_fixedname_name
    - dns_qpkey_fromname
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpkey_sort)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_uint_in_range
      Src: /src/bind9/tests/dns/qp_test.c:286,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qp_test.c:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 288
    functionName: check_leaf
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_uint_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:292,1
    - Dst: snprintf
      Src: /src/bind9/tests/dns/qp_test.c:295,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: 305
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 305
    functionName: qpiter_makekey
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - snprintf
    - check_leaf
    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:309,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:310,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 312
    functionName: getname
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 34
    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:331,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/dns/qp_test.c:333,1
    - Dst: qpiter_makekey
      Src: /src/bind9/tests/dns/qp_test.c:342,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/dns/qp_test.c:343,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/tests/dns/qp_test.c:346,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qp_test.c:347,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:348,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/tests/dns/qp_test.c:354,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:355,1
    - Dst: assert_uint_in_range
      Src: /src/bind9/tests/dns/qp_test.c:356,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:357,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/qp_test.c:358,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:367,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:374,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:377,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/tests/dns/qp_test.c:380,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:381,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:382,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:385,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:388,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:389,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/tests/dns/qp_test.c:392,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:393,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:394,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:399,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:407,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:407,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:409,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:411,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:411,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:413,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:415,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:415,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:417,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:419,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/tests/dns/qp_test.c:419,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:421,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:423,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:423,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:425,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:427,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/tests/dns/qp_test.c:427,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:432,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 433
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_init
    - dns_qpiter_next
    - isc_random_uniform
    - assert_ptr_equal
    - dns_qpiter_current
    - assert_int_equal
    - dns_qp_deletekey
    - dns_qp_destroy
    - assert_uint_in_range
    - dns_qp_insert
    - dns_qp_create
    - qpiter_makekey
    - dns_qpiter_prev
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:437,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:438,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qp_test.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - uctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 435
    functionDepth: 0
    functionLinenumber: 435
    functionLinenumberEnd: 440
    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:447,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:448,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/dns/qp_test.c:449,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/qp_test.c:449,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: 450
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: qpkey_fromstring
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_name
    - dns_test_namefromstring
    - UNUSED
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: size_t qpkey_fromstring(dns_qpkey_t key, void *uctx, void *pval, uint32_t
      ival)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:471,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:472,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:476,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/tests/dns/qp_test.c:477,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/dns/qp_test.c:478,1
    - Dst: maybe_set_name
      Src: /src/bind9/tests/dns/qp_test.c:485,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:490,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:494,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:495,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:499,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:501,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:501,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/qp_test.c:514,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/qp_test.c:515,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qp_test.c:517,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:517,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:518,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/tests/dns/qp_test.c:519,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qp_test.c:523,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/qp_test.c:525,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - qp
    - check
    - space
    argTypes:
    - dns_qp_t*
    - struct check_partialmatch[]
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 528
    functionName: check_partialmatch
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpchain_init
    - maybe_set_name
    - dns_name_equal
    - fprintf
    - assert_int_equal
    - assert_true
    - assert_string_equal
    - dns_name_issubdomain
    - dns_test_namefromstring
    - dns_fixedname_initname
    - dns_qp_lookup
    - assert_null
    - assert_false
    - dns_name_isabsolute
    - isc_result_totext
    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:535,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/dns/qp_test.c:536,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:537,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: 538
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: insert_name
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qp_insert
    - assert_int_equal
    - INSIST
    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:544,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:545,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qp
    - space
    argTypes:
    - dns_qp_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 546
    functionName: delete_rootkey
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_qp_deletekey
    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:552,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:567,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:568,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:569,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:588,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:589,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:590,1
    - Dst: INSIST
      Src: /src/bind9/tests/dns/qp_test.c:593,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:594,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:595,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:596,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:606,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:607,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:608,1
    - Dst: delete_rootkey
      Src: /src/bind9/tests/dns/qp_test.c:614,1
    - Dst: delete_rootkey
      Src: /src/bind9/tests/dns/qp_test.c:615,1
    - Dst: delete_rootkey
      Src: /src/bind9/tests/dns/qp_test.c:616,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:623,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:624,1
    - Dst: check_partialmatch
      Src: /src/bind9/tests/dns/qp_test.c:625,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 548
    functionDepth: 3
    functionLinenumber: 548
    functionLinenumberEnd: 628
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - INSIST
    - check_partialmatch
    - dns_qp_destroy
    - dns_qp_create
    - delete_rootkey
    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:644,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/tests/dns/qp_test.c:647,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:648,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/dns/qp_test.c:649,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:652,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:655,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:656,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/tests/dns/qp_test.c:657,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:660,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:661,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/tests/dns/qp_test.c:661,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:664,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:665,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:666,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/tests/dns/qp_test.c:669,1
    - Dst: maybe_set_name
      Src: /src/bind9/tests/dns/qp_test.c:670,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/qp_test.c:673,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:674,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qp_test.c:677,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/qp_test.c:677,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - qp
    - check
    - iter
    argTypes:
    - dns_qp_t*
    - struct check_qpchain[]
    - dns_qpiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 680
      start: 638
    functionDepth: 2
    functionLinenumber: 638
    functionLinenumberEnd: 680
    functionName: check_qpchainiter
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpchain_init
    - dns_qpchain_node
    - maybe_set_name
    - dns_name_equal
    - dns_name_format
    - fprintf
    - assert_int_equal
    - assert_true
    - dns_test_namefromstring
    - dns_fixedname_initname
    - dns_qp_lookup
    - dns_qpchain_length
    - isc_result_totext
    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:685,1
    - Dst: check_qpchainiter
      Src: /src/bind9/tests/dns/qp_test.c:686,1
    - Dst: check_qpchainiter
      Src: /src/bind9/tests/dns/qp_test.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - qp
    - check
    argTypes:
    - dns_qp_t*
    - struct check_qpchain[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 682
    functionDepth: 3
    functionLinenumber: 682
    functionLinenumberEnd: 688
    functionName: check_qpchain
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_init
    - check_qpchainiter
    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:698,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:701,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:702,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:703,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:803,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:804,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:810,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:813,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:814,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:815,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:838,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:839,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 690
    functionDepth: 4
    functionLinenumber: 690
    functionLinenumberEnd: 840
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_create
    - check_qpchain
    - dns_qp_destroy
    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:856,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:857,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:864,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qp_test.c:872,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:874,1
    - Dst: dns_name_tostring
      Src: /src/bind9/tests/dns/qp_test.c:875,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:876,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/dns/qp_test.c:878,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:881,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:887,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:888,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:890,1
    - Dst: qpiter_prev_with_name
      Src: /src/bind9/tests/dns/qp_test.c:897,1
    - Dst: qpiter_prev_with_name
      Src: /src/bind9/tests/dns/qp_test.c:899,1
    - Dst: qpiter_current_with_name
      Src: /src/bind9/tests/dns/qp_test.c:907,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:910,1
    - Dst: dns_name_tostring
      Src: /src/bind9/tests/dns/qp_test.c:912,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:914,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:917,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/qp_test.c:918,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:919,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:922,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/qp_test.c:924,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/qp_test.c:925,1
    - Dst: qpiter_next_with_name
      Src: /src/bind9/tests/dns/qp_test.c:928,1
    - Dst: dns_name_tostring
      Src: /src/bind9/tests/dns/qp_test.c:932,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:933,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:934,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/qp_test.c:935,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:941,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:945,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: 947
      start: 851
    functionDepth: 3
    functionLinenumber: 851
    functionLinenumberEnd: 947
    functionName: check_predecessors_withchain
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - qpiter_current_with_name
    - dns_name_tostring
    - fprintf
    - assert_int_equal
    - assert_string_equal
    - isc_mem_free
    - dns_test_namefromstring
    - dns_fixedname_initname
    - qpiter_next_with_name
    - qpiter_prev_with_name
    - dns_qp_lookup
    - isc_result_totext
    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:952,1
    - Dst: check_predecessors_withchain
      Src: /src/bind9/tests/dns/qp_test.c:953,1
    - Dst: check_predecessors_withchain
      Src: /src/bind9/tests/dns/qp_test.c:954,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - qp
    - check
    argTypes:
    - dns_qp_t*
    - struct check_predecessors[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 955
      start: 949
    functionDepth: 4
    functionLinenumber: 949
    functionLinenumberEnd: 955
    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:967,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:969,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:970,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:971,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1211,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1215,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1216,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1217,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1455,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 957
    functionDepth: 5
    functionLinenumber: 957
    functionLinenumberEnd: 1458
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_create
    - check_predecessors
    - dns_qp_destroy
    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:1486,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1488,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1489,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1490,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1547,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1548,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1553,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1555,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1556,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1557,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1593,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1594,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1604,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1606,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1607,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1608,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1625,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1626,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:1632,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1634,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1635,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1636,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1679,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:1680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1681
      start: 1464
    functionDepth: 5
    functionLinenumber: 1464
    functionLinenumberEnd: 1681
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - dns_qp_create
    - check_predecessors
    - dns_qp_destroy
    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:1703,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/tests/dns/qp_test.c:1706,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qp_test.c:1707,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/tests/dns/qp_test.c:1708,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/qp_test.c:1711,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:1712,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/qp_test.c:1713,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:1715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - check
    argTypes:
    - dns_qp_t*
    - struct check_delete[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1698
    functionDepth: 1
    functionLinenumber: 1698
    functionLinenumberEnd: 1717
    functionName: check_delete
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - dns_qpchain_init
    - fprintf
    - assert_int_equal
    - dns_test_namefromstring
    - dns_qp_deletename
    - dns_fixedname_initname
    - isc_result_totext
    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:1756,1
    - Dst: insert_name
      Src: /src/bind9/tests/dns/qp_test.c:1759,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:1868,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:1943,1
    - Dst: check_delete
      Src: /src/bind9/tests/dns/qp_test.c:1958,1
    - Dst: check_delete
      Src: /src/bind9/tests/dns/qp_test.c:1973,1
    - Dst: check_qpchain
      Src: /src/bind9/tests/dns/qp_test.c:2053,1
    - Dst: check_predecessors
      Src: /src/bind9/tests/dns/qp_test.c:2128,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:2130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2131
      start: 1719
    functionDepth: 5
    functionLinenumber: 1719
    functionLinenumberEnd: 2131
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - insert_name
    - check_delete
    - check_predecessors
    - dns_qp_destroy
    - dns_qp_create
    - check_qpchain
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpkey_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/dns/qp_test.c:2135,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:2136,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/dns/qp_test.c:2137,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:2137,1
    - Dst: expect_assert_failure
      Src: /src/bind9/tests/dns/qp_test.c:2138,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:2138,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:2141,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/qp_test.c:2142,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:2144,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qp_test.c:2145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2133
    functionDepth: 1
    functionLinenumber: 2133
    functionLinenumberEnd: 2146
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - expect_assert_failure
    - dns_qp_destroy
    - assert_null
    - dns_qp_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qp_basics)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_create
      Src: /src/bind9/tests/dns/qp_test.c:2152,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/qp_test.c:2153,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/tests/dns/qp_test.c:2155,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:2156,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qp_test.c:2157,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/dns/qp_test.c:2159,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qp_test.c:2160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2148
    functionDepth: 1
    functionLinenumber: 2148
    functionLinenumberEnd: 2161
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qp_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - assert_int_equal
    - dns_qp_destroy
    - dns_qp_memusage
    - assert_null
    - dns_qp_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qp_memusage)
  - 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:
    - assert_true
    - ISC_LIST_HEAD
    - assert_string_equal
    - isc_sockaddr_format
    - irs_resconf_getnameservers
    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:
    - irs_resconf_getsearchlist
    - ISC_LIST_TAIL
    - assert_true
    - ISC_LIST_HEAD
    - assert_string_equal
    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:
    - UNUSED
    - assert_return_code
    - fprintf
    - chdir
    - irs_resconf_destroy
    - fail_msg
    - irs_resconf_load
    - isc_result_totext
    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_fullcompare
    - UNUSED
    - dns_name_fromstring
    - assert_int_equal
    - dns_fixedname_initname
    - dns_fixedname_init
    - dns_name_countlabels
    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:
    - dns_name_init
    - RUNTIME_CHECK
    - assert_int_equal
    - assert_true
    - dns_name_towire
    - isc_buffer_setactive
    - memcmp
    - isc_buffer_putuint16
    - dns_compress_setmultiuse
    - isc_buffer_getuint16
    - dns_name_fromwire
    - isc_buffer_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:
    - compress_test
    - dns_compress_invalidate
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_decompress_setpermitted
    - dns_compress_setpermitted
    - dns_compress_rollback
    - dns_compress_init
    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_compress_invalidate
    - dns_name_init
    - dns_name_fromregion
    - isc_buffer_usedlength
    - assert_int_equal
    - dns_name_towire
    - isc_buffer_clear
    - isc_buffer_putuint16
    - snprintf
    - isc_buffer_add
    - dns_compress_setmultiuse
    - dns_compress_name
    - dns_compress_rollback
    - isc_buffer_init
    - dns_compress_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_init
    - dns_name_setbuffer
    - dns_name_fromregion
    - assert_ptr_equal
    - assert_int_equal
    - assert_true
    - assert_false
    - dns_name_isabsolute
    - isc_buffer_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:
    - UNUSED
    - assert_int_equal
    - dns_name_istat
    - dns_fixedname_initname
    - 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:
    - dns_name_init
    - assert_int_equal
    - assert_true
    - name_attr_zero
    - assert_null
    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:
    - dns_name_init
    - assert_int_equal
    - assert_true
    - dns_name_invalidate
    - name_attr_zero
    - assert_null
    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:
    - UNUSED
    - dns_name_init
    - dns_name_setbuffer
    - assert_ptr_equal
    - assert_true
    - dns_name_hasbuffer
    - isc_buffer_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:
    - UNUSED
    - dns_name_init
    - dns_name_setbuffer
    - dns_name_fromtext
    - assert_int_equal
    - isc_buffer_add
    - strlen
    - isc_buffer_constinit
    - dns_name_isabsolute
    - isc_buffer_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:
    - UNUSED
    - print_message
    - assert_int_equal
    - dns_name_hash
    - dns_fixedname_initname
    - dns_name_fromstring
    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:
    - UNUSED
    - print_message
    - assert_int_equal
    - dns_fixedname_initname
    - dns_name_fromstring
    - dns_name_issubdomain
    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:
    - UNUSED
    - print_message
    - assert_int_equal
    - dns_fixedname_initname
    - dns_name_fromstring
    - dns_name_countlabels
    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:
    - UNUSED
    - assert_int_equal
    - dns_name_getlabel
    - dns_fixedname_initname
    - 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:
    - UNUSED
    - dns_name_init
    - dns_name_equal
    - assert_int_equal
    - assert_true
    - dns_name_getlabelsequence
    - dns_fixedname_initname
    - dns_name_fromstring
    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_int_equal
    - assert_true
    - dns_fixedname_initname
    - dns_name_fromstring
    - dns_name_countlabels
    - dns_name_isvalid
    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:
    - UNUSED
    - dns_name_init
    - dns_decompress_setmethods
    - isc_buffer_setactive
    - dns_decompress_init
    - isc_buffer_add
    - isc_buffer_clear
    - dns_name_fromwire
    - isc_buffer_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:
    - UNUSED
    - isc_time_now
    - isc_time_microdiff
    - printf
    - assert_int_equal
    - ISC_MIN
    - isc_os_ncpus
    - ISC_MAX
    - isc_thread_create
    - isc_thread_join
    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:
    - dns_db_detach
    - assert_int_equal
    - dns_nsec3_maxiterations
    - dns_test_loaddb
    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:
    - assert_int_equal
    - assert_true
    - dns_test_rdatafromstring
    - assert_string_equal
    - strlen
    - dns_nsec3param_salttotext
    - dns_rdata_tostruct
    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:
    - iteration_test
    - UNUSED
    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:
    - UNUSED
    - nsec3param_salttotext_test
    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
    - isc_stdio_open
    - fileno
    - isc_stdio_read
    - isc_mem_get
    - assert_non_null
    - isc_mem_put
    - assert_int_equal
    - isc_file_getsizefd
    - isc_buffer_putuint8
    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:
    - dst_context_verify
    - isc_mem_put
    - dst_key_fromfile
    - fprintf
    - assert_int_equal
    - isc_buffer_add
    - strlen
    - isc_buffer_remainingregion
    - memset
    - isc_stdio_close
    - dst_context_sign
    - isc_stdio_open
    - dns_name_fromtext
    - dst_context_destroy
    - dst_context_create
    - isc_file_getsizefd
    - isc_hex_totext
    - dst_key_free
    - isc_buffer_init
    - assert_non_null
    - sig_fromfile
    - assert_true
    - fileno
    - isc_stdio_read
    - isc_mem_get
    - dns_fixedname_initname
    - isc_buffer_usedregion
    - isc_buffer_constinit
    - dst_context_adddata
    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:
    - check_sig
    - dst_algorithm_supported
    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:
    - dns_name_fromtext
    - dst_key_compare
    - dst_key_fromfile
    - dst_key_pubcompare
    - assert_int_equal
    - assert_true
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - isc_buffer_constinit
    - dst_key_free
    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:
    - dst_context_sign
    - isc_crypto_fips_mode
    - assert_memory_not_equal
    - dns_name_fromtext
    - dst_context_destroy
    - dst_key_fromfile
    - assert_int_equal
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - dst_key_sigsize
    - isc_buffer_allocate
    - dst_context_create
    - isc_buffer_free
    - isc_buffer_region
    - isc_buffer_constinit
    - dst_key_free
    - assert_memory_equal
    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:71,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/tests/dns/nsec3param_test.c:72,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - string
    - salt
    - saltlen
    argTypes:
    - char*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 74
    functionName: decode_salt
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodestring
    - assert_int_equal
    - isc_buffer_init
    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:85,1
    - Dst: decode_salt
      Src: /src/bind9/tests/dns/nsec3param_test.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    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: 93
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 93
    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: 105
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 105
    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:123,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:124,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/nsec3param_test.c:126,1
    - Dst: dns_zone_load
      Src: /src/bind9/tests/dns/nsec3param_test.c:130,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:131,1
    - Dst: copy_params
      Src: /src/bind9/tests/dns/nsec3param_test.c:136,1
    - Dst: copy_params
      Src: /src/bind9/tests/dns/nsec3param_test.c:137,1
    - Dst: dns__zone_lookup_nsec3param
      Src: /src/bind9/tests/dns/nsec3param_test.c:142,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:144,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:145,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nsec3param_test.c:148,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/nsec3param_test.c:149,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/nsec3param_test.c:151,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nsec3param_test.c:153,1
    - Dst: decode_salt
      Src: /src/bind9/tests/dns/nsec3param_test.c:161,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/nsec3param_test.c:162,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nsec3param_test.c:163,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/nsec3param_test.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - test
    argTypes:
    - nsec3param_change_test_params_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 111
    functionDepth: 3
    functionLinenumber: 111
    functionLinenumberEnd: 170
    functionName: nsec3param_change_test
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached:
    - dns_zone_load
    - dns__zone_lookup_nsec3param
    - dns_zone_detach
    - assert_non_null
    - decode_salt
    - assert_int_equal
    - assert_true
    - memcmp
    - dns_zone_setfile
    - dns_test_makezone
    - copy_params
    - assert_false
    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:184,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:185,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:192,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:193,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:201,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:202,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:209,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:210,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:216,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:217,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:224,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:225,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:231,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:232,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:238,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:239,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:246,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:247,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:253,1
    - Dst: rdata_fromparams
      Src: /src/bind9/tests/dns/nsec3param_test.c:254,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/nsec3param_test.c:258,1
    - Dst: nsec3param_change_test
      Src: /src/bind9/tests/dns/nsec3param_test.c:264,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 172
    functionDepth: 4
    functionLinenumber: 172
    functionLinenumberEnd: 266
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nsec3param_test.c
    functionUses: 0
    functionsReached:
    - nsec3param_change_test
    - UNUSED
    - rdata_fromparams
    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:
    - dns_acl_detach
    - UNUSED
    - dns_acl_create
    - dns_acl_any
    - dns_acl_merge
    - assert_non_null
    - dns_acl_none
    - assert_int_equal
    - assert_true
    - dns_acl_isinsecure
    - assert_false
    - strlcpy
    - dns_acl_node_count
    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_rdatasetstats_increment
    - DNS_RDATASTATSTYPE_VALUE
    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_rdatasetstats_increment
    - DNS_RDATASTATSTYPE_VALUE
    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_increment
    - dns_rdatasetstats_decrement
    - DNS_RDATASTATSTYPE_VALUE
    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_increment
    - dns_rdatasetstats_decrement
    - DNS_RDATASTATSTYPE_VALUE
    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:
    - ATTRIBUTE_SET
    - UNUSED
    - fprintf
    - DNS_RDATASTATSTYPE_ATTR
    - assert_int_equal
    - DNS_RDATASTATSTYPE_BASE
    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:
    - ATTRIBUTE_SET
    - UNUSED
    - fprintf
    - DNS_RDATASTATSTYPE_ATTR
    - assert_int_equal
    - DNS_RDATASTATSTYPE_BASE
    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:
    - ATTRIBUTE_SET
    - UNUSED
    - fprintf
    - DNS_RDATASTATSTYPE_ATTR
    - assert_int_equal
    - DNS_RDATASTATSTYPE_BASE
    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
    - dns_stats_detach
    - mark_nxdomain_stale
    - set_typestats
    - dns_rdatasetstats_dump
    - set_nxdomainstats
    - mark_stale
    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:113,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:115,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:120,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:121,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:128,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/tests/dns/skr_test.c:129,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:130,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/skr_test.c:131,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/skr_test.c:132,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:134,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:135,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 2
    argNames:
    - fp
    - rdata
    argTypes:
    - FILE*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 138
    functionName: print_rdata
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_mem_get
    - fprintf
    - ISC_LIST_APPEND
    - assert_int_equal
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - isc_buffer_init
    - 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:143,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:148,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/tests/dns/skr_test.c:149,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:151,1
    - Dst: print_rdata
      Src: /src/bind9/tests/dns/skr_test.c:153,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: 154
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 154
    functionName: sign_rrset
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 1
    functionsReached:
    - dns_dnssec_sign
    - print_rdata
    - assert_int_equal
    - ISC_LIST_HEAD
    - isc_buffer_init
    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:165,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/skr_test.c:166,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:166,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/skr_test.c:167,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:167,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/dns/skr_test.c:170,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/tests/dns/skr_test.c:175,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/tests/dns/skr_test.c:176,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/dns/skr_test.c:177,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:178,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/tests/dns/skr_test.c:180,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:182,1
    - Dst: print_rdata
      Src: /src/bind9/tests/dns/skr_test.c:184,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/dns/skr_test.c:186,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: 187
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 187
    functionName: write_record
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - isc_lex_destroy
    - print_rdata
    - isc_lex_setcomments
    - assert_int_equal
    - isc_lex_openbuffer
    - isc_buffer_add
    - strlen
    - isc_lex_create
    - dns_rdata_fromtext
    - isc_buffer_constinit
    - isc_lex_setspecials
    - isc_buffer_init
    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:203,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/tests/dns/skr_test.c:204,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:205,1
    - Dst: dns_time32_totext
      Src: /src/bind9/tests/dns/skr_test.c:206,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:207,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/skr_test.c:209,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/skr_test.c:210,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:214,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:215,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:219,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:220,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:225,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:226,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:231,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:232,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:233,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/skr_test.c:234,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:238,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:239,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:240,1
    - Dst: sign_rrset
      Src: /src/bind9/tests/dns/skr_test.c:241,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:244,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:245,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:247,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:248,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:251,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:252,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:256,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:257,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:258,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/skr_test.c:259,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:263,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:264,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:265,1
    - Dst: sign_rrset
      Src: /src/bind9/tests/dns/skr_test.c:266,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:269,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:270,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:272,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:273,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:276,1
    - Dst: write_record
      Src: /src/bind9/tests/dns/skr_test.c:277,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:280,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:281,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/skr_test.c:282,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/skr_test.c:283,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/skr_test.c:287,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/skr_test.c:288,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/skr_test.c:289,1
    - Dst: sign_rrset
      Src: /src/bind9/tests/dns/skr_test.c:290,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:292,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:293,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:295,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 74
    argCount: 3
    argNames:
    - fp
    - btime
    - bnum
    argTypes:
    - FILE*
    - isc_stdtime_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 302
    functionName: create_bundle
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_buffer_init
    - isc_mem_put
    - dns_rdata_init
    - isc_mem_get
    - fprintf
    - assert_int_equal
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - write_record
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    - dns_rdatalist_init
    - sign_rrset
    - dns_rdatalist_tordataset
    - dns_time32_totext
    - isc_stdtime_tostring
    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:308,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/tests/dns/skr_test.c:311,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:312,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:320,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:323,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:326,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:332,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/skr_test.c:334,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:337,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:338,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 4
    argNames:
    - bundle
    - tb
    - rrtype
    - result
    argTypes:
    - dns_skrbundle_t*
    - skr__testbundle_t*
    - dns_rdatatype_t
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 340
    functionName: check_rrsig
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - dns_skrbundle_getsig
    - assert_int_equal
    - ISC_LIST_HEAD
    - dns_rdata_compare
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: "void check_rrsig(dns_skrbundle_t *bundle, skr__testbundle_t *tb,\n\t
      \   dns_rdatatype_t rrtype, isc_result_t result)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:346,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/skr_test.c:348,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:356,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:361,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:364,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:369,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:378,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/skr_test.c:381,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:390,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/tests/dns/skr_test.c:391,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
    - Dst: check_rrsig
      Src: /src/bind9/tests/dns/skr_test.c:396,1
    - Dst: check_rrsig
      Src: /src/bind9/tests/dns/skr_test.c:397,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: 398
      start: 342
    functionDepth: 2
    functionLinenumber: 342
    functionLinenumberEnd: 398
    functionName: check_bundle
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - check_rrsig
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - dns_rdata_compare
    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:409,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/skr_test.c:410,1
    - Dst: isc_file_mktemplate
      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_file_openunique
      Src: /src/bind9/tests/dns/skr_test.c:413,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:414,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/skr_test.c:416,1
    - Dst: create_bundle
      Src: /src/bind9/tests/dns/skr_test.c:418,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/skr_test.c:422,1
    - Dst: isc_stdio_close
      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_rename
      Src: /src/bind9/tests/dns/skr_test.c:426,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:427,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/dns/skr_test.c:429,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/skr_test.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 400
    functionDepth: 3
    functionLinenumber: 400
    functionLinenumberEnd: 431
    functionName: create_skr_file
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - create_bundle
    - isc_stdio_close
    - isc_mem_put
    - isc_stdtime_now
    - isc_mem_get
    - fprintf
    - assert_int_equal
    - isc_file_openunique
    - strlen
    - isc_file_rename
    - isc_file_mktemplate
    - isc_file_remove
    linkageType: ''
    returnType: void
    signature: void create_skr_file(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/tests/dns/skr_test.c:434,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/skr_test.c:442,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/skr_test.c:443,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:443,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/skr_test.c:444,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/skr_test.c:444,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/skr_test.c:445,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:446,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/tests/dns/skr_test.c:449,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/tests/dns/skr_test.c:450,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:453,1
    - Dst: create_skr_file
      Src: /src/bind9/tests/dns/skr_test.c:456,1
    - Dst: dns_skr_create
      Src: /src/bind9/tests/dns/skr_test.c:457,1
    - Dst: dns_skr_read
      Src: /src/bind9/tests/dns/skr_test.c:458,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:460,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/dns/skr_test.c:462,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/skr_test.c:465,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/skr_test.c:468,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_lookup
      Src: /src/bind9/tests/dns/skr_test.c:477,1
    - Dst: check_bundle
      Src: /src/bind9/tests/dns/skr_test.c:478,1
    - Dst: dns_skr_destroy
      Src: /src/bind9/tests/dns/skr_test.c:482,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/skr_test.c:484,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/tests/dns/skr_test.c:485,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/tests/dns/skr_test.c:486,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/skr_test.c:487,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/tests/dns/skr_test.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 433
    functionDepth: 4
    functionLinenumber: 433
    functionLinenumberEnd: 490
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/skr_test.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - check_bundle
    - assert_int_equal
    - dns_skr_read
    - dns_skr_create
    - dns_dnsseckey_destroy
    - isc_buffer_add
    - strlen
    - ISC_LIST_INIT
    - dns_skr_lookup
    - isc_file_remove
    - create_skr_file
    - dns_name_fromtext
    - dst_key_free
    - isc_buffer_init
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - dns_skr_destroy
    - UNCONST
    - dns_dnssec_findmatchingkeys
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    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:51,1
    - Dst: isc_file_remove
      Src: /src/bind9/tests/dns/dnstap_test.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 53
    functionName: cleanup
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 33
    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:60,1
    - Dst: setenv
      Src: /src/bind9/tests/dns/dnstap_test.c:66,1
    - Dst: tzset
      Src: /src/bind9/tests/dns/dnstap_test.c:67,1
    - Dst: setup_loopmgr
      Src: /src/bind9/tests/dns/dnstap_test.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 72
    functionName: setup
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 53
    functionsReached:
    - tzset
    - cleanup
    - setenv
    - setup_loopmgr
    linkageType: ''
    returnType: int
    signature: int setup(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cleanup
      Src: /src/bind9/tests/dns/dnstap_test.c:76,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/dnstap_test.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 81
    functionName: teardown
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 57
    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:89,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:90,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:91,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:93,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:95,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:97,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:100,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/dnstap_test.c:103,1
    - Dst: isc_file_exists
      Src: /src/bind9/tests/dns/dnstap_test.c:103,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/tests/dns/dnstap_test.c:105,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:106,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:107,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:111,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:113,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:116,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/dnstap_test.c:120,1
    - Dst: isc_file_exists
      Src: /src/bind9/tests/dns/dnstap_test.c:120,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/tests/dns/dnstap_test.c:122,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:123,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:124,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:126,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:127,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dnstap_test.c:128,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:130,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:133,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dnstap_test.c:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 137
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 0
    functionsReached:
    - assert_null
    - assert_non_null
    - assert_int_equal
    - assert_true
    - fstrm_iothr_options_set_num_input_queues
    - isc_loopmgr_shutdown
    - fstrm_iothr_options_init
    - dns_dtenv_detach
    - isc_file_exists
    - dns_dt_create
    - fstrm_iothr_options_destroy
    - assert_false
    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:160,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/dns/dnstap_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:166,1
    - Dst: fstrm_iothr_options_init
      Src: /src/bind9/tests/dns/dnstap_test.c:168,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:169,1
    - Dst: fstrm_iothr_options_set_num_input_queues
      Src: /src/bind9/tests/dns/dnstap_test.c:170,1
    - Dst: dns_dt_create
      Src: /src/bind9/tests/dns/dnstap_test.c:172,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:174,1
    - Dst: dns_dtenv_attach
      Src: /src/bind9/tests/dns/dnstap_test.c:176,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/dnstap_test.c:182,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dnstap_test.c:183,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:184,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dnstap_test.c:185,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:186,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dnstap_test.c:188,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:189,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/dnstap_test.c:190,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/tests/dns/dnstap_test.c:191,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/dns/dnstap_test.c:192,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:193,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/dnstap_test.c:194,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/dnstap_test.c:195,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: inet_addr
      Src: /src/bind9/tests/dns/dnstap_test.c:199,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/dnstap_test.c:200,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/dns/dnstap_test.c:202,1
    - Dst: isc_time_set
      Src: /src/bind9/tests/dns/dnstap_test.c:203,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:205,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:207,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:208,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:209,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:211,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:213,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:214,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:215,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:217,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:219,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:220,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:221,1
    - Dst: dns_test_getdata
      Src: /src/bind9/tests/dns/dnstap_test.c:223,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:226,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dnstap_test.c:227,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dnstap_test.c:228,1
    - Dst: dns_dt_send
      Src: /src/bind9/tests/dns/dnstap_test.c:249,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:256,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_send
      Src: /src/bind9/tests/dns/dnstap_test.c:261,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:265,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:266,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/dnstap_test.c:267,1
    - Dst: dns_dt_open
      Src: /src/bind9/tests/dns/dnstap_test.c:269,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:270,1
    - Dst: dns_dt_getframe
      Src: /src/bind9/tests/dns/dnstap_test.c:272,1
    - Dst: dns_dt_parse
      Src: /src/bind9/tests/dns/dnstap_test.c:281,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:282,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:288,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/tests/dns/dnstap_test.c:293,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/tests/dns/dnstap_test.c:297,1
    - Dst: dns_dt_close
      Src: /src/bind9/tests/dns/dnstap_test.c:300,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dnstap_test.c:303,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 96
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 304
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 0
    functionsReached:
    - dns_test_makeview
    - dns_dt_open
    - assert_int_equal
    - isc_buffer_add
    - memset
    - dns_dt_create
    - dns_name_fromtext
    - dns_view_detach
    - fstrm_iothr_options_set_num_input_queues
    - isc_time_set
    - dns_dt_parse
    - dns_dt_close
    - dns_dtdata_free
    - dns_dt_getframe
    - isc_buffer_init
    - dns_dt_send
    - dns_compress_invalidate
    - isc_stdtime_now
    - assert_non_null
    - dns_name_towire
    - fstrm_iothr_options_init
    - dns_compress_setpermitted
    - isc_sockaddr_fromin
    - dns_dtenv_attach
    - inet_addr
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - isc_buffer_usedregion
    - dns_test_getdata
    - dns_dtenv_detach
    - fstrm_iothr_options_destroy
    - isc_buffer_constinit
    - dns_compress_init
    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:314,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:315,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/dns/dnstap_test.c:317,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:318,1
    - Dst: dns_dt_getframe
      Src: /src/bind9/tests/dns/dnstap_test.c:320,1
    - Dst: fgets
      Src: /src/bind9/tests/dns/dnstap_test.c:330,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:331,1
    - Dst: strchr
      Src: /src/bind9/tests/dns/dnstap_test.c:336,1
    - Dst: dns_dt_parse
      Src: /src/bind9/tests/dns/dnstap_test.c:342,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:343,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/dnstap_test.c:348,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dnstap_test.c:349,1
    - Dst: dns_dt_datatotext
      Src: /src/bind9/tests/dns/dnstap_test.c:355,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:356,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/dnstap_test.c:358,1
    - Dst: isc_buffer_base
      Src: /src/bind9/tests/dns/dnstap_test.c:358,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/tests/dns/dnstap_test.c:360,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/dnstap_test.c:361,1
    - Dst: dns_dt_close
      Src: /src/bind9/tests/dns/dnstap_test.c:365,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dnstap_test.c:367,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 368
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dnstap_test.c
    functionUses: 0
    functionsReached:
    - isc_stdio_open
    - dns_dt_open
    - assert_ptr_equal
    - assert_non_null
    - dns_dt_datatotext
    - assert_int_equal
    - assert_string_equal
    - dns_dt_parse
    - isc_loopmgr_shutdown
    - isc_buffer_base
    - strchr
    - isc_buffer_allocate
    - fgets
    - dns_dt_close
    - isc_buffer_free
    - dns_dtdata_free
    - dns_dt_getframe
    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:
    - UNUSED
    - longjmp
    - mock_assert
    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:
    - UNUSED
    - dns_db_newversion
    - dns_db_create
    - assert_non_null
    - assert_int_equal
    - isc_assertion_setcallback
    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:
    - strcmp
    - UNUSED
    - dns_db_detach
    - unlink
    - dns_db_closeversion
    - assert_null
    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:
    - UNUSED
    - check_assertion
    - assert_ptr_equal
    - dns_db_closeversion
    - assert_null
    - dns_db_attachversion
    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
    - dns_db_closeversion
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(closeversion)
  - BBCount: 1
    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_cleanup
      Src: /src/bind9/tests/dns/dbversion_test.c:184,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:186,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:187,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/dbversion_test.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 190
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - check_assertion
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - assert_true
    - dns_db_find
    - dns_fixedname_initname
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(find)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:201,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:204,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/tests/dns/dbversion_test.c:206,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:207,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:209,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/tests/dns/dbversion_test.c:209,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/tests/dns/dbversion_test.c:211,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:212,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:214,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 216
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - check_assertion
    - UNUSED
    - dns_db_allrdatasets
    - assert_int_equal
    - dns_rdatasetiter_destroy
    - dns_db_findnode
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(allrdatasets)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:227,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:229,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:230,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:232,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:233,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:235,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/tests/dns/dbversion_test.c:237,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:239,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:240,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:240,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:243,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - UNUSED
    - check_assertion
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - assert_int_equal
    - dns_db_findrdataset
    - dns_db_findnode
    - assert_null
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(findrdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:255,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:257,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:258,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:260,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:261,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:263,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:264,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:265,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 251
    functionDepth: 1
    functionLinenumber: 251
    functionLinenumberEnd: 267
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - UNUSED
    - check_assertion
    - assert_int_equal
    - dns_db_findnode
    - assert_null
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(deleterdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbversion_test.c:280,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:288,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dbversion_test.c:289,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dbversion_test.c:294,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:296,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:298,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:299,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:301,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:302,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/tests/dns/dbversion_test.c:304,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:306,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:307,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:309,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:310,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:312,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 273
    functionDepth: 1
    functionLinenumber: 273
    functionLinenumberEnd: 314
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - check_assertion
    - dns_db_subtractrdataset
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - assert_int_equal
    - strlen
    - dns_rdatalist_init
    - dns_db_findnode
    - assert_null
    - dns_rdatalist_tordataset
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(subtract)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbversion_test.c:327,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:335,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dbversion_test.c:336,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dbversion_test.c:341,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:343,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:345,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:346,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:348,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:349,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:351,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:352,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:354,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 356
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 356
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - check_assertion
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - assert_int_equal
    - strlen
    - dns_rdatalist_init
    - dns_db_findnode
    - assert_null
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(addrdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:370,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/tests/dns/dbversion_test.c:372,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:374,1
    - Dst: check_assertion
      Src: /src/bind9/tests/dns/dbversion_test.c:376,1
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/tests/dns/dbversion_test.c:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 378
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - dns_db_getnsec3parameters
    - 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:395,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbversion_test.c:395,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbversion_test.c:399,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dbversion_test.c:401,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dbversion_test.c:413,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dbversion_test.c:419,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dbversion_test.c:420,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:422,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:423,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:426,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:427,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:428,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:429,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:430,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:431,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:432,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:433,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:436,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:437,1
    - Dst: dns_db_addrdataset
      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_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:440,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:441,1
    - Dst: dns_db_detachnode
      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_newversion
      Src: /src/bind9/tests/dns/dbversion_test.c:446,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:447,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/dbversion_test.c:448,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:449,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:452,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:453,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:454,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:455,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:456,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:457,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:458,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:459,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:462,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:463,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:464,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:465,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:466,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:467,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:468,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:469,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/dbversion_test.c:472,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:473,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:474,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:475,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:476,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:478,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/tests/dns/dbversion_test.c:481,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:482,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/tests/dns/dbversion_test.c:483,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/dbversion_test.c:485,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:486,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/dbversion_test.c:487,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:490,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/dbversion_test.c:492,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:494,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:495,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:496,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:497,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/dbversion_test.c:500,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:501,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:502,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:503,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:504,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:506,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/tests/dns/dbversion_test.c:509,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:510,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/tests/dns/dbversion_test.c:511,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/dbversion_test.c:512,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/dbversion_test.c:513,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:514,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/dbversion_test.c:515,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:518,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/dbversion_test.c:520,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:522,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:523,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:524,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 92
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 526
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_db_newversion
    - dns_rdata_totext
    - assert_int_equal
    - strlen
    - dns_rdatalist_init
    - dns_rdataset_disassociate
    - dns_db_currentversion
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    - assert_string_equal
    - assert_null
    - isc_buffer_putuint8
    - isc_buffer_init
    - assert_non_null
    - dns_rdataset_first
    - dns_db_findrdataset
    - dns_db_closeversion
    - dns_rdataset_current
    - dns_db_detachnode
    - ISC_LIST_APPEND
    - dns_db_findnode
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(rollback)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/tests/dns/dbversion_test.c:540,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/dbversion_test.c:548,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/dbversion_test.c:549,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/dbversion_test.c:554,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/dbversion_test.c:556,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/dbversion_test.c:558,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:559,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:561,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:562,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:564,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/dbversion_test.c:566,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/dbversion_test.c:567,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/dbversion_test.c:569,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbversion_test.c:570,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/dbversion_test.c:572,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbversion_test.c:574,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dbversion_test.c:575,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/tests/dns/dbversion_test.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 533
    functionDepth: 1
    functionLinenumber: 533
    functionLinenumberEnd: 578
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbversion_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_newversion
    - assert_non_null
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - assert_int_equal
    - strlen
    - dns_rdatalist_init
    - dns_db_findnode
    - dns_db_closeversion
    - assert_null
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(rollback_then_commit)
  - 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:
    - UNUSED
    - dns_db_detach
    - test_create
    - assert_int_equal
    - assert_true
    - ISC_LIST_EMPTY
    - dns_db_diffx
    - dns_diff_init
    - dns_diff_clear
    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:
    - UNUSED
    - dns_db_detach
    - test_create
    - assert_int_equal
    - ISC_LIST_EMPTY
    - dns_db_diffx
    - ISC_LIST_FOREACH
    - dns_diff_init
    - dns_diff_clear
    - assert_false
    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:
    - UNUSED
    - dns_db_detach
    - test_create
    - assert_int_equal
    - ISC_LIST_EMPTY
    - dns_db_diffx
    - ISC_LIST_FOREACH
    - dns_diff_init
    - dns_diff_clear
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(diffx_remove)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:52,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/tests/dns/tsig_test.c:53,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:55,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:56,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/tsig_test.c:56,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/dns/tsig_test.c:57,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/dns/tsig_test.c:58,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:59,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/tsig_test.c:60,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/tests/dns/tsig_test.c:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - tsigctx
    - buf
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 64
    functionName: add_mac
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - isc_buffer_putmem
    - dns_rdata_fromregion
    - dns_rdata_freestruct
    - isc_buffer_putuint16
    - isc_buffer_usedregion
    - CHECK
    - dst_context_adddata
    - dns_rdata_tostruct
    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:83,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/tsig_test.c:85,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/tsig_test.c:89,1
    - Dst: dns_name_clone
      Src: /src/bind9/tests/dns/tsig_test.c:90,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/tests/dns/tsig_test.c:90,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:99,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/tests/dns/tsig_test.c:100,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/tests/dns/tsig_test.c:101,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:102,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:103,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/tsig_test.c:103,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:105,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/tests/dns/tsig_test.c:105,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/tsig_test.c:106,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:107,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:108,1
    - Dst: dst_context_sign
      Src: /src/bind9/tests/dns/tsig_test.c:108,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/tsig_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:110,1
    - Dst: isc_random_buf
      Src: /src/bind9/tests/dns/tsig_test.c:112,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:115,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:116,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/tsig_test.c:116,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/tsig_test.c:118,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/tsig_test.c:121,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/tsig_test.c:122,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/tsig_test.c:123,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/tsig_test.c:124,1
    - Dst: dns_rdataset_towire
      Src: /src/bind9/tests/dns/tsig_test.c:124,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/tsig_test.c:136,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:139,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/tsig_test.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 50
    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: 144
      start: 66
    functionDepth: 1
    functionLinenumber: 66
    functionLinenumberEnd: 144
    functionName: add_tsig
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint48
    - isc_mem_put
    - isc_buffer_usedlength
    - assert_int_equal
    - dns_rdataset_init
    - dns_rdataset_towire
    - dns_rdatalist_init
    - memset
    - dns_rdatalist_tordataset
    - dst_context_sign
    - dns_name_init
    - isc_buffer_putuint16
    - dst_key_sigsize
    - isc_buffer_init
    - dns_compress_invalidate
    - dns_name_clone
    - CHECK
    - isc_random_buf
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_tsigkey_algorithm
    - dns_rdata_fromstruct
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    - dst_context_adddata
    - dns_compress_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:158,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/tsig_test.c:160,1
    - Dst: dns_message_totext
      Src: /src/bind9/tests/dns/tsig_test.c:161,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/tsig_test.c:164,1
    - Dst: printf
      Src: /src/bind9/tests/dns/tsig_test.c:167,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/tsig_test.c:167,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/tsig_test.c:172,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 174
    functionName: printmessage
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 4
    functionsReached:
    - dns_message_totext
    - isc_mem_put
    - isc_mem_get
    - isc_buffer_usedlength
    - printf
    - isc_buffer_init
    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:183,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:185,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:205,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:207,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/dns/tsig_test.c:210,1
    - Dst: dns_message_renderbegin
      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_renderend
      Src: /src/bind9/tests/dns/tsig_test.c:215,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:216,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/tests/dns/tsig_test.c:221,1
    - Dst: dst_context_adddata
      Src: /src/bind9/tests/dns/tsig_test.c:222,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:223,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:226,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:229,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:230,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/dns/tsig_test.c:233,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:234,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: 235
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 235
    functionName: render
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - dns_compress_invalidate
    - dns_message_setquerytsig
    - dns_message_getquerytsig
    - dns_message_renderend
    - assert_non_null
    - dns_message_create
    - assert_int_equal
    - dns_message_renderbegin
    - isc_buffer_usedregion
    - isc_buffer_free
    - dns_message_detach
    - dns_message_settsigkey
    - dst_context_adddata
    - dns_compress_init
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/tsig_test.c:256,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/tsig_test.c:257,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:258,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/tests/dns/tsig_test.c:260,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:261,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/tests/dns/tsig_test.c:263,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:265,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/tests/dns/tsig_test.c:266,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:267,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:268,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:273,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:274,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:275,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:280,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:281,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:282,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/dns/tsig_test.c:287,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:289,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:291,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:292,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/dns/tsig_test.c:294,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:295,1
    - Dst: printmessage
      Src: /src/bind9/tests/dns/tsig_test.c:297,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:299,1
    - Dst: dns_tsig_verify
      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: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:303,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:304,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:309,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/tests/dns/tsig_test.c:309,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:311,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:312,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:316,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:317,1
    - Dst: dst_context_create
      Src: /src/bind9/tests/dns/tsig_test.c:319,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:321,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:322,1
    - Dst: add_mac
      Src: /src/bind9/tests/dns/tsig_test.c:327,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:328,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:333,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:335,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:336,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/dns/tsig_test.c:341,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:343,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:349,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:350,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/dns/tsig_test.c:352,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:353,1
    - Dst: printmessage
      Src: /src/bind9/tests/dns/tsig_test.c:355,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:357,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/tests/dns/tsig_test.c:359,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:360,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:361,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:362,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:368,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/tests/dns/tsig_test.c:368,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:372,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:373,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/dns/tsig_test.c:378,1
    - Dst: render
      Src: /src/bind9/tests/dns/tsig_test.c:379,1
    - Dst: add_tsig
      Src: /src/bind9/tests/dns/tsig_test.c:381,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:382,1
    - Dst: dns_message_create
      Src: /src/bind9/tests/dns/tsig_test.c:387,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:389,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/tests/dns/tsig_test.c:395,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:396,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/dns/tsig_test.c:398,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:399,1
    - Dst: printmessage
      Src: /src/bind9/tests/dns/tsig_test.c:401,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:406,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/tests/dns/tsig_test.c:406,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:408,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/tests/dns/tsig_test.c:410,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:413,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:414,1
    - Dst: assert_int_equal
      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: fprintf
      Src: /src/bind9/tests/dns/tsig_test.c:429,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/tsig_test.c:430,1
    - Dst: UNREACHABLE
      Src: /src/bind9/tests/dns/tsig_test.c:432,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:436,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/tests/dns/tsig_test.c:439,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:440,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:442,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/dns/tsig_test.c:443,1
    - Dst: dst_context_destroy
      Src: /src/bind9/tests/dns/tsig_test.c:446,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:449,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:452,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/dns/tsig_test.c:455,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/tests/dns/tsig_test.c:457,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/tests/dns/tsig_test.c:459,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 127
    argCount: 3
    argNames:
    - now
    - expected_result
    - mangle_sig
    argTypes:
    - isc_stdtime_t
    - isc_result_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 461
    functionName: tsig_tcp
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - dns_message_getquerytsig
    - fprintf
    - dns_tsigkey_create
    - assert_int_equal
    - add_tsig
    - dns_tsigkeyring_add
    - dns_tsigkeyring_create
    - dst_context_destroy
    - dns_message_parse
    - dns_tsigkey_detach
    - dns_message_gettsig
    - dst_context_create
    - dns_tsig_verify
    - isc_result_totext
    - printmessage
    - assert_non_null
    - dns_message_create
    - assert_true
    - render
    - dns_name_fromstring
    - UNREACHABLE
    - dns_message_setquerytsig
    - add_mac
    - dns_fixedname_initname
    - isc_buffer_allocate
    - dns_tsigkeyring_detach
    - isc_buffer_free
    - dns_message_detach
    - dns_message_settsigkey
    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:471,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 472
    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:476,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:476,1
    - Dst: tsig_tcp
      Src: /src/bind9/tests/dns/tsig_test.c:478,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    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_badtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsig_tcp
      Src: /src/bind9/tests/dns/tsig_test.c:483,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/tsig_test.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 484
    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: dns_fixedname_initname
      Src: /src/bind9/tests/dns/tsig_test.c:494,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/tsig_test.c:496,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:498,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/tests/dns/tsig_test.c:501,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/tsig_test.c:502,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/tests/dns/tsig_test.c:505,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:508,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/tests/dns/tsig_test.c:510,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/tsig_test.c:511,1
    - Dst: dns_tsigkey_delete
      Src: /src/bind9/tests/dns/tsig_test.c:513,1
    - Dst: dns_tsigkey_delete
      Src: /src/bind9/tests/dns/tsig_test.c:514,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/tests/dns/tsig_test.c:516,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/tests/dns/tsig_test.c:517,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - generated
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 518
    functionName: tsig_delete
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - assert_int_equal
    - dns_tsigkey_createfromkey
    - dns_tsigkeyring_add
    - dns_tsigkey_detach
    - dns_fixedname_initname
    - dns_tsigkeyring_detach
    - dns_name_fromstring
    - dns_tsigkey_delete
    - dns_tsigkeyring_create
    linkageType: ''
    returnType: void
    signature: void tsig_delete(bool generated)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: tsig_delete
      Src: /src/bind9/tests/dns/tsig_test.c:521,1
    - Dst: tsig_delete
      Src: /src/bind9/tests/dns/tsig_test.c:522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 523
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - tsig_delete
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(tsig_delete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/tsig_test.c:527,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:529,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:529,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:531,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:531,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:532,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:532,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:533,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:533,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:534,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:534,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/tsig_test.c:535,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:535,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/tsig_test.c:537,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/tests/dns/tsig_test.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 538
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/tsig_test.c
    functionUses: 0
    functionsReached:
    - dns__tsig_algvalid
    - UNUSED
    - assert_true
    - 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:96,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:98,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:103,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/sigs_test.c:108,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/sigs_test.c:109,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:111,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/sigs_test.c:112,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/sigs_test.c:113,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/sigs_test.c:113,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:118,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/sigs_test.c:124,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/tests/dns/sigs_test.c:125,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:127,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/sigs_test.c:132,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/tests/dns/sigs_test.c:133,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:134,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:145,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/sigs_test.c:152,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:153,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/sigs_test.c:154,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/tests/dns/sigs_test.c:155,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:156,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:157,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:163,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: 166
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 166
    functionName: compare_tuples
    functionSourceFile: /src/bind9/tests/dns/sigs_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_tostruct
    - dns_name_equal
    - dns_name_format
    - assert_int_equal
    - assert_true
    - strlen
    - dns_fixedname_initname
    - dns_rdatatype_fromtext
    - dns_name_fromstring
    - isc_buffer_init
    - dns_rdatatype_totext
    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: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: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/sigs_test.c:193,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/sigs_test.c:198,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:199,1
    - Dst: dns_test_difffromchanges
      Src: /src/bind9/tests/dns/sigs_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:205,1
    - Dst: dns_diff_apply
      Src: /src/bind9/tests/dns/sigs_test.c:212,1
    - Dst: dns_diff_init
      Src: /src/bind9/tests/dns/sigs_test.c:217,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/tests/dns/sigs_test.c:222,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:225,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/sigs_test.c:226,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/sigs_test.c:226,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/sigs_test.c:227,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/tests/dns/sigs_test.c:227,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/sigs_test.c:239,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:243,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/tests/dns/sigs_test.c:250,1
    - Dst: compare_tuples
      Src: /src/bind9/tests/dns/sigs_test.c:251,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/sigs_test.c:259,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/sigs_test.c:260,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/dns/sigs_test.c:261,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: 262
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 262
    functionName: updatesigs_test
    functionSourceFile: /src/bind9/tests/dns/sigs_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_newversion
    - dns__zone_updatesigs
    - compare_tuples
    - assert_int_equal
    - assert_true
    - ISC_LIST_EMPTY
    - dns_test_difffromchanges
    - ISC_LIST_FOREACH
    - dns_diff_init
    - dns_db_closeversion
    - dns_diff_clear
    - dns_diff_apply
    - assert_false
    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:271,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/sigs_test.c:274,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/sigs_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:281,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/sigs_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:285,1
    - Dst: dns_zone_setkeydirectory
      Src: /src/bind9/tests/dns/sigs_test.c:287,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/tests/dns/sigs_test.c:289,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:291,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/sigs_test.c:292,1
    - Dst: updatesigs_test
      Src: /src/bind9/tests/dns/sigs_test.c:400,1
    - Dst: dst_key_free
      Src: /src/bind9/tests/dns/sigs_test.c:407,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/sigs_test.c:409,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/sigs_test.c:410,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 411
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/sigs_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_zone_findkeys
    - dns_db_detach
    - dns_zone_detach
    - isc_stdtime_now
    - assert_int_equal
    - dns_test_loaddb
    - dns_test_makezone
    - dns_zone_setkeydirectory
    - dst_key_free
    - updatesigs_test
    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_sockaddr_fromin
    - dns_unreachcache_find
    - dns_unreachcache_add
    - dns_unreachcache_destroy
    - assert_int_equal
    - dns_unreachcache_new
    - isc_loopmgr_shutdown
    - dns_unreachcache_remove
    - isc_sockaddr_fromin6
    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: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: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:131,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:132,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:133,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:139,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:141,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:142,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:143,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:145,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:147,1
    - Dst: sleep
      Src: /src/bind9/tests/dns/unreachcache_test.c:149,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:150,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:151,1
    - Dst: dns_unreachcache_destroy
      Src: /src/bind9/tests/dns/unreachcache_test.c:153,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/unreachcache_test.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 156
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/unreachcache_test.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin
    - dns_unreachcache_find
    - dns_unreachcache_add
    - assert_int_equal
    - dns_unreachcache_new
    - isc_loopmgr_shutdown
    - dns_unreachcache_destroy
    - sleep
    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:166,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/tests/dns/unreachcache_test.c:167,1
    - Dst: dns_unreachcache_new
      Src: /src/bind9/tests/dns/unreachcache_test.c:169,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/tests/dns/unreachcache_test.c:172,1
    - Dst: dns_unreachcache_add
      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_flush
      Src: /src/bind9/tests/dns/unreachcache_test.c:178,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/tests/dns/unreachcache_test.c:180,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/unreachcache_test.c:181,1
    - Dst: dns_unreachcache_destroy
      Src: /src/bind9/tests/dns/unreachcache_test.c:183,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/unreachcache_test.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 186
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/unreachcache_test.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromin
    - dns_unreachcache_flush
    - dns_unreachcache_find
    - dns_unreachcache_add
    - assert_int_equal
    - dns_unreachcache_new
    - isc_loopmgr_shutdown
    - dns_unreachcache_destroy
    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:
    - dns_db_detachnode
    - dns_db_getoriginnode
    - dns_db_detach
    - dns_db_create
    - assert_int_equal
    - isc_loopmgr_shutdown
    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:
    - dns_db_detach
    - dns_db_create
    - assert_int_equal
    - dns_db_getservestalettl
    - isc_loopmgr_shutdown
    - dns_db_setservestalettl
    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_int_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_int_in_range
      Src: /src/bind9/tests/dns/db_test.c:214,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:216,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:217,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:219,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:220,1
    - Dst: usleep
      Src: /src/bind9/tests/dns/db_test.c:222,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:224,1
    - Dst: assert_int_in_range
      Src: /src/bind9/tests/dns/db_test.c:233,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:234,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:237,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:242,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:243,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 78
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 244
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - dns_db_create
    - assert_int_equal
    - dns_rdataset_init
    - dns_rdatalist_init
    - dns_rdataset_disassociate
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    - usleep
    - dns_db_detach
    - assert_int_in_range
    - assert_true
    - dns_name_fromstring
    - dns_db_detachnode
    - ISC_LIST_APPEND
    - dns_db_find
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_db_setservestalettl
    - dns_db_findnode
    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:251,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:254,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/dns/db_test.c:256,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:258,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:260,1
    - Dst: dns_db_class
      Src: /src/bind9/tests/dns/db_test.c:260,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:262,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 264
    functionName: (class)
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_db_create
    - assert_int_equal
    - dns_db_load
    - isc_loopmgr_shutdown
    - dns_db_class
    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:272,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:275,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/dns/db_test.c:276,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:278,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/db_test.c:279,1
    - Dst: dns_db_iszone
      Src: /src/bind9/tests/dns/db_test.c:279,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/db_test.c:280,1
    - Dst: dns_db_iscache
      Src: /src/bind9/tests/dns/db_test.c:280,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:281,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/db_test.c:284,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:287,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/db_test.c:288,1
    - Dst: dns_db_iscache
      Src: /src/bind9/tests/dns/db_test.c:288,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/db_test.c:289,1
    - Dst: dns_db_iszone
      Src: /src/bind9/tests/dns/db_test.c:289,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:290,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 267
    functionDepth: 1
    functionLinenumber: 267
    functionLinenumberEnd: 292
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_db_create
    - assert_true
    - assert_int_equal
    - dns_db_load
    - isc_loopmgr_shutdown
    - dns_db_iszone
    - dns_db_iscache
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dbtype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/db_test.c:304,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:306,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/db_test.c:309,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:310,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/db_test.c:311,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/db_test.c:312,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/db_test.c:313,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:314,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:316,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:317,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:318,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:319,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/db_test.c:322,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:323,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/db_test.c:324,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/db_test.c:325,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/db_test.c:326,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:327,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:329,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/db_test.c:331,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:332,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/tests/dns/db_test.c:335,1
    - Dst: dns_rdatatype_a::dns_rdatatype_a
      Src: /src/bind9/tests/dns/db_test.c:335,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:336,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:338,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:339,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:342,1
    - Dst: dns_rdatatype_a::dns_rdatatype_a
      Src: /src/bind9/tests/dns/db_test.c:342,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:344,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:346,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:349,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:351,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:352,1
    - Dst: dns_db_newversion
      Src: /src/bind9/tests/dns/db_test.c:355,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:356,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/db_test.c:357,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:358,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/db_test.c:359,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:360,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/db_test.c:361,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/db_test.c:362,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:365,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:366,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:367,1
    - Dst: dns_rdatatype_a::dns_rdatatype_a
      Src: /src/bind9/tests/dns/db_test.c:367,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:369,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:372,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/db_test.c:375,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/db_test.c:376,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/db_test.c:378,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/tests/dns/db_test.c:380,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/db_test.c:382,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/db_test.c:384,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/db_test.c:386,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/db_test.c:387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 388
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/db_test.c
    functionUses: 0
    functionsReached:
    - dns_db_newversion
    - assert_int_equal
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - dns_db_currentversion
    - dns_db_addrdataset
    - dns_db_deleterdataset
    - dns_db_detach
    - dns_test_namefromstring
    - dns_db_closeversion
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_db_find
    - isc_loopmgr_shutdown
    - dns_fixedname_initname
    - dns_test_loaddb
    - dns_rdatatype_a::dns_rdatatype_a
    - dns_fixedname_name
    - dns_db_findnode
    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: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:75,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/master_test.c:77,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/tests/dns/master_test.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - arg
    - owner
    - dataset
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 80
    functionName: add_callback
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_buffer_init
    - dns_rdataset_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add_callback(void *arg, const dns_name_t *owner, dns_rdataset_t
      *dataset,\n\t     dns_diffop_t op DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:84,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - h
    argTypes:
    - dns_zone_t*
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 87
    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: 3
    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: RETERR
      Src: /src/bind9/tests/dns/master_test.c:103,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:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 117
    functionName: setup_master
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - dns_master_initrawheader
    - dns_name_fromtext
    - isc_buffer_setactive
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - RETERR
    - dns_rdatacallbacks_init_stdio
    - strlcpy
    - isc_buffer_init
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/tests/dns/master_test.c:126,1
    - Dst: setup_master
      Src: /src/bind9/tests/dns/master_test.c:126,1
    - Dst: dns_rdatacallbacks_init_stdio
      Src: /src/bind9/tests/dns/master_test.c:128,1
    - Dst: RETERR
      Src: /src/bind9/tests/dns/master_test.c:140,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/tests/dns/master_test.c:140,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/tests/dns/master_test.c:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - workdir
    - testfile
    - format
    argTypes:
    - char*
    - char*
    - dns_masterformat_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 148
    functionName: test_master
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - setup_master
    - dns_rdatacallbacks_init_stdio
    - RETERR
    - 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:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - filename
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 154
    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:163,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 168
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:177,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:179,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 174
    functionDepth: 3
    functionLinenumber: 174
    functionLinenumberEnd: 182
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:192,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:194,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 189
    functionDepth: 3
    functionLinenumber: 189
    functionLinenumberEnd: 197
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:207,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:209,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:222,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:224,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 227
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:236,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:238,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 233
    functionDepth: 3
    functionLinenumber: 233
    functionLinenumberEnd: 241
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:250,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:252,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 255
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:264,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:266,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 269
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:281,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 286
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:295,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:297,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 300
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 300
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:310,1
    - Dst: setup_master
      Src: /src/bind9/tests/dns/master_test.c:312,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:313,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/tests/dns/master_test.c:315,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:316,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/tests/dns/master_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:323,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/master_test.c:324,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:326,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/master_test.c:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 329
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setup_master
    - assert_non_null
    - assert_int_equal
    - assert_string_equal
    - isc_mem_free
    - isc_dir_chdir
    - dns_master_loadfile
    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:338,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:340,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 335
    functionDepth: 3
    functionLinenumber: 335
    functionLinenumberEnd: 343
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:352,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:354,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 349
    functionDepth: 3
    functionLinenumber: 349
    functionLinenumberEnd: 357
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:367,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:369,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 364
    functionDepth: 3
    functionLinenumber: 364
    functionLinenumberEnd: 372
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - 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:382,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/master_test.c:385,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/master_test.c:390,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/master_test.c:391,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/master_test.c:393,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/tests/dns/master_test.c:394,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:397,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:398,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/master_test.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 405
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_buffer_usedlength
    - dns_rdataset_init
    - assert_int_equal
    - dns_master_rdatasettotext
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - isc_buffer_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:414,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:417,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:419,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:419,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:420,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:421,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:424,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:426,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:426,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:427,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:428,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:431,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:433,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:433,1
    - Dst: assert_true
      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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 437
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - assert_string_equal
    - test_master
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(loadraw)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:448,1
    - Dst: setup_master
      Src: /src/bind9/tests/dns/master_test.c:450,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:451,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/master_test.c:453,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:456,1
    - Dst: isc_dir_chdir
      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_load
      Src: /src/bind9/tests/dns/master_test.c:461,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:463,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/tests/dns/master_test.c:465,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:466,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/tests/dns/master_test.c:468,1
    - Dst: dns_master_dump
      Src: /src/bind9/tests/dns/master_test.c:470,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:473,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:475,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:477,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:477,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:478,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:479,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/tests/dns/master_test.c:481,1
    - Dst: unlink
      Src: /src/bind9/tests/dns/master_test.c:485,1
    - Dst: dns_master_dump
      Src: /src/bind9/tests/dns/master_test.c:486,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:489,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:491,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/master_test.c:493,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/master_test.c:493,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:494,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:495,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:496,1
    - Dst: unlink
      Src: /src/bind9/tests/dns/master_test.c:498,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/tests/dns/master_test.c:499,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/master_test.c:500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 501
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setup_master
    - dns_db_detach
    - dns_master_initrawheader
    - dns_db_create
    - assert_int_equal
    - dns_db_load
    - assert_true
    - assert_string_equal
    - unlink
    - test_master
    - dns_db_closeversion
    - isc_dir_chdir
    - dns_master_dump
    - dns_db_currentversion
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dumpraw)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/master_test.c:511,1
    - Dst: va_start
      Src: /src/bind9/tests/dns/master_test.c:515,1
    - Dst: vsnprintf
      Src: /src/bind9/tests/dns/master_test.c:516,1
    - Dst: va_end
      Src: /src/bind9/tests/dns/master_test.c:517,1
    - Dst: strstr
      Src: /src/bind9/tests/dns/master_test.c:519,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - mycallbacks
    - fmt
    argTypes:
    - struct dns_rdatacallbacks*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 506
    functionDepth: 0
    functionLinenumber: 506
    functionLinenumberEnd: 523
    functionName: warn_expect
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - vsnprintf
    - va_start
    - strstr
    - va_end
    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:532,1
    - Dst: test_master
      Src: /src/bind9/tests/dns/master_test.c:535,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/master_test.c:537,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/master_test.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 529
    functionDepth: 3
    functionLinenumber: 529
    functionLinenumberEnd: 539
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/master_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - test_master
    - assert_true
    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:42,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 44
    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:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 50
    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_fixedname_initname
      Src: /src/bind9/tests/dns/zonefile_test.c:55,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/zonefile_test.c:142,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/zonefile_test.c:143,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/zonefile_test.c:144,1
    - Dst: dns_zone_expandzonefile
      Src: /src/bind9/tests/dns/zonefile_test.c:145,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:147,1
    - Dst: memset
      Src: /src/bind9/tests/dns/zonefile_test.c:152,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/zonefile_test.c:159,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:160,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/zonefile_test.c:160,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/zonefile_test.c:162,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/zonefile_test.c:163,1
    - Dst: dns_zone_expandzonefile
      Src: /src/bind9/tests/dns/zonefile_test.c:164,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/zonefile_test.c:165,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/zonefile_test.c:166,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonefile_test.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 169
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonefile_test.c
    functionUses: 0
    functionsReached:
    - memmove
    - assert_int_equal
    - assert_string_equal
    - isc_loopmgr_shutdown
    - dns_test_namefromstring
    - dns_fixedname_initname
    - strlen
    - dns_zone_expandzonefile
    - memset
    - ARRAY_SIZE
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(filename)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/update_test.c:50,1
    - Dst: setenv
      Src: /src/bind9/tests/dns/update_test.c:52,1
    - Dst: tzset
      Src: /src/bind9/tests/dns/update_test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 56
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 3
    functionsReached:
    - tzset
    - UNUSED
    - setenv
    linkageType: ''
    returnType: int
    signature: int setup_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/tests/dns/update_test.c:64,1
    - Dst: timegm
      Src: /src/bind9/tests/dns/update_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - year
    - month
    - day
    argTypes:
    - int
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 69
    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: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: isc_stdtime_now
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 29
    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:81,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:83,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:84,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:84,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:85,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:94,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:96,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:97,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:97,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:98,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:99,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 100
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:107,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:109,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:112,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:113,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:113,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:114,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 116
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:123,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:125,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:128,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:129,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:129,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:130,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:139,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:141,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:144,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:145,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:145,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 148
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:155,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:157,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:161,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:162,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:162,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:163,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 165
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:172,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:174,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:178,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:179,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:179,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:180,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:189,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:191,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:194,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:195,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:195,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:196,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 198
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:205,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:210,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:211,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:211,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:212,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/update_test.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 214
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:221,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:223,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:224,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:225,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:227,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:228,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:228,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:229,1
    - Dst: assert_int_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 232
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:240,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:242,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:243,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:245,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:246,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:246,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:247,1
    - Dst: assert_int_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: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:252,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:253,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:253,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:254,1
    - Dst: assert_int_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: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:262,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:263,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:263,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:264,1
    - Dst: assert_int_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 267
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:275,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:277,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:278,1
    - Dst: set_mystdtime
      Src: /src/bind9/tests/dns/update_test.c:279,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:281,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:282,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:282,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:283,1
    - Dst: assert_int_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: dns_update_soaserial
      Src: /src/bind9/tests/dns/update_test.c:288,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/update_test.c:289,1
    - Dst: isc_serial_lt
      Src: /src/bind9/tests/dns/update_test.c:289,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/update_test.c:290,1
    - Dst: assert_int_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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 293
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/update_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - assert_int_equal
    - isc_serial_lt
    - 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:68,1
    - Dst: snprintf
      Src: /src/bind9/tests/dns/qpdb_test.c:75,1
    - Dst: snprintf
      Src: /src/bind9/tests/dns/qpdb_test.c:83,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/qpdb_test.c:85,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/dns/qpdb_test.c:86,1
    - Dst: dns_db_findnode
      Src: /src/bind9/tests/dns/qpdb_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:89,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/qpdb_test.c:90,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/qpdb_test.c:92,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/qpdb_test.c:98,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/qpdb_test.c:102,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/qpdb_test.c:104,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/qpdb_test.c:105,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:107,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:108,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/qpdb_test.c:110,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: 111
      start: 53
    functionDepth: 1
    functionLinenumber: 53
    functionLinenumberEnd: 111
    functionName: overmempurge_addrdataset
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_detachnode
    - dns_rdata_init
    - assert_non_null
    - assert_int_equal
    - ISC_LIST_APPEND
    - dns_rdataset_init
    - snprintf
    - dns_test_namefromstring
    - dns_db_findnode
    - dns_rdatalist_init
    - dns_fixedname_name
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    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:116,1
    - Dst: cleanup_deadnodes
      Src: /src/bind9/tests/dns/qpdb_test.c:118,1
    - Dst: qpcache_unref
      Src: /src/bind9/tests/dns/qpdb_test.c:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 121
    functionName: cleanup_all_deadnodes
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - qpcache_ref
    - qpcache_unref
    - cleanup_deadnodes
    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:130,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/dns/qpdb_test.c:133,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/qpdb_test.c:135,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:138,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/tests/dns/qpdb_test.c:140,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:146,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:147,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:150,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:150,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:151,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:151,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:160,1
    - Dst: cleanup_all_deadnodes
      Src: /src/bind9/tests/dns/qpdb_test.c:162,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/qpdb_test.c:164,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:165,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:167,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:167,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:170,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:171,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/qpdb_test.c:172,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 173
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - print_message
    - dns_db_detach
    - isc_mem_setwater
    - isc_stdtime_now
    - dns_db_create
    - cleanup_all_deadnodes
    - assert_int_equal
    - assert_true
    - isc_mem_inuse
    - isc_mem_detach
    - isc_loopmgr_shutdown
    - overmempurge_addrdataset
    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:182,1
    - Dst: isc_mem_create
      Src: /src/bind9/tests/dns/qpdb_test.c:185,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/dns/qpdb_test.c:187,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpdb_test.c:190,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/tests/dns/qpdb_test.c:192,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:198,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:199,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:202,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:202,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:203,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:203,1
    - Dst: overmempurge_addrdataset
      Src: /src/bind9/tests/dns/qpdb_test.c:212,1
    - Dst: cleanup_all_deadnodes
      Src: /src/bind9/tests/dns/qpdb_test.c:213,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/qpdb_test.c:215,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:216,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpdb_test.c:218,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/qpdb_test.c:218,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:221,1
    - Dst: isc_mem_detach
      Src: /src/bind9/tests/dns/qpdb_test.c:222,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/qpdb_test.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 224
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpdb_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - print_message
    - dns_db_detach
    - isc_mem_setwater
    - isc_stdtime_now
    - dns_db_create
    - cleanup_all_deadnodes
    - assert_int_equal
    - assert_true
    - isc_mem_inuse
    - isc_mem_detach
    - isc_loopmgr_shutdown
    - overmempurge_addrdataset
    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:
    - isc_buffer_add
    - strlen
    - isc_buffer_constinit
    - dns_name_fromtext
    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:
    - dns_db_createiterator
    - dns_dbiterator_destroy
    - dns_db_detach
    - assert_int_equal
    - 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:
    - UNUSED
    - test_create
    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:
    - UNUSED
    - test_create
    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_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - dns_db_detach
    - assert_int_equal
    - dns_fixedname_initname
    - dns_test_loaddb
    - dns_dbiterator_current
    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:
    - dns_db_detachnode
    - assert_int_equal
    - dns_dbiterator_current
    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:
    - UNUSED
    - test_walk
    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:
    - UNUSED
    - test_walk
    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_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_prev
    - dns_dbiterator_destroy
    - dns_db_detach
    - assert_int_equal
    - dns_dbiterator_last
    - dns_fixedname_initname
    - dns_test_loaddb
    - dns_dbiterator_current
    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: 4
    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: dns_db_createiterator
      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: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:206,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:207,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:209,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:212,1
    - Dst: dns_dbiterator_seek3
      Src: /src/bind9/tests/dns/dbiterator_test.c:215,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:217,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:219,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:222,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/tests/dns/dbiterator_test.c:226,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:227,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbiterator_test.c:228,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/tests/dns/dbiterator_test.c:229,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:233,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:237,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:240,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:243,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/tests/dns/dbiterator_test.c:248,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:249,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/dbiterator_test.c:250,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/tests/dns/dbiterator_test.c:251,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:255,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:257,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:258,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:259,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 51
    argCount: 4
    argNames:
    - filename
    - nsec3
    - flags
    - nodes
    argTypes:
    - char*
    - bool
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 260
    functionName: test_seek_node
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_next
    - dns_dbiterator_prev
    - dns_dbiterator_destroy
    - dns_db_detach
    - assert_int_equal
    - make_name
    - dns_dbiterator_current
    - dns_fixedname_initname
    - dns_test_loaddb
    - dns_dbiterator_seek3
    - dns_dbiterator_seek
    linkageType: ''
    returnType: void
    signature: void test_seek_node(const char *filename, bool nsec3, int flags, int
      nodes)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dbiterator_test.c:263,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:265,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:267,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_seek_node
    - UNUSED
    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:274,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:276,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:278,1
    - Dst: test_seek_node
      Src: /src/bind9/tests/dns/dbiterator_test.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 282
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - test_seek_node
    - UNUSED
    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:296,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:298,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:299,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:301,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:302,1
    - Dst: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:304,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:305,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:307,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:308,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:310,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 312
    functionName: test_seek_empty
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_dbiterator_destroy
    - dns_db_detach
    - assert_int_equal
    - make_name
    - dns_fixedname_initname
    - dns_test_loaddb
    - dns_dbiterator_seek
    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:315,1
    - Dst: test_seek_empty
      Src: /src/bind9/tests/dns/dbiterator_test.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 3
    functionLinenumber: 314
    functionLinenumberEnd: 318
    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:321,1
    - Dst: test_seek_empty
      Src: /src/bind9/tests/dns/dbiterator_test.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 324
    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:337,1
    - Dst: dns_test_loaddb
      Src: /src/bind9/tests/dns/dbiterator_test.c:339,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:340,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/tests/dns/dbiterator_test.c:342,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:343,1
    - Dst: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:345,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:346,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:348,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:349,1
    - Dst: make_name
      Src: /src/bind9/tests/dns/dbiterator_test.c:351,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:352,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/tests/dns/dbiterator_test.c:354,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dbiterator_test.c:355,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/tests/dns/dbiterator_test.c:357,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/dbiterator_test.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 359
    functionName: test_seek_nx
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_dbiterator_destroy
    - dns_db_detach
    - assert_int_equal
    - make_name
    - dns_fixedname_initname
    - dns_test_loaddb
    - dns_dbiterator_seek
    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:362,1
    - Dst: test_seek_nx
      Src: /src/bind9/tests/dns/dbiterator_test.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 361
    functionDepth: 3
    functionLinenumber: 361
    functionLinenumberEnd: 365
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_seek_nx
    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:368,1
    - Dst: test_seek_nx
      Src: /src/bind9/tests/dns/dbiterator_test.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 371
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dbiterator_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - test_seek_nx
    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:
    - dns_difftuple_free
    - dns_difftuple_create
    - assert_true
    - count_elements
    - dns_diff_append
    - dns_diff_init
    - dns_diff_appendminimal
    - dns_diff_clear
    - prepare_rdata
    - dns_diff_size
    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:
    - dns_test_makeview
    - dns_view_getdispatchmgr
    - assert_non_null
    - dns_dispatch_createudp
    - assert_int_equal
    - setup_managers
    - dns_dispatchmgr_detach
    - isc_sockaddr_any
    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:
    - teardown_managers
    - dns_view_detach
    - dns_dispatch_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:
    - isc_tlsctx_cache_create
    - assert_int_equal
    - dns_resolver_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:
    - isc_loopmgr_shutdown
    - destroy_resolver
    - mkres
    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:
    - mkres
    - assert_true
    - destroy_resolver
    - isc_loopmgr_shutdown
    - 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:
    - mkres
    - assert_true
    - destroy_resolver
    - isc_loopmgr_shutdown
    - dns_resolver_settimeout
    - 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:
    - mkres
    - assert_int_equal
    - destroy_resolver
    - isc_loopmgr_shutdown
    - dns_resolver_settimeout
    - 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_uint_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:
    - mkres
    - destroy_resolver
    - isc_loopmgr_shutdown
    - assert_uint_in_range
    - dns_resolver_settimeout
    - 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_uint_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:
    - mkres
    - destroy_resolver
    - isc_loopmgr_shutdown
    - assert_uint_in_range
    - dns_resolver_settimeout
    - 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:61,1
    - Dst: dns_nametree_create
      Src: /src/bind9/tests/dns/nametree_test.c:63,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:67,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:71,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:71,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:72,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:72,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:73,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:73,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:79,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:80,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:80,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:84,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:85,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:85,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 88
    functionName: setup
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 53
    functionsReached:
    - dns_nametree_add
    - dns_nametree_create
    - assert_int_equal
    - dns_test_namefromstring
    - dns_fixedname_name
    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:92,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/tests/dns/nametree_test.c:93,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/tests/dns/nametree_test.c:94,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/dns/nametree_test.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: teardown
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 57
    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:102,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:107,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:108,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:108,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:110,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:115,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:115,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:116,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:116,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:118,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:123,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:124,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:124,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:125,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:125,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 128
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_ntnode_detach
    - dns_nametree_find
    - dns_nametree_add
    - assert_int_equal
    - dns_test_namefromstring
    - dns_fixedname_name
    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:133,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:138,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:139,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:139,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:141,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:146,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:146,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:147,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:147,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:148,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:148,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:149,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:149,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:151,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:156,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:157,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:157,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:158,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:158,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 161
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_ntnode_detach
    - dns_nametree_find
    - dns_nametree_add
    - assert_int_equal
    - dns_test_namefromstring
    - dns_fixedname_name
    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:165,1
    - Dst: dns_test_namefromstring
      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_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:171,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:171,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:172,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:172,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:173,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:173,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_true
      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
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:191,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:191,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:192,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 193
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_nametree_add
    - dns_nametree_covered
    - dns_nametree_delete
    - assert_int_equal
    - assert_true
    - dns_test_namefromstring
    - dns_fixedname_name
    - assert_false
    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:197,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/nametree_test.c:198,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:206,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:207,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:207,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:210,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:211,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:211,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:215,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:216,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:216,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/dns/nametree_test.c:217,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/nametree_test.c:218,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 219
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_nametree_covered
    - assert_true
    - assert_string_equal
    - dns_test_namefromstring
    - dns_fixedname_initname
    - assert_false
    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:223,1
    - Dst: dns_test_namefromstring
      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_false
      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_true
      Src: /src/bind9/tests/dns/nametree_test.c:231,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:231,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:232,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:232,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:233,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:233,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:236,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:236,1
    - Dst: assert_true
      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_false
      Src: /src/bind9/tests/dns/nametree_test.c:240,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:240,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:241,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:241,1
    - Dst: assert_true
      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: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:243,1
    - Dst: dns_nametree_add
      Src: /src/bind9/tests/dns/nametree_test.c:243,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/nametree_test.c:244,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:244,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:245,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:245,1
    - Dst: dns_test_namefromstring
      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_true
      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: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:253,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:253,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:254,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:254,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:255,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:255,1
    - Dst: dns_test_namefromstring
      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: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:263,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:263,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:264,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:264,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:265,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:265,1
    - Dst: dns_test_namefromstring
      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
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:273,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:273,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:274,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:274,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/nametree_test.c:275,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/tests/dns/nametree_test.c:275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 276
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_nametree_add
    - dns_nametree_covered
    - assert_true
    - assert_int_equal
    - dns_test_namefromstring
    - dns_fixedname_name
    - assert_false
    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:280,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:284,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:284,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:287,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:288,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:288,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:295,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:296,1
    - Dst: dns_nametree_delete
      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: dns_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:299,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:300,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:300,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:301,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/tests/dns/nametree_test.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 302
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_name
    - dns_test_namefromstring
    - assert_int_equal
    - dns_nametree_delete
    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:307,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_test_namefromstring
      Src: /src/bind9/tests/dns/nametree_test.c:319,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/nametree_test.c:320,1
    - Dst: dns_nametree_find
      Src: /src/bind9/tests/dns/nametree_test.c:320,1
    - Dst: dns_ntnode_detach
      Src: /src/bind9/tests/dns/nametree_test.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 323
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/nametree_test.c
    functionUses: 0
    functionsReached:
    - dns_ntnode_detach
    - dns_nametree_find
    - assert_int_equal
    - dns_test_namefromstring
    - 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
    - UNUSED
    - dns_rdataset_init
    - assert_int_equal
    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:
    - UNUSED
    - load_geoip
    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:
    - UNUSED
    - close_geoip
    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:
    - geoip2_database
    - fix_subtype
    - inet_pton
    - get_entry_for
    - isc_netaddr_fromin6
    - UNREACHABLE
    - isc_netaddr_fromin
    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:
    - UNUSED
    - assert_true
    - assert_false
    - 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:
    - inet_pton
    - assert_int_equal
    - dns_geoip_match
    - isc_netaddr_fromin
    - strlcpy
    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:
    - inet_pton
    - assert_int_equal
    - isc_netaddr_fromin6
    - dns_geoip_match
    - strlcpy
    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:
    - skip
    - UNUSED
    - assert_true
    - do_lookup_string
    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:
    - skip
    - UNUSED
    - do_lookup_string_v6
    - assert_true
    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:
    - skip
    - UNUSED
    - assert_true
    - do_lookup_string
    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:
    - skip
    - UNUSED
    - do_lookup_string_v6
    - assert_true
    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:
    - skip
    - UNUSED
    - assert_true
    - do_lookup_string
    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:
    - skip
    - UNUSED
    - assert_true
    - do_lookup_string
    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:
    - skip
    - UNUSED
    - assert_true
    - do_lookup_string
    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:
    - skip
    - UNUSED
    - assert_true
    - do_lookup_string
    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:
    - UNUSED
    - assert_int_equal
    - assert_string_equal
    - memset
    - dns_time32_fromtext
    - isc_buffer_init
    - dns_time32_totext
    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:
    - UNUSED
    - assert_int_equal
    - assert_string_equal
    - memset
    - dns_time32_fromtext
    - isc_buffer_init
    - dns_time32_totext
    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:
    - UNUSED
    - assert_int_equal
    - assert_string_equal
    - memset
    - dns_time32_fromtext
    - isc_buffer_init
    - dns_time32_totext
    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:
    - UNUSED
    - assert_int_equal
    - assert_string_equal
    - memset
    - dns_time32_fromtext
    - isc_buffer_init
    - dns_time32_totext
    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:
    - UNUSED
    - assert_int_equal
    - assert_string_equal
    - memset
    - dns_time32_fromtext
    - isc_buffer_init
    - dns_time32_totext
    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:
    - UNUSED
    - assert_int_equal
    - assert_string_equal
    - memset
    - dns_time32_fromtext
    - isc_buffer_init
    - dns_time32_totext
    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_list_detach
    - dns_transport_totext
    - dns_transport_list_new
    - assert_string_equal
    - dns_transport_new
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_transport_totext)
  - 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_stdtime_now
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 31
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_stdtime_now(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: ENTRIES_MEM
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ENTRIES_MEM(n)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/deleg_test.c:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ISC_ATTR_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: shutdownloop
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    linkageType: ''
    returnType: void
    signature: void shutdownloop(ISC_ATTR_UNUSED void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_delegdb_shutdown
      Src: /src/bind9/tests/dns/deleg_test.c:71,1
    - Dst: dns_delegdb_detach
      Src: /src/bind9/tests/dns/deleg_test.c:72,1
    - Dst: shutdownloop
      Src: /src/bind9/tests/dns/deleg_test.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dbp
    argTypes:
    - dns_delegdb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: shutdowntest
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - shutdownloop
    - dns_delegdb_shutdown
    - dns_delegdb_detach
    linkageType: ''
    returnType: void
    signature: void shutdowntest(dns_delegdb_t **dbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_create
      Src: /src/bind9/tests/dns/deleg_test.c:78,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/dns/deleg_test.c:80,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/deleg_test.c:80,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/dns/deleg_test.c:81,1
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/tests/dns/deleg_test.c:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - testcb
    argTypes:
    - isc_job_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 84
    functionName: rundelegtest
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_create
    - isc_loopmgr_run
    - isc_loop_main
    - isc_loop_setup
    - isc_loopmgr_destroy
    linkageType: ''
    returnType: void
    signature: void rundelegtest(isc_job_cb testcb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/deleg_test.c:90,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:92,1
    - Dst: fn
      Src: /src/bind9/tests/dns/deleg_test.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - addrstr
    - delegset
    - deleg
    argTypes:
    - char*
    - dns_delegset_t*
    - dns_deleg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 94
    functionName: addnamedeleg
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromstring
    - dns_fixedname_initname
    - fn
    linkageType: ''
    returnType: void
    signature: "void addnamedeleg(const char *addrstr, dns_delegset_t *delegset, dns_deleg_t
      *deleg,\n\t     void (*fn)(dns_delegset_t *, dns_deleg_t *, const dns_name_t
      *))"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_true
      Src: /src/bind9/tests/dns/deleg_test.c:101,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:102,1
    - Dst: inet_pton
      Src: /src/bind9/tests/dns/deleg_test.c:102,1
    - Dst: dns_delegset_addaddr
      Src: /src/bind9/tests/dns/deleg_test.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 4
    argNames:
    - af
    - addrstr
    - delegset
    - deleg
    argTypes:
    - unsigned int
    - char*
    - dns_delegset_t*
    - dns_deleg_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    functionName: addipdeleg
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_int_equal
    - inet_pton
    - dns_delegset_addaddr
    linkageType: ''
    returnType: void
    signature: "void addipdeleg(unsigned int af, const char *addrstr, dns_delegset_t
      *delegset,\n\t   dns_deleg_t *deleg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/deleg_test.c:110,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:113,1
    - Dst: dns_delegset_insert
      Src: /src/bind9/tests/dns/deleg_test.c:114,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:116,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/deleg_test.c:117,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:120,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 5
    argNames:
    - db
    - zonecutstr
    - expire
    - delegsetp
    - expectsuccess
    argTypes:
    - dns_delegdb_t*
    - char*
    - dns_ttl_t
    - dns_delegset_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 124
    functionName: writedb
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_fixedname_initname
    - dns_delegset_detach
    - dns_name_fromstring
    - assert_null
    - dns_delegset_insert
    linkageType: ''
    returnType: void
    signature: "void writedb(dns_delegdb_t *db, const char *zonecutstr, dns_ttl_t
      expire,\n\tdns_delegset_t **delegsetp, bool expectsuccess)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/deleg_test.c:132,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/deleg_test.c:133,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/deleg_test.c:134,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:137,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:139,1
    - Dst: dns_delegdb_lookup
      Src: /src/bind9/tests/dns/deleg_test.c:140,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:144,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:145,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/deleg_test.c:146,1
    - Dst: dns_name_equal
      Src: /src/bind9/tests/dns/deleg_test.c:146,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/deleg_test.c:148,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 6
    argNames:
    - db
    - namestr
    - now
    - options
    - expectedzcstr
    - delegsetp
    argTypes:
    - dns_delegdb_t*
    - char*
    - isc_stdtime_t
    - unsigned int
    - char*
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: lookupdb
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_delegdb_lookup
    - dns_name_equal
    - assert_non_null
    - assert_true
    - dns_fixedname_initname
    - dns_name_fromstring
    - assert_null
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t lookupdb(dns_delegdb_t *db, const char *namestr, isc_stdtime_t
      now,\n\t unsigned int options, const char *expectedzcstr,\n\t dns_delegset_t
      **delegsetp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fopen
      Src: /src/bind9/tests/dns/deleg_test.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/deleg_test.c:160,1
    - Dst: dns_delegdb_dump
      Src: /src/bind9/tests/dns/deleg_test.c:161,1
    - Dst: freopen
      Src: /src/bind9/tests/dns/deleg_test.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/deleg_test.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/deleg_test.c:165,1
    - Dst: fread
      Src: /src/bind9/tests/dns/deleg_test.c:165,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/deleg_test.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/deleg_test.c:169,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/deleg_test.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/dns/deleg_test.c:170,1
    - Dst: unlink
      Src: /src/bind9/tests/dns/deleg_test.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - db
    - expired
    - expected
    argTypes:
    - dns_delegdb_t*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 171
    functionName: dumpdb
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - fopen
    - assert_string_equal
    - unlink
    - fread
    - dns_delegdb_dump
    - fclose
    - freopen
    linkageType: ''
    returnType: void
    signature: void dumpdb(dns_delegdb_t *db, bool expired, const char *expected)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/deleg_test.c:179,1
    - Dst: dns_delegdb_create
      Src: /src/bind9/tests/dns/deleg_test.c:181,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:182,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:187,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:189,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:190,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:193,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:194,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:195,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:198,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:199,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:200,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:202,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:204,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:205,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:207,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:208,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:209,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:214,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:216,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:217,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:218,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:221,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:222,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:223,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:224,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:227,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:229,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:230,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:233,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:234,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:236,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:240,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:242,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:243,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:245,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:246,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:247,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:252,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:254,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:255,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:258,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:259,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:262,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:265,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:266,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:273,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:275,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:276,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:283,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:285,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:286,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:289,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:290,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:293,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:299,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:301,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:302,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:306,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:308,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:311,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:314,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:315,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:317,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:319,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:321,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:322,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:323,1
    - Dst: dumpdb
      Src: /src/bind9/tests/dns/deleg_test.c:339,1
    - Dst: dumpdb
      Src: /src/bind9/tests/dns/deleg_test.c:345,1
    - Dst: dumpdb
      Src: /src/bind9/tests/dns/deleg_test.c:364,1
    - Dst: shutdowntest
      Src: /src/bind9/tests/dns/deleg_test.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 89
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ISC_ATTR_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 367
    functionName: basictests
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_delegset_allocdeleg
    - dumpdb
    - isc_stdtime_now
    - assert_non_null
    - dns_delegset_allocset
    - writedb
    - assert_int_equal
    - lookupdb
    - shutdowntest
    - dns_delegset_detach
    - addnamedeleg
    - addipdeleg
    - dns_delegdb_create
    linkageType: ''
    returnType: void
    signature: void basictests(ISC_ATTR_UNUSED void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/deleg_test.c:375,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/deleg_test.c:379,1
    - Dst: dns_delegdb_create
      Src: /src/bind9/tests/dns/deleg_test.c:380,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:381,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:383,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:385,1
    - Dst: addnamedeleg
      Src: /src/bind9/tests/dns/deleg_test.c:386,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:389,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:391,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:394,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:397,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:399,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:400,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:402,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:403,1
    - Dst: shutdowntest
      Src: /src/bind9/tests/dns/deleg_test.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ISC_ATTR_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 406
    functionName: ttl0tests
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_delegset_allocdeleg
    - isc_stdtime_now
    - assert_non_null
    - dns_delegset_allocset
    - writedb
    - assert_int_equal
    - lookupdb
    - shutdowntest
    - dns_delegset_detach
    - addnamedeleg
    - addipdeleg
    - dns_delegdb_create
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void ttl0tests(ISC_ATTR_UNUSED void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/deleg_test.c:414,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/deleg_test.c:418,1
    - Dst: dns_delegdb_create
      Src: /src/bind9/tests/dns/deleg_test.c:419,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:420,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/deleg_test.c:444,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:445,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:446,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:448,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:449,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/deleg_test.c:453,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:454,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:456,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:457,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:459,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:462,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:464,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:468,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:470,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:471,1
    - Dst: shutdowntest
      Src: /src/bind9/tests/dns/deleg_test.c:473,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ISC_ATTR_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 474
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 474
    functionName: noexacttests
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_delegset_allocdeleg
    - isc_stdtime_now
    - assert_non_null
    - dns_delegset_allocset
    - writedb
    - assert_int_equal
    - lookupdb
    - shutdowntest
    - dns_delegset_detach
    - addipdeleg
    - dns_delegdb_create
    - ARRAY_SIZE
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void noexacttests(ISC_ATTR_UNUSED void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/deleg_test.c:483,1
    - Dst: dns_delegdb_create
      Src: /src/bind9/tests/dns/deleg_test.c:485,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:486,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:488,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:489,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:491,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:492,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:495,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:496,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:498,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:499,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:502,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:503,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:505,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:506,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:509,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:510,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:512,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:513,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:516,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:517,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:518,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:519,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:520,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:522,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:523,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:524,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:526,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:527,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:528,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:530,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:531,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:532,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:534,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:535,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:536,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:538,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:540,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:541,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:543,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:544,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:545,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:547,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:548,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:549,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/deleg_test.c:551,1
    - Dst: dns_delegdb_delete
      Src: /src/bind9/tests/dns/deleg_test.c:552,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:553,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:555,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:557,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:563,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:564,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:566,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:567,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:570,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:571,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:572,1
    - Dst: shutdowntest
      Src: /src/bind9/tests/dns/deleg_test.c:574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 63
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ISC_ATTR_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 575
      start: 476
    functionDepth: 2
    functionLinenumber: 476
    functionLinenumberEnd: 575
    functionName: deletetests
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_delegset_allocdeleg
    - assert_non_null
    - dns_delegset_allocset
    - writedb
    - assert_int_equal
    - lookupdb
    - dns_delegdb_delete
    - shutdowntest
    - dns_fixedname_initname
    - dns_delegset_detach
    - dns_name_fromstring
    - addipdeleg
    - dns_delegdb_create
    linkageType: ''
    returnType: void
    signature: void deletetests(ISC_ATTR_UNUSED void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_in_range
      Src: /src/bind9/tests/dns/deleg_test.c:599,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/deleg_test.c:599,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:599,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:600,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:606,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:607,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:608,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:610,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:611,1
    - Dst: shutdowntest
      Src: /src/bind9/tests/dns/deleg_test.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 614
    functionName: cleanuptests_phase3
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - assert_int_in_range
    - assert_int_equal
    - lookupdb
    - isc_mem_inuse
    - shutdowntest
    - ENTRIES_MEM
    - dns_delegset_detach
    linkageType: ''
    returnType: void
    signature: void cleanuptests_phase3(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_in_range
      Src: /src/bind9/tests/dns/deleg_test.c:625,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/deleg_test.c:625,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:625,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:626,1
    - Dst: lookupdb
      Src: /src/bind9/tests/dns/deleg_test.c:631,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/deleg_test.c:632,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/tests/dns/deleg_test.c:633,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:639,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:640,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:644,1
    - Dst: assert_int_in_range
      Src: /src/bind9/tests/dns/deleg_test.c:646,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/deleg_test.c:646,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:646,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:647,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:648,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/dns/deleg_test.c:651,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/dns/deleg_test.c:652,1
    - Dst: isc_loop
      Src: /src/bind9/tests/dns/deleg_test.c:652,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 616
    functionDepth: 2
    functionLinenumber: 616
    functionLinenumberEnd: 653
    functionName: cleanuptests_phase2
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_delegset_allocdeleg
    - rcu_barrier
    - assert_int_in_range
    - assert_int_equal
    - dns_delegset_allocset
    - writedb
    - lookupdb
    - isc_mem_inuse
    - isc_async_run
    - ENTRIES_MEM
    - dns_delegset_detach
    - isc_loop
    - addipdeleg
    linkageType: ''
    returnType: void
    signature: void cleanuptests_phase2(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_delegdb_create
      Src: /src/bind9/tests/dns/deleg_test.c:668,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/deleg_test.c:669,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/tests/dns/deleg_test.c:671,1
    - Dst: dns_delegdb_setconfig
      Src: /src/bind9/tests/dns/deleg_test.c:673,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:678,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:679,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:681,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:682,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:688,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:689,1
    - Dst: assert_int_in_range
      Src: /src/bind9/tests/dns/deleg_test.c:692,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/deleg_test.c:692,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:695,1
    - Dst: assert_int_in_range
      Src: /src/bind9/tests/dns/deleg_test.c:698,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/deleg_test.c:698,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:698,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:699,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:701,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/tests/dns/deleg_test.c:708,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:709,1
    - Dst: addipdeleg
      Src: /src/bind9/tests/dns/deleg_test.c:713,1
    - Dst: assert_int_in_range
      Src: /src/bind9/tests/dns/deleg_test.c:721,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/dns/deleg_test.c:721,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:721,1
    - Dst: ENTRIES_MEM
      Src: /src/bind9/tests/dns/deleg_test.c:722,1
    - Dst: writedb
      Src: /src/bind9/tests/dns/deleg_test.c:723,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/dns/deleg_test.c:733,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/dns/deleg_test.c:734,1
    - Dst: isc_loop
      Src: /src/bind9/tests/dns/deleg_test.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 1
    argNames:
    - arg
    argTypes:
    - ISC_ATTR_UNUSED*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 735
    functionName: cleanuptests
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - dns_delegset_allocdeleg
    - rcu_barrier
    - isc_stdtime_now
    - assert_non_null
    - assert_int_in_range
    - dns_delegset_allocset
    - writedb
    - isc_mem_inuse
    - isc_async_run
    - ENTRIES_MEM
    - isc_loop
    - dns_delegdb_setconfig
    - addipdeleg
    - dns_delegdb_create
    linkageType: ''
    returnType: void
    signature: void cleanuptests(ISC_ATTR_UNUSED void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rundelegtest
      Src: /src/bind9/tests/dns/deleg_test.c:737,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 737
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - rundelegtest
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_deleg_basictests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rundelegtest
      Src: /src/bind9/tests/dns/deleg_test.c:738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 738
    functionDepth: 2
    functionLinenumber: 738
    functionLinenumberEnd: 738
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - rundelegtest
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_deleg_ttl0tests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rundelegtest
      Src: /src/bind9/tests/dns/deleg_test.c:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 739
    functionDepth: 2
    functionLinenumber: 739
    functionLinenumberEnd: 739
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - rundelegtest
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_deleg_noexacttests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rundelegtest
      Src: /src/bind9/tests/dns/deleg_test.c:740,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 740
    functionDepth: 2
    functionLinenumber: 740
    functionLinenumberEnd: 740
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - rundelegtest
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_deleg_deletetests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rundelegtest
      Src: /src/bind9/tests/dns/deleg_test.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 741
    functionDepth: 2
    functionLinenumber: 741
    functionLinenumberEnd: 741
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/deleg_test.c
    functionUses: 0
    functionsReached:
    - rundelegtest
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dns_deleg_cleanuptests)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: assert_uint_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_non_null
    - assert_int_equal
    - ISC_U8TO16_BE
    - assert_uint_in_range
    - assert_null
    - assert_memory_equal
    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_reset
    - dns_ede_add
    - 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_reset
    - dns_ede_add
    - 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_reset
    - dns_ede_add
    - 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:
    - dns_ede_init
    - expect_assert_failure
    - dns_ede_add
    - dns_ede_test_equals
    - dns_ede_reset
    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_copy
    - dns_ede_init
    - dns_ede_reset
    - dns_ede_add
    - dns_ede_test_equals
    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:113,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/private_test.c:114,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/private_test.c:117,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/tests/dns/private_test.c:119,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    argCount: 3
    argNames:
    - testcase
    - private
    - pbuf
    argTypes:
    - nsec3_testcase_t*
    - dns_rdata_t*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 121
    functionName: make_nsec3
    functionSourceFile: /src/bind9/tests/dns/private_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - dns_rdata_init
    - dns_rdata_fromstruct
    - htonl
    - dns_nsec3param_toprivate
    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:140,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/private_test.c:147,1
    - Dst: make_signing
      Src: /src/bind9/tests/dns/private_test.c:149,1
    - Dst: dns_private_totext
      Src: /src/bind9/tests/dns/private_test.c:150,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/private_test.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 153
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/private_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_string_equal
    - make_signing
    - dns_private_totext
    - isc_buffer_init
    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:177,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/private_test.c:184,1
    - Dst: make_nsec3
      Src: /src/bind9/tests/dns/private_test.c:186,1
    - Dst: dns_private_totext
      Src: /src/bind9/tests/dns/private_test.c:187,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/private_test.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 156
    functionDepth: 2
    functionLinenumber: 156
    functionLinenumberEnd: 190
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/private_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_string_equal
    - make_nsec3
    - dns_private_totext
    - isc_buffer_init
    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:94,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:95,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:96,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/dispatch_test.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: test_dispatch_done
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_dispatch_done
    - dns_dispatchmgr_detach
    - dns_dispatch_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:102,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - test
    argTypes:
    - test_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 100
    functionDepth: 2
    functionLinenumber: 100
    functionLinenumberEnd: 104
    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:112,1
    - Dst: socket
      Src: /src/bind9/tests/dns/dispatch_test.c:114,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:116,1
    - Dst: bind
      Src: /src/bind9/tests/dns/dispatch_test.c:120,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:123,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:124,1
    - Dst: getsockname
      Src: /src/bind9/tests/dns/dispatch_test.c:128,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:130,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:131,1
    - Dst: setsockopt_on
      Src: /src/bind9/tests/dns/dispatch_test.c:139,1
    - Dst: perror
      Src: /src/bind9/tests/dns/dispatch_test.c:141,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 2
    argNames:
    - addr
    - family
    argTypes:
    - isc_sockaddr_t*
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 148
    functionName: setup_ephemeral_port
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 1
    functionsReached:
    - getsockname
    - close
    - setsockopt_on
    - bind
    - socket
    - isc_sockaddr_fromin6
    - perror
    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: 138
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 138
    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:154,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:159,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/dns/dispatch_test.c:161,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:164,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:167,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:170,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/dns/dispatch_test.c:173,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:177,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/dns/dispatch_test.c:180,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:184,1
    - Dst: setup_ephemeral_port
      Src: /src/bind9/tests/dns/dispatch_test.c:187,1
    - Dst: close
      Src: /src/bind9/tests/dns/dispatch_test.c:191,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:193,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:194,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:195,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:196,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:197,1
    - Dst: isc_nm_setinitialtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:207,1
    - Dst: isc_nm_setprimariestimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:208,1
    - Dst: isc_nm_setidletimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:209,1
    - Dst: isc_nm_setkeepalivetimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:210,1
    - Dst: isc_nm_setadvertisedtimeout
      Src: /src/bind9/tests/dns/dispatch_test.c:211,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:213,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:216,1
    - Dst: isc_tlsctx_cache_create
      Src: /src/bind9/tests/dns/dispatch_test.c:218,1
    - Dst: isc_tlsctx_createserver
      Src: /src/bind9/tests/dns/dispatch_test.c:220,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/dispatch_test.c:226,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dispatch_test.c:226,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/dispatch_test.c:227,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/dispatch_test.c:227,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/dispatch_test.c:228,1
    - Dst: dns_transport_list_new
      Src: /src/bind9/tests/dns/dispatch_test.c:233,1
    - Dst: dns_transport_new
      Src: /src/bind9/tests/dns/dispatch_test.c:234,1
    - Dst: dns_transport_set_tlsname
      Src: /src/bind9/tests/dns/dispatch_test.c:236,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 54
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 150
    functionDepth: 1
    functionLinenumber: 150
    functionLinenumberEnd: 239
    functionName: setup_test
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 3
    functionsReached:
    - isc_buffer_add
    - strlen
    - memset
    - isc_sockaddr_fromin6
    - dns_transport_set_tlsname
    - setup_netmgr
    - close
    - isc_nm_setidletimeout
    - dns_name_fromtext
    - dns_transport_new
    - isc_loopmgr_create
    - isc_nm_setkeepalivetimeout
    - isc_nm_setinitialtimeout
    - setup_ephemeral_port
    - isc_tlsctx_createserver
    - isc_nm_setadvertisedtimeout
    - dns_transport_list_new
    - isc_tlsctx_cache_create
    - dns_fixedname_initname
    - isc_nm_setprimariestimeout
    - isc_buffer_constinit
    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:243,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:244,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/tests/dns/dispatch_test.c:245,1
    - Dst: teardown_netmgr
      Src: /src/bind9/tests/dns/dispatch_test.c:247,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/dispatch_test.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 251
    functionName: teardown_test
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 5
    functionsReached:
    - isc_tlsctx_free
    - dns_transport_list_detach
    - teardown_loopmgr
    - isc_tlsctx_cache_detach
    - teardown_netmgr
    linkageType: ''
    returnType: int
    signature: int teardown_test(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_any
      Src: /src/bind9/tests/dns/dispatch_test.c:260,1
    - Dst: RETERR
      Src: /src/bind9/tests/dns/dispatch_test.c:261,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/dispatch_test.c:261,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/tests/dns/dispatch_test.c:263,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - dispatchmgr
    - ndisps
    - dsetp
    argTypes:
    - dns_dispatchmgr_t*
    - unsigned int
    - dns_dispatchset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 267
    functionName: make_dispatchset
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_createudp
    - dns_dispatchset_create
    - RETERR
    - dns_dispatch_detach
    - isc_sockaddr_any
    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:275,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:277,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:278,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:281,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:282,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:284,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:285,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:286,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:288,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 291
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_int_equal
    - isc_loopmgr_shutdown
    - dns_dispatchmgr_detach
    - dns_dispatchset_destroy
    - make_dispatchset
    - dns_dispatchmgr_create
    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:301,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:303,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:304,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:306,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:307,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:309,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:310,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:311,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:312,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:313,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:315,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:316,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:317,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:318,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:320,1
    - Dst: make_dispatchset
      Src: /src/bind9/tests/dns/dispatch_test.c:322,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:323,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:332,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:334,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:336,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:338,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/tests/dns/dispatch_test.c:340,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:342,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:343,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:344,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:345,1
    - Dst: assert_ptr_not_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:346,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/tests/dns/dispatch_test.c:348,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/dns/dispatch_test.c:349,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 294
    functionDepth: 2
    functionLinenumber: 294
    functionLinenumberEnd: 351
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_ptr_not_equal
    - UNUSED
    - assert_ptr_equal
    - assert_int_equal
    - isc_loopmgr_shutdown
    - dns_dispatchmgr_detach
    - dns_dispatchmgr_create
    - dns_dispatchset_destroy
    - make_dispatchset
    - dns_dispatchset_get
    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:357,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:358,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:359,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: 362
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 362
    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:375,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:376,1
    - Dst: memmove
      Src: /src/bind9/tests/dns/dispatch_test.c:379,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:380,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/dns/dispatch_test.c:388,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/dns/dispatch_test.c:395,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: 396
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 396
    functionName: nameserver
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 7
    functionsReached:
    - memset
    - memmove
    - isc_nm_send
    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:400,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:401,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: 404
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 404
    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:409,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:410,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:411,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:412,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: 413
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 413
    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:420,1
    - Dst: dns_dispatch_getnext
      Src: /src/bind9/tests/dns/dispatch_test.c:421,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:422,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:424,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: 426
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 426
    functionName: response_getnext
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_getnext
    - assert_int_equal
    - test_dispatch_shutdown
    - atomic_compare_exchange_strong
    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:434,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: 436
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 436
    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:443,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:445,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: 446
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 446
    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:453,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:455,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: 456
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 456
    functionName: response_mismatch
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - test_dispatch_shutdown
    linkageType: ''
    returnType: void
    signature: "void response_mismatch(isc_result_t eresult, isc_region_t *region
      ISC_ATTR_UNUSED,\n\t\t  void *arg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memmove
      Src: /src/bind9/tests/dns/dispatch_test.c:473,1
    - Dst: memset
      Src: /src/bind9/tests/dns/dispatch_test.c:474,1
    - Dst: isc_nm_send
      Src: /src/bind9/tests/dns/dispatch_test.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    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: 481
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 481
    functionName: nameserver_mismatch
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - memset
    - memmove
    - isc_nm_send
    linkageType: ''
    returnType: void
    signature: "void nameserver_mismatch(isc_nmhandle_t *handle, isc_result_t eresult,\n\t\t
      \   isc_region_t *region, void *arg ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:488,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:490,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: 491
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 491
    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:495,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:496,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/dispatch_test.c:497,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: 498
      start: 493
    functionDepth: 0
    functionLinenumber: 493
    functionLinenumberEnd: 498
    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:508,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:511,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/tests/dns/dispatch_test.c:514,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: 515
      start: 500
    functionDepth: 3
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: connected
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_send
    - assert_int_equal
    - test_dispatch_shutdown
    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:527,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:530,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: 531
      start: 517
    functionDepth: 3
    functionLinenumber: 517
    functionLinenumberEnd: 531
    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:540,1
    - Dst: dns_dispatchmgr_ref
      Src: /src/bind9/tests/dns/dispatch_test.c:542,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:545,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:548,1
    - Dst: assert_ptr_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:550,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:552,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:553,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:557,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:559,1
    - Dst: test_dispatch_done
      Src: /src/bind9/tests/dns/dispatch_test.c:561,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: 562
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 562
    functionName: connected_sharedtcp
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - assert_ptr_equal
    - isc_mem_get
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - dns_dispatch_createtcp
    - dns_dispatchmgr_ref
    - test_dispatch_done
    - dns_dispatch_connect
    linkageType: ''
    returnType: void
    signature: "void connected_sharedtcp(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:575,1
    - Dst: test_dispatch_shutdown
      Src: /src/bind9/tests/dns/dispatch_test.c:578,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: 579
      start: 564
    functionDepth: 3
    functionLinenumber: 564
    functionLinenumberEnd: 579
    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:583,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/tests/dns/dispatch_test.c:588,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:593,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:594,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:596,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:599,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:601,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:602,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:606,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:611,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 612
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - dns_dispatch_createtcp
    - dns_dispatch_connect
    - isc_sockaddr_fromin6
    - dns_dispatchmgr_create
    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:616,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/tests/dns/dispatch_test.c:618,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/tests/dns/dispatch_test.c:619,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/dispatch_test.c:620,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 621
    functionName: stop_listening
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_stoplistening
    - UNUSED
    - assert_null
    - 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:625,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:629,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:632,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:635,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:635,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:638,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:639,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:641,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:644,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:646,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:646,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:651,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:653,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 654
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - isc_nm_listenstreamdns
    - isc_loop_teardown
    - dns_dispatch_createtcp
    - dns_dispatch_connect
    - dns_dispatchmgr_create
    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:658,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:662,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:665,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:667,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:667,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:673,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:674,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:676,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:679,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:681,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:681,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:686,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:691,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 692
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 692
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - isc_nm_listenstreamdns
    - isc_loop_teardown
    - dns_dispatch_createtcp
    - dns_dispatch_connect
    - dns_dispatchmgr_create
    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:696,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:700,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:704,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:706,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:706,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:712,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:713,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:715,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:718,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:720,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:721,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:725,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 694
    functionDepth: 1
    functionLinenumber: 694
    functionLinenumberEnd: 731
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - isc_nm_listenstreamdns
    - isc_loop_teardown
    - dns_dispatch_createtcp
    - dns_dispatch_connect
    - dns_dispatchmgr_create
    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:735,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/dns/dispatch_test.c:739,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:741,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:744,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:744,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:747,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:748,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/dispatch_test.c:750,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:752,1
    - Dst: dns_dispatch_add
      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: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:759,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 762
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenudp
    - isc_mem_get
    - dns_dispatch_createudp
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - isc_loop_teardown
    - dns_dispatch_connect
    - dns_dispatchmgr_create
    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:767,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/dns/dispatch_test.c:771,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:773,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:775,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:775,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:781,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:782,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/dispatch_test.c:784,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:786,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:788,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:788,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:793,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:798,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 765
    functionDepth: 1
    functionLinenumber: 765
    functionLinenumberEnd: 799
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenudp
    - isc_mem_get
    - dns_dispatch_createudp
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - isc_loop_teardown
    - dns_dispatch_connect
    - dns_dispatchmgr_create
    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:808,1
    - Dst: isc_nm_listenudp
      Src: /src/bind9/tests/dns/dispatch_test.c:812,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:814,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:816,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:816,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:822,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:823,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/tests/dns/dispatch_test.c:825,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:827,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:829,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:829,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:834,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 806
    functionDepth: 1
    functionLinenumber: 806
    functionLinenumberEnd: 840
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenudp
    - isc_mem_get
    - dns_dispatch_createudp
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - isc_loop_teardown
    - dns_dispatch_connect
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_mismatch_tcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/dispatch_test.c:844,1
    - Dst: isc_nm_listenstreamdns
      Src: /src/bind9/tests/dns/dispatch_test.c:848,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:851,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/dns/dispatch_test.c:854,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:854,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/dns/dispatch_test.c:857,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:858,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/tests/dns/dispatch_test.c:860,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:863,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/tests/dns/dispatch_test.c:865,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/dns/dispatch_test.c:866,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/dispatch_test.c:870,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/tests/dns/dispatch_test.c:872,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 873
      start: 842
    functionDepth: 1
    functionLinenumber: 842
    functionLinenumberEnd: 873
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/dispatch_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_loop_main
    - dns_dispatch_add
    - assert_int_equal
    - isc_nm_listenstreamdns
    - isc_loop_teardown
    - dns_dispatch_createtcp
    - dns_dispatch_connect
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: void
    signature: void ISC_LOOP_TEST_IMPL(dispatch_sharedtcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/zt_test.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    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:66,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:67,1
    - Dst: dns_zone_getview
      Src: /src/bind9/tests/dns/zt_test.c:69,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:70,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:71,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:72,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:74,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:76,1
    - Dst: dns_view_apply
      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: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:79,1
    - Dst: dns_test_setupzonemgr
      Src: /src/bind9/tests/dns/zt_test.c:82,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:83,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:84,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:85,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/dns/zt_test.c:86,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/zt_test.c:89,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:90,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zt_test.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 92
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - assert_non_null
    - assert_int_equal
    - rcu_read_unlock
    - dns_test_setupzonemgr
    - dns_test_closezonemgr
    - dns_test_releasezone
    - dns_view_detach
    - rcu_read_lock
    - rcu_dereference
    - isc_loopmgr_shutdown
    - dns_zone_getview
    - dns_test_managezone
    - dns_test_makezone
    - dns_view_apply
    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:100,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:101,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:103,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:105,1
    - Dst: dns_test_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:108,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/dns/zt_test.c:109,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:111,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/zt_test.c:112,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zt_test.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 117
    functionName: load_done_last
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_zone_detach
    - assert_non_null
    - assert_int_equal
    - dns_test_closezonemgr
    - dns_view_detach
    - dns_test_releasezone
    - isc_loopmgr_shutdown
    - dns_zone_getdb
    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:125,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:126,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:127,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 132
    functionName: load_done_new_only
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - dns_zone_getdb
    - dns_db_detach
    - assert_int_equal
    - 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:140,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:141,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:142,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/zt_test.c:148,1
    - Dst: fflush
      Src: /src/bind9/tests/dns/zt_test.c:149,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/zt_test.c:150,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 155
    functionName: load_done_first
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - fprintf
    - assert_int_equal
    - fflush
    - fclose
    - dns_zone_getdb
    - 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:165,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:166,1
    - Dst: dns_test_setupzonemgr
      Src: /src/bind9/tests/dns/zt_test.c:168,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:169,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:170,1
    - Dst: dns_zone_getview
      Src: /src/bind9/tests/dns/zt_test.c:172,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:173,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:174,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:175,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:176,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/zt_test.c:178,1
    - Dst: dns__zone_loadpending
      Src: /src/bind9/tests/dns/zt_test.c:178,1
    - Dst: fopen
      Src: /src/bind9/tests/dns/zt_test.c:179,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:180,1
    - Dst: fopen
      Src: /src/bind9/tests/dns/zt_test.c:181,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:182,1
    - Dst: fread
      Src: /src/bind9/tests/dns/zt_test.c:183,1
    - Dst: fclose
      Src: /src/bind9/tests/dns/zt_test.c:184,1
    - Dst: fwrite
      Src: /src/bind9/tests/dns/zt_test.c:185,1
    - Dst: fflush
      Src: /src/bind9/tests/dns/zt_test.c:186,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:188,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 192
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - assert_non_null
    - fopen
    - assert_int_equal
    - rcu_read_unlock
    - dns_test_setupzonemgr
    - fflush
    - fread
    - rcu_read_lock
    - rcu_dereference
    - dns_zone_setfile
    - dns_zone_getview
    - dns__zone_loadpending
    - dns_test_managezone
    - dns_test_makezone
    - fwrite
    - dns_zone_asyncload
    - assert_false
    - fclose
    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:201,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:202,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:203,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:205,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/tests/dns/zt_test.c:208,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:209,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:210,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/zt_test.c:212,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_releasezone
      Src: /src/bind9/tests/dns/zt_test.c:217,1
    - Dst: dns_test_closezonemgr
      Src: /src/bind9/tests/dns/zt_test.c:218,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_zone_detach
      Src: /src/bind9/tests/dns/zt_test.c:222,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/dns/zt_test.c:223,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zt_test.c:225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 227
    functionName: all_done
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_zone_detach
    - assert_non_null
    - assert_int_equal
    - dns_test_closezonemgr
    - dns_view_detach
    - dns_test_releasezone
    - isc_loopmgr_shutdown
    - dns_zone_getdb
    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:235,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:237,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:238,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:239,1
    - Dst: dns_zone_getview
      Src: /src/bind9/tests/dns/zt_test.c:241,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:243,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:244,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:245,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zt_test.c:249,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:250,1
    - Dst: dns_zone_setfile
      Src: /src/bind9/tests/dns/zt_test.c:251,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:254,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:255,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:256,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zt_test.c:257,1
    - Dst: dns_test_setupzonemgr
      Src: /src/bind9/tests/dns/zt_test.c:259,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:260,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:261,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:262,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:263,1
    - Dst: dns_test_managezone
      Src: /src/bind9/tests/dns/zt_test.c:264,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zt_test.c:265,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: dns__zone_loadpending
      Src: /src/bind9/tests/dns/zt_test.c:268,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/zt_test.c:269,1
    - Dst: atomic_load
      Src: /src/bind9/tests/dns/zt_test.c:269,1
    - Dst: rcu_read_lock
      Src: /src/bind9/tests/dns/zt_test.c:271,1
    - Dst: rcu_dereference
      Src: /src/bind9/tests/dns/zt_test.c:272,1
    - Dst: dns_zt_asyncload
      Src: /src/bind9/tests/dns/zt_test.c:273,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/tests/dns/zt_test.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 275
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zt_test.c
    functionUses: 0
    functionsReached:
    - dns_zt_asyncload
    - assert_non_null
    - assert_int_equal
    - rcu_read_unlock
    - dns_test_setupzonemgr
    - atomic_load
    - rcu_read_lock
    - rcu_dereference
    - dns_zone_setfile
    - atomic_init
    - dns_zone_getview
    - dns__zone_loadpending
    - dns_test_managezone
    - dns_test_makezone
    - assert_false
    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:42,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/dns/zonemgr_test.c:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 46
    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:50,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/dns/zonemgr_test.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 54
    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:60,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/dns/zonemgr_test.c:62,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:64,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:65,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:66,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 69
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_zonemgr_detach
    - isc_loopmgr_shutdown
    - dns_zonemgr_create
    - assert_null
    - 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:77,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/dns/zonemgr_test.c:79,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:81,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:82,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:84,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/tests/dns/zonemgr_test.c:84,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:87,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:88,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:90,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/tests/dns/zonemgr_test.c:90,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:92,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:93,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:95,1
    - Dst: dns_zonemgr_getcount
      Src: /src/bind9/tests/dns/zonemgr_test.c:95,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:97,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:98,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:99,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 72
    functionDepth: 1
    functionLinenumber: 72
    functionLinenumberEnd: 102
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 0
    functionsReached:
    - dns_zonemgr_getcount
    - UNUSED
    - dns_zone_detach
    - assert_null
    - assert_int_equal
    - dns_zonemgr_releasezone
    - dns_zonemgr_detach
    - isc_loopmgr_shutdown
    - dns_zonemgr_managezone
    - dns_zonemgr_create
    - dns_test_makezone
    - 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:110,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/dns/zonemgr_test.c:112,1
    - Dst: dns_zonemgr_createzone
      Src: /src/bind9/tests/dns/zonemgr_test.c:114,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:115,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:116,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/tests/dns/zonemgr_test.c:118,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/zonemgr_test.c:119,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:121,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:123,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/dns/zonemgr_test.c:124,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/zonemgr_test.c:125,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/dns/zonemgr_test.c:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 105
    functionDepth: 1
    functionLinenumber: 105
    functionLinenumberEnd: 128
    functionName: ISC_LOOP_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/zonemgr_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_zone_detach
    - assert_non_null
    - assert_int_equal
    - dns_zonemgr_detach
    - isc_loopmgr_shutdown
    - dns_zonemgr_createzone
    - dns_zonemgr_managezone
    - dns_zonemgr_create
    - assert_null
    - 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:
    - UNUSED
    - dst_algorithm_supported
    - dst_context_verify
    - dns_name_fromtext
    - dst_context_destroy
    - dst_key_fromfile
    - assert_int_equal
    - isc_buffer_add
    - dns_fixedname_initname
    - dst_context_create
    - isc_buffer_constinit
    - dst_key_free
    - dst_context_adddata
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rsa_verify)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rsa_test.c:217,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/rsa_test.c:219,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/rsa_test.c:220,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/rsa_test.c:221,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/rsa_test.c:222,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:223,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rsa_test.c:244,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/rsa_test.c:245,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/tests/dns/rsa_test.c:247,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:249,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/rsa_test.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 251
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rsa_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_fromtext
    - assert_int_equal
    - dst_key_fromdns
    - isc_buffer_add
    - dns_fixedname_initname
    - assert_null
    - isc_buffer_constinit
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rsa_fromdns_oversized_exponent)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rsa_test.c:263,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/rsa_test.c:265,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/rsa_test.c:266,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/rsa_test.c:267,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/rsa_test.c:268,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:269,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rsa_test.c:282,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/rsa_test.c:283,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/tests/dns/rsa_test.c:285,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rsa_test.c:287,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/rsa_test.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 289
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rsa_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_fromtext
    - assert_int_equal
    - dst_key_fromdns
    - isc_buffer_add
    - dns_fixedname_initname
    - assert_null
    - isc_buffer_constinit
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(isc_rsa_fromdns_short_modulus)
  - 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:
    - fprintf
    - assert_false
    - ERR_get_error_all
    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:
    - detect_uncleared_libcrypto_error
    - isc_buffer_setactive
    - dns_rdata_fromwire
    - isc_buffer_add
    - isc_buffer_constinit
    - isc_buffer_init
    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_usedlength
    - dns_rdata_towire
    - isc_buffer_init
    - 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_name_fromstring
    - dns_rdata_checknames
    - dns_fixedname_initname
    - assert_int_equal
    linkageType: ''
    returnType: void
    signature: void rdata_checknames(dns_rdata_t *rdata)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/tests/dns/rdata_test.c:266,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/rdata_test.c:267,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/tests/dns/rdata_test.c:272,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:273,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:274,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:279,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/rdata_test.c:280,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:282,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:287,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/tests/dns/rdata_test.c:287,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:289,1
    - Dst: dns_rdata_apl_first
      Src: /src/bind9/tests/dns/rdata_test.c:301,1
    - Dst: dns_rdata_apl_next
      Src: /src/bind9/tests/dns/rdata_test.c:303,1
    - Dst: dns_rdata_apl_current
      Src: /src/bind9/tests/dns/rdata_test.c:306,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:309,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:310,1
    - Dst: dns_rdata_hip_first
      Src: /src/bind9/tests/dns/rdata_test.c:319,1
    - Dst: dns_rdata_hip_next
      Src: /src/bind9/tests/dns/rdata_test.c:321,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/rdata_test.c:324,1
    - Dst: dns_rdata_hip_current
      Src: /src/bind9/tests/dns/rdata_test.c:325,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/rdata_test.c:326,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/dns/rdata_test.c:327,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:328,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/dns/rdata_test.c:328,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:331,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:332,1
    - Dst: dns_rdata_in_https_first
      Src: /src/bind9/tests/dns/rdata_test.c:341,1
    - Dst: dns_rdata_in_https_next
      Src: /src/bind9/tests/dns/rdata_test.c:343,1
    - Dst: dns_rdata_in_https_current
      Src: /src/bind9/tests/dns/rdata_test.c:346,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:347,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:350,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:351,1
    - Dst: dns_rdata_in_svcb_first
      Src: /src/bind9/tests/dns/rdata_test.c:360,1
    - Dst: dns_rdata_in_svcb_next
      Src: /src/bind9/tests/dns/rdata_test.c:362,1
    - Dst: dns_rdata_in_svcb_current
      Src: /src/bind9/tests/dns/rdata_test.c:365,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:366,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:369,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:370,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/dns/rdata_test.c:376,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 63
    argCount: 3
    argNames:
    - rdata
    - structsize
    - loop
    argTypes:
    - dns_rdata_t*
    - size_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 377
    functionName: check_struct_conversions
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - assert_int_equal
    - dns_rdata_in_https_current
    - dns_rdata_apl_first
    - assert_int_not_equal
    - dns_rdata_apl_next
    - assert_memory_equal
    - dns_name_init
    - dns_rdata_hip_current
    - isc_mem_free
    - isc_mem_allocate
    - dns_rdata_in_svcb_current
    - dns_rdata_in_svcb_next
    - isc_buffer_init
    - dns_rdata_tostruct
    - assert_non_null
    - assert_true
    - dns_rdata_hip_next
    - dns_rdata_in_https_next
    - dns_name_countlabels
    - dns_name_isabsolute
    - detect_uncleared_libcrypto_error
    - dns_rdata_in_svcb_first
    - dns_rdata_fromstruct
    - dns_rdata_hip_first
    - dns_rdata_apl_current
    - 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:395,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:401,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:409,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: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:413,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:416,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/rdata_test.c:418,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/rdata_test.c:433,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/rdata_test.c:434,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:435,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:438,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:439,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:442,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:444,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:446,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:448,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/rdata_test.c:454,1
    - Dst: strcmp
      Src: /src/bind9/tests/dns/rdata_test.c:455,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:456,1
    - Dst: assert_string_equal
      Src: /src/bind9/tests/dns/rdata_test.c:459,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:462,1
    - Dst: wire_to_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:468,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:470,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:471,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:472,1
    - Dst: rdata_towire
      Src: /src/bind9/tests/dns/rdata_test.c:477,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:478,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:479,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:480,1
    - Dst: rdata_additionadata
      Src: /src/bind9/tests/dns/rdata_test.c:485,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:486,1
    - Dst: rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:491,1
    - Dst: check_struct_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:497,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: 498
      start: 384
    functionDepth: 3
    functionLinenumber: 384
    functionLinenumberEnd: 498
    functionName: check_text_ok_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - strcmp
    - check_struct_conversions
    - detect_uncleared_libcrypto_error
    - rdata_checknames
    - rdata_additionadata
    - fprintf
    - dns_rdata_totext
    - assert_int_equal
    - wire_to_rdata
    - dns_test_rdatafromstring
    - assert_string_equal
    - rdata_towire
    - assert_int_not_equal
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_result_totext
    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:522,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/tests/dns/rdata_test.c:523,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:524,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:525,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/rdata_test.c:531,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:533,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:539,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:543,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:543,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:544,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:546,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:547,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:548,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 549
    functionName: check_text_conversions
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - detect_uncleared_libcrypto_error
    - dns_rdata_totext
    - fprintf
    - assert_int_equal
    - dns_test_rdatafromstring
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_result_totext
    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:574,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/tests/dns/rdata_test.c:575,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/tests/dns/rdata_test.c:576,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:578,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:579,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/rdata_test.c:585,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:587,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:594,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:597,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:598,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:599,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 600
    functionName: check_multiline_text_conversions
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - detect_uncleared_libcrypto_error
    - fprintf
    - assert_int_equal
    - dns_test_rdatafromstring
    - dns_rdata_tofmttext
    - dns_master_styleflags
    - isc_buffer_putuint8
    - isc_buffer_init
    - assert_memory_equal
    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:617,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:623,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/rdata_test.c:625,1
    - Dst: check_struct_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:642,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/tests/dns/rdata_test.c:643,1
    - Dst: check_text_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:644,1
    - Dst: check_multiline_text_conversions
      Src: /src/bind9/tests/dns/rdata_test.c:645,1
    - Dst: rdata_towire
      Src: /src/bind9/tests/dns/rdata_test.c:651,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:652,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:653,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:654,1
    - Dst: rdata_additionadata
      Src: /src/bind9/tests/dns/rdata_test.c:659,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:660,1
    - Dst: rdata_checknames
      Src: /src/bind9/tests/dns/rdata_test.c:665,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: 666
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 666
    functionName: check_wire_ok_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_struct_conversions
    - rdata_checknames
    - rdata_additionadata
    - dns_rdatatype_ismeta
    - assert_int_equal
    - wire_to_rdata
    - check_text_conversions
    - rdata_towire
    - assert_int_not_equal
    - check_multiline_text_conversions
    - assert_memory_equal
    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:683,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: 685
      start: 674
    functionDepth: 4
    functionLinenumber: 674
    functionLinenumberEnd: 685
    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:697,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:705,1
    - Dst: check_wire_ok_single
      Src: /src/bind9/tests/dns/rdata_test.c:708,1
    - Dst: check_wire_ok_single
      Src: /src/bind9/tests/dns/rdata_test.c:714,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: 715
      start: 694
    functionDepth: 4
    functionLinenumber: 694
    functionLinenumberEnd: 715
    functionName: check_wire_ok
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_wire_ok_single
    - fprintf
    - WIRE_TEST
    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:728,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:732,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:736,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:741,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/tests/dns/rdata_test.c:745,1
    - Dst: detect_uncleared_libcrypto_error
      Src: /src/bind9/tests/dns/rdata_test.c:746,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:748,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:755,1
    - Dst: fail_msg
      Src: /src/bind9/tests/dns/rdata_test.c:762,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: 768
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 768
    functionName: check_compare_ok_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - detect_uncleared_libcrypto_error
    - dns_test_rdatafromstring
    - fail_msg
    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:782,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: 784
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 784
    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:801,1
    - Dst: check_wire_ok
      Src: /src/bind9/tests/dns/rdata_test.c:804,1
    - Dst: check_compare_ok
      Src: /src/bind9/tests/dns/rdata_test.c:807,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: 809
      start: 796
    functionDepth: 5
    functionLinenumber: 796
    functionLinenumberEnd: 809
    functionName: check_rdata
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_wire_ok
    - check_compare_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:821,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:825,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:826,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:826,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:828,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/rdata_test.c:829,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:833,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:834,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/dns/rdata_test.c:834,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:836,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:838,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:839,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:842,1
    - Dst: memcmp
      Src: /src/bind9/tests/dns/rdata_test.c:843,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:845,1
    - Dst: fprintf
      Src: /src/bind9/tests/dns/rdata_test.c:848,1
    - Dst: assert_memory_equal
      Src: /src/bind9/tests/dns/rdata_test.c:853,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: 854
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 854
    functionName: check_textvsunknown_single
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_memory_equal
    - fprintf
    - assert_int_equal
    - dns_test_rdatafromstring
    - memcmp
    - isc_result_totext
    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:865,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: 867
      start: 856
    functionDepth: 2
    functionLinenumber: 856
    functionLinenumberEnd: 867
    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:892,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:893,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:894,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:895,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:896,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:897,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:898,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/rdata_test.c:901,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:903,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: 904
      start: 876
    functionDepth: 6
    functionLinenumber: 876
    functionLinenumberEnd: 904
    functionName: key_required
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - UNUSED
    - WIRE_VALID
    - check_rdata
    - WIRE_INVALID
    linkageType: ''
    returnType: void
    signature: void key_required(void **state, dns_rdatatype_t type, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:910,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:912,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:913,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:915,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:915,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:917,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:918,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:919,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:919,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:921,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:922,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:924,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:925,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:927,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:929,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:931,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:931,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:935,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:938,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:940,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:942,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:944,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:948,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 907
    functionDepth: 6
    functionLinenumber: 907
    functionLinenumberEnd: 953
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_LOOP
    - WIRE_INVALID
    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:993,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:994,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:998,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1002,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1006,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1010,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1014,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1018,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1023,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1027,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1031,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1035,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1040,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1040,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1044,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1048,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1052,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1057
      start: 992
    functionDepth: 6
    functionLinenumber: 992
    functionLinenumberEnd: 1057
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    - WIRE_INVALID
    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:1062,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1062,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1062,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1063,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1065,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1066,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1066,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1067,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1068,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1069,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1072,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1073,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1074,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1075,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1076,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1077,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1080,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1081,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1081,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1082,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1083,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1086,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1088,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1090,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1091,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1092,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1093,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1096,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1096,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1097,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1097,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1098,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1098,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1103,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1106,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1106,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1107,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1107,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1108,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1110,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1110,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1111,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1112,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1113,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1114,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1116,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1116,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1117,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1120,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1124,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1124,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1125,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1127,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1127,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1131,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1060
    functionDepth: 6
    functionLinenumber: 1060
    functionLinenumberEnd: 1136
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    - WIRE_INVALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(amtrelay)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1141,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1143,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1145,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1147,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1149,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1153,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1139
    functionDepth: 6
    functionLinenumber: 1139
    functionLinenumberEnd: 1158
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_INVALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(brid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: key_required
      Src: /src/bind9/tests/dns/rdata_test.c:1161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1162
      start: 1160
    functionDepth: 7
    functionLinenumber: 1160
    functionLinenumberEnd: 1162
    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:1229,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1230,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1231,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1232,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1233,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1234,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1235,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1236,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1237,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1238,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1243,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1247,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1251,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1255,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1259,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1263,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1267,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1271,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1275,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1280,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1228
    functionDepth: 6
    functionLinenumber: 1228
    functionLinenumberEnd: 1285
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - WIRE_INVALID
    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:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 7
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    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:1356,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1360,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1367,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1373,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1377,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1381,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1385,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1389,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1393,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1397,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1401,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1405,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1409,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1413,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1425,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1429,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1435,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1440,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1445,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1450,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1455,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1460,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1495,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1351
    functionDepth: 6
    functionLinenumber: 1351
    functionLinenumberEnd: 1500
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    - WIRE_INVALID
    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:1569,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1573,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1577,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1581,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1585,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1589,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1590,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1594,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1598,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1603,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1604,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1609,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1618,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1623,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1627,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1628,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:1634,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1647,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1653,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1657,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1663,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1667,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1671,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1675,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1679,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1683,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1684,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1690,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1696,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1703,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1704,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1712,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1720,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1728,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1732,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1733,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1743,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1752,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1759,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1763,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1768
      start: 1564
    functionDepth: 6
    functionLinenumber: 1564
    functionLinenumberEnd: 1768
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    - WIRE_INVALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(ds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1827,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1831,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1835,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1839,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1843,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1847,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1851,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1855,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1859,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1863,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1867,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:1871,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:1873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1822
    functionDepth: 6
    functionLinenumber: 1822
    functionLinenumberEnd: 1875
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_INVALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(dsync)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1942,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1946,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1950,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1954,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1958,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1963,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1968,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1974,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1979,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:1985,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1989,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1993,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:1997,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2002,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2008,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2013
      start: 1937
    functionDepth: 6
    functionLinenumber: 1937
    functionLinenumberEnd: 2013
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_rdata
    - WIRE_SENTINEL
    - WIRE_INVALID
    - 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:2020,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2024,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2028,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2032,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2037,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2042,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2047,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2015
    functionDepth: 6
    functionLinenumber: 2015
    functionLinenumberEnd: 2052
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - check_rdata
    - WIRE_SENTINEL
    - WIRE_INVALID
    - 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:2064,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2065,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2066,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2070,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2071,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2071,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2075,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2079
      start: 2063
    functionDepth: 6
    functionLinenumber: 2063
    functionLinenumberEnd: 2079
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    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:2087,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2093,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2100,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2110,1
    - Dst: wire_to_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2128,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/rdata_test.c:2130,1
    - Dst: check_text_ok
      Src: /src/bind9/tests/dns/rdata_test.c:2131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2133
      start: 2084
    functionDepth: 5
    functionLinenumber: 2084
    functionLinenumberEnd: 2133
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - wire_to_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_LOOP
    - check_text_ok
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(hip)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2138,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2140,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2142,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2144,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2146,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2150,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2155
      start: 2136
    functionDepth: 6
    functionLinenumber: 2136
    functionLinenumberEnd: 2155
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_INVALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(hhit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2222,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2226,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2230,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2234,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2238,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2243
      start: 2218
    functionDepth: 6
    functionLinenumber: 2218
    functionLinenumberEnd: 2243
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - check_rdata
    - 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:2270,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2270,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2271,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2272,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2273,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2274,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2275,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2277,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2280,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2283,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2285,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2287,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2290,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2293,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2296,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2298,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2301,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2303,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2305,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2307,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2309,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2311,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2314,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2316,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2320,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2325
      start: 2248
    functionDepth: 6
    functionLinenumber: 2248
    functionLinenumberEnd: 2325
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - WIRE_INVALID
    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:2332,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2334,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2336,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2338,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2341,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2344,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2347,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2350,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2351,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2352,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2353,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2354,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2355,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2356,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2357,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2358,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2359,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2360,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2361,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2363,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2364,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2365,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2366,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2367,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_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2371,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2372,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2373,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2374,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2375,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2376,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2377,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2382,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2387
      start: 2330
    functionDepth: 6
    functionLinenumber: 2330
    functionLinenumberEnd: 2387
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID
    - TEXT_INVALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    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:2399,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2400,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2401,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2405,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2406,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2406,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2410,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2398
    functionDepth: 6
    functionLinenumber: 2398
    functionLinenumberEnd: 2414
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    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:2483,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2483,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2484,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2484,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2485,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2485,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2486,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2487,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2488,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2492
      start: 2482
    functionDepth: 6
    functionLinenumber: 2482
    functionLinenumberEnd: 2492
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - WIRE_INVALID
    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:2500,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2500,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2501,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2502,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2503,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2506,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2509,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2512,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2514,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2517,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2521,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2524,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2526,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2528,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2535,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2544,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2499
    functionDepth: 6
    functionLinenumber: 2499
    functionLinenumberEnd: 2549
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - WIRE_INVALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(nsec3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2554,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2559,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2563,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2564,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2566,1
    - Dst: COMPARE
      Src: /src/bind9/tests/dns/rdata_test.c:2568,1
    - Dst: COMPARE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2568,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2552
    functionDepth: 6
    functionLinenumber: 2552
    functionLinenumberEnd: 2573
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - COMPARE_SENTINEL
    - check_rdata
    - COMPARE
    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:2579,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2583,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2584,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2588,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2593,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2597,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2598,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2602,1
    - Dst: key_required
      Src: /src/bind9/tests/dns/rdata_test.c:2604,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2607
      start: 2575
    functionDepth: 7
    functionLinenumber: 2575
    functionLinenumberEnd: 2607
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - key_required
    - WIRE_INVALID
    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:2611,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2619,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2623
      start: 2609
    functionDepth: 6
    functionLinenumber: 2609
    functionLinenumberEnd: 2623
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - check_rdata
    - TEXT_SENTINEL
    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:2627,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2628,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2629,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2630,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2631,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2633,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2635,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2638,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2642,1
    - Dst: TEXT_VALID_CHANGED
      Src: /src/bind9/tests/dns/rdata_test.c:2649,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2659,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2661,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2662,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2663,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2666,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2666,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2667,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2671,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2675,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2679,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2679,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2680,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2686,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2691,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2697,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2697,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2700,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2703,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2705
      start: 2626
    functionDepth: 6
    functionLinenumber: 2626
    functionLinenumberEnd: 2705
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - TEXT_VALID_CHANGED
    - WIRE_INVALID
    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:2708,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2714,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2717
      start: 2707
    functionDepth: 6
    functionLinenumber: 2707
    functionLinenumberEnd: 2717
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - TEXT_VALID_CHANGED
    - check_rdata
    - TEXT_SENTINEL
    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:2762,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2767,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2771,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2776,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2780,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2784,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2788,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2792,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:2795,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2797
      start: 2758
    functionDepth: 6
    functionLinenumber: 2758
    functionLinenumberEnd: 2797
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - WIRE_INVALID
    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:2806,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2808,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2810,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2812,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2814,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2816,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2818,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2820,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2821,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2822,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2824,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2826,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2829,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2832,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2834,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2836,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2838,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2842,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2843,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2846,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2847,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2848,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2850,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2851,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2853,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2857,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2858,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2859,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2860,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2862,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2865,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2866,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2867,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2868,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2869,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2871,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2872,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2873,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2875,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2877,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2879,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2884,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2885,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2886,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2887,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2888,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2891,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2892,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2894,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2897,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2899,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2900,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2901,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2904,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2905,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2906,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2907,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2908,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2909,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2910,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2911,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2912,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2913,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2916,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2918,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2920,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2922,1
    - Dst: TEXT_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2924,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2925,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2927,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2930,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2932,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2934,1
    - Dst: TEXT_VALID_LOOPCHG
      Src: /src/bind9/tests/dns/rdata_test.c:2938,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2943,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2944,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2945,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2946,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2948,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2950,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2952,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2954,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2956,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2958,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2960,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:2961,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2968,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:2972,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2976,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2980,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2984,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2985,1
    - Dst: WIRE_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:2987,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2992,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:2997,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3002,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3007,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3011,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3016,1
    - Dst: WIRE_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:3022,1
    - Dst: WIRE_VALID_LOOP
      Src: /src/bind9/tests/dns/rdata_test.c:3027,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3032,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3036,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:3038,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:3093,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:3095,1
    - Dst: check_textvsunknown
      Src: /src/bind9/tests/dns/rdata_test.c:3098,1
    - Dst: check_textvsunknown
      Src: /src/bind9/tests/dns/rdata_test.c:3100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3102
      start: 2799
    functionDepth: 6
    functionLinenumber: 2799
    functionLinenumberEnd: 3102
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID_LOOPCHG
    - TEXT_INVALID
    - WIRE_VALID
    - WIRE_VALID_LOOP
    - check_rdata
    - TEXT_SENTINEL
    - check_textvsunknown
    - TEXT_VALID_LOOP
    - WIRE_INVALID
    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:3191,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3193,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3195,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3197,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3199,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3201,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3203,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3205,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3207,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3209,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3211,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3213,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3215,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3217,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3219,1
    - Dst: TEXT_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3224,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3230,1
    - Dst: TEXT_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3234,1
    - Dst: TEXT_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:3238,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3244,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3248,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3252,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3256,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3260,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3264,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3268,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3274,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3281,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3287,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3297,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3308,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3319,1
    - Dst: WIRE_INVALID
      Src: /src/bind9/tests/dns/rdata_test.c:3330,1
    - Dst: WIRE_VALID
      Src: /src/bind9/tests/dns/rdata_test.c:3343,1
    - Dst: WIRE_SENTINEL
      Src: /src/bind9/tests/dns/rdata_test.c:3353,1
    - Dst: check_rdata
      Src: /src/bind9/tests/dns/rdata_test.c:3356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3358
      start: 3189
    functionDepth: 6
    functionLinenumber: 3189
    functionLinenumberEnd: 3358
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - WIRE_SENTINEL
    - TEXT_VALID
    - TEXT_INVALID
    - WIRE_VALID
    - check_rdata
    - TEXT_SENTINEL
    - WIRE_INVALID
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(zonemd)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/tests/dns/rdata_test.c:3365,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3370,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:3372,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3376,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/rdata_test.c:3378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3383
      start: 3360
    functionDepth: 1
    functionLinenumber: 3360
    functionLinenumberEnd: 3383
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_atcname
    - print_message
    - assert_true
    - 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:3390,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3394,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:3396,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3400,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/rdata_test.c:3402,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3385
    functionDepth: 1
    functionLinenumber: 3385
    functionLinenumberEnd: 3407
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - print_message
    - assert_true
    - dns_rdatatype_atparent
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(atparent)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_iszonecutauth
      Src: /src/bind9/tests/dns/rdata_test.c:3413,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3420,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/rdata_test.c:3422,1
    - Dst: print_message
      Src: /src/bind9/tests/dns/rdata_test.c:3426,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/rdata_test.c:3428,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3433
      start: 3409
    functionDepth: 1
    functionLinenumber: 3409
    functionLinenumberEnd: 3433
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/rdata_test.c
    functionUses: 0
    functionsReached:
    - print_message
    - assert_true
    - dns_rdatatype_iszonecutauth
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(iszonecutauth)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/byaddr_test.c:64,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/byaddr_test.c:71,1
    - Dst: dns_name_init
      Src: /src/bind9/tests/dns/byaddr_test.c:72,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/tests/dns/byaddr_test.c:73,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/dns/byaddr_test.c:74,1
    - Dst: dns_byaddr_parseptrname
      Src: /src/bind9/tests/dns/byaddr_test.c:76,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/byaddr_test.c:79,1
    - Dst: assert_int_not_equal
      Src: /src/bind9/tests/dns/byaddr_test.c:81,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/tests/dns/byaddr_test.c:84,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/tests/dns/byaddr_test.c:85,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/tests/dns/byaddr_test.c:86,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/tests/dns/byaddr_test.c:87,1
    - Dst: strcmp
      Src: /src/bind9/tests/dns/byaddr_test.c:90,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/byaddr_test.c:91,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 94
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/byaddr_test.c
    functionUses: 0
    functionsReached:
    - dns_byaddr_parseptrname
    - strcmp
    - dns_name_setbuffer
    - dns_name_init
    - assert_int_equal
    - isc_netaddr_totext
    - dns_name_invalidate
    - assert_int_not_equal
    - dns_name_fromstring
    - isc_buffer_clear
    - isc_buffer_putuint8
    - ARRAY_SIZE
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(byaddr_parseptrname)
  - 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_logconfig_get
    - isc_log_setdebuglevel
    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_null
    - assert_ptr_equal
    - assert_int_not_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:
    - ISC_INSIST
    - memmove
    - ARRAY_SIZE
    - 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: 0
    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:
    - qp_test_keytoascii
    - memmove
    - isc_random_uniform
    - random_byte
    - assert_int_equal
    - dns_qp_getkey
    - dns_qp_destroy
    - dns_qp_insert
    - dns_qp_create
    - ARRAY_SIZE
    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:
    - UNUSED
    - assert_ptr_equal
    - assert_true
    - assert_int_equal
    - dns_qp_getkey
    - TRACE
    - assert_null
    - UNREACHABLE
    - assert_false
    - isc_result_totext
    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:
    - checkkey
    - TRACE
    - ASSERT
    - qp_test_dumptrie
    - ARRAY_SIZE
    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:
    - checkkey
    - TRACE
    - ASSERT
    - qp_test_dumptrie
    - ARRAY_SIZE
    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
    - checkkey
    - dns_qp_deletekey
    - dns_qpmulti_snapshot
    - ASSERT
    - dns_qpmulti_commit
    - dns_qpread_destroy
    - dns_qpmulti_rollback
    - isc_random_uniform
    - checkallro
    - checkallrw
    - TRACE
    - dns_qpmulti_write
    - dns_qp_insert
    - assert_true
    - dns_qpsnap_destroy
    - dns_qpmulti_update
    - qp_test_dumptrie
    - ARRAY_SIZE
    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:
    - rcu_quiescent_state
    - UNUSED
    - isc_loopmgr_shutdown
    - TRACE
    - 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:
    - rcu_barrier
    - isc_loopmgr_run
    - setup_loopmgr
    - setup_items
    - isc_loop_main
    - isc_loop_setup
    - setup_logging
    - isc_loopmgr_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpmulti)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_create
      Src: /src/bind9/tests/dns/qpmulti_test.c:385,1
    - Dst: dns_qpmulti_memusage
      Src: /src/bind9/tests/dns/qpmulti_test.c:387,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:388,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpmulti_test.c:389,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/dns/qpmulti_test.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 392
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpmulti_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - dns_qpmulti_memusage
    - dns_qpmulti_destroy
    - dns_qpmulti_create
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(qpmulti_memusage)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - db
    - ','
    - version_var
    - ','
    - should_commit
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 66
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WITH_NEWVERSION(db, version_var, should_commit)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:197,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:198,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:201,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:201,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:202,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:202,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:203,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:204,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:206,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:206,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:207,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:207,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:208,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:209,1
    - Dst: dns_vecheader_setownercase
      Src: /src/bind9/tests/dns/qpzone_test.c:212,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:214,1
    - Dst: CASESET
      Src: /src/bind9/tests/dns/qpzone_test.c:214,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/tests/dns/qpzone_test.c:217,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/tests/dns/qpzone_test.c:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - str1
    - str2
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 220
    functionName: ownercase_test_one
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_rdataset_getownercase
    - assert_int_equal
    - assert_true
    - CASESET
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - dns_name_caseequal
    - isc_buffer_constinit
    - dns_vecheader_setownercase
    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:223,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/dns/qpzone_test.c:225,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:226,1
    - Dst: ownercase_test_one
      Src: /src/bind9/tests/dns/qpzone_test.c:226,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:230,1
    - Dst: ownercase_test_one
      Src: /src/bind9/tests/dns/qpzone_test.c:230,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:233,1
    - Dst: ownercase_test_one
      Src: /src/bind9/tests/dns/qpzone_test.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 2
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - UNUSED
    - ownercase_test_one
    - assert_true
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(ownercase)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/tests/dns/qpzone_test.c:240,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - target_ip
    - (*ips)
    - count
    argTypes:
    - unsigned char*
    - unsigned char[]
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 245
    functionName: find_ip_index
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - memcmp
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t find_ip_index(const unsigned char *target_ip, unsigned char
      (*ips)[16],\n\t      ssize_t count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/tests/dns/qpzone_test.c:257,1
    - Dst: dns_db_beginupdate
      Src: /src/bind9/tests/dns/qpzone_test.c:259,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:260,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/qpzone_test.c:268,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/qpzone_test.c:272,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/qpzone_test.c:274,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/qpzone_test.c:275,1
    - Dst: dns_rdatacallbacks_t::update
      Src: /src/bind9/tests/dns/qpzone_test.c:277,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:279,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/qpzone_test.c:281,1
    - Dst: dns_db_commitupdate
      Src: /src/bind9/tests/dns/qpzone_test.c:283,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 9
    argNames:
    - db
    - version
    - name
    - rdtype
    - rdclass
    - ttl
    - data
    - data_len
    - op
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataclass_t
    - uint32_t
    - unsigned char*
    - size_t
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 287
    functionName: apply_dns_update
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - dns_rdatacallbacks_init
    - dns_db_commitupdate
    - dns_db_beginupdate
    - assert_int_equal
    - ISC_LIST_APPEND
    - dns_rdataset_init
    - dns_rdatacallbacks_t::update
    - dns_rdatalist_init
    - dns_rdataset_disassociate
    - dns_rdatalist_tordataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t apply_dns_update(dns_db_t *db, dns_dbversion_t *version,
      const dns_name_t *name,\n\t\t dns_rdatatype_t rdtype, dns_rdataclass_t rdclass,
      uint32_t ttl,\n\t\t const unsigned char *data, size_t data_len, dns_diffop_t
      op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:298,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/dns/qpzone_test.c:301,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/qpzone_test.c:304,1
    - Dst: dns_db_find
      Src: /src/bind9/tests/dns/qpzone_test.c:306,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:308,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:311,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:312,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:313,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/tests/dns/qpzone_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:321,1
    - Dst: find_ip_index
      Src: /src/bind9/tests/dns/qpzone_test.c:327,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:328,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:329,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:340,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/tests/dns/qpzone_test.c:342,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/qpzone_test.c:343,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/dns/qpzone_test.c:344,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 6
    argNames:
    - db
    - version
    - name
    - (*ips)
    - expected_count
    - expected_ttl
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - unsigned char[]
    - ssize_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 289
    functionDepth: 1
    functionLinenumber: 289
    functionLinenumberEnd: 346
    functionName: verify_aaaa_records
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - isc_mem_cput
    - isc_mem_cget
    - dns_rdataset_init
    - assert_int_equal
    - assert_true
    - dns_db_find
    - dns_fixedname_initname
    - find_ip_index
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - assert_false
    linkageType: ''
    returnType: void
    signature: "void verify_aaaa_records(dns_db_t *db, dns_dbversion_t *version,\n\t\t
      \   const dns_name_t *name, unsigned char (*ips)[16],\n\t\t    ssize_t expected_count,
      uint32_t expected_ttl)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/tests/dns/qpzone_test.c:318,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:321,1
    - Dst: find_ip_index
      Src: /src/bind9/tests/dns/qpzone_test.c:327,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:328,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 331
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_true
    - assert_int_equal
    - find_ip_index
    - dns_rdataset_current
    - assert_false
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:366,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/qpzone_test.c:367,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qpzone_test.c:369,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:372,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:372,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:373,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:373,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:374,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:375,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/dns/qpzone_test.c:377,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:377,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/dns/qpzone_test.c:378,1
    - Dst: strlen
      Src: /src/bind9/tests/dns/qpzone_test.c:378,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/dns/qpzone_test.c:379,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:380,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:382,1
    - Dst: CASESET
      Src: /src/bind9/tests/dns/qpzone_test.c:382,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/tests/dns/qpzone_test.c:385,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:387,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/tests/dns/qpzone_test.c:387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 388
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_fromtext
    - dns_rdataset_getownercase
    - assert_int_equal
    - assert_true
    - CASESET
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - dns_name_caseequal
    - isc_buffer_constinit
    - assert_false
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(setownercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/tests/dns/qpzone_test.c:391,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/tests/dns/qpzone_test.c:392,1
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/qpzone_test.c:394,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:396,1
    - Dst: resign_sooner_values
      Src: /src/bind9/tests/dns/qpzone_test.c:396,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:397,1
    - Dst: resign_sooner_values
      Src: /src/bind9/tests/dns/qpzone_test.c:397,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/qpzone_test.c:399,1
    - Dst: resign_sooner_values
      Src: /src/bind9/tests/dns/qpzone_test.c:399,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:400,1
    - Dst: resign_sooner_values
      Src: /src/bind9/tests/dns/qpzone_test.c:400,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:402,1
    - Dst: resign_sooner_values
      Src: /src/bind9/tests/dns/qpzone_test.c:402,1
    - Dst: assert_false
      Src: /src/bind9/tests/dns/qpzone_test.c:403,1
    - Dst: resign_sooner_values
      Src: /src/bind9/tests/dns/qpzone_test.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 404
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - assert_true
    - DNS_SIGTYPEPAIR
    - assert_false
    - resign_sooner_values
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(resign_sooner_values)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns__qpzone_create
      Src: /src/bind9/tests/dns/qpzone_test.c:410,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:413,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/qpzone_test.c:414,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:417,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:423,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:427,1
    - Dst: verify_aaaa_records
      Src: /src/bind9/tests/dns/qpzone_test.c:429,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:434,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:438,1
    - Dst: verify_aaaa_records
      Src: /src/bind9/tests/dns/qpzone_test.c:440,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:445,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:449,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/qpzone_test.c:452,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qpzone_test.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 406
    functionDepth: 2
    functionLinenumber: 406
    functionLinenumberEnd: 454
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - apply_dns_update
    - assert_non_null
    - dns__qpzone_create
    - assert_int_equal
    - assert_null
    - verify_aaaa_records
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(diffop_add_sub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 420
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - apply_dns_update
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:423,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:427,1
    - Dst: verify_aaaa_records
      Src: /src/bind9/tests/dns/qpzone_test.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 431
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - apply_dns_update
    - verify_aaaa_records
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:434,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:438,1
    - Dst: verify_aaaa_records
      Src: /src/bind9/tests/dns/qpzone_test.c:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 433
    functionDepth: 2
    functionLinenumber: 433
    functionLinenumberEnd: 442
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - apply_dns_update
    - verify_aaaa_records
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:445,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 450
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - apply_dns_update
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, false)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/qpzone_test.c:465,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/qpzone_test.c:466,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:469,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/dns/qpzone_test.c:471,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/tests/dns/qpzone_test.c:472,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:475,1
    - Dst: dns__qpzone_create
      Src: /src/bind9/tests/dns/qpzone_test.c:477,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:480,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/qpzone_test.c:481,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:484,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:488,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:492,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:496,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:500,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:504,1
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:508,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:512,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/dns/qpzone_test.c:515,1
    - Dst: assert_null
      Src: /src/bind9/tests/dns/qpzone_test.c:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 517
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - apply_dns_update
    - assert_non_null
    - dns__qpzone_create
    - assert_int_equal
    - dns_rdata_fromstruct
    - assert_null
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(diffop_addresign)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:484,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:488,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 489
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - apply_dns_update
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:492,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:496,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - apply_dns_update
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:500,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 499
    functionDepth: 2
    functionLinenumber: 499
    functionLinenumberEnd: 505
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - apply_dns_update
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: apply_dns_update
      Src: /src/bind9/tests/dns/qpzone_test.c:508,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/qpzone_test.c:512,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 513
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 513
    functionName: WITH_NEWVERSION
    functionSourceFile: /src/bind9/tests/dns/qpzone_test.c
    functionUses: 0
    functionsReached:
    - assert_int_equal
    - apply_dns_update
    linkageType: ''
    returnType: void
    signature: void WITH_NEWVERSION(db, version, true)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:58,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:59,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:60,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/vecheader_test.c:63,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/vecheader_test.c:64,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/vecheader_test.c:70,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:71,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:71,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/vecheader_test.c:74,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/vecheader_test.c:75,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:78,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/tests/dns/vecheader_test.c:78,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/vecheader_test.c:82,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:86,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:87,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 6
    argNames:
    - mctx
    - type
    - rdclass
    - ttl
    - rdata_text
    - headerp
    argTypes:
    - isc_mem_t*
    - dns_rdatatype_t
    - dns_rdataclass_t
    - dns_ttl_t
    - char*
    - dns_vecheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 91
    functionName: create_vecheader
    functionSourceFile: /src/bind9/tests/dns/vecheader_test.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - dns_rdata_init
    - isc_mem_get
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - dns_test_rdatafromstring
    - dns_rdatavec_fromrdataset
    - dns_rdataset_disassociate
    - dns_rdatalist_init
    - CHECK
    - dns_rdatalist_tordataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_vecheader(isc_mem_t *mctx, dns_rdatatype_t type,\n\t\t
      dns_rdataclass_t rdclass, dns_ttl_t ttl,\n\t\t const char *rdata_text, dns_vecheader_t
      **headerp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/vecheader_test.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - header
    - rdclass
    - type
    - rdataset
    argTypes:
    - dns_vecheader_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 103
    functionName: create_rdataset_from_vecheader
    functionSourceFile: /src/bind9/tests/dns/vecheader_test.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_init
    linkageType: ''
    returnType: void
    signature: "void create_rdataset_from_vecheader(dns_vecheader_t *header,\n\t\t\t
      \      dns_rdataclass_t rdclass, dns_rdatatype_t type,\n\t\t\t       dns_rdataset_t
      *rdataset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/vecheader_test.c:108,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:115,1
    - Dst: create_vecheader
      Src: /src/bind9/tests/dns/vecheader_test.c:115,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:118,1
    - Dst: create_vecheader
      Src: /src/bind9/tests/dns/vecheader_test.c:118,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:122,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:123,1
    - Dst: dns_rdatavec_count
      Src: /src/bind9/tests/dns/vecheader_test.c:124,1
    - Dst: dns_rdatavec_count
      Src: /src/bind9/tests/dns/vecheader_test.c:125,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:128,1
    - Dst: dns_rdatavec_merge
      Src: /src/bind9/tests/dns/vecheader_test.c:128,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/vecheader_test.c:130,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:133,1
    - Dst: dns_rdatavec_count
      Src: /src/bind9/tests/dns/vecheader_test.c:134,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/vecheader_test.c:139,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/vecheader_test.c:143,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:148,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:149,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:152,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:153,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:156,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 159
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/vecheader_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - create_vecheader
    - isc_mem_put
    - assert_non_null
    - dns_rdatavec_size
    - assert_int_equal
    - dns_rdatavec_count
    - CHECK
    - dns_rdatavec_merge
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(merge_headers)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/vecheader_test.c:164,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/vecheader_test.c:167,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/vecheader_test.c:168,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/vecheader_test.c:169,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:173,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:174,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:177,1
    - Dst: create_vecheader
      Src: /src/bind9/tests/dns/vecheader_test.c:177,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:180,1
    - Dst: create_vecheader
      Src: /src/bind9/tests/dns/vecheader_test.c:180,1
    - Dst: dns_vecheader_setownercase
      Src: /src/bind9/tests/dns/vecheader_test.c:184,1
    - Dst: dns_vecheader_setownercase
      Src: /src/bind9/tests/dns/vecheader_test.c:187,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:190,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:191,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:194,1
    - Dst: dns_rdatavec_merge
      Src: /src/bind9/tests/dns/vecheader_test.c:194,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/vecheader_test.c:196,1
    - Dst: dns_name_copy
      Src: /src/bind9/tests/dns/vecheader_test.c:200,1
    - Dst: create_rdataset_from_vecheader
      Src: /src/bind9/tests/dns/vecheader_test.c:204,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/tests/dns/vecheader_test.c:208,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/vecheader_test.c:211,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/tests/dns/vecheader_test.c:211,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:216,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:217,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:220,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:221,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:224,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 227
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/vecheader_test.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - UNUSED
    - create_vecheader
    - isc_mem_put
    - dns_rdataset_getownercase
    - assert_non_null
    - create_rdataset_from_vecheader
    - dns_rdatavec_size
    - assert_true
    - dns_test_namefromstring
    - dns_fixedname_initname
    - dns_name_caseequal
    - CHECK
    - dns_rdatavec_merge
    - dns_vecheader_setownercase
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(merge_case_preservation)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/vecheader_test.c:232,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/vecheader_test.c:235,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/vecheader_test.c:236,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/dns/vecheader_test.c:237,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:243,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:246,1
    - Dst: create_vecheader
      Src: /src/bind9/tests/dns/vecheader_test.c:246,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:250,1
    - Dst: dns_vecheader_setownercase
      Src: /src/bind9/tests/dns/vecheader_test.c:253,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:256,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/vecheader_test.c:259,1
    - Dst: dns_test_namefromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:262,1
    - Dst: dns_name_copy
      Src: /src/bind9/tests/dns/vecheader_test.c:265,1
    - Dst: create_rdataset_from_vecheader
      Src: /src/bind9/tests/dns/vecheader_test.c:268,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/tests/dns/vecheader_test.c:272,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/vecheader_test.c:275,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/tests/dns/vecheader_test.c:275,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:280,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 230
    functionDepth: 2
    functionLinenumber: 230
    functionLinenumberEnd: 283
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/vecheader_test.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - UNUSED
    - create_vecheader
    - isc_mem_put
    - dns_rdataset_getownercase
    - create_rdataset_from_vecheader
    - dns_rdatavec_size
    - assert_int_equal
    - assert_true
    - dns_test_namefromstring
    - dns_fixedname_initname
    - dns_name_caseequal
    - CHECK
    - dns_vecheader_setownercase
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(setcase_size_consistency)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/vecheader_test.c:288,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:302,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:303,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:304,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:305,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:306,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:309,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:310,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:311,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/vecheader_test.c:314,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/vecheader_test.c:315,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/vecheader_test.c:321,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:322,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:322,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/vecheader_test.c:325,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/vecheader_test.c:328,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:329,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:329,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/vecheader_test.c:332,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/vecheader_test.c:334,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/vecheader_test.c:337,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/vecheader_test.c:338,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/vecheader_test.c:344,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:345,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:345,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/vecheader_test.c:348,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/vecheader_test.c:350,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:353,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/tests/dns/vecheader_test.c:353,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:357,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/tests/dns/vecheader_test.c:357,1
    - Dst: dns_rdatavec_subtract
      Src: /src/bind9/tests/dns/vecheader_test.c:368,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/vecheader_test.c:373,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/vecheader_test.c:374,1
    - Dst: dns_rdatavec_count
      Src: /src/bind9/tests/dns/vecheader_test.c:377,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/vecheader_test.c:378,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/tests/dns/vecheader_test.c:382,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/vecheader_test.c:383,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/tests/dns/vecheader_test.c:385,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/vecheader_test.c:386,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/tests/dns/vecheader_test.c:391,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/tests/dns/vecheader_test.c:394,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/tests/dns/vecheader_test.c:397,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:402,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:405,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:408,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:412,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:415,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:420,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:423,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:427,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 429
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/vecheader_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_rdatavec_subtract
    - dns_rdata_init
    - isc_mem_get
    - assert_non_null
    - isc_mem_put
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - dns_test_rdatafromstring
    - assert_int_equal
    - dns_rdatavec_count
    - dns_rdatavec_fromrdataset
    - DNS_RDATASET_VALID
    - dns_rdataset_disassociate
    - dns_rdatalist_init
    - CHECK
    - dns_rdatalist_tordataset
    - dns_vecheader_unref
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(rdatavec_subtract_assertion_failure)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/dns/vecheader_test.c:434,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:444,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:445,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:446,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:449,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:450,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/dns/vecheader_test.c:451,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/vecheader_test.c:454,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/vecheader_test.c:455,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/vecheader_test.c:461,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:462,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:462,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/vecheader_test.c:466,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/vecheader_test.c:467,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/tests/dns/vecheader_test.c:470,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/tests/dns/vecheader_test.c:471,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/dns/vecheader_test.c:477,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:478,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/dns/vecheader_test.c:478,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/dns/vecheader_test.c:482,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/tests/dns/vecheader_test.c:483,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:486,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/tests/dns/vecheader_test.c:486,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:489,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/tests/dns/vecheader_test.c:489,1
    - Dst: CHECK
      Src: /src/bind9/tests/dns/vecheader_test.c:493,1
    - Dst: dns_rdatavec_merge
      Src: /src/bind9/tests/dns/vecheader_test.c:493,1
    - Dst: assert_non_null
      Src: /src/bind9/tests/dns/vecheader_test.c:495,1
    - Dst: dns_rdatavec_count
      Src: /src/bind9/tests/dns/vecheader_test.c:498,1
    - Dst: assert_int_equal
      Src: /src/bind9/tests/dns/vecheader_test.c:499,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/tests/dns/vecheader_test.c:502,1
    - Dst: assert_true
      Src: /src/bind9/tests/dns/vecheader_test.c:503,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/tests/dns/vecheader_test.c:507,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/vecheader_test.c:508,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/tests/dns/vecheader_test.c:510,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/tests/dns/vecheader_test.c:511,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/tests/dns/vecheader_test.c:516,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/tests/dns/vecheader_test.c:519,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/tests/dns/vecheader_test.c:522,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:527,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:530,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:533,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:536,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:539,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/dns/vecheader_test.c:542,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 544
    functionName: ISC_RUN_TEST_IMPL
    functionSourceFile: /src/bind9/tests/dns/vecheader_test.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_mem_put
    - dns_rdataset_init
    - assert_int_equal
    - dns_rdatavec_fromrdataset
    - dns_rdatalist_init
    - dns_rdataset_disassociate
    - dns_rdatalist_tordataset
    - dns_vecheader_unref
    - dns_rdatavec_count
    - dns_rdata_init
    - assert_non_null
    - dns_rdatavec_size
    - assert_true
    - dns_test_rdatafromstring
    - CHECK
    - isc_mem_get
    - ISC_LIST_APPEND
    - DNS_RDATASET_VALID
    - dns_rdatavec_merge
    linkageType: ''
    returnType: void
    signature: void ISC_RUN_TEST_IMPL(rdatavec_refcount_merge)
  - 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_rdataset_init
    - dns_rdata_fromregion
    - ISC_LIST_APPEND
    - dns_dns64_findprefix
    - assert_int_equal
    - memcmp
    - assert_true
    - dns_rdatalist_init
    - memset
    - dns_rdatalist_tordataset
    - ARRAY_SIZE
    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:
    - memmove
    - dns_rdata_fromregion
    - ISC_LIST_APPEND
    - dns_rdataset_init
    - dns_dns64_findprefix
    - assert_int_equal
    - multiple_prefixes
    - dns_rdatalist_init
    - memset
    - dns_rdatalist_tordataset
    - ARRAY_SIZE
    - assert_memory_equal
    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: 7
    argNames:
    - (
    - value
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    functionName: assert_int_in_range
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_int_in_range(value, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - value
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: assert_uint_in_range
    functionSourceFile: /src/bind9/tests/include/tests/isc.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: assert_uint_in_range(value, min, max)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 89
    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: 91
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 91
    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: 93
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 93
    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: 95
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 95
    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: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    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: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    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: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    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: 111
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 111
    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: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    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: 117
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 117
    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: 121
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 121
    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: 124
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 124
    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: 127
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 127
    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: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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: 135
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 135
    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: 139
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 139
    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: 162
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 162
    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: 164
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 164
    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: 167
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 167
    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: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    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: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    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: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    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: 181
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 181
    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: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    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: 282
      start: 191
    functionDepth: 0
    functionLinenumber: 191
    functionLinenumberEnd: 282
    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
    - ISC_MAX
    - node_tag
    - branch_twigs
    - branch_twigs_size
    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:
    - get_root
    - getheight
    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:
    - branch_twigs_size
    - ISC_MAX
    - maxkeylen
    - node_tag
    - branch_twigs
    - leaf_qpkey
    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_chunk
    - printf
    - ref_cell
    - dns_qpreader
    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:
    - fflush
    - dumpqp
    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:
    - ref_chunk
    - unpack_reader
    - printf
    - fflush
    - dumpqp
    - rcu_dereference
    - ref_cell
    - ISC_LIST_FOREACH
    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:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 195
    functionName: qp_test_dumpchunks
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - printf
    - fflush
    - dumpqp
    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:199,1
    - Dst: get_root
      Src: /src/bind9/tests/libtest/qp.c:216,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:218,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:219,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:222,1
    - Dst: is_branch
      Src: /src/bind9/tests/libtest/qp.c:226,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/tests/libtest/qp.c:227,1
    - Dst: branch_twigs_size
      Src: /src/bind9/tests/libtest/qp.c:228,1
    - Dst: ref_ptr
      Src: /src/bind9/tests/libtest/qp.c:229,1
    - Dst: branch_has_twig
      Src: /src/bind9/tests/libtest/qp.c:237,1
    - Dst: assert
      Src: /src/bind9/tests/libtest/qp.c:241,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/tests/libtest/qp.c:242,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:243,1
    - Dst: ref_chunk
      Src: /src/bind9/tests/libtest/qp.c:244,1
    - Dst: ref_cell
      Src: /src/bind9/tests/libtest/qp.c:244,1
    - Dst: branch_key_offset
      Src: /src/bind9/tests/libtest/qp.c:245,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/tests/libtest/qp.c:253,1
    - Dst: leaf_qpkey
      Src: /src/bind9/tests/libtest/qp.c:253,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:254,1
    - Dst: leaf_pval
      Src: /src/bind9/tests/libtest/qp.c:255,1
    - Dst: leaf_ival
      Src: /src/bind9/tests/libtest/qp.c:255,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:261,1
    - Dst: fflush
      Src: /src/bind9/tests/libtest/qp.c:262,1
    - Dst: fprintf
      Src: /src/bind9/tests/libtest/qp.c:269,1
    - Dst: ref_ptr
      Src: /src/bind9/tests/libtest/qp.c:271,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 1
    argNames:
    - qpr
    argTypes:
    - dns_qpreadable_t
    assertStmts:
    - condition: (len == max)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/bind9/tests/libtest/qp.c
    constantsTouched: []
    func_position:
      end: 273
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 273
    functionName: qp_test_dumptrie
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 3
    functionsReached:
    - ref_chunk
    - leaf_ival
    - qp_test_keytoascii
    - dns_qpreader
    - branch_has_twig
    - assert
    - ref_ptr
    - printf
    - is_branch
    - fprintf
    - fflush
    - branch_key_offset
    - leaf_pval
    - ref_cell
    - get_root
    - branch_twigs_size
    - leaf_qpkey
    - branch_twigs_ref
    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:278,1
    - Dst: is_branch
      Src: /src/bind9/tests/libtest/qp.c:279,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/tests/libtest/qp.c:280,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:281,1
    - Dst: ref_chunk
      Src: /src/bind9/tests/libtest/qp.c:281,1
    - Dst: ref_cell
      Src: /src/bind9/tests/libtest/qp.c:281,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:283,1
    - Dst: leaf_pval
      Src: /src/bind9/tests/libtest/qp.c:283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 275
    functionDepth: 1
    functionLinenumber: 275
    functionLinenumberEnd: 285
    functionName: dumpdot_name
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - ref_chunk
    - printf
    - is_branch
    - leaf_pval
    - ref_cell
    - 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:290,1
    - Dst: is_branch
      Src: /src/bind9/tests/libtest/qp.c:291,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:292,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:293,1
    - Dst: branch_key_offset
      Src: /src/bind9/tests/libtest/qp.c:294,1
    - Dst: branch_has_twig
      Src: /src/bind9/tests/libtest/qp.c:299,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:300,1
    - Dst: branch_twig_pos
      Src: /src/bind9/tests/libtest/qp.c:301,1
    - Dst: qp_test_bittoascii
      Src: /src/bind9/tests/libtest/qp.c:302,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:306,1
    - Dst: branch_twigs
      Src: /src/bind9/tests/libtest/qp.c:308,1
    - Dst: branch_twigs_size
      Src: /src/bind9/tests/libtest/qp.c:309,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:312,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:313,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:314,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:315,1
    - Dst: dumpdot_twig
      Src: /src/bind9/tests/libtest/qp.c:319,1
    - Dst: qp_test_keytoascii
      Src: /src/bind9/tests/libtest/qp.c:325,1
    - Dst: leaf_qpkey
      Src: /src/bind9/tests/libtest/qp.c:325,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:326,1
    - Dst: leaf_pval
      Src: /src/bind9/tests/libtest/qp.c:327,1
    - Dst: leaf_ival
      Src: /src/bind9/tests/libtest/qp.c:327,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 329
    functionName: dumpdot_twig
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 1
    functionsReached:
    - leaf_ival
    - qp_test_keytoascii
    - qp_test_bittoascii
    - branch_twigs
    - branch_has_twig
    - branch_twig_pos
    - printf
    - is_branch
    - branch_key_offset
    - leaf_pval
    - dumpdot_name
    - dumpdot_twig
    - branch_twigs_size
    - leaf_qpkey
    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:333,1
    - Dst: QP_VALID
      Src: /src/bind9/tests/libtest/qp.c:333,1
    - Dst: get_root
      Src: /src/bind9/tests/libtest/qp.c:334,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:335,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:336,1
    - Dst: dumpdot_name
      Src: /src/bind9/tests/libtest/qp.c:337,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:338,1
    - Dst: dumpdot_twig
      Src: /src/bind9/tests/libtest/qp.c:339,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 341
    functionName: qp_test_dumpdot
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - printf
    - dumpdot_name
    - get_root
    - 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:346,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/tests/libtest/qp.c:350,1
    - Dst: dns_name_format
      Src: /src/bind9/tests/libtest/qp.c:351,1
    - Dst: printf
      Src: /src/bind9/tests/libtest/qp.c:352,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/tests/libtest/qp.c:356,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - keylen
    argTypes:
    - dns_qpkey_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 357
      start: 343
    functionDepth: 1
    functionLinenumber: 343
    functionLinenumberEnd: 357
    functionName: qp_test_printkey
    functionSourceFile: /src/bind9/tests/libtest/qp.c
    functionUses: 1
    functionsReached:
    - dns_qpkey_toname
    - dns_name_format
    - printf
    - dns_fixedname_initname
    - 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:43,1
    - Dst: setrlimit
      Src: /src/bind9/tests/libtest/isc.c:46,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 49
    functionName: adjustnofile
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 1
    functionsReached:
    - getrlimit
    - setrlimit
    linkageType: ''
    returnType: void
    signature: void adjustnofile(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/bind9/tests/libtest/isc.c:53,1
    - Dst: atoi
      Src: /src/bind9/tests/libtest/isc.c:55,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/libtest/isc.c:57,1
    - Dst: INSIST
      Src: /src/bind9/tests/libtest/isc.c:64,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 67
    functionName: setup_workers
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 0
    functionsReached:
    - atoi
    - INSIST
    - isc_os_ncpus
    - getenv
    linkageType: ''
    returnType: int
    signature: int setup_workers(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_debugon
      Src: /src/bind9/tests/libtest/isc.c:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    functionName: setup_mctx
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 0
    functionsReached:
    - isc_mem_debugon
    linkageType: ''
    returnType: int
    signature: int setup_mctx(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 79
    functionName: teardown_mctx
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 0
    functionsReached: []
    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:83,1
    - Dst: setup_workers
      Src: /src/bind9/tests/libtest/isc.c:85,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/tests/libtest/isc.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 90
    functionName: setup_loopmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - isc_loopmgr_create
    - setup_workers
    linkageType: ''
    returnType: int
    signature: int setup_loopmgr(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/tests/libtest/isc.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 97
    functionName: teardown_loopmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 9
    functionsReached:
    - isc_loopmgr_destroy
    linkageType: ''
    returnType: int
    signature: int teardown_loopmgr(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: adjustnofile
      Src: /src/bind9/tests/libtest/isc.c:101,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/tests/libtest/isc.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 106
    functionName: setup_netmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 4
    functionsReached:
    - adjustnofile
    - isc_netmgr_create
    linkageType: ''
    returnType: int
    signature: int setup_netmgr(void **state ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_netmgr_destroy
      Src: /src/bind9/tests/libtest/isc.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 113
    functionName: teardown_netmgr
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 4
    functionsReached:
    - isc_netmgr_destroy
    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:117,1
    - Dst: setup_netmgr
      Src: /src/bind9/tests/libtest/isc.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 121
    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:125,1
    - Dst: teardown_loopmgr
      Src: /src/bind9/tests/libtest/isc.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 129
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/isc.c:138,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/isc.c:139,1
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/isc.c:141,1
    - Dst: isc_file_splitpath
      Src: /src/bind9/tests/libtest/isc.c:141,1
    - Dst: isc_file_basename
      Src: /src/bind9/tests/libtest/isc.c:143,1
    - Dst: isc_file_basename
      Src: /src/bind9/tests/libtest/isc.c:144,1
    - Dst: strlen
      Src: /src/bind9/tests/libtest/isc.c:146,1
    - Dst: strlen
      Src: /src/bind9/tests/libtest/isc.c:146,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/libtest/isc.c:147,1
    - Dst: snprintf
      Src: /src/bind9/tests/libtest/isc.c:151,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/libtest/isc.c:153,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - path
    - out
    - outlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 155
    functionName: file_path_to_groupname
    functionSourceFile: /src/bind9/tests/libtest/isc.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_file_splitpath
    - isc_file_basename
    - snprintf
    - isc_mem_free
    - strlen
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t file_path_to_groupname(const char *path, char *out, size_t
      outlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:74,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:75,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:76,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:77,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:78,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: 82
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 82
    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:86,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/tests/libtest/ns.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 88
    functionName: scan_interfaces
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - ns_interfacemgr_scan
    linkageType: ''
    returnType: void
    signature: void scan_interfaces(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setup_managers
      Src: /src/bind9/tests/libtest/ns.c:94,1
    - Dst: ns_server_create
      Src: /src/bind9/tests/libtest/ns.c:96,1
    - Dst: CHECK
      Src: /src/bind9/tests/libtest/ns.c:98,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/libtest/ns.c:98,1
    - Dst: CHECK
      Src: /src/bind9/tests/libtest/ns.c:99,1
    - Dst: ns_interfacemgr_create
      Src: /src/bind9/tests/libtest/ns.c:99,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/libtest/ns.c:102,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/libtest/ns.c:102,1
    - Dst: teardown_server
      Src: /src/bind9/tests/libtest/ns.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 90
    functionDepth: 4
    functionLinenumber: 90
    functionLinenumberEnd: 109
    functionName: setup_server
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_create
    - teardown_server
    - isc_loop_main
    - isc_loop_setup
    - setup_managers
    - CHECK
    - ns_server_create
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: int
    signature: int setup_server(void **state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ns_interfacemgr_shutdown
      Src: /src/bind9/tests/libtest/ns.c:114,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/tests/libtest/ns.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 111
    functionDepth: 1
    functionLinenumber: 111
    functionLinenumberEnd: 117
    functionName: shutdown_interfacemgr
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_detach
    - ns_interfacemgr_shutdown
    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:121,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/libtest/ns.c:124,1
    - Dst: ns_server_detach
      Src: /src/bind9/tests/libtest/ns.c:128,1
    - Dst: teardown_managers
      Src: /src/bind9/tests/libtest/ns.c:131,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - state
    argTypes:
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 133
    functionName: teardown_server
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - teardown_managers
    - shutdown_interfacemgr
    - dns_dispatchmgr_detach
    - ns_server_detach
    linkageType: ''
    returnType: int
    signature: int teardown_server(void **state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_sethooktable
      Src: /src/bind9/tests/libtest/ns.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hooktab
    argTypes:
    - ns_hooktable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 140
    functionName: ns_test_serve_zone_sethooktab
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - dns_zone_sethooktable
    linkageType: ''
    returnType: void
    signature: void ns_test_serve_zone_sethooktab(ns_hooktable_t *hooktab)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/ns.c:151,1
    - Dst: dns_test_makezone
      Src: /src/bind9/tests/libtest/ns.c:151,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: 7
    EdgeCount: 7
    ICount: 32
    argCount: 3
    argNames:
    - zonename
    - filename
    - view
    argTypes:
    - char*
    - char*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 198
    functionName: ns_test_serve_zone
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 4
    functionsReached:
    - dns_db_detach
    - dns_zone_load
    - dns_zone_detach
    - dns_test_closezonemgr
    - dns_test_setupzonemgr
    - dns_zone_getdb
    - dns_test_releasezone
    - RETERR
    - dns_zone_setfile
    - dns_test_managezone
    - dns_test_makezone
    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: 4
    functionsReached:
    - dns_test_closezonemgr
    - dns_zone_detach
    - 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:
    - REQUIRE
    - UNUSED
    - isc_mem_get
    - ns__client_setup
    - ns_interfacemgr_getclientmgr
    - atomic_load
    - atomic_store
    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:287,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/tests/libtest/ns.c:288,1
    - Dst: dns_message_addname
      Src: /src/bind9/tests/libtest/ns.c:289,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/libtest/ns.c:294,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/libtest/ns.c:295,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/tests/libtest/ns.c:296,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/tests/libtest/ns.c:300,1
    - Dst: dns_message_renderend
      Src: /src/bind9/tests/libtest/ns.c:304,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/libtest/ns.c:308,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/libtest/ns.c:314,1
    - Dst: isc_buffer_first
      Src: /src/bind9/tests/libtest/ns.c:319,1
    - Dst: dns_message_parse
      Src: /src/bind9/tests/libtest/ns.c:320,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/tests/libtest/ns.c:323,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/tests/libtest/ns.c:324,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/libtest/ns.c:326,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: 329
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 329
    functionName: attach_query_msg_to_client
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_message_renderend
    - dns_message_puttemprdataset
    - dns_message_rendersection
    - dns_message_parse
    - dns_message_gettempname
    - isc_buffer_init
    - dns_compress_invalidate
    - dns_rdataset_makequestion
    - dns_message_create
    - dns_message_puttempname
    - dns_name_fromstring
    - dns_message_addname
    - ISC_LIST_APPEND
    - dns_message_renderbegin
    - isc_buffer_first
    - isc_random16
    - dns_message_gettemprdataset
    - dns_message_detach
    - dns_compress_init
    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:341,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:342,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:343,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/libtest/ns.c:350,1
    - Dst: memmove
      Src: /src/bind9/tests/libtest/ns.c:351,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 358
    functionName: extract_qctx
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - isc_mem_get
    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:375,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:376,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:377,1
    - Dst: ns_hooktable_create
      Src: /src/bind9/tests/libtest/ns.c:387,1
    - Dst: ns_hook_add
      Src: /src/bind9/tests/libtest/ns.c:388,1
    - Dst: ns_query_start
      Src: /src/bind9/tests/libtest/ns.c:393,1
    - Dst: ns_hooktable_free
      Src: /src/bind9/tests/libtest/ns.c:396,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - client
    - qctxp
    argTypes:
    - ns_client_t*
    - query_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 401
    functionName: create_qctx_for_client
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ns_hooktable_create
    - ns_hook_add
    - isc_nmhandle_detach
    - ns_query_start
    - ns_hooktable_free
    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: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: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:413,1
    - Dst: ns_test_getclient
      Src: /src/bind9/tests/libtest/ns.c:418,1
    - Dst: isc_time_now
      Src: /src/bind9/tests/libtest/ns.c:419,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/libtest/ns.c:424,1
    - Dst: attach_query_msg_to_client
      Src: /src/bind9/tests/libtest/ns.c:434,1
    - Dst: create_qctx_for_client
      Src: /src/bind9/tests/libtest/ns.c:451,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:462,1
    - Dst: dns_message_detach
      Src: /src/bind9/tests/libtest/ns.c:467,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/libtest/ns.c:469,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:471,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: 474
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 474
    functionName: ns_test_qctx_create
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc_time_now
    - dns_test_makeview
    - dns_message_detach
    - dns_view_detach
    - isc_nmhandle_detach
    - ns_test_getclient
    - attach_query_msg_to_client
    - create_qctx_for_client
    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:480,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/ns.c:481,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/libtest/ns.c:487,1
    - Dst: dns_db_detach
      Src: /src/bind9/tests/libtest/ns.c:490,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/tests/libtest/ns.c:493,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/libtest/ns.c:496,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - qctxp
    argTypes:
    - query_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 476
    functionDepth: 1
    functionLinenumber: 476
    functionLinenumberEnd: 497
    functionName: ns_test_qctx_destroy
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_db_detach
    - dns_zone_detach
    - isc_mem_put
    - isc_nmhandle_detach
    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:501,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/ns.c:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - data
    - resultp
    argTypes:
    - void*
    - void*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 507
      start: 499
    functionDepth: 0
    functionLinenumber: 499
    functionLinenumberEnd: 507
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/ns.c:518,1
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/ns.c:520,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/ns.c:520,1
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/ns.c:522,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/libtest/ns.c:522,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/libtest/ns.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - db
    - dbtype
    - origin
    - testfile
    argTypes:
    - dns_db_t**
    - dns_dbtype_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 527
      start: 509
    functionDepth: 1
    functionLinenumber: 509
    functionLinenumberEnd: 527
    functionName: ns_test_loaddb
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 10
    functionsReached:
    - dns_db_create
    - dns_db_load
    - dns_fixedname_initname
    - RETERR
    - dns_name_fromstring
    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:539,1
    - Dst: exit
      Src: /src/bind9/tests/libtest/ns.c:540,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 541
    functionName: fromhex
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 1
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: int
    signature: int fromhex(char c)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/ns.c:554,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/libtest/ns.c:554,1
    - Dst: fgets
      Src: /src/bind9/tests/libtest/ns.c:557,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/ns.c:586,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/ns.c:588,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/libtest/ns.c:598,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    argCount: 4
    argNames:
    - file
    - buf
    - bufsiz
    - sizep
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 600
    functionName: ns_test_getdata
    functionSourceFile: /src/bind9/tests/libtest/ns.c
    functionUses: 2
    functionsReached:
    - isc_stdio_close
    - isc_stdio_open
    - fromhex
    - RETERR
    - fgets
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/dns.c:70,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/tests/libtest/dns.c:70,1
    - Dst: dns_view_create
      Src: /src/bind9/tests/libtest/dns.c:73,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/tests/libtest/dns.c:77,1
    - Dst: dns_cache_create
      Src: /src/bind9/tests/libtest/dns.c:81,1
    - Dst: dns_view_detach
      Src: /src/bind9/tests/libtest/dns.c:84,1
    - Dst: dns_view_setcache
      Src: /src/bind9/tests/libtest/dns.c:88,1
    - Dst: dns_cache_detach
      Src: /src/bind9/tests/libtest/dns.c:94,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 4
    argNames:
    - name
    - with_dispatchmgr
    - with_cache
    - viewp
    argTypes:
    - char*
    - bool
    - bool
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 100
    functionName: dns_test_makeview
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 6
    functionsReached:
    - dns_view_detach
    - dns_cache_create
    - dns_view_setcache
    - RETERR
    - dns_dispatchmgr_detach
    - dns_cache_detach
    - dns_view_create
    - dns_dispatchmgr_create
    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:110,1
    - Dst: dns_zone_create
      Src: /src/bind9/tests/libtest/dns.c:115,1
    - Dst: dns_zone_settype
      Src: /src/bind9/tests/libtest/dns.c:120,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:121,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/dns.c:122,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/tests/libtest/dns.c:126,1
    - Dst: dns_test_makeview
      Src: /src/bind9/tests/libtest/dns.c:132,1
    - Dst: dns_zone_setview
      Src: /src/bind9/tests/libtest/dns.c:143,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/tests/libtest/dns.c:144,1
    - Dst: dns_view_addzone
      Src: /src/bind9/tests/libtest/dns.c:145,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/tests/libtest/dns.c:147,1
    - Dst: dns_zone_detach
      Src: /src/bind9/tests/libtest/dns.c:155,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: 158
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 158
    functionName: dns_test_makezone
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dns_test_makeview
    - dns_zone_detach
    - dns_zone_setorigin
    - dns_zone_settype
    - dns_fixedname_initname
    - dns_zone_setview
    - dns_view_addzone
    - dns_name_fromstring
    - dns_zone_create
    - dns_zone_setclass
    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:162,1
    - Dst: dns_zonemgr_create
      Src: /src/bind9/tests/libtest/dns.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 165
    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:170,1
    - Dst: dns_zonemgr_managezone
      Src: /src/bind9/tests/libtest/dns.c:172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: dns_test_managezone
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_zonemgr_managezone
    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:178,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/tests/libtest/dns.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 180
    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:184,1
    - Dst: dns_zonemgr_shutdown
      Src: /src/bind9/tests/libtest/dns.c:186,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/tests/libtest/dns.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: dns_test_closezonemgr
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_zonemgr_shutdown
    - dns_zonemgr_detach
    linkageType: ''
    returnType: void
    signature: void dns_test_closezonemgr(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: nanosleep
      Src: /src/bind9/tests/libtest/dns.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - usec
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 200
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:211,1
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/dns.c:213,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/dns.c:213,1
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/dns.c:215,1
    - Dst: dns_db_create
      Src: /src/bind9/tests/libtest/dns.c:215,1
    - Dst: dns_db_load
      Src: /src/bind9/tests/libtest/dns.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - db
    - dbtype
    - origin
    - testfile
    argTypes:
    - dns_db_t**
    - dns_dbtype_t
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 220
    functionName: dns_test_loaddb
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 10
    functionsReached:
    - dns_db_create
    - dns_db_load
    - dns_fixedname_initname
    - RETERR
    - dns_name_fromstring
    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:232,1
    - Dst: exit
      Src: /src/bind9/tests/libtest/dns.c:233,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 234
    functionName: fromhex
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 2
    functionsReached:
    - exit
    - printf
    linkageType: ''
    returnType: int
    signature: int fromhex(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/tests/libtest/dns.c:248,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/libtest/dns.c:249,1
    - Dst: isc_hex_totext
      Src: /src/bind9/tests/libtest/dns.c:250,1
    - Dst: INSIST
      Src: /src/bind9/tests/libtest/dns.c:251,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: 254
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 254
    functionName: dns_test_tohex
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 0
    functionsReached:
    - memset
    - INSIST
    - isc_buffer_init
    - isc_hex_totext
    linkageType: ''
    returnType: char
    signature: "char *\ndns_test_tohex(const unsigned char *data, size_t len, char
      *buf,\n\t       size_t buflen)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/tests/libtest/dns.c:267,1
    - Dst: isc_stdio_open
      Src: /src/bind9/tests/libtest/dns.c:267,1
    - Dst: fgets
      Src: /src/bind9/tests/libtest/dns.c:270,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/dns.c:299,1
    - Dst: fromhex
      Src: /src/bind9/tests/libtest/dns.c:301,1
    - Dst: isc_stdio_close
      Src: /src/bind9/tests/libtest/dns.c:310,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 41
    argCount: 4
    argNames:
    - file
    - buf
    - bufsiz
    - sizep
    argTypes:
    - char*
    - unsigned char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 312
    functionName: dns_test_getdata
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 1
    functionsReached:
    - isc_stdio_close
    - isc_stdio_open
    - fromhex
    - RETERR
    - fgets
    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:316,1
    - Dst: UNUSED
      Src: /src/bind9/tests/libtest/dns.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - cb
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 318
    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:331,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:332,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/tests/libtest/dns.c:332,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:333,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:334,1
    - Dst: strlen
      Src: /src/bind9/tests/libtest/dns.c:339,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/tests/libtest/dns.c:340,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/libtest/dns.c:341,1
    - Dst: isc_lex_create
      Src: /src/bind9/tests/libtest/dns.c:346,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/tests/libtest/dns.c:357,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/tests/libtest/dns.c:362,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/tests/libtest/dns.c:367,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/libtest/dns.c:375,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/tests/libtest/dns.c:381,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/tests/libtest/dns.c:388,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/tests/libtest/dns.c:392,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: 395
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 395
    functionName: dns_test_rdatafromstring
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - isc_lex_destroy
    - dns_rdatacallbacks_init
    - isc_lex_setcomments
    - isc_lex_openbuffer
    - isc_buffer_add
    - strlen
    - isc_lex_create
    - dns_rdata_fromtext
    - isc_lex_setspecials
    - isc_buffer_constinit
    - DNS_RDATA_INITIALIZED
    - isc_buffer_init
    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:404,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:406,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/tests/libtest/dns.c:408,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/tests/libtest/dns.c:410,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/libtest/dns.c:411,1
    - Dst: INSIST
      Src: /src/bind9/tests/libtest/dns.c:412,1
    - Dst: isc_buffer_free
      Src: /src/bind9/tests/libtest/dns.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - namestr
    - fname
    argTypes:
    - char*
    - dns_fixedname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 415
    functionName: dns_test_namefromstring
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 24
    functionsReached:
    - dns_name_fromtext
    - isc_buffer_putmem
    - INSIST
    - strlen
    - dns_fixedname_initname
    - isc_buffer_allocate
    - isc_buffer_free
    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:430,1
    - Dst: REQUIRE
      Src: /src/bind9/tests/libtest/dns.c:431,1
    - Dst: dns_diff_init
      Src: /src/bind9/tests/libtest/dns.c:433,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/libtest/dns.c:439,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/tests/libtest/dns.c:440,1
    - Dst: strlen
      Src: /src/bind9/tests/libtest/dns.c:450,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/tests/libtest/dns.c:451,1
    - Dst: dns_rdata_init
      Src: /src/bind9/tests/libtest/dns.c:460,1
    - Dst: dns_test_rdatafromstring
      Src: /src/bind9/tests/libtest/dns.c:461,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/tests/libtest/dns.c:472,1
    - Dst: dns_diff_append
      Src: /src/bind9/tests/libtest/dns.c:474,1
    - Dst: dns_diff_clear
      Src: /src/bind9/tests/libtest/dns.c:478,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: 482
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 482
    functionName: dns_test_difffromchanges
    functionSourceFile: /src/bind9/tests/libtest/dns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_rdata_init
    - dns_difftuple_create
    - dns_test_rdatafromstring
    - dns_diff_append
    - strlen
    - dns_fixedname_initname
    - dns_rdatatype_fromtext
    - dns_diff_init
    - dns_name_fromstring
    - dns_diff_clear
    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:
    - UNUSED
    - dns_qpkey_fromname
    - 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: CHECKN
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKN(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:
    - dns_name_equal
    - caa_container_of
    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:
    - cds_lfht_add_unique
    - dns_name_hash
    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_lookup
    - dns_name_hash
    - caa_container_of
    - cds_lfht_iter_get_node
    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: CHECKN
      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: CHECKN
      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:
    - add_lfht
    - isc_time_microdiff
    - isc_time_now_hires
    - assert
    - CHECKN
    - get_lfht
    - isc_barrier_wait
    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:
    - isc_hashmap_find
    - dns_name_hash
    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: CHECKN
      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: CHECKN
      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:
    - isc_time_microdiff
    - isc_time_now_hires
    - WRLOCK
    - assert
    - CHECKN
    - add_hashmap
    - get_hashmap
    - RDUNLOCK
    - WRUNLOCK
    - RDLOCK
    - isc_barrier_wait
    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: CHECKN
      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: CHECKN
      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:
    - isc_time_microdiff
    - isc_time_now_hires
    - WRLOCK
    - assert
    - CHECKN
    - RDUNLOCK
    - add_ht
    - WRUNLOCK
    - RDLOCK
    - isc_barrier_wait
    - get_ht
    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: CHECKN
      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: CHECKN
      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_qpread_destroy
    - rcu_barrier
    - isc_time_microdiff
    - isc_time_now_hires
    - assert
    - dns_qpmulti_query
    - CHECKN
    - sqz_qp
    - dns_qpmulti_write
    - add_qp
    - get_qp
    - isc_barrier_wait
    - dns_qpmulti_commit
    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: fprintf
      Src: /src/bind9/tests/bench/load-names.c:426,1
    - Dst: exit
      Src: /src/bind9/tests/bench/load-names.c:428,1
    - Dst: isc_file_getsize
      Src: /src/bind9/tests/bench/load-names.c:432,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/load-names.c:434,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/load-names.c:435,1
    - Dst: exit
      Src: /src/bind9/tests/bench/load-names.c:436,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/load-names.c:440,1
    - Dst: fopen
      Src: /src/bind9/tests/bench/load-names.c:441,1
    - Dst: fread
      Src: /src/bind9/tests/bench/load-names.c:442,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/load-names.c:443,1
    - Dst: strerror
      Src: /src/bind9/tests/bench/load-names.c:443,1
    - Dst: exit
      Src: /src/bind9/tests/bench/load-names.c:444,1
    - Dst: fclose
      Src: /src/bind9/tests/bench/load-names.c:446,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:455,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/bench/load-names.c:455,1
    - Dst: strspn
      Src: /src/bind9/tests/bench/load-names.c:456,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:458,1
    - Dst: strcspn
      Src: /src/bind9/tests/bench/load-names.c:461,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:462,1
    - Dst: strspn
      Src: /src/bind9/tests/bench/load-names.c:464,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/load-names.c:470,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/load-names.c:472,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/load-names.c:473,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/bench/load-names.c:474,1
    - Dst: FILE_CHECK
      Src: /src/bind9/tests/bench/load-names.c:475,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/load-names.c:475,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/bench/load-names.c:478,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:482,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:485,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:490,1
    - Dst: struct fun*::new
      Src: /src/bind9/tests/bench/load-names.c:496,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/bench/load-names.c:500,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:502,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/bench/load-names.c:503,1
    - Dst: isc_thread_create
      Src: /src/bind9/tests/bench/load-names.c:512,1
    - Dst: isc_thread_join
      Src: /src/bind9/tests/bench/load-names.c:520,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/bench/load-names.c:525,1
    - Dst: rcu_barrier
      Src: /src/bind9/tests/bench/load-names.c:527,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/load-names.c:529,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/load-names.c:530,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/tests/bench/load-names.c:531,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:533,1
    - Dst: printf
      Src: /src/bind9/tests/bench/load-names.c:546,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 548
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 548
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/load-names.c
    functionUses: 98
    functionsReached:
    - isc_time_microdiff
    - fprintf
    - isc_buffer_add
    - fclose
    - exit
    - dns_name_fromtext
    - fopen
    - strcspn
    - strerror
    - isc_buffer_init
    - isc_result_totext
    - rcu_barrier
    - isc_time_now_hires
    - isc_rwlock_init
    - isc_file_getsize
    - FILE_CHECK
    - printf
    - struct fun*::new
    - isc_thread_join
    - dns_name_countlabels
    - isc_barrier_init
    - isc_mem_get
    - isc_mem_inuse
    - fread
    - strspn
    - dns_fixedname_initname
    - isc_thread_create
    - ARRAY_SIZE
    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: getline
      Src: /src/bind9/tests/bench/compress.c:51,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/compress.c:55,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/compress.c:56,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/tests/bench/compress.c:58,1
    - Dst: errx
      Src: /src/bind9/tests/bench/compress.c:59,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/compress.c:61,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/bench/compress.c:62,1
    - Dst: CHECKRESULT
      Src: /src/bind9/tests/bench/compress.c:63,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/compress.c:69,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/compress.c:75,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/bench/compress.c:76,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/compress.c:79,1
    - Dst: dns_name_towire
      Src: /src/bind9/tests/bench/compress.c:80,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/bench/compress.c:82,1
    - Dst: dns_compress_init
      Src: /src/bind9/tests/bench/compress.c:83,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/compress.c:84,1
    - Dst: CHECKRESULT
      Src: /src/bind9/tests/bench/compress.c:86,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/tests/bench/compress.c:89,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/compress.c:93,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/compress.c:95,1
    - Dst: printf
      Src: /src/bind9/tests/bench/compress.c:96,1
    - Dst: printf
      Src: /src/bind9/tests/bench/compress.c:98,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 101
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/compress.c
    functionUses: 98
    functionsReached:
    - CHECKRESULT
    - dns_compress_invalidate
    - isc_time_microdiff
    - getline
    - isc_time_now_hires
    - dns_name_fromtext
    - printf
    - dns_name_towire
    - isc_buffer_add
    - dns_fixedname_initname
    - dns_fixedname_name
    - errx
    - ARRAY_SIZE
    - isc_buffer_init
    - dns_compress_init
    linkageType: ''
    returnType: int
    signature: int main(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/bench/iterated_hash.c:34,1
    - Dst: fflush
      Src: /src/bind9/tests/bench/iterated_hash.c:36,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/iterated_hash.c:38,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/tests/bench/iterated_hash.c:42,1
    - Dst: isc_time_now_hires
      Src: /src/bind9/tests/bench/iterated_hash.c:45,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/tests/bench/iterated_hash.c:47,1
    - Dst: printf
      Src: /src/bind9/tests/bench/iterated_hash.c:48,1
    - Dst: fflush
      Src: /src/bind9/tests/bench/iterated_hash.c:49,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: 50
      start: 28
    functionDepth: 1
    functionLinenumber: 28
    functionLinenumberEnd: 50
    functionName: time_it
    functionSourceFile: /src/bind9/tests/bench/iterated_hash.c
    functionUses: 0
    functionsReached:
    - isc_time_microdiff
    - isc_time_now_hires
    - printf
    - isc_iterated_hash
    - fflush
    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:59,1
    - Dst: isc_random_buf
      Src: /src/bind9/tests/bench/iterated_hash.c:60,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:64,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:71,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
    - Dst: time_it
      Src: /src/bind9/tests/bench/iterated_hash.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 79
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/iterated_hash.c
    functionUses: 98
    functionsReached:
    - time_it
    - isc_random_buf
    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: 98
    functionsReached:
    - isc_time_microdiff
    - isc_siphash24
    - isc_time_now_hires
    - isc_ascii_lowercopy
    - printf
    - isc_halfsiphash24
    - KILOHASHES
    - isc_random_buf
    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: 61
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 61
    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:73,1
    - Dst: isc_random32
      Src: /src/bind9/tests/bench/qpmulti.c:75,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:76,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:78,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:79,1
    - Dst: pow
      Src: /src/bind9/tests/bench/qpmulti.c:79,1
    - Dst: isc_random32
      Src: /src/bind9/tests/bench/qpmulti.c:80,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - max
    - skew
    argTypes:
    - uint32_t
    - double
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 84
    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:95,1
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:96,1
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 98
    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:102,1
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:103,1
    - Dst: memmove
      Src: /src/bind9/tests/bench/qpmulti.c:104,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: 106
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: item_makekey
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - memmove
    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:110,1
    - Dst: strlcpy
      Src: /src/bind9/tests/bench/qpmulti.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 112
    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:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    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:131,1
    - Dst: isc_mem_callocate
      Src: /src/bind9/tests/bench/qpmulti.c:132,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/bench/qpmulti.c:135,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:138,1
    - Dst: random_byte
      Src: /src/bind9/tests/bench/qpmulti.c:142,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/bench/qpmulti.c:145,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:147,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qpmulti.c:147,1
    - Dst: dns_qp_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:149,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:151,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:152,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 126
    functionDepth: 1
    functionLinenumber: 126
    functionLinenumberEnd: 154
    functionName: init_items
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    - INSIST
    - random_byte
    - printf
    - isc_time_monotonic
    - dns_qp_getkey
    - dns_qp_destroy
    - dns_qp_insert
    - dns_qp_create
    - 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:159,1
    - Dst: isc_logconfig_get
      Src: /src/bind9/tests/bench/qpmulti.c:161,1
    - Dst: isc_log_createandusechannel
      Src: /src/bind9/tests/bench/qpmulti.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 167
    functionName: init_logging
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_log_createandusechannel
    - isc_logconfig_get
    - isc_log_setdebuglevel
    linkageType: ''
    returnType: void
    signature: void init_logging(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/tests/bench/qpmulti.c:194,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/bench/qpmulti.c:196,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/tests/bench/qpmulti.c:198,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 200
    functionName: first_loop
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_time_monotonic
    - isc_job_run
    - isc_loop
    - isc_barrier_wait
    linkageType: ''
    returnType: void
    signature: void first_loop(void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:204,1
    - Dst: isc_job_run
      Src: /src/bind9/tests/bench/qpmulti.c:209,1
    - Dst: isc_loop
      Src: /src/bind9/tests/bench/qpmulti.c:209,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/bench/qpmulti.c:212,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/bench/qpmulti.c:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - args
    - start
    argTypes:
    - struct thread_args*
    - isc_nanosecs_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: next_loop
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_job_run
    - isc_loop_main
    - isc_time_monotonic
    - isc_async_run
    - isc_loop
    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:225,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:229,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/bench/qpmulti.c:233,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/bench/qpmulti.c:236,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:244,1
    - Dst: next_loop
      Src: /src/bind9/tests/bench/qpmulti.c:246,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 247
    functionName: read_zipf
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - dns_qpread_destroy
    - dns_qpmulti_query
    - next_loop
    - isc_time_monotonic
    - dns_qp_getkey
    - rand_zipf
    linkageType: ''
    returnType: void
    signature: void read_zipf(void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:255,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/tests/bench/qpmulti.c:260,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:262,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/tests/bench/qpmulti.c:263,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:271,1
    - Dst: next_loop
      Src: /src/bind9/tests/bench/qpmulti.c:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 252
    functionDepth: 2
    functionLinenumber: 252
    functionLinenumberEnd: 274
    functionName: read_transactions
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - dns_qpread_destroy
    - isc_random_uniform
    - dns_qpmulti_query
    - next_loop
    - isc_time_monotonic
    - dns_qp_getkey
    linkageType: ''
    returnType: void
    signature: void read_transactions(void *varg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:279,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/tests/bench/qpmulti.c:283,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:285,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/tests/bench/qpmulti.c:287,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:290,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qpmulti.c:295,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:296,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/tests/bench/qpmulti.c:305,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qpmulti.c:306,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/tests/bench/qpmulti.c:309,1
    - Dst: next_loop
      Src: /src/bind9/tests/bench/qpmulti.c:312,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 276
    functionDepth: 2
    functionLinenumber: 276
    functionLinenumberEnd: 313
    functionName: mutate_transactions
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    - INSIST
    - next_loop
    - dns_qp_deletekey
    - isc_time_monotonic
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_memusage
    - dns_qp_compact
    - dns_qpmulti_commit
    linkageType: ''
    returnType: void
    signature: void mutate_transactions(void *varg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_create
      Src: /src/bind9/tests/bench/qpmulti.c:358,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:361,1
    - Dst: dns_qpmulti_update
      Src: /src/bind9/tests/bench/qpmulti.c:362,1
    - Dst: isc_random_uniform
      Src: /src/bind9/tests/bench/qpmulti.c:364,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:368,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qpmulti.c:368,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qpmulti.c:372,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/tests/bench/qpmulti.c:373,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qpmulti.c:375,1
    - Dst: dns_qpmulti_memusage
      Src: /src/bind9/tests/bench/qpmulti.c:376,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - struct bench_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 378
    functionName: load_multi
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    - INSIST
    - dns_qpmulti_memusage
    - isc_time_monotonic
    - dns_qpmulti_commit
    - dns_qpmulti_update
    - dns_qpmulti_create
    - dns_qp_insert
    - dns_qp_compact
    linkageType: ''
    returnType: void
    signature: void load_multi(struct bench_state *bctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:382,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:383,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:384,1
    - 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:388,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:389,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:390,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:398,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:399,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:400,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 408
    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:431,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/tests/bench/qpmulti.c:432,1
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/tests/bench/qpmulti.c:433,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:438,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:439,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:440,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:448,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:455,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:457,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:463,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:464,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:465,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:472,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:474,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:480,1
    - Dst: load_multi
      Src: /src/bind9/tests/bench/qpmulti.c:482,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:488,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:489,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:491,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:514,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:515,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:517,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:536,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:537,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:539,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:557,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:558,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:560,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:580,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:581,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:583,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:603,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:604,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:606,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:626,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:627,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:629,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:649,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:650,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:652,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:671,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:672,1
    - Dst: tsv_header
      Src: /src/bind9/tests/bench/qpmulti.c:674,1
    - Dst: isc_barrier_init
      Src: /src/bind9/tests/bench/qpmulti.c:696,1
    - Dst: isc_async_run
      Src: /src/bind9/tests/bench/qpmulti.c:714,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/bench/qpmulti.c:714,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 265
    argCount: 1
    argNames:
    - bctx
    argTypes:
    - struct bench_state*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 424
    functionDepth: 2
    functionLinenumber: 424
    functionLinenumberEnd: 716
    functionName: dispatch
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 1
    functionsReached:
    - tsv_header
    - load_multi
    - isc_barrier_init
    - printf
    - isc_loop_get
    - isc_loopmgr_shutdown
    - isc_mem_putanddetach
    - isc_async_run
    - dns_qpmulti_destroy
    linkageType: ''
    returnType: void
    signature: void dispatch(struct bench_state *bctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TRACE
      Src: /src/bind9/tests/bench/qpmulti.c:731,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:737,1
    - Dst: ISC_MAX
      Src: /src/bind9/tests/bench/qpmulti.c:745,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:754,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:756,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:757,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:758,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:759,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:760,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:767,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:768,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:776,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:777,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:778,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:779,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:780,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qpmulti.c:781,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: dispatch
      Src: /src/bind9/tests/bench/qpmulti.c:787,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 47
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 718
    functionDepth: 3
    functionLinenumber: 718
    functionLinenumberEnd: 788
    functionName: collect
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_barrier_destroy
    - INSIST
    - printf
    - ISC_MAX
    - TRACE
    - dispatch
    linkageType: ''
    returnType: void
    signature: void collect(void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/tests/bench/qpmulti.c:792,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/tests/bench/qpmulti.c:793,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/bench/qpmulti.c:794,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/bench/qpmulti.c:797,1
    - Dst: isc_mem_attach
      Src: /src/bind9/tests/bench/qpmulti.c:803,1
    - Dst: dispatch
      Src: /src/bind9/tests/bench/qpmulti.c:805,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 790
    functionDepth: 3
    functionLinenumber: 790
    functionLinenumberEnd: 806
    functionName: startup
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_mem_cget
    - isc_loopmgr_nloops
    - isc_loop_getmctx
    - isc_loop
    - dispatch
    linkageType: ''
    returnType: void
    signature: void startup(void *arg ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qpmulti.c:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 813
    functionDepth: 0
    functionLinenumber: 813
    functionLinenumberEnd: 817
    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:822,1
    - Dst: isc_timer_create
      Src: /src/bind9/tests/bench/qpmulti.c:824,1
    - Dst: isc_timer_start
      Src: /src/bind9/tests/bench/qpmulti.c:825,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 830
    functionName: start_ticker
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_timer_create
    - isc_loop
    - 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:836,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:837,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/tests/bench/qpmulti.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - varg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 839
    functionName: stop_ticker
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - isc_timer_destroy
    - isc_timer_stop
    linkageType: ''
    returnType: void
    signature: void stop_ticker(void *varg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/tests/bench/qpmulti.c:843,1
    - Dst: isc_loop_get
      Src: /src/bind9/tests/bench/qpmulti.c:845,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qpmulti.c:846,1
    - Dst: isc_mem_ref
      Src: /src/bind9/tests/bench/qpmulti.c:848,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/bench/qpmulti.c:850,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/tests/bench/qpmulti.c:851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 853
      start: 841
    functionDepth: 1
    functionLinenumber: 841
    functionLinenumberEnd: 853
    functionName: setup_tickers
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - isc_loopmgr_nloops
    - isc_loop_setup
    - isc_loop_get
    - isc_loop_teardown
    - isc_mem_ref
    linkageType: ''
    returnType: void
    signature: void setup_tickers(isc_mem_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setlinebuf
      Src: /src/bind9/tests/bench/qpmulti.c:857,1
    - Dst: getenv
      Src: /src/bind9/tests/bench/qpmulti.c:860,1
    - Dst: atoi
      Src: /src/bind9/tests/bench/qpmulti.c:863,1
    - Dst: isc_os_ncpus
      Src: /src/bind9/tests/bench/qpmulti.c:865,1
    - Dst: INSIST
      Src: /src/bind9/tests/bench/qpmulti.c:867,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/tests/bench/qpmulti.c:869,1
    - Dst: init_logging
      Src: /src/bind9/tests/bench/qpmulti.c:870,1
    - Dst: init_items
      Src: /src/bind9/tests/bench/qpmulti.c:871,1
    - Dst: isc_loopmgr_create
      Src: /src/bind9/tests/bench/qpmulti.c:873,1
    - Dst: setup_tickers
      Src: /src/bind9/tests/bench/qpmulti.c:874,1
    - Dst: isc_loop_setup
      Src: /src/bind9/tests/bench/qpmulti.c:875,1
    - Dst: isc_loop_main
      Src: /src/bind9/tests/bench/qpmulti.c:875,1
    - Dst: isc_loopmgr_run
      Src: /src/bind9/tests/bench/qpmulti.c:876,1
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/tests/bench/qpmulti.c:877,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/bench/qpmulti.c:879,1
    - Dst: isc_mem_checkdestroyed
      Src: /src/bind9/tests/bench/qpmulti.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 883
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/qpmulti.c
    functionUses: 100
    functionsReached:
    - isc_loopmgr_create
    - setlinebuf
    - isc_loopmgr_run
    - INSIST
    - getenv
    - atoi
    - isc_loop_main
    - isc_loop_setup
    - isc_os_ncpus
    - init_items
    - setup_tickers
    - init_logging
    - isc_mem_free
    - isc_mem_setdestroycheck
    - isc_mem_checkdestroyed
    - isc_loopmgr_destroy
    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:
    - copier
    - isc_time_microdiff
    - 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: 0
    functionLinenumber: 190
    functionLinenumberEnd: 226
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/ascii.c
    functionUses: 100
    functionsReached:
    - time_it
    - isc_random_buf
    - printf
    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
    - smallname_refcount
    - smallname_ndata
    - isc_refcount_init
    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:
    - dns_name_reset
    - smallname_ndata
    - smallname_length
    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:
    - smallname_refcount
    - UNUSED
    - isc_refcount_increment0
    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:
    - smallname_refcount
    - isc_refcount_decrement
    - isc_mem_free
    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: 40
    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
    - isc_mem_get
    - isc_file_getsize
    - fprintf
    - fopen
    - strcspn
    - smallname_free
    - fread
    - strspn
    - isc_buffer_add
    - dns_fixedname_initname
    - dns_qp_insert
    - fclose
    - exit
    - strerror
    - smallname_from_name
    - isc_buffer_init
    - isc_result_totext
    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: dns_qp_create
      Src: /src/bind9/tests/bench/qplookups.c:200,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:202,1
    - Dst: load_qp
      Src: /src/bind9/tests/bench/qplookups.c:203,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qplookups.c:204,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:205,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:207,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:208,1
    - Dst: isc_mem_cget
      Src: /src/bind9/tests/bench/qplookups.c:210,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/tests/bench/qplookups.c:211,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:213,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: name_from_smallname
      Src: /src/bind9/tests/bench/qplookups.c:221,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:223,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:225,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:226,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:229,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/qplookups.c:231,1
    - Dst: dns_qp_getname
      Src: /src/bind9/tests/bench/qplookups.c:232,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:234,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:236,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:237,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:239,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/qplookups.c:241,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/bench/qplookups.c:242,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:245,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:247,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:248,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:250,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/qplookups.c:260,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/tests/bench/qplookups.c:262,1
    - Dst: dns_name_copy
      Src: /src/bind9/tests/bench/qplookups.c:263,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/tests/bench/qplookups.c:268,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/tests/bench/qplookups.c:271,1
    - Dst: snprintf
      Src: /src/bind9/tests/bench/qplookups.c:273,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qplookups.c:275,1
    - Dst: isc_mem_cput
      Src: /src/bind9/tests/bench/qplookups.c:277,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 55
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 279
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/qplookups.c
    functionUses: 100
    functionsReached:
    - dns_qpiter_init
    - dns_qpiter_next
    - name_from_smallname
    - isc_mem_cget
    - dns_name_copy
    - isc_mem_cput
    - printf
    - dns_qp_lookup
    - isc_time_monotonic
    - snprintf
    - dns_fixedname_name
    - dns_fixedname_initname
    - dns_qp_getname
    - dns_qp_compact
    - dns_qp_create
    - usage
    - load_qp
    linkageType: ''
    returnType: int
    signature: int main(int argc, char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/tests/bench/qp-dump.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/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: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_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:49,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 51
    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:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    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:60,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qp-dump.c:62,1
    - Dst: isc_refcount_init
      Src: /src/bind9/tests/bench/qp-dump.c:64,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qp-dump.c:64,1
    - Dst: memmove
      Src: /src/bind9/tests/bench/qp-dump.c:65,1
    - Dst: smallname_ndata
      Src: /src/bind9/tests/bench/qp-dump.c:65,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: 66
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 66
    functionName: smallname_from_name
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_mem_get
    - smallname_refcount
    - dns_name_countlabels
    - smallname_ndata
    - isc_refcount_init
    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:71,1
    - Dst: smallname_labels
      Src: /src/bind9/tests/bench/qp-dump.c:71,1
    - Dst: isc_mem_put
      Src: /src/bind9/tests/bench/qp-dump.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 73
    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:77,1
    - Dst: smallname_ndata
      Src: /src/bind9/tests/bench/qp-dump.c:78,1
    - Dst: smallname_length
      Src: /src/bind9/tests/bench/qp-dump.c:79,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: 84
      start: 75
    functionDepth: 1
    functionLinenumber: 75
    functionLinenumberEnd: 84
    functionName: name_from_smallname
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 2
    functionsReached:
    - dns_name_reset
    - smallname_ndata
    - smallname_length
    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:88,1
    - Dst: name_from_smallname
      Src: /src/bind9/tests/bench/qp-dump.c:90,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/tests/bench/qp-dump.c:91,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: 92
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 92
    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:96,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/tests/bench/qp-dump.c:97,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qp-dump.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 98
    functionName: smallname_attach
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 0
    functionsReached:
    - smallname_refcount
    - UNUSED
    - isc_refcount_increment0
    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:102,1
    - Dst: smallname_refcount
      Src: /src/bind9/tests/bench/qp-dump.c:102,1
    - Dst: isc_mem_free
      Src: /src/bind9/tests/bench/qp-dump.c:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - pval
    - ival
    argTypes:
    - void*
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: smallname_detach
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 0
    functionsReached:
    - smallname_refcount
    - isc_refcount_decrement
    - isc_mem_free
    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:109,1
    - Dst: strlcpy
      Src: /src/bind9/tests/bench/qp-dump.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 111
    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:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: usage
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 41
    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:142,1
    - Dst: usage
      Src: /src/bind9/tests/bench/qp-dump.c:151,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:152,1
    - Dst: usage
      Src: /src/bind9/tests/bench/qp-dump.c:161,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:162,1
    - Dst: isc_file_getsize
      Src: /src/bind9/tests/bench/qp-dump.c:166,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qp-dump.c:168,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/qp-dump.c:169,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:170,1
    - Dst: isc_mem_get
      Src: /src/bind9/tests/bench/qp-dump.c:174,1
    - Dst: fopen
      Src: /src/bind9/tests/bench/qp-dump.c:175,1
    - Dst: fread
      Src: /src/bind9/tests/bench/qp-dump.c:176,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qp-dump.c:177,1
    - Dst: strerror
      Src: /src/bind9/tests/bench/qp-dump.c:177,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:178,1
    - Dst: fclose
      Src: /src/bind9/tests/bench/qp-dump.c:180,1
    - Dst: dns_qp_create
      Src: /src/bind9/tests/bench/qp-dump.c:183,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/tests/bench/qp-dump.c:191,1
    - Dst: strcspn
      Src: /src/bind9/tests/bench/qp-dump.c:196,1
    - Dst: strspn
      Src: /src/bind9/tests/bench/qp-dump.c:198,1
    - Dst: isc_buffer_init
      Src: /src/bind9/tests/bench/qp-dump.c:203,1
    - Dst: isc_buffer_add
      Src: /src/bind9/tests/bench/qp-dump.c:204,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/tests/bench/qp-dump.c:205,1
    - Dst: smallname_from_name
      Src: /src/bind9/tests/bench/qp-dump.c:207,1
    - Dst: dns_qp_insert
      Src: /src/bind9/tests/bench/qp-dump.c:208,1
    - Dst: smallname_free
      Src: /src/bind9/tests/bench/qp-dump.c:211,1
    - Dst: fprintf
      Src: /src/bind9/tests/bench/qp-dump.c:215,1
    - Dst: isc_result_totext
      Src: /src/bind9/tests/bench/qp-dump.c:216,1
    - Dst: exit
      Src: /src/bind9/tests/bench/qp-dump.c:217,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/tests/bench/qp-dump.c:221,1
    - Dst: dns_qp_compact
      Src: /src/bind9/tests/bench/qp-dump.c:224,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/tests/bench/qp-dump.c:232,1
    - Dst: dns_qp_gctime
      Src: /src/bind9/tests/bench/qp-dump.c:234,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:236,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:247,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: print_megabytes
      Src: /src/bind9/tests/bench/qp-dump.c:252,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: isc_mem_inuse
      Src: /src/bind9/tests/bench/qp-dump.c:260,1
    - Dst: printf
      Src: /src/bind9/tests/bench/qp-dump.c:261,1
    - Dst: qp_test_getheight
      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_maxkeylen
      Src: /src/bind9/tests/bench/qp-dump.c:262,1
    - Dst: qp_test_dumptrie
      Src: /src/bind9/tests/bench/qp-dump.c:266,1
    - Dst: qp_test_dumpdot
      Src: /src/bind9/tests/bench/qp-dump.c:269,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 90
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 128
    functionDepth: 5
    functionLinenumber: 128
    functionLinenumberEnd: 273
    functionName: main
    functionSourceFile: /src/bind9/tests/bench/qp-dump.c
    functionUses: 100
    functionsReached:
    - smallname_free
    - fprintf
    - isc_buffer_add
    - fclose
    - exit
    - dns_qp_create
    - dns_name_fromtext
    - fopen
    - dns_qp_gctime
    - qp_test_getheight
    - print_megabytes
    - dns_qp_insert
    - dns_qp_compact
    - strcspn
    - strerror
    - usage
    - isc_buffer_init
    - isc_result_totext
    - isc_file_getsize
    - qp_test_dumpdot
    - printf
    - isc_commandline_parse
    - dns_qp_memusage
    - dns_name_countlabels
    - smallname_from_name
    - isc_mem_get
    - isc_mem_inuse
    - qp_test_maxkeylen
    - fread
    - strspn
    - dns_fixedname_initname
    - qp_test_dumptrie
    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: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    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:
    - isc_buffer_forward
    - isc_buffer_consumedlength
    - isc_buffer_setactive
    - isc_buffer_add
    - dns_fixedname_initname
    - old_name_fromwire
    - 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:
    - isc_buffer_forward
    - isc_buffer_consumedlength
    - isc_buffer_setactive
    - isc_buffer_add
    - dns_fixedname_initname
    - isc_buffer_constinit
    - dns_name_fromwire
    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:
    - isc_time_microdiff
    - isc_time_now_hires
    - printf
    - new_bench
    - old_bench
    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: 100
    functionsReached:
    - printf
    - isc_random_buf
    - 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: 42
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_create
      Src: /src/bind9/doc/misc/cfg_test.c:62,1
    - Dst: setup_logging
      Src: /src/bind9/doc/misc/cfg_test.c:64,1
    - Dst: isc_log_setdebuglevel
      Src: /src/bind9/doc/misc/cfg_test.c:69,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:72,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:76,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: usage
      Src: /src/bind9/doc/misc/cfg_test.c:83,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:85,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:86,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:89,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:90,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:93,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: usage
      Src: /src/bind9/doc/misc/cfg_test.c:108,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:110,1
    - Dst: strcmp
      Src: /src/bind9/doc/misc/cfg_test.c:112,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:115,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:124,1
    - Dst: cfg_print_grammar
      Src: /src/bind9/doc/misc/cfg_test.c:126,1
    - Dst: cfg_print_zonegrammar
      Src: /src/bind9/doc/misc/cfg_test.c:128,1
    - Dst: usage
      Src: /src/bind9/doc/misc/cfg_test.c:131,1
    - Dst: cfg_parse_file
      Src: /src/bind9/doc/misc/cfg_test.c:133,1
    - Dst: fprintf
      Src: /src/bind9/doc/misc/cfg_test.c:135,1
    - Dst: isc_result_totext
      Src: /src/bind9/doc/misc/cfg_test.c:135,1
    - Dst: exit
      Src: /src/bind9/doc/misc/cfg_test.c:138,1
    - Dst: cfg_print
      Src: /src/bind9/doc/misc/cfg_test.c:141,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/doc/misc/cfg_test.c:143,1
    - Dst: isc_mem_detach
      Src: /src/bind9/doc/misc/cfg_test.c:146,1
    - Dst: fflush
      Src: /src/bind9/doc/misc/cfg_test.c:148,1
    - Dst: ferror
      Src: /src/bind9/doc/misc/cfg_test.c:149,1
    - Dst: fprintf
      Src: /src/bind9/doc/misc/cfg_test.c:150,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 89
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 155
    functionName: main
    functionSourceFile: /src/bind9/doc/misc/cfg_test.c
    functionUses: 100
    functionsReached:
    - isc_mem_create
    - strcmp
    - cfg_print
    - ferror
    - cfg_parse_file
    - fprintf
    - cfg_obj_detach
    - isc_log_setdebuglevel
    - cfg_print_zonegrammar
    - fflush
    - isc_mem_detach
    - setup_logging
    - exit
    - usage
    - cfg_print_grammar
    - isc_result_totext
    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:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    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:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 59
    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:72,1
    - Dst: sysctlbyname
      Src: /src/bind9/lib/isc/os.c:73,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 79
    functionName: sysctlbyname_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    - ARRAY_SIZE
    linkageType: ''
    returnType: int
    signature: int sysctlbyname_ncpus(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/os.c:94,1
    - Dst: sysctl
      Src: /src/bind9/lib/isc/os.c:95,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/os.c:95,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 102
    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:120,1
    - Dst: CPU_COUNT
      Src: /src/bind9/lib/isc/os.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 125
    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:138,1
    - Dst: CPU_COUNT
      Src: /src/bind9/lib/isc/os.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: cpuset_affinity_ncpus
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - CPU_COUNT
    - cpuset_getaffinity
    linkageType: ''
    returnType: int
    signature: int cpuset_affinity_ncpus(void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cpuset_affinity_ncpus
      Src: /src/bind9/lib/isc/os.c:151,1
    - Dst: sched_affinity_ncpus
      Src: /src/bind9/lib/isc/os.c:156,1
    - Dst: sysctlbyname_ncpus
      Src: /src/bind9/lib/isc/os.c:161,1
    - Dst: sysctl_ncpus
      Src: /src/bind9/lib/isc/os.c:166,1
    - Dst: sysconf_ncpus
      Src: /src/bind9/lib/isc/os.c:170,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 175
    functionName: ncpus_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - sched_affinity_ncpus
    - sysconf_ncpus
    - sysctl_ncpus
    - sysctlbyname_ncpus
    - cpuset_affinity_ncpus
    linkageType: ''
    returnType: void
    signature: void ncpus_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: umask
      Src: /src/bind9/lib/isc/os.c:181,1
    - Dst: umask
      Src: /src/bind9/lib/isc/os.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 183
    functionName: umask_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - umask
    linkageType: ''
    returnType: void
    signature: void umask_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: uname
      Src: /src/bind9/lib/isc/os.c:189,1
    - Dst: sscanf
      Src: /src/bind9/lib/isc/os.c:193,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/os.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 196
    functionName: kernel_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - uname
    - strlcpy
    - sscanf
    linkageType: ''
    returnType: void
    signature: void kernel_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 201
    functionName: 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: 206
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 206
    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: 211
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 211
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/os.c:215,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/os.c:216,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/os.c:217,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/os.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - name
    - major
    - minor
    - patch
    argTypes:
    - char**
    - int*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: isc_os_kernel
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    linkageType: ''
    returnType: void
    signature: void isc_os_kernel(char **name, int *major, int *minor, int *patch)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: umask_initialize
      Src: /src/bind9/lib/isc/os.c:223,1
    - Dst: ncpus_initialize
      Src: /src/bind9/lib/isc/os.c:224,1
    - Dst: kernel_initialize
      Src: /src/bind9/lib/isc/os.c:225,1
    - Dst: sysconf
      Src: /src/bind9/lib/isc/os.c:227,1
    - Dst: pthread_attr_init
      Src: /src/bind9/lib/isc/os.c:233,1
    - Dst: isc_thread_getstacksize
      Src: /src/bind9/lib/isc/os.c:235,1
    - Dst: isc_thread_setstacksize
      Src: /src/bind9/lib/isc/os.c:237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 239
    functionName: isc__os_initialize
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - ncpus_initialize
    - isc_thread_getstacksize
    - kernel_initialize
    - isc_thread_setstacksize
    - sysconf
    - pthread_attr_init
    - umask_initialize
    linkageType: ''
    returnType: void
    signature: void isc__os_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_destroy
      Src: /src/bind9/lib/isc/os.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 244
    functionName: isc__os_shutdown
    functionSourceFile: /src/bind9/lib/isc/os.c
    functionUses: 0
    functionsReached:
    - pthread_attr_destroy
    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: 1
    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:
    - REQUIRE
    - opendir
    - VALID_DIR
    - strlen
    - isc__errno2result
    - strlcpy
    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:
    - REQUIRE
    - readdir
    - VALID_DIR
    - strlen
    - strlcpy
    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:
    - REQUIRE
    - VALID_DIR
    - 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:
    - REQUIRE
    - VALID_DIR
    - rewinddir
    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: 4
    functionsReached:
    - REQUIRE
    - isc__errno2result
    - chdir
    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:
    - REQUIRE
    - getservbyname
    - chdir
    - chroot
    - getprotobyname
    - isc__errno2result
    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_setdebugging
      Src: /src/bind9/lib/isc/xml.c:56,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/xml.c:57,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/xml.c:59,1
    - Dst: xmlMemSetup
      Src: /src/bind9/lib/isc/xml.c:59,1
    - Dst: xmlInitParser
      Src: /src/bind9/lib/isc/xml.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 65
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 65
    functionName: isc__xml_initialize
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - isc_mem_setdebugging
    - isc_mem_create
    - xmlMemSetup
    - RUNTIME_CHECK
    - isc_mem_setdestroycheck
    - xmlInitParser
    linkageType: ''
    returnType: void
    signature: void isc__xml_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: xmlCleanupParser
      Src: /src/bind9/lib/isc/xml.c:70,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/xml.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 76
    functionName: isc__xml_shutdown
    functionSourceFile: /src/bind9/lib/isc/xml.c
    functionUses: 0
    functionsReached:
    - xmlCleanupParser
    - isc_mem_detach
    linkageType: ''
    returnType: void
    signature: void isc__xml_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/xml.c:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 85
    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: REQUIRE
      Src: /src/bind9/lib/isc/file.c:99,1
    - Dst: lstat
      Src: /src/bind9/lib/isc/file.c:101,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - file
    - stats
    argTypes:
    - char*
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: file_lstats
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__errno2result
    - lstat
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t file_lstats(const char *file, struct stat *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:112,1
    - Dst: fstat
      Src: /src/bind9/lib/isc/file.c:114,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - fd
    - stats
    argTypes:
    - int
    - struct stat*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 119
    functionName: fd_stats
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__errno2result
    - fstat
    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:126,1
    - Dst: fd_stats
      Src: /src/bind9/lib/isc/file.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 135
    functionName: isc_file_getsizefd
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - fd_stats
    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:142,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - file
    - modep
    argTypes:
    - char*
    - mode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 150
    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:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:158,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:160,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/file.c:164,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/file.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - file
    - modtime
    argTypes:
    - char*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 152
    functionDepth: 2
    functionLinenumber: 152
    functionLinenumberEnd: 171
    functionName: isc_file_getmodtime
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - file_stats
    - isc_time_set
    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:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:179,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - file
    - size
    argTypes:
    - char*
    - off_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 188
    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:194,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/isc/file.c:206,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/lib/isc/file.c:222,1
    - Dst: utimes
      Src: /src/bind9/lib/isc/file.c:224,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - file
    - when
    argTypes:
    - char*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 229
    functionName: isc_file_settime
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - utimes
    - isc_time_nanoseconds
    - isc__errno2result
    - isc_time_seconds
    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:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - path
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 1
    functionLinenumber: 234
    functionLinenumberEnd: 237
    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:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:245,1
    - Dst: strrchr
      Src: /src/bind9/lib/isc/file.c:251,1
    - Dst: strrchr
      Src: /src/bind9/lib/isc/file.c:256,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:260,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:265,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/file.c:265,1
    - Dst: strlcat
      Src: /src/bind9/lib/isc/file.c:266,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:268,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:272,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: 276
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 276
    functionName: isc_file_template
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - strlcat
    - ISC_MIN
    - strrchr
    - strlen
    - strlcpy
    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:286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:287,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/isc/file.c:299,1
    - Dst: link
      Src: /src/bind9/lib/isc/file.c:302,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:304,1
    - Dst: strchr
      Src: /src/bind9/lib/isc/file.c:311,1
    - Dst: unlink
      Src: /src/bind9/lib/isc/file.c:320,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:322,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 2
    argNames:
    - file
    - templet
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 326
    functionName: isc_file_renameunique
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_random_uniform
    - unlink
    - strchr
    - isc__errno2result
    - link
    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:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - templet
    - fp
    argTypes:
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 332
    functionName: isc_file_openunique
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 3
    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:337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - templet
    - fp
    argTypes:
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 334
    functionDepth: 1
    functionLinenumber: 334
    functionLinenumberEnd: 338
    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:348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:349,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/isc/file.c:361,1
    - Dst: open
      Src: /src/bind9/lib/isc/file.c:365,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:367,1
    - Dst: strchr
      Src: /src/bind9/lib/isc/file.c:374,1
    - Dst: fdopen
      Src: /src/bind9/lib/isc/file.c:383,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:385,1
    - Dst: remove
      Src: /src/bind9/lib/isc/file.c:386,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/file.c:387,1
    - Dst: close
      Src: /src/bind9/lib/isc/file.c:391,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    argCount: 3
    argNames:
    - templet
    - mode
    - fp
    argTypes:
    - char*
    - int
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 397
    functionName: isc_file_openuniquemode
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_random_uniform
    - close
    - remove
    - open
    - isc_log_write
    - strchr
    - isc__errno2result
    - fdopen
    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:403,1
    - Dst: unlink
      Src: /src/bind9/lib/isc/file.c:405,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 399
    functionDepth: 1
    functionLinenumber: 399
    functionLinenumberEnd: 411
    functionName: isc_file_remove
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 15
    functionsReached:
    - REQUIRE
    - isc__errno2result
    - unlink
    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:417,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:418,1
    - Dst: rename
      Src: /src/bind9/lib/isc/file.c:420,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - oldname
    - newname
    argTypes:
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 413
    functionDepth: 1
    functionLinenumber: 413
    functionLinenumberEnd: 426
    functionName: isc_file_rename
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc__errno2result
    - rename
    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:432,1
    - Dst: file_stats
      Src: /src/bind9/lib/isc/file.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - pathname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 428
    functionDepth: 2
    functionLinenumber: 428
    functionLinenumberEnd: 435
    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:443,1
    - Dst: stat
      Src: /src/bind9/lib/isc/file.c:445,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:446,1
    - Dst: S_ISREG
      Src: /src/bind9/lib/isc/file.c:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 437
    functionDepth: 1
    functionLinenumber: 437
    functionLinenumberEnd: 454
    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:462,1
    - Dst: fstat
      Src: /src/bind9/lib/isc/file.c:464,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:465,1
    - Dst: S_ISREG
      Src: /src/bind9/lib/isc/file.c:468,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 473
    functionName: isc_file_isplainfilefd
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - memset
    - S_ISREG
    - isc__errno2result
    - fstat
    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:482,1
    - Dst: stat
      Src: /src/bind9/lib/isc/file.c:484,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:485,1
    - Dst: S_ISDIR
      Src: /src/bind9/lib/isc/file.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 493
    functionName: isc_file_isdirectory
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 4
    functionsReached:
    - stat
    - memset
    - S_ISDIR
    - 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:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 499
    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:503,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 505
    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:509,1
    - Dst: isc_file_isabsolute
      Src: /src/bind9/lib/isc/file.c:510,1
    - Dst: isc_file_iscurrentdir
      Src: /src/bind9/lib/isc/file.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 507
    functionDepth: 2
    functionLinenumber: 507
    functionLinenumberEnd: 517
    functionName: isc_file_ischdiridempotent
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_file_isabsolute
    - 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:523,1
    - Dst: strrchr
      Src: /src/bind9/lib/isc/file.c:525,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - filename
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 531
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 531
    functionName: isc_file_basename
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - strrchr
    linkageType: ''
    returnType: char
    signature: 'char *

      isc_file_basename(const char *filename)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:538,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:539,1
    - Dst: isc_file_basename
      Src: /src/bind9/lib/isc/file.c:541,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/file.c:547,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:551,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/file.c:553,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/file.c:555,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - filename
    - buf
    - buflen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 533
    functionDepth: 2
    functionLinenumber: 533
    functionLinenumberEnd: 556
    functionName: isc_file_progname
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - RUNTIME_CHECK
    - isc_file_basename
    - strlen
    - strncmp
    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:569,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:570,1
    - Dst: getcwd
      Src: /src/bind9/lib/isc/file.c:572,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:578,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:581,1
    - Dst: strlcat
      Src: /src/bind9/lib/isc/file.c:584,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - dirname
    - length
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 589
    functionName: dir_current
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strlcat
    - strlen
    - getcwd
    - isc__errno2result
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dir_current(char *dirname, size_t length)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/file.c:593,1
    - Dst: dir_current
      Src: /src/bind9/lib/isc/file.c:593,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:595,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:595,1
    - Dst: strlcat
      Src: /src/bind9/lib/isc/file.c:598,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - filename
    - path
    - pathlen
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 591
    functionDepth: 2
    functionLinenumber: 591
    functionLinenumberEnd: 601
    functionName: isc_file_absolutepath
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 1
    functionsReached:
    - dir_current
    - strlcat
    - strlen
    - RETERR
    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:607,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:608,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - filename
    - size
    argTypes:
    - char*
    - off_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 611
    functionName: isc_file_truncate
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 0
    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:621,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:622,1
    - Dst: file_lstats
      Src: /src/bind9/lib/isc/file.c:624,1
    - Dst: S_ISREG
      Src: /src/bind9/lib/isc/file.c:626,1
    - Dst: open
      Src: /src/bind9/lib/isc/file.c:636,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:638,1
    - Dst: fdopen
      Src: /src/bind9/lib/isc/file.c:641,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/file.c:643,1
    - Dst: close
      Src: /src/bind9/lib/isc/file.c:644,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - filename
    - fp
    argTypes:
    - char*
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 613
    functionDepth: 2
    functionLinenumber: 613
    functionLinenumberEnd: 650
    functionName: isc_file_safecreate
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - close
    - open
    - file_lstats
    - isc__errno2result
    - S_ISREG
    - 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:662,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/file.c:666,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/file.c:669,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:670,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/file.c:673,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/file.c:677,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: 685
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 685
    functionName: isc_file_splitpath
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 3
    functionsReached:
    - isc_mem_strdup
    - strrchr
    - isc_mem_free
    - isc_mem_allocate
    - strlcpy
    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:696,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: 702
      start: 689
    functionDepth: 0
    functionLinenumber: 689
    functionLinenumberEnd: 702
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:713,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/file.c:714,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:716,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:727,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:730,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/file.c:738,1
    - Dst: isc_md
      Src: /src/bind9/lib/isc/file.c:738,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/file.c:738,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/file.c:741,1
    - Dst: digest2hex
      Src: /src/bind9/lib/isc/file.c:741,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/file.c:743,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/isc/file.c:746,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:747,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/file.c:753,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/isc/file.c:756,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:757,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isc/file.c:766,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:767,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/file.c:771,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/file.c:774,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 5
    argNames:
    - dir
    - base
    - ext
    - path
    - length
    argTypes:
    - char*
    - char*
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 776
    functionName: isc_file_sanitize
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_file_exists
    - digest2hex
    - snprintf
    - strlen
    - RETERR
    - strpbrk
    - isc_md
    - strlcpy
    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:780,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 781
      start: 778
    functionDepth: 0
    functionLinenumber: 778
    functionLinenumberEnd: 781
    functionName: isc_file_isdirwritable
    functionSourceFile: /src/bind9/lib/isc/file.c
    functionUses: 3
    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:
    - REQUIRE
    - isc_refcount_increment
    - 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:
    - REQUIRE
    - isc_mem_cput
    - isc_refcount_decrement
    - isc_mem_putanddetach
    - isc_refcount_destroy
    - ISC_STATS_VALID
    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
    - REQUIRE
    - isc_mem_get
    - atomic_init
    - isc_refcount_init
    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:
    - REQUIRE
    - dump_fn
    - atomic_load_acquire
    - 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: 1
    functionsReached:
    - REQUIRE
    - ISC_STATS_VALID
    - atomic_store_release
    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:
    - REQUIRE
    - atomic_load_acquire
    - ISC_STATS_VALID
    - atomic_compare_exchange_weak_acq_rel
    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: 2
    functionsReached:
    - REQUIRE
    - atomic_load_acquire
    - 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:
    - REQUIRE
    - isc_mem_cput
    - isc_mem_get
    - atomic_store_release
    - atomic_load_acquire
    - atomic_init
    - ISC_STATS_VALID
    linkageType: ''
    returnType: void
    signature: void isc_stats_resize(isc_stats_t **statsp, int ncounters)
  - 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: 13
    functionsReached:
    - isalnum
    - strtoul
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_parse_uint32(uint32_t *uip, const char *string, int
      base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/parseint.c:55,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/isc/parseint.c:55,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - uip
    - string
    - base
    argTypes:
    - uint16_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 61
    functionName: isc_parse_uint16
    functionSourceFile: /src/bind9/lib/isc/parseint.c
    functionUses: 6
    functionsReached:
    - isc_parse_uint32
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_parse_uint16(uint16_t *uip, const char *string, int
      base)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/parseint.c:67,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/isc/parseint.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - uip
    - string
    - base
    argTypes:
    - uint8_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 73
    functionName: isc_parse_uint8
    functionSourceFile: /src/bind9/lib/isc/parseint.c
    functionUses: 1
    functionsReached:
    - isc_parse_uint32
    - RETERR
    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:
    - REQUIRE
    - memcmp
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/sockaddr.c:122,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/sockaddr.c:131,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:132,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/sockaddr.c:135,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:136,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/sockaddr.c:142,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/sockaddr.c:143,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/sockaddr.c:145,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/sockaddr.c:146,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/isc/sockaddr.c:146,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/sockaddr.c:148,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/sockaddr.c:152,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/sockaddr.c:153,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/isc/sockaddr.c:158,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/sockaddr.c:159,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - sockaddr
    - target
    argTypes:
    - isc_sockaddr_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 163
    functionName: isc_sockaddr_totext
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_putmem
    - isc_netaddr_fromsockaddr
    - snprintf
    - isc_netaddr_totext
    - strlen
    - ntohs
    - RETERR
    - isc_buffer_availablelength
    - isc_buffer_availableregion
    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:174,1
    - Dst: isc_sockaddr_totext
      Src: /src/bind9/lib/isc/sockaddr.c:175,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/sockaddr.c:180,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: 184
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 184
    functionName: isc_sockaddr_format
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 40
    functionsReached:
    - snprintf
    - isc_sockaddr_totext
    - isc_buffer_init
    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:189,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:201,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/isc/sockaddr.c:207,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:214,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/sockaddr.c:218,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/isc/sockaddr.c:221,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/isc/sockaddr.c:223,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: 225
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 225
    functionName: isc_sockaddr_hash_ex
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_hash32_hash
    - IN6_IS_ADDR_V4MAPPED
    - ntohs
    - UNREACHABLE
    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:231,1
    - Dst: isc_sockaddr_hash_ex
      Src: /src/bind9/lib/isc/sockaddr.c:233,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/isc/sockaddr.c:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sockaddr
    - address_only
    argTypes:
    - isc_sockaddr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 236
    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:240,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 246
    functionName: isc_sockaddr_any
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 12
    functionsReached:
    - memset
    - ISC_LINK_INIT
    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:250,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 256
    functionName: isc_sockaddr_any6
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 8
    functionsReached:
    - memset
    - ISC_LINK_INIT
    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:261,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:264,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:266,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: 267
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 267
    functionName: isc_sockaddr_fromin
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 24
    functionsReached:
    - memset
    - htons
    - ISC_LINK_INIT
    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:273,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/isc/sockaddr.c:276,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/sockaddr.c:279,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sockaddr
    - pf
    argTypes:
    - isc_sockaddr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 281
    functionName: isc_sockaddr_anyofpf
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - isc_sockaddr_any6
    - isc_sockaddr_any
    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:286,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:289,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:291,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: 292
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 292
    functionName: isc_sockaddr_fromin6
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 25
    functionsReached:
    - memset
    - htons
    - ISC_LINK_INIT
    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:297,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/sockaddr.c:301,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:302,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:304,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: 305
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 305
    functionName: isc_sockaddr_v6fromin
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - memset
    - memmove
    - htons
    - ISC_LINK_INIT
    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:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 329
    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:334,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:340,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/sockaddr.c:344,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/isc/sockaddr.c:345,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:346,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/sockaddr.c:349,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/sockaddr.c:351,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: 352
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 352
    functionName: isc_sockaddr_fromnetaddr
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_netaddr_getzone
    - memset
    - UNREACHABLE
    - htons
    - 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:358,1
    - Dst: htons
      Src: /src/bind9/lib/isc/sockaddr.c:361,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/sockaddr.c:364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - sockaddr
    - port
    argTypes:
    - isc_sockaddr_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 354
    functionDepth: 1
    functionLinenumber: 354
    functionLinenumberEnd: 367
    functionName: isc_sockaddr_setport
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 14
    functionsReached:
    - htons
    - FATAL_ERROR
    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:375,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/sockaddr.c:378,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/sockaddr.c:381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 386
    functionName: isc_sockaddr_getport
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 19
    functionsReached:
    - ntohs
    - FATAL_ERROR
    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:395,1
    - Dst: isc_netaddr_ismulticast
      Src: /src/bind9/lib/isc/sockaddr.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 399
    functionName: isc_sockaddr_ismulticast
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromsockaddr
    - isc_netaddr_ismulticast
    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:406,1
    - Dst: isc_netaddr_isexperimental
      Src: /src/bind9/lib/isc/sockaddr.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 410
    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:417,1
    - Dst: isc_netaddr_issitelocal
      Src: /src/bind9/lib/isc/sockaddr.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 421
    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:428,1
    - Dst: isc_netaddr_islinklocal
      Src: /src/bind9/lib/isc/sockaddr.c:429,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 432
    functionName: isc_sockaddr_islinklocal
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_fromsockaddr
    - isc_netaddr_islinklocal
    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:439,1
    - Dst: isc_netaddr_isnetzero
      Src: /src/bind9/lib/isc/sockaddr.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 443
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 443
    functionName: isc_sockaddr_isnetzero
    functionSourceFile: /src/bind9/lib/isc/sockaddr.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_fromsockaddr
    - isc_netaddr_isnetzero
    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:462,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - isa
    - sa
    argTypes:
    - isc_sockaddr_t*
    - struct sockaddr*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 465
    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:470,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/isc/sockaddr.c:472,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 5
    argCount: 1
    argNames:
    - sockaddr
    argTypes:
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 477
    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:
    - RUNTIME_CHECK
    - pthread_mutexattr_init
    - pthread_mutexattr_settype
    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:
    - REQUIRE
    - strcasecmp
    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:
    - strtoull
    - UNUSED
    - IN6_IS_ADDR_LINKLOCAL
    - if_nametoindex
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_netscope_pton(int af, char *scopename, void *addr,
      uint32_t *zoneid)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/hex.c:62,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:66,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/hex.c:66,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/hex.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:73,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/hex.c:73,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: 77
      start: 52
    functionDepth: 1
    functionLinenumber: 52
    functionLinenumberEnd: 77
    functionName: isc_hex_totext
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 6
    functionsReached:
    - memset
    - isc_region_consume
    - RETERR
    - str_totext
    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:
    - isc_hex_decodectx_t*
    - int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: isc_hex_decodeinit
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void isc_hex_decodeinit(isc_hex_decodectx_t *ctx, int length, isc_buffer_t
      *target)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_hex_char
      Src: /src/bind9/lib/isc/hex.c:90,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:99,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/isc/hex.c:99,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - isc_hex_decodectx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 110
    functionName: isc_hex_decodechar
    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 isc_hex_decodechar(isc_hex_decodectx_t *ctx, int c)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_hex_decodectx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: isc_hex_decodefinish
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hex_decodefinish(isc_hex_decodectx_t *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hex.c:131,1
    - Dst: isc_hex_decodeinit
      Src: /src/bind9/lib/isc/hex.c:133,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/hex.c:135,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:144,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/isc/hex.c:144,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:151,1
    - Dst: isc_hex_decodechar
      Src: /src/bind9/lib/isc/hex.c:151,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/hex.c:154,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/hex.c:156,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:158,1
    - Dst: isc_hex_decodefinish
      Src: /src/bind9/lib/isc/hex.c:158,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: 163
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 163
    functionName: isc_hex_tobuffer
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodeinit
    - REQUIRE
    - isc_hex_decodechar
    - isc_buffer_usedlength
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - RETERR
    - isc_hex_decodefinish
    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: isc_hex_decodeinit
      Src: /src/bind9/lib/isc/hex.c:169,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:178,1
    - Dst: isc_hex_decodechar
      Src: /src/bind9/lib/isc/hex.c:178,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/hex.c:180,1
    - Dst: isc_hex_decodefinish
      Src: /src/bind9/lib/isc/hex.c:180,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 182
    functionName: isc_hex_decodestring
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 13
    functionsReached:
    - isc_hex_decodeinit
    - RETERR
    - isc_hex_decodechar
    - isc_hex_decodefinish
    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:189,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/hex.c:190,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hex.c:196,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/hex.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 199
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 1
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - strlen
    - memmove
    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:205,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hex.c:209,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/hex.c:210,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: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/isc/hex.c
    functionUses: 1
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - memmove
    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:
    - va_start
    - abort
    - 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:
    - fprintf
    - vfprintf
    - 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:
    - fprintf
    - vfprintf
    - 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:
    - REQUIRE
    - isc_mem_get
    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:
    - REQUIRE
    - isc_mem_put
    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:
    - REQUIRE
    - portset_add
    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:
    - REQUIRE
    - portset_add
    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:
    - UNEXPECTED_ERROR
    - uv_strerror
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: open
      Src: /src/bind9/lib/isc/uv.c:141,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/uv.c:142,1
    - Dst: close
      Src: /src/bind9/lib/isc/uv.c:144,1
    - Dst: UV_VERSION
      Src: /src/bind9/lib/isc/uv.c:148,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/uv.c:150,1
    - Dst: isc_mem_setdebugging
      Src: /src/bind9/lib/isc/uv.c:151,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/uv.c:152,1
    - Dst: uv_replace_allocator
      Src: /src/bind9/lib/isc/uv.c:154,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/uv.c:156,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 131
    functionDepth: 1
    functionLinenumber: 131
    functionLinenumberEnd: 158
    functionName: isc__uv_initialize
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_setdebugging
    - isc_mem_create
    - close
    - uv_replace_allocator
    - RUNTIME_CHECK
    - open
    - UV_VERSION
    - isc_mem_setdestroycheck
    - 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:162,1
    - Dst: uv_library_shutdown
      Src: /src/bind9/lib/isc/uv.c:163,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/uv.c:164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 166
    functionName: isc__uv_shutdown
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 0
    functionsReached:
    - isc_mem_detach
    - UV_VERSION
    - uv_library_shutdown
    linkageType: ''
    returnType: void
    signature: void isc__uv_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UV_VERSION
      Src: /src/bind9/lib/isc/uv.c:170,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/uv.c:171,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/uv.c:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - check
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 175
    functionName: isc__uv_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/uv.c
    functionUses: 2
    functionsReached:
    - UV_VERSION
    - UNUSED
    - isc_mem_setdestroycheck
    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: 259
    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: 259
    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_USERINFO_CHAR
    - IS_URL_CHAR
    - isalpha
    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:
    - IS_USERINFO_CHAR
    - IS_HOST_CHAR
    - isalnum
    - 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:
    - REQUIRE
    - http_parse_host_char
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t http_parse_host(const char *buf, isc_url_parser_t *up,
      int found_at)
  - BBCount: 21
    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: RETERR
      Src: /src/bind9/lib/isc/url.c:625,1
    - Dst: http_parse_host
      Src: /src/bind9/lib/isc/url.c:625,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/url.c:650,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    argCount: 4
    argNames:
    - buf
    - buflen
    - is_connect
    - up
    argTypes:
    - char*
    - size_t
    - bool
    - isc_url_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 667
    functionName: isc_url_parse
    functionSourceFile: /src/bind9/lib/isc/url.c
    functionUses: 0
    functionsReached:
    - INSIST
    - parse_url_char
    - RETERR
    - UNREACHABLE
    - http_parse_host
    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
    - REQUIRE
    - memmove
    - isc_mem_get
    - isc_refcount_init
    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_mem_putanddetach
    - isc_refcount_destroy
    - isc_refcount_decrement
    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:
    - REQUIRE
    - _new_prefix
    - INSIST
    - isc_refcount_current
    - isc_refcount_increment
    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_attach
    - REQUIRE
    - isc_mem_get
    - 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:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - RUNTIME_CHECK
    - _deref_prefix
    - func
    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:
    - REQUIRE
    - isc_mem_putanddetach
    - _clear_radix
    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:
    - REQUIRE
    - RADIX_WALK
    - 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:
    - REQUIRE
    - ISC_RADIX_FAMILY
    - BIT_TEST
    - RUNTIME_CHECK
    - isc_prefix_tochar
    - _comp_with_mask
    - isc_prefix_touchar
    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: 38
    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: RETERR
      Src: /src/bind9/lib/isc/radix.c:453,1
    - Dst: _ref_prefix
      Src: /src/bind9/lib/isc/radix.c:453,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:455,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/isc/radix.c:477,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/radix.c:484,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/radix.c:486,1
    - Dst: _ref_prefix
      Src: /src/bind9/lib/isc/radix.c:490,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:492,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:494,1
    - Dst: ISC_RADIX_FAMILY
      Src: /src/bind9/lib/isc/radix.c:525,1
    - Dst: memset
      Src: /src/bind9/lib/isc/radix.c:527,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:531,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:534,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:536,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:539,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:547,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:549,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:557,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:566,1
    - Dst: BIT_TEST
      Src: /src/bind9/lib/isc/radix.c:576,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:587,1
    CyclomaticComplexity: 73
    EdgeCount: 73
    ICount: 237
    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: 599
      start: 287
    functionDepth: 3
    functionLinenumber: 287
    functionLinenumberEnd: 599
    functionName: isc_radix_insert
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ISC_RADIX_FAMILY
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - RUNTIME_CHECK
    - BIT_TEST
    - _ref_prefix
    - RETERR
    - memset
    - isc_prefix_touchar
    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:605,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/radix.c:606,1
    - Dst: _deref_prefix
      Src: /src/bind9/lib/isc/radix.c:614,1
    - Dst: memset
      Src: /src/bind9/lib/isc/radix.c:618,1
    - Dst: _deref_prefix
      Src: /src/bind9/lib/isc/radix.c:624,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:627,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:629,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:638,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:643,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:652,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:657,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:662,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:670,1
    - Dst: _deref_prefix
      Src: /src/bind9/lib/isc/radix.c:677,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:680,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:682,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/radix.c:690,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/radix.c:694,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: 696
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 696
    functionName: isc_radix_remove
    functionSourceFile: /src/bind9/lib/isc/radix.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - _deref_prefix
    - memset
    linkageType: ''
    returnType: void
    signature: void isc_radix_remove(isc_radix_tree_t *radix, isc_radix_node_t *node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/base32.c:53,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:60,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:69,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:77,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:77,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:86,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:86,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:92,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:92,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base32.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:100,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base32.c:100,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base32.c:104,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: 107
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 107
    functionName: base32_totext
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - memset
    - isc_region_consume
    - RETERR
    - str_totext
    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:112,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: 114
      start: 109
    functionDepth: 2
    functionLinenumber: 109
    functionLinenumberEnd: 114
    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: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_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: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_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:153,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:240,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/isc/base32.c:240,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 74
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - base32_decode_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 251
    functionName: base32_decode_char
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - strchr
    - RETERR
    - 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:264,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - base32_decode_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 271
    functionName: base32_decode_finish
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decode_char
    - RETERR
    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:284,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base32.c:286,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:295,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/isc/base32.c:295,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:302,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:302,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base32.c:305,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/base32.c:307,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:309,1
    - Dst: base32_decode_finish
      Src: /src/bind9/lib/isc/base32.c:309,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: 314
      start: 273
    functionDepth: 3
    functionLinenumber: 273
    functionLinenumberEnd: 314
    functionName: base32_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - base32_decode_finish
    - isc_buffer_usedlength
    - isc_lex_ungettoken
    - base32_decode_char
    - isc_lex_getmastertoken
    - RETERR
    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:318,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: 319
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 319
    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:323,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: 324
      start: 321
    functionDepth: 4
    functionLinenumber: 321
    functionLinenumberEnd: 324
    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:328,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: 329
      start: 326
    functionDepth: 4
    functionLinenumber: 326
    functionLinenumberEnd: 329
    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:346,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:346,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:348,1
    - Dst: base32_decode_finish
      Src: /src/bind9/lib/isc/base32.c:348,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: 350
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: base32_decodestring
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decode_char
    - RETERR
    - base32_decode_finish
    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:354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 352
    functionDepth: 4
    functionLinenumber: 352
    functionLinenumberEnd: 355
    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:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 357
    functionDepth: 4
    functionLinenumber: 357
    functionLinenumberEnd: 360
    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:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 362
    functionDepth: 4
    functionLinenumber: 362
    functionLinenumberEnd: 365
    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:376,1
    - Dst: base32_decode_char
      Src: /src/bind9/lib/isc/base32.c:376,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base32.c:377,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base32.c:379,1
    - Dst: base32_decode_finish
      Src: /src/bind9/lib/isc/base32.c:379,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: 381
      start: 367
    functionDepth: 3
    functionLinenumber: 367
    functionLinenumberEnd: 381
    functionName: base32_decoderegion
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 0
    functionsReached:
    - base32_decode_char
    - RETERR
    - base32_decode_finish
    - 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:385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 383
    functionDepth: 4
    functionLinenumber: 383
    functionLinenumberEnd: 386
    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:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 4
    functionLinenumber: 388
    functionLinenumberEnd: 391
    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:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 4
    functionLinenumber: 393
    functionLinenumberEnd: 396
    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:403,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/base32.c:404,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base32.c:410,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base32.c:411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 413
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 2
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - strlen
    - memmove
    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:419,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base32.c:423,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base32.c:424,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: 426
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 426
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base32.c
    functionUses: 2
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - memmove
    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:35,1
    - Dst: SHA1_Init
      Src: /src/bind9/lib/isc/iterated_hash.c:50,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:51,1
    - Dst: SHA1_Update
      Src: /src/bind9/lib/isc/iterated_hash.c:55,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:56,1
    - Dst: SHA1_Update
      Src: /src/bind9/lib/isc/iterated_hash.c:60,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:61,1
    - Dst: SHA1_Final
      Src: /src/bind9/lib/isc/iterated_hash.c:65,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:66,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: 75
      start: 30
    functionDepth: 1
    functionLinenumber: 30
    functionLinenumberEnd: 75
    functionName: isc_iterated_hash
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - SHA1_Final
    - SHA1_Init
    - SHA1_Update
    - ERR_clear_error
    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: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    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: 85
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 85
    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:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:102,1
    - Dst: EVP_MD_CTX_copy_ex
      Src: /src/bind9/lib/isc/iterated_hash.c:116,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/isc/iterated_hash.c:120,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/isc/iterated_hash.c:124,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/bind9/lib/isc/iterated_hash.c:128,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/iterated_hash.c:139,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: 141
      start: 95
    functionDepth: 1
    functionLinenumber: 95
    functionLinenumberEnd: 141
    functionName: isc_iterated_hash
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - EVP_DigestFinal_ex
    - EVP_DigestUpdate
    - ERR_clear_error
    - 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:149,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/iterated_hash.c:150,1
    - Dst: EVP_MD_CTX_new
      Src: /src/bind9/lib/isc/iterated_hash.c:151,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/iterated_hash.c:152,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/iterated_hash.c:154,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/isc/iterated_hash.c:154,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 157
    functionName: isc__iterated_hash_initialize
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - RUNTIME_CHECK
    - EVP_MD_CTX_new
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc__iterated_hash_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:165,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/isc/iterated_hash.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/iterated_hash.c:168,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/isc/iterated_hash.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 159
    functionDepth: 1
    functionLinenumber: 159
    functionLinenumberEnd: 173
    functionName: isc__iterated_hash_shutdown
    functionSourceFile: /src/bind9/lib/isc/iterated_hash.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_free
    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: 22
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - VALID_LOOP
    - uv_async_send
    - cds_wfcq_enqueue
    - cds_wfcq_node_init
    - 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:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - __cds_wfcq_splice_blocking
    - VALID_LOOP
    - __cds_wfcq_init
    - __cds_wfcq_for_each_blocking_safe
    - isc_job_t*::cb
    - uv_handle_get_data
    - caa_container_of
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_buf
      Src: /src/bind9/lib/isc/random.c:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 66
    functionName: isc_random32
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 2
    functionsReached:
    - isc_random_buf
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_random32(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/random.c:70,1
    - Dst: uv_random
      Src: /src/bind9/lib/isc/random.c:76,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/random.c:77,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 68
    functionDepth: 1
    functionLinenumber: 68
    functionLinenumberEnd: 78
    functionName: isc_random_buf
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 6
    functionsReached:
    - uv_random
    - REQUIRE
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_random_buf(void *buf, size_t buflen)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_random32
      Src: /src/bind9/lib/isc/random.c:93,1
    - Dst: isc_random32
      Src: /src/bind9/lib/isc/random.c:145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - limit
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 152
    functionName: isc_random_uniform
    functionSourceFile: /src/bind9/lib/isc/random.c
    functionUses: 17
    functionsReached:
    - isc_random32
    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:
    - REQUIRE
    - atomic_compare_exchange_strong_acq_rel
    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:
    - isc_pause
    - writers_barrier_lower
    - LIBISC_RWLOCK_RDLOCK_REQ
    - writers_barrier_raise
    - writers_lock_islocked
    - read_indicator_arrive
    - ran_out_of_patience
    - LIBISC_RWLOCK_RDLOCK_ACQ
    - read_indicator_depart
    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:
    - writers_lock_islocked
    - read_indicator_depart
    - read_indicator_arrive
    - LIBISC_RWLOCK_TRYRDLOCK
    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:
    - writers_lock_release
    - read_indicator_isempty
    - writers_lock_acquire
    - LIBISC_RWLOCK_TRYUPGRADE
    - read_indicator_arrive
    - writers_barrier_israised
    - read_indicator_depart
    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:
    - read_indicator_isempty
    - isc_pause
    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:
    - isc_pause
    - LIBISC_RWLOCK_WRLOCK_REQ
    - writers_lock_acquire
    - LIBISC_RWLOCK_WRLOCK_ACQ
    - read_indicator_wait_until_empty
    - writers_barrier_israised
    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_release
    - read_indicator_isempty
    - writers_lock_acquire
    - LIBISC_RWLOCK_TRYWRLOCK
    - writers_barrier_israised
    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:
    - writers_lock_release
    - LIBISC_RWLOCK_DOWNGRADE
    - read_indicator_arrive
    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:
    - LIBISC_RWLOCK_INIT
    - REQUIRE
    - atomic_init
    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: 2
    functionsReached:
    - REQUIRE
    - read_indicator_isempty
    - atomic_load
    - 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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    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: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    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: 62
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 62
    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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    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:85,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:86,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:88,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/histo.c:90,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/histo.c:95,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: 98
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 98
    functionName: isc_histo_create
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    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:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:103,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:103,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/histo.c:110,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:110,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/histo.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - hgp
    argTypes:
    - isc_histo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 115
    functionName: isc_histo_destroy
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - isc_mem_cput
    - isc_mem_putanddetach
    - CHUNKSIZE
    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:121,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hg
    argTypes:
    - isc_histo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 123
    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:131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:132,1
    - Dst: floor
      Src: /src/bind9/lib/isc/histo.c:133,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - bits
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 134
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 134
    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:138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:139,1
    - Dst: ceil
      Src: /src/bind9/lib/isc/histo.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - digits
    argTypes:
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 136
    functionDepth: 1
    functionLinenumber: 136
    functionLinenumberEnd: 141
    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:184,1
    - Dst: stdc_leading_zeros
      Src: /src/bind9/lib/isc/histo.c:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - value
    argTypes:
    - isc_histo_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: value_to_key
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - CHUNKSIZE
    - stdc_leading_zeros
    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:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 221
    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:225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 226
    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:233,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/histo.c:237,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:237,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/histo.c:240,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/histo.c:244,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 230
    functionDepth: 1
    functionLinenumber: 230
    functionLinenumberEnd: 248
    functionName: key_to_new_bucket
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - atomic_compare_exchange_strong_acq_rel
    - isc_mem_cget
    - CHUNKSIZE
    - isc_mem_cput
    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:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - chunk
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 253
    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:258,1
    - Dst: get_chunk
      Src: /src/bind9/lib/isc/histo.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 263
    functionName: key_to_bucket
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - CHUNKSIZE
    - get_chunk
    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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - bp
    argTypes:
    - hg_bucket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 268
    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:272,1
    - Dst: key_to_bucket
      Src: /src/bind9/lib/isc/histo.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - key
    argTypes:
    - isc_histo_t*
    - uint
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 273
    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:279,1
    - Dst: key_to_new_bucket
      Src: /src/bind9/lib/isc/histo.c:280,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/isc/histo.c:281,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: 283
      start: 275
    functionDepth: 3
    functionLinenumber: 275
    functionLinenumberEnd: 283
    functionName: add_key_count
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - key_to_new_bucket
    - atomic_fetch_add_relaxed
    - key_to_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:289,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:289,1
    - Dst: add_key_count
      Src: /src/bind9/lib/isc/histo.c:290,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:290,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: 291
      start: 287
    functionDepth: 4
    functionLinenumber: 287
    functionLinenumberEnd: 291
    functionName: isc_histo_add
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - value_to_key
    - add_key_count
    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:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hg
    - value
    argTypes:
    - isc_histo_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 293
    functionDepth: 5
    functionLinenumber: 293
    functionLinenumberEnd: 296
    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:300,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:300,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:302,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:303,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/histo.c:306,1
    - Dst: key_to_maxval
      Src: /src/bind9/lib/isc/histo.c:306,1
    - Dst: ceil
      Src: /src/bind9/lib/isc/histo.c:309,1
    - Dst: add_key_count
      Src: /src/bind9/lib/isc/histo.c:310,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: 314
      start: 298
    functionDepth: 4
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: isc_histo_put
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - value_to_key
    - ceil
    - key_to_maxval
    - ISC_MIN
    - add_key_count
    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:319,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:319,1
    - Dst: BUCKETS
      Src: /src/bind9/lib/isc/histo.c:321,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:322,1
    - Dst: key_to_minval
      Src: /src/bind9/lib/isc/histo.c:322,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:323,1
    - Dst: key_to_maxval
      Src: /src/bind9/lib/isc/histo.c:323,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:324,1
    - Dst: get_key_count
      Src: /src/bind9/lib/isc/histo.c:324,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: 329
      start: 316
    functionDepth: 4
    functionLinenumber: 316
    functionLinenumberEnd: 329
    functionName: isc_histo_get
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - SET_IF_NOT_NULL
    - key_to_maxval
    - key_to_minval
    - BUCKETS
    - get_key_count
    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:333,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:333,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:334,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:336,1
    - Dst: BUCKETS
      Src: /src/bind9/lib/isc/histo.c:337,1
    - Dst: key_to_bucket
      Src: /src/bind9/lib/isc/histo.c:342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - hg
    - keyp
    argTypes:
    - isc_histo_t*
    - uint*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 331
    functionDepth: 3
    functionLinenumber: 331
    functionLinenumberEnd: 347
    functionName: isc_histo_next
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - CHUNKSIZE
    - BUCKETS
    - key_to_bucket
    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:351,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:355,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:355,1
    - Dst: isc_histo_create
      Src: /src/bind9/lib/isc/histo.c:357,1
    - Dst: isc_histo_get
      Src: /src/bind9/lib/isc/histo.c:362,1
    - Dst: isc_histo_next
      Src: /src/bind9/lib/isc/histo.c:363,1
    - Dst: isc_histo_put
      Src: /src/bind9/lib/isc/histo.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - targetp
    - source
    argTypes:
    - isc_histo_t**
    - isc_histo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 349
    functionDepth: 5
    functionLinenumber: 349
    functionLinenumberEnd: 367
    functionName: isc_histo_merge
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - isc_histo_next
    - isc_histo_put
    - isc_histo_create
    - isc_histo_get
    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:373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:374,1
    - Dst: isc_tid_count
      Src: /src/bind9/lib/isc/histo.c:376,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/histo.c:377,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/histo.c:379,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/histo.c:380,1
    - Dst: isc_histo_create
      Src: /src/bind9/lib/isc/histo.c:387,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/histo.c:390,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - mctx
    - sigbits
    - hmp
    argTypes:
    - isc_mem_t*
    - uint
    - isc_histomulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 371
    functionDepth: 2
    functionLinenumber: 371
    functionLinenumberEnd: 393
    functionName: isc_histomulti_create
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - INSIST
    - isc_refcount_init
    - STRUCT_FLEX_SIZE
    - isc_tid_count
    - 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:397,1
    - Dst: HISTOMULTI_VALID
      Src: /src/bind9/lib/isc/histo.c:397,1
    - Dst: isc_histo_destroy
      Src: /src/bind9/lib/isc/histo.c:402,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/histo.c:405,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/histo.c:407,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/histo.c:407,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hm
    argTypes:
    - isc_histomulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 395
    functionDepth: 2
    functionLinenumber: 395
    functionLinenumberEnd: 408
    functionName: isc__histomulti_destroy
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HISTOMULTI_VALID
    - isc_mem_put
    - isc_histo_destroy
    - STRUCT_FLEX_SIZE
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void isc__histomulti_destroy(isc_histomulti_t *hm)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:412,1
    - Dst: HISTOMULTI_VALID
      Src: /src/bind9/lib/isc/histo.c:412,1
    - Dst: isc_histo_merge
      Src: /src/bind9/lib/isc/histo.c:415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - hgp
    - hm
    argTypes:
    - isc_histo_t**
    - isc_histomulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 417
    functionName: isc_histomulti_merge
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - HISTOMULTI_VALID
    - isc_histo_merge
    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:421,1
    - Dst: HISTOMULTI_VALID
      Src: /src/bind9/lib/isc/histo.c:421,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/histo.c:422,1
    - Dst: add_key_count
      Src: /src/bind9/lib/isc/histo.c:423,1
    - Dst: value_to_key
      Src: /src/bind9/lib/isc/histo.c:423,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: 424
      start: 419
    functionDepth: 4
    functionLinenumber: 419
    functionLinenumberEnd: 424
    functionName: isc_histomulti_add
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HISTOMULTI_VALID
    - value_to_key
    - isc_tid
    - add_key_count
    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:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hm
    - value
    argTypes:
    - isc_histomulti_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 426
    functionDepth: 5
    functionLinenumber: 426
    functionLinenumberEnd: 429
    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:446,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:446,1
    - Dst: isc_histo_get
      Src: /src/bind9/lib/isc/histo.c:454,1
    - Dst: isc_histo_next
      Src: /src/bind9/lib/isc/histo.c:455,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:467,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:468,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/histo.c:469,1
    - Dst: sqrt
      Src: /src/bind9/lib/isc/histo.c:469,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: 470
      start: 443
    functionDepth: 5
    functionLinenumber: 443
    functionLinenumberEnd: 470
    functionName: isc_histo_moments
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - isc_histo_next
    - SET_IF_NOT_NULL
    - sqrt
    - 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:484,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/histo.c:485,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: 486
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: lerp
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 0
    functionsReached:
    - round
    - ISC_MIN
    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: 494
      start: 491
    functionDepth: 0
    functionLinenumber: 491
    functionLinenumberEnd: 494
    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:503,1
    - Dst: HISTO_VALID
      Src: /src/bind9/lib/isc/histo.c:503,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:504,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:506,1
    - Dst: MAXCHUNK
      Src: /src/bind9/lib/isc/histo.c:508,1
    - Dst: CHUNKSIZE
      Src: /src/bind9/lib/isc/histo.c:509,1
    - Dst: get_chunk
      Src: /src/bind9/lib/isc/histo.c:519,1
    - Dst: bucket_count
      Src: /src/bind9/lib/isc/histo.c:523,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/histo.c:535,1
    - Dst: round
      Src: /src/bind9/lib/isc/histo.c:536,1
    - Dst: inside
      Src: /src/bind9/lib/isc/histo.c:557,1
    - Dst: bucket_count
      Src: /src/bind9/lib/isc/histo.c:560,1
    - Dst: inside
      Src: /src/bind9/lib/isc/histo.c:565,1
    - Dst: lerp
      Src: /src/bind9/lib/isc/histo.c:567,1
    - Dst: key_to_minval
      Src: /src/bind9/lib/isc/histo.c:567,1
    - Dst: key_to_maxval
      Src: /src/bind9/lib/isc/histo.c:568,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: 578
      start: 496
    functionDepth: 3
    functionLinenumber: 496
    functionLinenumberEnd: 578
    functionName: isc_histo_quantiles
    functionSourceFile: /src/bind9/lib/isc/histo.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - HISTO_VALID
    - round
    - MAXCHUNK
    - key_to_maxval
    - key_to_minval
    - bucket_count
    - CHUNKSIZE
    - inside
    - lerp
    - get_chunk
    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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    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: 109
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 109
    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: 110
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 110
    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: 112
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 112
    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: 114
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 114
    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: 142
      start: 140
    functionDepth: 0
    functionLinenumber: 140
    functionLinenumberEnd: 142
    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: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    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: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    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: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    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:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:229,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:231,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/httpd.c:238,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/httpd.c:239,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/httpd.c:241,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/httpd.c:242,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/httpd.c:244,1
    - Dst: CHECK
      Src: /src/bind9/lib/isc/httpd.c:246,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/httpd.c:246,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/isc/httpd.c:256,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/httpd.c:257,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/httpd.c:258,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/httpd.c:259,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/httpd.c:260,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 6
    argNames:
    - mctx
    - addr
    - client_ok
    - ondestroy
    - cb_arg
    - httpdmgrp
    argTypes:
    - isc_mem_t*
    - isc_sockaddr_t*
    - isc_httpdclientok_t*
    - isc_httpdondestroy_t*
    - void*
    - isc_httpdmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 263
    functionName: isc_httpdmgr_create
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mutex_init
    - isc_nm_listentcp
    - isc_mem_put
    - isc_mem_get
    - isc_refcount_decrementz
    - isc_mem_detach
    - ISC_LIST_INIT
    - CHECK
    - isc_mutex_destroy
    - isc_refcount_destroy
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_httpdmgr_create(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:267,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:272,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/httpd.c:272,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/httpd.c:277,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/httpd.c:284,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/httpd.c:285,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/httpd.c:286,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/httpd.c:287,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:290,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/httpd.c:291,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/httpd.c:296,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - httpdmgr
    argTypes:
    - isc_httpdmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 265
    functionDepth: 1
    functionLinenumber: 265
    functionLinenumberEnd: 297
    functionName: destroy_httpdmgr
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_nmsocket_close
    - isc_mem_put
    - ISC_LIST_EMPTY
    - LOCK
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - isc_mutex_destroy
    - isc_refcount_destroy
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void destroy_httpdmgr(isc_httpdmgr_t *httpdmgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:307,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/httpd.c:311,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - header
    - match
    argTypes:
    - struct phr_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 305
    functionDepth: 0
    functionLinenumber: 305
    functionLinenumberEnd: 312
    functionName: name_match
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    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:316,1
    - Dst: isspace
      Src: /src/bind9/lib/isc/httpd.c:326,1
    - Dst: isspace
      Src: /src/bind9/lib/isc/httpd.c:328,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/httpd.c:335,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 23
    argCount: 2
    argNames:
    - header
    - match
    argTypes:
    - struct phr_header*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 353
    functionName: value_match
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - strlen
    - isspace
    linkageType: ''
    returnType: bool
    signature: bool value_match(const struct phr_header *header, const char *match)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/httpd.c:365,1
    - Dst: phr_parse_request
      Src: /src/bind9/lib/isc/httpd.c:367,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/httpd.c:380,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/httpd.c:392,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/httpd.c:394,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/httpd.c:403,1
    - Dst: isc_url_parse
      Src: /src/bind9/lib/isc/httpd.c:403,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/httpd.c:415,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:420,1
    - Dst: strtol
      Src: /src/bind9/lib/isc/httpd.c:423,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:438,1
    - Dst: value_match
      Src: /src/bind9/lib/isc/httpd.c:440,1
    - Dst: value_match
      Src: /src/bind9/lib/isc/httpd.c:443,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:446,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:448,1
    - Dst: value_match
      Src: /src/bind9/lib/isc/httpd.c:449,1
    - Dst: name_match
      Src: /src/bind9/lib/isc/httpd.c:452,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/httpd.c:456,1
    - Dst: isc_time_parsehttptimestamp
      Src: /src/bind9/lib/isc/httpd.c:460,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 89
    argCount: 2
    argNames:
    - httpd
    - last_len
    argTypes:
    - isc_httpd_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 516
    functionName: process_request
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - phr_parse_request
    - isc_url_parse
    - memmove
    - name_match
    - INSIST
    - isc_time_parsehttptimestamp
    - isc_time_set
    - RETERR
    - strncmp
    - strtol
    - value_match
    - ARRAY_SIZE
    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:522,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:522,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:526,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:526,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:528,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/httpd.c:529,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:530,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/isc/httpd.c:541,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/httpd.c:546,1
    - Dst: isc_httpdmgr_detach
      Src: /src/bind9/lib/isc/httpd.c:548,1
    - Dst: finishhook
      Src: /src/bind9/lib/isc/httpd.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - httpd
    argTypes:
    - isc_httpd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 518
    functionDepth: 1
    functionLinenumber: 518
    functionLinenumberEnd: 555
    functionName: httpd_free
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - finishhook
    - isc_mem_put
    - isc_time_set
    - LOCK
    - isc_httpdmgr_detach
    - VALID_HTTPDMGR
    - UNLOCK
    - VALID_HTTPD
    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:567,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/httpd.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - isc_httpd_sendreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 563
    functionDepth: 1
    functionLinenumber: 563
    functionLinenumberEnd: 570
    functionName: isc__httpd_sendreq_free
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - isc_buffer_free
    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:577,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:577,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:579,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/httpd.c:582,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/httpd.c:587,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/httpd.c:588,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/httpd.c:590,1
    - Dst: isc_httpd_attach
      Src: /src/bind9/lib/isc/httpd.c:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - httpd
    argTypes:
    - isc_httpd_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 595
    functionName: isc__httpd_sendreq_new
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_buffer_initnull
    - isc_mem_get
    - isc_buffer_clear
    - isc_httpd_attach
    - isc_buffer_allocate
    - VALID_HTTPDMGR
    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:601,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:601,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:603,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/isc/httpd.c:607,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/httpd.c:610,1
    - Dst: isc_httpdmgr_attach
      Src: /src/bind9/lib/isc/httpd.c:612,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:614,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/httpd.c:615,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:616,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/httpd.c:618,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - httpdmgr
    - handle
    argTypes:
    - isc_httpdmgr_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 619
    functionName: new_httpd
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_nm_read
    - isc_mem_get
    - ISC_LIST_APPEND
    - isc_httpdmgr_attach
    - LOCK
    - isc_nmhandle_attach
    - VALID_HTTPDMGR
    - UNLOCK
    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:626,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:626,1
    - Dst: isc_httpdmgr_shutdown
      Src: /src/bind9/lib/isc/httpd.c:631,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/httpd.c:637,1
    - Dst: new_httpd
      Src: /src/bind9/lib/isc/httpd.c:644,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: 647
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 647
    functionName: httpd_newconn
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - new_httpd
    - isc_nmhandle_peeraddr
    - isc_httpdmgr_shutdown
    - VALID_HTTPDMGR
    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:655,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:656,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:657,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/lib/isc/httpd.c:662,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:662,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/httpd.c:663,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:663,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: 668
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 668
    functionName: render_404
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_add
    - UNUSED
    - isc_buffer_reinit
    - strlen
    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:676,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:677,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/httpd.c:678,1
    - Dst: isc_buffer_reinit
      Src: /src/bind9/lib/isc/httpd.c:683,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:683,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/httpd.c:684,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/httpd.c:684,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: 689
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 689
    functionName: render_500
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_add
    - UNUSED
    - isc_buffer_reinit
    - strlen
    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:713,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/httpd.c:718,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/httpd.c:719,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:725,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:726,1
    - Dst: deflateInit
      Src: /src/bind9/lib/isc/httpd.c:729,1
    - Dst: deflate
      Src: /src/bind9/lib/isc/httpd.c:731,1
    - Dst: deflateEnd
      Src: /src/bind9/lib/isc/httpd.c:733,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/httpd.c:735,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/httpd.c:738,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - req
    argTypes:
    - isc_httpd_sendreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 741
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 741
    functionName: httpd_compress
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - isc_buffer_add
    - deflateInit
    - isc_buffer_base
    - isc_buffer_allocate
    - deflate
    - deflateEnd
    - isc_buffer_free
    - isc_buffer_clear
    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:749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:757,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:757,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:758,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/lib/isc/httpd.c:760,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:767,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/httpd.c:768,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/httpd.c:769,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:774,1
    - Dst: isc_httpdmgr_t*::render_404
      Src: /src/bind9/lib/isc/httpd.c:777,1
    - Dst: isc_httpdurl_t*::action
      Src: /src/bind9/lib/isc/httpd.c:782,1
    - Dst: isc_httpdmgr_t*::render_500
      Src: /src/bind9/lib/isc/httpd.c:788,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:792,1
    - Dst: httpd_compress
      Src: /src/bind9/lib/isc/httpd.c:797,1
    - Dst: httpd_response
      Src: /src/bind9/lib/isc/httpd.c:804,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:807,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:809,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:811,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:812,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:813,1
    - Dst: isc_time_formathttptimestamp
      Src: /src/bind9/lib/isc/httpd.c:817,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:819,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:820,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:822,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:823,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:824,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:827,1
    - Dst: httpd_addheader
      Src: /src/bind9/lib/isc/httpd.c:830,1
    - Dst: httpd_addheaderuint
      Src: /src/bind9/lib/isc/httpd.c:831,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:832,1
    - Dst: httpd_addheaderuint
      Src: /src/bind9/lib/isc/httpd.c:834,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:835,1
    - Dst: httpd_endheaders
      Src: /src/bind9/lib/isc/httpd.c:838,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/httpd.c:845,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:846,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:847,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/httpd.c:848,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/httpd.c:850,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/httpd.c:851,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/httpd.c:852,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/isc/httpd.c:856,1
    - Dst: isc_httpd_sendreq_t*::freecb
      Src: /src/bind9/lib/isc/httpd.c:857,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/httpd.c:861,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/httpd.c:862,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/httpd.c:864,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 74
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 869
      start: 744
    functionDepth: 2
    functionLinenumber: 744
    functionLinenumberEnd: 869
    functionName: prepare_response
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - isc_buffer_usedlength
    - httpd_response
    - httpd_endheaders
    - isc_time_formathttptimestamp
    - httpd_addheader
    - httpd_compress
    - UNLOCK
    - RUNTIME_CHECK
    - isc_httpd_sendreq_t*::freecb
    - httpd_addheaderuint
    - isc_httpdurl_t*::action
    - isc_time_now
    - isc_httpdmgr_t*::render_500
    - isc_buffer_putmem
    - isc_httpdmgr_t*::render_404
    - LOCK
    - strncmp
    - isc_buffer_length
    - isc_buffer_base
    - ISC_LIST_FOREACH
    - isc_buffer_free
    - VALID_HTTPD
    linkageType: ''
    returnType: void
    signature: void prepare_response(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/httpd.c:880,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/httpd.c:882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 883
      start: 871
    functionDepth: 1
    functionLinenumber: 871
    functionLinenumberEnd: 883
    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:893,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:893,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:895,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:901,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/httpd.c:903,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/httpd.c:918,1
    - Dst: process_request
      Src: /src/bind9/lib/isc/httpd.c:923,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/httpd.c:931,1
    - Dst: isc__httpd_sendreq_new
      Src: /src/bind9/lib/isc/httpd.c:940,1
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/lib/isc/httpd.c:941,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/isc/httpd.c:942,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/httpd.c:942,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/httpd.c:947,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/httpd.c:948,1
    - Dst: isc_httpd_detach
      Src: /src/bind9/lib/isc/httpd.c:950,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: 951
      start: 885
    functionDepth: 5
    functionLinenumber: 885
    functionLinenumberEnd: 951
    functionName: httpd_request
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_nm_read
    - memmove
    - isc_httpd_detach
    - isc_nmhandle_ref
    - isc_nm_read_stop
    - isc_nmhandle_detach
    - isc__httpd_sendreq_new
    - isc_loop
    - isc_work_enqueue
    - isc_nmhandle_close
    - process_request
    - VALID_HTTPD
    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:957,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/httpd.c:958,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:958,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/isc/httpd.c:963,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:965,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/httpd.c:967,1
    - Dst: httpd_request
      Src: /src/bind9/lib/isc/httpd.c:969,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:976,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/httpd.c:978,1
    - Dst: isc_httpdmgr_detach
      Src: /src/bind9/lib/isc/httpd.c:980,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - httpdmgrp
    argTypes:
    - isc_httpdmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 953
    functionDepth: 6
    functionLinenumber: 953
    functionLinenumberEnd: 981
    functionName: isc_httpdmgr_shutdown
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_nmsocket_close
    - LOCK
    - isc_nm_stoplistening
    - ISC_LIST_FOREACH
    - isc_httpdmgr_detach
    - VALID_HTTPDMGR
    - UNLOCK
    - httpd_request
    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:987,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:991,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: 992
      start: 983
    functionDepth: 1
    functionLinenumber: 983
    functionLinenumberEnd: 992
    functionName: httpd_response
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - isc_buffer_printf
    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:999,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/isc/httpd.c:1002,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:1005,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: 1006
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1006
    functionName: httpd_addheader
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - isc_buffer_printf
    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:1012,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:1014,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - req
    argTypes:
    - isc_httpd_sendreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1015
      start: 1008
    functionDepth: 1
    functionLinenumber: 1008
    functionLinenumberEnd: 1015
    functionName: httpd_endheaders
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - isc_buffer_printf
    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:1021,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/httpd.c:1023,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: 1024
      start: 1017
    functionDepth: 1
    functionLinenumber: 1017
    functionLinenumberEnd: 1024
    functionName: httpd_addheaderuint
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - isc_buffer_printf
    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:1031,1
    - Dst: VALID_HTTPD
      Src: /src/bind9/lib/isc/httpd.c:1031,1
    - Dst: httpd_request
      Src: /src/bind9/lib/isc/httpd.c:1045,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/httpd.c:1048,1
    - Dst: isc__httpd_sendreq_free
      Src: /src/bind9/lib/isc/httpd.c:1049,1
    - Dst: isc_httpd_detach
      Src: /src/bind9/lib/isc/httpd.c:1050,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: 1051
      start: 1026
    functionDepth: 6
    functionLinenumber: 1026
    functionLinenumberEnd: 1051
    functionName: httpd_senddone
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_httpd_detach
    - VALID_HTTPD
    - isc_nmhandle_detach
    - isc__httpd_sendreq_free
    - httpd_request
    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:1058,1
    - Dst: VALID_HTTPDMGR
      Src: /src/bind9/lib/isc/httpd.c:1058,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/httpd.c:1065,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/httpd.c:1067,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/isc/httpd.c:1072,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/httpd.c:1074,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/httpd.c:1076,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/httpd.c:1077,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/httpd.c:1078,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: 1081
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1081
    functionName: isc_httpdmgr_addurl
    functionSourceFile: /src/bind9/lib/isc/httpd.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_time_now
    - isc_mem_get
    - ISC_LIST_APPEND
    - UNLOCK
    - isc_mem_strdup
    - LOCK
    - VALID_HTTPDMGR
    - ISC_LINK_INIT
    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:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1083
    functionDepth: 0
    functionLinenumber: 1083
    functionLinenumberEnd: 1090
    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: 1095
      start: 1092
    functionDepth: 0
    functionLinenumber: 1092
    functionLinenumberEnd: 1095
    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: 1100
      start: 1097
    functionDepth: 0
    functionLinenumber: 1097
    functionLinenumberEnd: 1100
    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: 1105
      start: 1102
    functionDepth: 0
    functionLinenumber: 1102
    functionLinenumberEnd: 1105
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc_size
      Src: /src/bind9/lib/isc/jemalloc_shim.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: sallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - malloc_size
    linkageType: ''
    returnType: size_t
    signature: size_t sallocx(void *ptr, int flags ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc_usable_size
      Src: /src/bind9/lib/isc/jemalloc_shim.h:60,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: sallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - malloc_usable_size
    linkageType: ''
    returnType: size_t
    signature: size_t sallocx(void *ptr, int flags ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/isc/jemalloc_shim.h:67,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/jemalloc_shim.h:68,1
    - Dst: memset
      Src: /src/bind9/lib/isc/jemalloc_shim.h:71,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 75
    functionName: mallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - memset
    - malloc
    - INSIST
    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:79,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: 80
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 80
    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:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/jemalloc_shim.h:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/jemalloc_shim.h:85,1
    - Dst: realloc
      Src: /src/bind9/lib/isc/jemalloc_shim.h:87,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/jemalloc_shim.h:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - ptr
    - size
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 91
    functionName: rallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - realloc
    linkageType: ''
    returnType: void
    signature: 'void *

      rallocx(void *ptr, size_t size, int flags)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_CHECKED_ADD
      Src: /src/bind9/lib/isc/jemalloc_shim.h:104,1
    - Dst: malloc
      Src: /src/bind9/lib/isc/jemalloc_shim.h:105,1
    - Dst: MALLOCX_ZERO_GET
      Src: /src/bind9/lib/isc/jemalloc_shim.h:113,1
    - Dst: memset
      Src: /src/bind9/lib/isc/jemalloc_shim.h:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - size
    - flags
    argTypes:
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 118
    functionName: mallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - MALLOCX_ZERO_GET
    - memset
    - malloc
    - ISC_CHECKED_ADD
    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:124,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: 125
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 125
    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: 132
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 132
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_CHECKED_ADD
      Src: /src/bind9/lib/isc/jemalloc_shim.h:136,1
    - Dst: realloc
      Src: /src/bind9/lib/isc/jemalloc_shim.h:137,1
    - Dst: MALLOCX_ZERO_GET
      Src: /src/bind9/lib/isc/jemalloc_shim.h:142,1
    - Dst: memset
      Src: /src/bind9/lib/isc/jemalloc_shim.h:143,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - ptr
    - size
    - flags
    argTypes:
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 151
    functionName: rallocx
    functionSourceFile: /src/bind9/lib/isc/jemalloc_shim.h
    functionUses: 0
    functionsReached:
    - MALLOCX_ZERO_GET
    - memset
    - ISC_CHECKED_ADD
    - realloc
    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:
    - ISC_LINK_INIT
    - atomic_init
    - cds_wfcq_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:
    - REQUIRE
    - VALID_QUOTA
    - 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:
    - REQUIRE
    - VALID_QUOTA
    - 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:
    - REQUIRE
    - VALID_QUOTA
    - atomic_load_relaxed
    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:
    - REQUIRE
    - VALID_QUOTA
    - atomic_load_relaxed
    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:
    - REQUIRE
    - VALID_QUOTA
    - atomic_load_acquire
    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_dequeue_blocking
    - INSIST
    - cds_wfcq_empty
    - atomic_fetch_sub_acq_rel
    - isc_job_t*::cb
    - caa_container_of
    - atomic_fetch_add_acq_rel
    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:
    - REQUIRE
    - isc_quota_release
    - VALID_QUOTA
    - atomic_load_relaxed
    - cds_wfcq_enqueue
    - atomic_compare_exchange_strong_acq_rel
    - atomic_fetch_sub_acq_rel
    - cds_wfcq_node_init
    - atomic_fetch_add_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:
    - REQUIRE
    - INSIST
    - cds_wfcq_empty
    - VALID_QUOTA
    - atomic_load_acquire
    - cds_wfcq_destroy
    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: 56
    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_loop_helper
      Src: /src/bind9/lib/isc/helper.c:44,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/helper.c:45,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/helper.c:51,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/helper.c:60,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/helper.c:63,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/helper.c:64,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: 66
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 66
    functionName: isc_helper_run
    functionSourceFile: /src/bind9/lib/isc/helper.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - VALID_LOOP
    - uv_async_send
    - cds_wfcq_enqueue
    - isc_loop_helper
    - cds_wfcq_node_init
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_helper_run(isc_loop_t *loop, isc_job_cb cb, void *cbarg)
  - BBCount: 19
    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: RETERR
      Src: /src/bind9/lib/isc/getaddresses.c:84,1
    - Dst: isc_netscope_pton
      Src: /src/bind9/lib/isc/getaddresses.c:84,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/isc/getaddresses.c:88,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/isc/getaddresses.c:89,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/isc/getaddresses.c:90,1
    - Dst: memset
      Src: /src/bind9/lib/isc/getaddresses.c:97,1
    - Dst: getaddrinfo
      Src: /src/bind9/lib/isc/getaddresses.c:112,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/isc/getaddresses.c:142,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/isc/getaddresses.c:146,1
    - Dst: freeaddrinfo
      Src: /src/bind9/lib/isc/getaddresses.c:150,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 87
    argCount: 5
    argNames:
    - hostname
    - port
    - addrs
    - addrsize
    - addrcount
    argTypes:
    - char*
    - in_port_t
    - isc_sockaddr_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 30
    functionDepth: 2
    functionLinenumber: 30
    functionLinenumberEnd: 157
    functionName: isc_getaddresses
    functionSourceFile: /src/bind9/lib/isc/getaddresses.c
    functionUses: 6
    functionsReached:
    - isc_sockaddr_fromin
    - REQUIRE
    - inet_pton
    - isc_net_probeipv6
    - isc_net_probeipv4
    - isc_sockaddr_v6fromin
    - isc_netaddr_setzone
    - isc_netaddr_fromin6
    - isc_sockaddr_fromnetaddr
    - getaddrinfo
    - freeaddrinfo
    - strlen
    - strchr
    - RETERR
    - isc_netscope_pton
    - memset
    - isc_sockaddr_fromin6
    - strlcpy
    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: 35
    functionsReached:
    - clock_gettime
    - INSIST
    - FATAL_SYSERROR
    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:
    - REQUIRE
    - ctime_r
    - strlen
    - INSIST
    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:
    - REQUIRE
    - memcmp
    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:
    - REQUIRE
    - INSIST
    - memcmp
    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: 5
    functionsReached:
    - REQUIRE
    - inet_ntop
    - INSIST
    - isc_buffer_putmem
    - snprintf
    - strlen
    - 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_netaddr_totext
    - snprintf
    - isc_buffer_availablelength
    - isc_buffer_putuint8
    - isc_buffer_init
    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:
    - INSIST
    - memcmp
    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:
    - IN6_IS_ADDR_MULTICAST
    - ISC_IPADDR_ISMULTICAST
    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:
    - REQUIRE
    - memmove
    - IN6_IS_ADDR_V4MAPPED
    - memset
    - UNCONST
    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
    - REQUIRE
    - isc_mutex_init
    - isc_timer_create
    - isc_loop_attach
    - isc_mem_get
    - isc_loop_getmctx
    - ISC_LIST_INIT
    - isc_interval_set
    - isc_refcount_init
    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:
    - REQUIRE
    - LOCK
    - UNLOCK
    - VALID_RATELIMITER
    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:
    - REQUIRE
    - LOCK
    - UNLOCK
    - VALID_RATELIMITER
    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:
    - REQUIRE
    - LOCK
    - UNLOCK
    - VALID_RATELIMITER
    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:
    - REQUIRE
    - isc_timer_start
    - LOCK
    - VALID_RATELIMITER
    - isc_interval_set
    - isc_ratelimiter_detach
    - UNREACHABLE
    - UNLOCK
    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_ratelimiter_ref
    - REQUIRE
    - isc_mem_get
    - isc_loop_attach
    - ISC_LIST_APPEND
    - isc_loop_getmctx
    - UNLOCK
    - LOCK
    - VALID_RATELIMITER
    - isc_async_run
    - ISC_LIST_PREPEND
    - UNREACHABLE
    - isc_ratelimiter_attach
    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:
    - REQUIRE
    - ISC_LIST_UNLINK
    - ISC_LINK_LINKED
    - LOCK
    - isc_rlevent_free
    - UNLOCK
    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: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:223,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:223,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:227,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ratelimiter.c:230,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/ratelimiter.c:230,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/ratelimiter.c:236,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:255,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:256,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/isc/ratelimiter.c:262,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:265,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 218
    functionDepth: 2
    functionLinenumber: 218
    functionLinenumberEnd: 266
    functionName: isc__ratelimiter_tick
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - isc_timer_start
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - LOCK
    - VALID_RATELIMITER
    - isc_async_run
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void isc__ratelimiter_tick(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:272,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:272,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:274,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ratelimiter.c:275,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ratelimiter.c:276,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/ratelimiter.c:276,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/isc/ratelimiter.c:278,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/isc/ratelimiter.c:279,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:280,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:281,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:282,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 268
    functionDepth: 1
    functionLinenumber: 268
    functionLinenumberEnd: 283
    functionName: isc__ratelimiter_doshutdown
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_timer_destroy
    - INSIST
    - ISC_LIST_EMPTY
    - LOCK
    - VALID_RATELIMITER
    - isc_ratelimiter_detach
    - isc_timer_stop
    - isc_loop_detach
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void isc__ratelimiter_doshutdown(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:287,1
    - Dst: VALID_RATELIMITER
      Src: /src/bind9/lib/isc/ratelimiter.c:287,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:289,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/ratelimiter.c:292,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/ratelimiter.c:293,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:295,1
    - Dst: isc_ratelimiter_ref
      Src: /src/bind9/lib/isc/ratelimiter.c:297,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/ratelimiter.c:298,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:300,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - rl
    argTypes:
    - isc_ratelimiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 285
    functionDepth: 2
    functionLinenumber: 285
    functionLinenumberEnd: 301
    functionName: isc_ratelimiter_shutdown
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 5
    functionsReached:
    - isc_ratelimiter_ref
    - REQUIRE
    - ISC_LIST_UNLINK
    - LOCK
    - VALID_RATELIMITER
    - isc_async_run
    - ISC_LIST_FOREACH
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void isc_ratelimiter_shutdown(isc_ratelimiter_t *restrict rl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ratelimiter.c:306,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/ratelimiter.c:307,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/ratelimiter.c:309,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/ratelimiter.c:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rl
    argTypes:
    - isc_ratelimiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 311
    functionName: ratelimiter_destroy
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - LOCK
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - UNLOCK
    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:315,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/isc/ratelimiter.c:318,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:322,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/isc/ratelimiter.c:323,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/ratelimiter.c:324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rlep
    argTypes:
    - isc_rlevent_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 325
    functionName: isc_rlevent_free
    functionSourceFile: /src/bind9/lib/isc/ratelimiter.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - isc_loop_getmctx
    - isc_ratelimiter_detach
    - isc_loop_detach
    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:
    - REQUIRE
    - memcmp
    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:
    - REQUIRE
    - hashtable_new
    - hashtable_rehash_one
    - 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:
    - REQUIRE
    - isc_mem_cget
    - 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_cput
    - isc_mem_put
    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:
    - isc_mem_attach
    - REQUIRE
    - hashtable_new
    - isc_mem_get
    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:
    - REQUIRE
    - INSIST
    - ISC_HT_VALID
    - isc_mem_putanddetach
    - 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:
    - STRUCT_FLEX_SIZE
    - hash_32
    - memmove
    - isc_mem_get
    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:
    - REQUIRE
    - isc__ht_add
    - hashtable_is_overcommited
    - isc__ht_find
    - rehashing_in_progress
    - isc_hash32
    - maybe_rehash
    - ISC_HT_VALID
    - hashtable_rehash_one
    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:
    - TRY_NEXTTABLE
    - hash_32
    - HT_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:
    - REQUIRE
    - SET_IF_NOT_NULL
    - isc__ht_find
    - isc_hash32
    - ISC_HT_VALID
    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:
    - STRUCT_FLEX_SIZE
    - hash_32
    - isc_mem_put
    - 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:
    - TRY_NEXTTABLE
    - REQUIRE
    - isc__ht_delete
    - rehashing_in_progress
    - isc_hash32
    - ISC_HT_VALID
    - hashtable_rehash_one
    - HT_NEXTTABLE
    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:
    - REQUIRE
    - isc_mem_get
    - ISC_HT_VALID
    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:
    - REQUIRE
    - isc_mem_put
    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:
    - REQUIRE
    - isc__ht_iter_next
    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:
    - TRY_NEXTTABLE
    - isc__ht_iter_next
    - 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:
    - REQUIRE
    - isc__ht_iter_next
    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:
    - REQUIRE
    - isc__ht_delete
    - INSIST
    - isc_ht_iter_next
    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:
    - REQUIRE
    - ISC_HT_VALID
    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: 16
    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: 17
    functionsReached:
    - isc__errno2result
    - fclose
    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: 0
    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: 0
    functionsReached:
    - REQUIRE
    - isc__errno2result
    - ftello
    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:
    - SET_IF_NOT_NULL
    - fread
    - feof
    - clearerr
    - isc__errno2result
    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: 2
    functionsReached:
    - SET_IF_NOT_NULL
    - fwrite
    - isc__errno2result
    - clearerr
    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: 2
    functionsReached:
    - isc__errno2result
    - fflush
    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:
    - fileno
    - isc__errno2result
    - fstat
    - fsync
    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:
    - uv_idle_start
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - ISC_LINK_INIT
    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_AFTER
    - ISC_LIST_UNLINK
    - LIBISC_JOB_CB_BEFORE
    - ISC_LIST_EMPTY
    - ISC_LIST_MOVE
    - cb
    - uv_handle_get_data
    - ISC_LIST
    - uv_idle_stop
    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: 90
    functionsReached:
    - LIBISC_JOB_CB_AFTER
    - ISC_LIST_UNLINK
    - cb
    - LIBISC_JOB_CB_BEFORE
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/isc/base64.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:57,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base64.c:57,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base64.c:58,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: RETERR
      Src: /src/bind9/lib/isc/base64.c:73,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base64.c:73,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base64.c:74,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:79,1
    - Dst: str_totext
      Src: /src/bind9/lib/isc/base64.c:79,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/isc/base64.c:80,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: 83
      start: 39
    functionDepth: 1
    functionLinenumber: 39
    functionLinenumberEnd: 83
    functionName: isc_base64_totext
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 2
    functionsReached:
    - memset
    - isc_region_consume
    - RETERR
    - str_totext
    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: 102
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 102
    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:111,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:150,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/isc/base64.c:150,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 45
    argCount: 2
    argNames:
    - ctx
    - c
    argTypes:
    - base64_decode_ctx_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 161
    functionName: base64_decode_char
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 0
    functionsReached:
    - strchr
    - RETERR
    - 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: 172
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 172
    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:182,1
    - Dst: base64_decode_init
      Src: /src/bind9/lib/isc/base64.c:184,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base64.c:186,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:195,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/isc/base64.c:195,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:202,1
    - Dst: base64_decode_char
      Src: /src/bind9/lib/isc/base64.c:202,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/base64.c:205,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/base64.c:207,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:209,1
    - Dst: base64_decode_finish
      Src: /src/bind9/lib/isc/base64.c:209,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: 214
      start: 174
    functionDepth: 2
    functionLinenumber: 174
    functionLinenumberEnd: 214
    functionName: isc_base64_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - base64_decode_char
    - isc_buffer_usedlength
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - base64_decode_init
    - RETERR
    - base64_decode_finish
    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:220,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:229,1
    - Dst: base64_decode_char
      Src: /src/bind9/lib/isc/base64.c:229,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/base64.c:231,1
    - Dst: base64_decode_finish
      Src: /src/bind9/lib/isc/base64.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 13
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 233
    functionName: isc_base64_decodestring
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 10
    functionsReached:
    - RETERR
    - base64_decode_char
    - base64_decode_init
    - base64_decode_finish
    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:240,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/base64.c:241,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base64.c:247,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base64.c:248,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 235
    functionDepth: 1
    functionLinenumber: 235
    functionLinenumberEnd: 250
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 3
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - strlen
    - memmove
    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:256,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/base64.c:260,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/base64.c:261,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: 263
      start: 252
    functionDepth: 1
    functionLinenumber: 252
    functionLinenumberEnd: 263
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/isc/base64.c
    functionUses: 3
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - memmove
    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:
    - REQUIRE
    - strchr
    - fprintf
    linkageType: ''
    returnType: int
    signature: int isc_commandline_parse(int argc, char *const *argv, const char *options)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/commandline.c:223,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/commandline.c:257,1
    - Dst: isc_commandline_strtoargv
      Src: /src/bind9/lib/isc/commandline.c:257,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 38
    argCount: 5
    argNames:
    - mctx
    - s
    - argcp
    - argvp
    - n
    argTypes:
    - isc_mem_t*
    - char*
    - unsigned int*
    - char***
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 262
    functionName: isc_commandline_strtoargv
    functionSourceFile: /src/bind9/lib/isc/commandline.c
    functionUses: 4
    functionsReached:
    - isc_mem_cget
    - RETERR
    - 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:
    - UNUSED
    - memmove
    - isc_netaddr_setzone
    - ntohs
    - IN6_IS_ADDR_LINKLOCAL
    - if_nametoindex
    - memset
    - UNREACHABLE
    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: CLEANUP
      Src: /src/bind9/lib/isc/interfaceiter.c:173,1
    - Dst: freeifaddrs
      Src: /src/bind9/lib/isc/interfaceiter.c:189,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/interfaceiter.c:191,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 2
    argNames:
    - mctx
    - iterp
    argTypes:
    - isc_mem_t*
    - isc_interfaceiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 193
    functionName: isc_interfaceiter_create
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - REQUIRE
    - freeifaddrs
    - isc_mem_put
    - isc_mem_get
    - strerror_r
    - getifaddrs
    - CLEANUP
    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:208,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:208,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/interfaceiter.c:212,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/interfaceiter.c:213,1
    - Dst: memset
      Src: /src/bind9/lib/isc/interfaceiter.c:224,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/interfaceiter.c:226,1
    - Dst: memset
      Src: /src/bind9/lib/isc/interfaceiter.c:231,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/interfaceiter.c:232,1
    - Dst: get_addr
      Src: /src/bind9/lib/isc/interfaceiter.c:250,1
    - Dst: get_addr
      Src: /src/bind9/lib/isc/interfaceiter.c:253,1
    - Dst: get_addr
      Src: /src/bind9/lib/isc/interfaceiter.c:260,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 265
    functionName: internal_current
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_IFITER
    - memmove
    - INSIST
    - strlen
    - memset
    - get_addr
    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: 284
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 284
    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:289,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 292
    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: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    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:305,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/interfaceiter.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iter
    - ifdata
    argTypes:
    - isc_interfaceiter_t*
    - isc_interface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    functionName: isc_interfaceiter_current
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    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:314,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:314,1
    - Dst: internal_first
      Src: /src/bind9/lib/isc/interfaceiter.c:316,1
    - Dst: internal_current
      Src: /src/bind9/lib/isc/interfaceiter.c:318,1
    - Dst: internal_next
      Src: /src/bind9/lib/isc/interfaceiter.c:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 310
    functionDepth: 4
    functionLinenumber: 310
    functionLinenumberEnd: 329
    functionName: isc_interfaceiter_first
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_IFITER
    - internal_current
    - internal_next
    - internal_first
    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:335,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:335,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:336,1
    - Dst: internal_next
      Src: /src/bind9/lib/isc/interfaceiter.c:339,1
    - Dst: internal_current
      Src: /src/bind9/lib/isc/interfaceiter.c:343,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_interfaceiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 331
    functionDepth: 4
    functionLinenumber: 331
    functionLinenumberEnd: 350
    functionName: isc_interfaceiter_next
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - internal_next
    - VALID_IFITER
    - 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:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/interfaceiter.c:358,1
    - Dst: VALID_IFITER
      Src: /src/bind9/lib/isc/interfaceiter.c:358,1
    - Dst: internal_destroy
      Src: /src/bind9/lib/isc/interfaceiter.c:360,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/interfaceiter.c:362,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/interfaceiter.c:366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - iterp
    argTypes:
    - isc_interfaceiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 367
    functionName: isc_interfaceiter_destroy
    functionSourceFile: /src/bind9/lib/isc/interfaceiter.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_IFITER
    - isc_mem_put
    - internal_destroy
    linkageType: ''
    returnType: void
    signature: void isc_interfaceiter_destroy(isc_interfaceiter_t **iterp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_buf
      Src: /src/bind9/lib/isc/hash.c:37,1
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/isc/hash.c:39,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hash.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 29
    functionDepth: 1
    functionLinenumber: 29
    functionLinenumberEnd: 42
    functionName: isc__hash_initialize
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - isc_random_buf
    - memmove
    - STATIC_ASSERT
    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: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    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:51,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/hash.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - initializer
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 54
    functionName: isc_hash_set_initializer
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - memmove
    linkageType: ''
    returnType: void
    signature: void isc_hash_set_initializer(const void *initializer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_halfsiphash13_init
      Src: /src/bind9/lib/isc/hash.c:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: isc_hash32_init
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - isc_halfsiphash13_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:64,1
    - Dst: isc_halfsiphash13_hash
      Src: /src/bind9/lib/isc/hash.c:66,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: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: isc_hash32_hash
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_halfsiphash13_hash
    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_halfsiphash13_finalize
      Src: /src/bind9/lib/isc/hash.c:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 76
    functionName: isc_hash32_finalize
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 1
    functionsReached:
    - isc_halfsiphash13_finalize
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_hash32_finalize(isc_hash32_t *restrict state)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_siphash13_init
      Src: /src/bind9/lib/isc/hash.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: isc_hash64_init
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - isc_siphash13_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:86,1
    - Dst: isc_siphash13_hash
      Src: /src/bind9/lib/isc/hash.c:88,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: 89
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 89
    functionName: isc_hash64_hash
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_siphash13_hash
    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_siphash13_finalize
      Src: /src/bind9/lib/isc/hash.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - state
    argTypes:
    - isc_hash64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 98
    functionName: isc_hash64_finalize
    functionSourceFile: /src/bind9/lib/isc/hash.c
    functionUses: 0
    functionsReached:
    - isc_siphash13_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:55,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:56,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:58,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/timer.c:58,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:59,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:59,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/timer.c:61,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/timer.c:68,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/timer.c:70,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/timer.c:71,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/timer.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - loop
    - cb
    - cbarg
    - timerp
    argTypes:
    - isc_loop_t*
    - isc_job_cb
    - void*
    - isc_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 75
    functionName: isc_timer_create
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - isc_loop_attach
    - isc_mem_get
    - VALID_LOOP
    - uv_timer_init
    - isc_loop
    - uv_handle_set_data
    - 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:79,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:79,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/timer.c:81,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:89,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/timer.c:90,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - timer
    argTypes:
    - isc_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 92
    functionName: isc_timer_stop
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - atomic_compare_exchange_strong_acq_rel
    - VALID_TIMER
    - isc_loop
    - uv_timer_stop
    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:96,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:98,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:98,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/timer.c:100,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/timer.c:101,1
    - Dst: isc_timer_t*::cb
      Src: /src/bind9/lib/isc/timer.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 106
    functionName: timer_cb
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - atomic_load_acquire
    - VALID_TIMER
    - uv_timer_stop
    - uv_handle_get_data
    - isc_timer_t*::cb
    linkageType: ''
    returnType: void
    signature: void timer_cb(uv_timer_t *handle)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:114,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:116,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:120,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/timer.c:120,1
    - Dst: isc_interval_ms
      Src: /src/bind9/lib/isc/timer.c:124,1
    - Dst: isc_interval_ms
      Src: /src/bind9/lib/isc/timer.c:128,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/timer.c:131,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/timer.c:134,1
    - Dst: uv_timer_start
      Src: /src/bind9/lib/isc/timer.c:135,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/timer.c:137,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - timer
    - type
    - interval
    argTypes:
    - isc_timer_t*
    - isc_timertype_t
    - isc_interval_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 138
    functionName: isc_timer_start
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 13
    functionsReached:
    - REQUIRE
    - isc_interval_ms
    - atomic_store_release
    - VALID_LOOP
    - VALID_TIMER
    - uv_timer_start
    - isc_loop
    - UNREACHABLE
    - 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:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:145,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:145,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/timer.c:149,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/timer.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 152
    functionName: timer_close
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - VALID_TIMER
    - uv_handle_get_data
    - isc_loop_detach
    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:158,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/timer.c:159,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/timer.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    functionName: timer_destroy
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 9
    functionsReached:
    - uv_timer_stop
    - uv_close
    - atomic_store_release
    linkageType: ''
    returnType: void
    signature: void timer_destroy(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:167,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/timer.c:172,1
    - Dst: isc_loop
      Src: /src/bind9/lib/isc/timer.c:172,1
    - Dst: timer_destroy
      Src: /src/bind9/lib/isc/timer.c:174,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timerp
    argTypes:
    - isc_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 175
    functionName: isc_timer_destroy
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 9
    functionsReached:
    - timer_destroy
    - REQUIRE
    - VALID_TIMER
    - isc_loop
    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:181,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:181,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/isc/timer.c:186,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/timer.c:187,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - timerp
    argTypes:
    - isc_timer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: isc_timer_async_destroy
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - REQUIRE
    - VALID_TIMER
    - isc_timer_stop
    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:192,1
    - Dst: VALID_TIMER
      Src: /src/bind9/lib/isc/timer.c:192,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/timer.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timer
    argTypes:
    - isc_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: isc_timer_running
    functionSourceFile: /src/bind9/lib/isc/timer.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TIMER
    - atomic_load_acquire
    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: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    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: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    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: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    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: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    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: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    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: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    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: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    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: 59
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 59
    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: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    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: 120
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 120
    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:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 122
    functionDepth: 1
    functionLinenumber: 122
    functionLinenumberEnd: 126
    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:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - hashmap
    - idx
    argTypes:
    - isc_hashmap_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 131
    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: 142
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 142
    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:146,1
    - Dst: isc_hash_bits32
      Src: /src/bind9/lib/isc/hashmap.c:152,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/hashmap.c:154,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/hashmap.c:163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hashmap
    - idx
    argTypes:
    - isc_hashmap_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 164
    functionName: hashmap_dump_table
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_hash_bits32
    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:169,1
    - 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: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:176,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:177,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/hashmap.c:181,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: 183
      start: 166
    functionDepth: 1
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: hashmap_create_table
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - 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:201,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: 206
      start: 185
    functionDepth: 1
    functionLinenumber: 185
    functionLinenumberEnd: 206
    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:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:214,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/hashmap.c:219,1
    - Dst: hashmap_create_table
      Src: /src/bind9/lib/isc/hashmap.c:221,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: 226
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 226
    functionName: isc_hashmap_create
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - hashmap_create_table
    - isc_mem_get
    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:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:233,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:233,1
    - Dst: hashmap_free_table
      Src: /src/bind9/lib/isc/hashmap.c:242,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:245,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/hashmap.c:247,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hashmapp
    argTypes:
    - isc_hashmap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 248
    functionName: isc_hashmap_destroy
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - INSIST
    - ISC_HASHMAP_VALID
    - isc_mem_putanddetach
    - hashmap_free_table
    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:261,1
    - Dst: match
      Src: /src/bind9/lib/isc/hashmap.c:275,1
    - Dst: try_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:284,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:285,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: 290
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 290
    functionName: hashmap_find
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 3
    functionsReached:
    - isc_hash_bits32
    - hashmap_nexttable
    - try_nexttable
    - match
    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:295,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:295,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:296,1
    - Dst: hashmap_find
      Src: /src/bind9/lib/isc/hashmap.c:299,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:305,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/hashmap.c:306,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: 308
      start: 292
    functionDepth: 2
    functionLinenumber: 292
    functionLinenumberEnd: 308
    functionName: isc_hashmap_find
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - INSIST
    - ISC_HASHMAP_VALID
    - SET_IF_NOT_NULL
    - hashmap_find
    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:320,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:327,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: 346
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 346
    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:350,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:356,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/hashmap.c:356,1
    - Dst: hashmap_free_table
      Src: /src/bind9/lib/isc/hashmap.c:366,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:366,1
    - Dst: hashmap_delete_node
      Src: /src/bind9/lib/isc/hashmap.c:375,1
    - Dst: hashmap_add
      Src: /src/bind9/lib/isc/hashmap.c:378,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:380,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 386
    functionName: hashmap_rehash_one
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - INSIST
    - atomic_load_acquire
    - hashmap_delete_node
    - hashmap_nexttable
    - hashmap_add
    - hashmap_free_table
    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:391,1
    - Dst: APPROX_40_PERCENT
      Src: /src/bind9/lib/isc/hashmap.c:393,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 402
    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: 413
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 413
    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:420,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:422,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:422,1
    - Dst: grow_bits
      Src: /src/bind9/lib/isc/hashmap.c:424,1
    - Dst: hashmap_create_table
      Src: /src/bind9/lib/isc/hashmap.c:427,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 415
    functionDepth: 2
    functionLinenumber: 415
    functionLinenumberEnd: 430
    functionName: hashmap_rehash_start_grow
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - rehashing_in_progress
    - hashmap_create_table
    - hashmap_nexttable
    - grow_bits
    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:437,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:439,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:439,1
    - Dst: shrink_bits
      Src: /src/bind9/lib/isc/hashmap.c:441,1
    - Dst: hashmap_create_table
      Src: /src/bind9/lib/isc/hashmap.c:444,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 432
    functionDepth: 2
    functionLinenumber: 432
    functionLinenumberEnd: 447
    functionName: hashmap_rehash_start_shrink
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - rehashing_in_progress
    - hashmap_create_table
    - hashmap_nexttable
    - 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:452,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:453,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:460,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:461,1
    - Dst: under_threshold
      Src: /src/bind9/lib/isc/hashmap.c:462,1
    - Dst: hashmap_rehash_start_shrink
      Src: /src/bind9/lib/isc/hashmap.c:463,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:464,1
    - Dst: hashmap_find
      Src: /src/bind9/lib/isc/hashmap.c:470,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:472,1
    - Dst: hashmap_delete_node
      Src: /src/bind9/lib/isc/hashmap.c:473,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: 479
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 479
    functionName: isc_hashmap_delete
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - ISC_HASHMAP_VALID
    - hashmap_rehash_one
    - rehashing_in_progress
    - hashmap_delete_node
    - under_threshold
    - hashmap_find
    - hashmap_rehash_start_shrink
    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:487,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 489
    functionName: over_threshold
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - APPROX_90_PERCENT
    - HASHSIZE
    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:497,1
    - Dst: HASHSIZE
      Src: /src/bind9/lib/isc/hashmap.c:497,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 491
    functionDepth: 1
    functionLinenumber: 491
    functionLinenumberEnd: 499
    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:511,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/hashmap.c:511,1
    - Dst: isc_hash_bits32
      Src: /src/bind9/lib/isc/hashmap.c:513,1
    - Dst: hashmap_node_init
      Src: /src/bind9/lib/isc/hashmap.c:516,1
    - Dst: match
      Src: /src/bind9/lib/isc/hashmap.c:530,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/hashmap.c:531,1
    - Dst: ISC_SWAP
      Src: /src/bind9/lib/isc/hashmap.c:539,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:551,1
    - Dst: hashmap_rehash_start_grow
      Src: /src/bind9/lib/isc/hashmap.c:552,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: 563
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 563
    functionName: hashmap_add
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 5
    functionsReached:
    - isc_hash_bits32
    - INSIST
    - match
    - hashmap_rehash_start_grow
    - SET_IF_NOT_NULL
    - rehashing_in_progress
    - atomic_load_acquire
    - ISC_SWAP
    - 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:569,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:569,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:570,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:572,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:573,1
    - Dst: over_threshold
      Src: /src/bind9/lib/isc/hashmap.c:574,1
    - Dst: hashmap_rehash_start_grow
      Src: /src/bind9/lib/isc/hashmap.c:575,1
    - Dst: hashmap_rehash_one
      Src: /src/bind9/lib/isc/hashmap.c:576,1
    - Dst: rehashing_in_progress
      Src: /src/bind9/lib/isc/hashmap.c:579,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:580,1
    - Dst: hashmap_find
      Src: /src/bind9/lib/isc/hashmap.c:584,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:587,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/hashmap.c:588,1
    - Dst: hashmap_add
      Src: /src/bind9/lib/isc/hashmap.c:593,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: 595
      start: 565
    functionDepth: 4
    functionLinenumber: 565
    functionLinenumberEnd: 595
    functionName: isc_hashmap_add
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - INSIST
    - ISC_HASHMAP_VALID
    - hashmap_rehash_start_grow
    - SET_IF_NOT_NULL
    - over_threshold
    - hashmap_rehash_one
    - rehashing_in_progress
    - hashmap_nexttable
    - hashmap_add
    - hashmap_find
    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:601,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:601,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:602,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/hashmap.c:604,1
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/isc/hashmap.c:610,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: 613
      start: 597
    functionDepth: 1
    functionLinenumber: 597
    functionLinenumberEnd: 613
    functionName: isc_hashmap_iter_create
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - atomic_fetch_add_release
    - ISC_HASHMAP_VALID
    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:620,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/hashmap.c:625,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:627,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/isc/hashmap.c:627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - iterp
    argTypes:
    - isc_hashmap_iter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 628
    functionName: isc_hashmap_iter_destroy
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - atomic_fetch_sub_release
    - isc_mem_put
    - INSIST
    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:646,1
    - Dst: hashmap_nexttable
      Src: /src/bind9/lib/isc/hashmap.c:647,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:650,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 654
    functionName: isc__hashmap_iter_next
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - isc__hashmap_iter_next
    - hashmap_nexttable
    - 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:658,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:664,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 656
    functionDepth: 2
    functionLinenumber: 656
    functionLinenumberEnd: 665
    functionName: isc_hashmap_iter_first
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__hashmap_iter_next
    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:669,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:670,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 667
    functionDepth: 2
    functionLinenumber: 667
    functionLinenumberEnd: 675
    functionName: isc_hashmap_iter_next
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__hashmap_iter_next
    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:679,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:680,1
    - Dst: hashmap_delete_node
      Src: /src/bind9/lib/isc/hashmap.c:685,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/hashmap.c:692,1
    - Dst: isc__hashmap_iter_next
      Src: /src/bind9/lib/isc/hashmap.c:696,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - iter
    argTypes:
    - isc_hashmap_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 697
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 697
    functionName: isc_hashmap_iter_delcurrent_next
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__hashmap_iter_next
    - INSIST
    - hashmap_delete_node
    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:701,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:702,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - it
    - valuep
    argTypes:
    - isc_hashmap_iter_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 699
    functionDepth: 1
    functionLinenumber: 699
    functionLinenumberEnd: 706
    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:710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/hashmap.c:712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - it
    - key
    argTypes:
    - isc_hashmap_iter_t*
    - unsigned char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 715
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 715
    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:719,1
    - Dst: ISC_HASHMAP_VALID
      Src: /src/bind9/lib/isc/hashmap.c:719,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - hashmap
    argTypes:
    - isc_hashmap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 717
    functionDepth: 1
    functionLinenumber: 717
    functionLinenumberEnd: 722
    functionName: isc_hashmap_count
    functionSourceFile: /src/bind9/lib/isc/hashmap.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_HASHMAP_VALID
    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_work_t*::work_cb
    - rcu_register_thread
    - uv_req_get_data
    - rcu_unregister_thread
    - isc__iterated_hash_initialize
    - isc__iterated_hash_shutdown
    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_mem_put
    - uv_req_get_data
    - isc_work_t*::after_work_cb
    - isc_loop_detach
    - 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: isc_loop
      Src: /src/bind9/lib/isc/work.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/work.c:62,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/work.c:63,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/work.c:65,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/work.c:72,1
    - Dst: uv_req_set_data
      Src: /src/bind9/lib/isc/work.c:74,1
    - Dst: uv_queue_work
      Src: /src/bind9/lib/isc/work.c:76,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/work.c:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    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: 79
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 79
    functionName: isc_work_enqueue
    functionSourceFile: /src/bind9/lib/isc/work.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - uv_req_set_data
    - uv_queue_work
    - isc_loop_attach
    - isc_mem_get
    - VALID_LOOP
    - isc_loop
    - 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: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    functionName: VALID_MEMPOOL
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_MEMPOOL(c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:185,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:187,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 192
    functionName: total_inuse
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - UNLOCK
    - isc_mem_inuse
    - LOCK
    linkageType: ''
    returnType: size_t
    signature: size_t total_inuse(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 188
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 90
    functionsReached:
    - isc_mem_inuse
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(contexts, ctx, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: write
      Src: /src/bind9/lib/isc/mem.c:196,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/mem.c:196,1
    - Dst: abort
      Src: /src/bind9/lib/isc/mem.c:198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - str
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 200
    functionName: write_string
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - write
    - abort
    - strlen
    linkageType: ''
    returnType: void
    signature: void write_string(int fd, const char *str)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: STRINGIFY
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STRINGIFY(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 203
    functionDepth: 0
    functionLinenumber: 203
    functionLinenumberEnd: 204
    functionName: TOSTRING
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TOSTRING(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: TOSTRING
      Src: /src/bind9/lib/isc/mem.c:206,1
    - Dst: write_string
      Src: /src/bind9/lib/isc/mem.c:219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - int
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 220
    functionName: write_size
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - write_string
    - TOSTRING
    linkageType: ''
    returnType: void
    signature: void write_size(int fd, size_t size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_string_strerror_r
      Src: /src/bind9/lib/isc/mem.c:225,1
    - Dst: write_string
      Src: /src/bind9/lib/isc/mem.c:227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - fd
    - errnum
    argTypes:
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 229
    functionName: write_errno
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_string_strerror_r
    - write_string
    linkageType: ''
    returnType: void
    signature: void write_errno(int fd, int errnum)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_backtrace
      Src: /src/bind9/lib/isc/mem.c:234,1
    - Dst: isc_backtrace_symbols_fd
      Src: /src/bind9/lib/isc/mem.c:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - fd
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 239
    functionName: write_backtrace
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_backtrace
    - isc_backtrace_symbols_fd
    linkageType: ''
    returnType: void
    signature: void write_backtrace(int fd)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - ptr
    - ','
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 242
    functionName: CHECK_OOM
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK_OOM(ptr, size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fileno
      Src: /src/bind9/lib/isc/mem.c:245,1
    - Dst: write_string
      Src: /src/bind9/lib/isc/mem.c:246,1
    - Dst: write_size
      Src: /src/bind9/lib/isc/mem.c:247,1
    - Dst: write_string
      Src: /src/bind9/lib/isc/mem.c:248,1
    - Dst: write_size
      Src: /src/bind9/lib/isc/mem.c:249,1
    - Dst: total_inuse
      Src: /src/bind9/lib/isc/mem.c:249,1
    - Dst: write_string
      Src: /src/bind9/lib/isc/mem.c:250,1
    - Dst: write_errno
      Src: /src/bind9/lib/isc/mem.c:251,1
    - Dst: write_string
      Src: /src/bind9/lib/isc/mem.c:252,1
    - Dst: write_backtrace
      Src: /src/bind9/lib/isc/mem.c:253,1
    - Dst: abort
      Src: /src/bind9/lib/isc/mem.c:255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - size
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 243
    functionDepth: 2
    functionLinenumber: 243
    functionLinenumberEnd: 256
    functionName: oom
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - write_string
    - fileno
    - write_size
    - total_inuse
    - write_errno
    - write_backtrace
    - abort
    linkageType: ''
    returnType: ISC_NORETURN
    signature: ISC_NORETURN oom(size_t size)
  - 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: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    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: 272
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 272
    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: 277
      start: 273
    functionDepth: 0
    functionLinenumber: 273
    functionLinenumberEnd: 277
    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:298,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/mem.c:299,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:301,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:304,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/isc/mem.c:320,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:324,1
    - Dst: CHECK_OOM
      Src: /src/bind9/lib/isc/mem.c:325,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/mem.c:327,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/mem.c:332,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/isc/mem.c:334,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:337,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: 338
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 338
    functionName: add_trace_entry
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_hash32
    - STRUCT_FLEX_SIZE
    - strlen
    - MCTXLOCK
    - ISC_LIST_PREPEND
    - mallocx
    - CHECK_OOM
    - MCTXUNLOCK
    - strlcpy
    - ISC_LINK_INIT
    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:345,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:348,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/isc/mem.c:364,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:368,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:370,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:371,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/mem.c:380,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:382,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: 383
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 383
    functionName: delete_trace_entry
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - fprintf
    - sdallocx
    - isc_hash32
    - MCTXLOCK
    - ISC_LIST_FOREACH
    - UNREACHABLE
    - MCTXUNLOCK
    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: 390
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 390
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_ZERO_ALLOCATION_SIZE
      Src: /src/bind9/lib/isc/mem.c:396,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:398,1
    - Dst: CHECK_OOM
      Src: /src/bind9/lib/isc/mem.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - ctx
    - size
    - flags
    argTypes:
    - isc_mem_t*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 402
    functionName: mem_get
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 149
    functionsReached:
    - CHECK_OOM
    - ADJUST_ZERO_ALLOCATION_SIZE
    - mallocx
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_get(isc_mem_t *ctx, size_t size, int flags)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/isc/mem.c:414,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:415,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/isc/mem.c:418,1
    - Dst: mallctl
      Src: /src/bind9/lib/isc/mem.c:421,1
    - Dst: STRINGIFY
      Src: /src/bind9/lib/isc/mem.c:421,1
    - Dst: malloc_trim
      Src: /src/bind9/lib/isc/mem.c:424,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 427
    functionName: mem_purge
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_now
    - malloc_trim
    - atomic_load_relaxed
    - atomic_compare_exchange_strong_acq_rel
    - mallctl
    - STRINGIFY
    linkageType: ''
    returnType: void
    signature: void mem_purge(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 433
    functionName: mem_purge
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void mem_purge(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_ZERO_ALLOCATION_SIZE
      Src: /src/bind9/lib/isc/mem.c:443,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:445,1
    - Dst: mem_purge
      Src: /src/bind9/lib/isc/mem.c:451,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 4
    argNames:
    - ctx
    - mem
    - size
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 441
    functionDepth: 2
    functionLinenumber: 441
    functionLinenumberEnd: 453
    functionName: mem_put
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 103
    functionsReached:
    - mem_purge
    - sdallocx
    - ADJUST_ZERO_ALLOCATION_SIZE
    linkageType: ''
    returnType: void
    signature: void mem_put(isc_mem_t *ctx, void *mem, size_t size, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ADJUST_ZERO_ALLOCATION_SIZE
      Src: /src/bind9/lib/isc/mem.c:459,1
    - Dst: rallocx
      Src: /src/bind9/lib/isc/mem.c:461,1
    - Dst: CHECK_OOM
      Src: /src/bind9/lib/isc/mem.c:462,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - ctx
    - old_ptr
    - new_size
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - size_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 455
    functionDepth: 2
    functionLinenumber: 455
    functionLinenumberEnd: 465
    functionName: mem_realloc
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - rallocx
    - ADJUST_ZERO_ALLOCATION_SIZE
    - CHECK_OOM
    linkageType: ''
    returnType: void
    signature: 'void *

      mem_realloc(isc_mem_t *ctx, void *old_ptr, size_t new_size, int flags)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/isc/mem.c:472,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/mem.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - isc_mem_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 473
    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:480,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/mem.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ctx
    - size
    argTypes:
    - isc_mem_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 478
    functionDepth: 1
    functionLinenumber: 478
    functionLinenumberEnd: 481
    functionName: mem_putstats
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - atomic_fetch_sub_relaxed
    linkageType: ''
    returnType: void
    signature: void mem_putstats(isc_mem_t *ctx, size_t size)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: uv_os_getenv
      Src: /src/bind9/lib/isc/mem.c:492,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/mem.c:499,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/mem.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 502
    functionName: debugging_enabled
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - UV_RUNTIME_CHECK
    - UNREACHABLE
    - uv_os_getenv
    linkageType: ''
    returnType: bool
    signature: bool debugging_enabled(const char *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/mem.c:510,1
    - Dst: mallctl
      Src: /src/bind9/lib/isc/mem.c:517,1
    - Dst: mallctl
      Src: /src/bind9/lib/isc/mem.c:520,1
    - Dst: mallctl
      Src: /src/bind9/lib/isc/mem.c:523,1
    - Dst: STRINGIFY
      Src: /src/bind9/lib/isc/mem.c:523,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/mem.c:529,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/mem.c:530,1
    - Dst: debugging_enabled
      Src: /src/bind9/lib/isc/mem.c:532,1
    - Dst: debugging_enabled
      Src: /src/bind9/lib/isc/mem.c:536,1
    - Dst: debugging_enabled
      Src: /src/bind9/lib/isc/mem.c:540,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/mem.c:544,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 504
    functionDepth: 2
    functionLinenumber: 504
    functionLinenumberEnd: 545
    functionName: isc__mem_initialize
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - isc_mutex_init
    - RUNTIME_CHECK
    - debugging_enabled
    - ISC_LIST_INIT
    - STRINGIFY
    - mallctl
    linkageType: ''
    returnType: void
    signature: void isc__mem_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcu_barrier
      Src: /src/bind9/lib/isc/mem.c:551,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/mem.c:553,1
    - Dst: isc__mem_checkdestroyed
      Src: /src/bind9/lib/isc/mem.c:555,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:557,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:558,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:559,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/mem.c:562,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 564
    functionName: isc__mem_shutdown
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - rcu_barrier
    - isc__mem_checkdestroyed
    - ISC_LIST_EMPTY
    - LOCK
    - isc_mem_detach
    - isc_mutex_destroy
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void isc__mem_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:568,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:568,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:569,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:569,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - ctx
    - debugging
    argTypes:
    - isc_mem_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 572
      start: 566
    functionDepth: 1
    functionLinenumber: 566
    functionLinenumberEnd: 572
    functionName: isc_mem_setdebugging
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_CONTEXT
    - isc_mem_inuse
    linkageType: ''
    returnType: void
    signature: void isc_mem_setdebugging(isc_mem_t *ctx, unsigned int debugging)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_setdebugging
      Src: /src/bind9/lib/isc/mem.c:581,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - debugging
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 574
    functionDepth: 2
    functionLinenumber: 574
    functionLinenumberEnd: 585
    functionName: isc_mem_debugon
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 21
    functionsReached:
    - isc_mem_setdebugging
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_mem_debugon(unsigned int debugging)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_setdebugging
      Src: /src/bind9/lib/isc/mem.c:594,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - debugging
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 587
    functionDepth: 2
    functionLinenumber: 587
    functionLinenumberEnd: 598
    functionName: isc_mem_debugoff
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 2
    functionsReached:
    - isc_mem_setdebugging
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int isc_mem_debugoff(unsigned int debugging)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:605,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:606,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:608,1
    - Dst: CHECK_OOM
      Src: /src/bind9/lib/isc/mem.c:609,1
    - Dst: strdup
      Src: /src/bind9/lib/isc/mem.c:616,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/mem.c:619,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/mem.c:620,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isc/mem.c:622,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/mem.c:623,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/mem.c:629,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/mem.c:630,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/mem.c:632,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/isc/mem.c:637,1
    - Dst: mallocx
      Src: /src/bind9/lib/isc/mem.c:640,1
    - Dst: CHECK_OOM
      Src: /src/bind9/lib/isc/mem.c:641,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/mem.c:644,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:649,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/isc/mem.c:650,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:651,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - name
    - ctxp
    - debugging
    - jemalloc_flags
    argTypes:
    - char*
    - isc_mem_t**
    - unsigned int
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 654
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 654
    functionName: mem_create
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - isc_mutex_init
    - mallocx
    - ISC_LIST_INITANDAPPEND
    - LOCK
    - ISC_LIST_INIT
    - atomic_init
    - CHECK_OOM
    - strdup
    - ISC_CHECKED_MUL
    - ARRAY_SIZE
    - UNLOCK
    - isc_refcount_init
    linkageType: ''
    returnType: void
    signature: "void mem_create(const char *name, isc_mem_t **ctxp, unsigned int debugging,\n\t
      \  unsigned int jemalloc_flags)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:662,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:662,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/mem.c:664,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:666,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:667,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:668,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:673,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:675,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:677,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:679,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:680,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:684,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/isc/mem.c:686,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:692,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:692,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:697,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:697,1
    - Dst: free
      Src: /src/bind9/lib/isc/mem.c:699,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/mem.c:701,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:705,1
    - Dst: sdallocx
      Src: /src/bind9/lib/isc/mem.c:709,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 710
    functionName: mem_destroy
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - fprintf
    - sdallocx
    - ISC_CHECKED_MUL
    - ISC_LIST_EMPTY
    - isc_mem_inuse
    - LOCK
    - VALID_CONTEXT
    - ISC_LIST_FOREACH
    - print_active
    - isc_mutex_destroy
    - free
    - isc_refcount_destroy
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void mem_destroy(isc_mem_t *ctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:731,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:731,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:732,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:733,1
    - Dst: isc_mem__detach
      Src: /src/bind9/lib/isc/mem.c:740,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/mem.c:742,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: 744
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 744
    functionName: isc__mem_putanddetach
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_mem_detach
    - REQUIRE
    - isc_mem__detach
    - VALID_CONTEXT
    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:750,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:750,1
    - Dst: mem_get
      Src: /src/bind9/lib/isc/mem.c:752,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:754,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:755,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: 758
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 758
    functionName: isc__mem_get
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - mem_getstats
    - VALID_CONTEXT
    - mem_get
    - ADD_TRACE
    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:762,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:762,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:764,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:766,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:767,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: 768
      start: 760
    functionDepth: 3
    functionLinenumber: 760
    functionLinenumberEnd: 768
    functionName: isc__mem_put
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - mem_put
    - mem_putstats
    - VALID_CONTEXT
    - DELETE_TRACE
    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:777,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:781,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:784,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - mctx
    - out
    argTypes:
    - isc_mem_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 798
      start: 771
    functionDepth: 0
    functionLinenumber: 771
    functionLinenumberEnd: 798
    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:806,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:806,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:808,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:817,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:818,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:819,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/mem.c:823,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:824,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:832,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - ctx
    - out
    argTypes:
    - isc_mem_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 836
    functionName: isc_mem_stats
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - fprintf
    - ISC_LIST_EMPTY
    - MCTXLOCK
    - VALID_CONTEXT
    - ISC_LIST_FOREACH
    - print_active
    - MCTXUNLOCK
    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:842,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:842,1
    - Dst: mem_get
      Src: /src/bind9/lib/isc/mem.c:844,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:847,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:849,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:850,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: 853
      start: 838
    functionDepth: 2
    functionLinenumber: 838
    functionLinenumberEnd: 853
    functionName: isc__mem_allocate
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - mem_getstats
    - sallocx
    - VALID_CONTEXT
    - mem_get
    - ADD_TRACE
    linkageType: ''
    returnType: void
    signature: 'void *

      isc__mem_allocate(isc_mem_t *ctx, size_t size, int flags FLARG)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:861,1
    - Dst: isc__mem_get
      Src: /src/bind9/lib/isc/mem.c:862,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:866,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:867,1
    - Dst: ADJUST_ZERO_ALLOCATION_SIZE
      Src: /src/bind9/lib/isc/mem.c:869,1
    - Dst: mem_realloc
      Src: /src/bind9/lib/isc/mem.c:872,1
    - Dst: mem_realloc
      Src: /src/bind9/lib/isc/mem.c:874,1
    - Dst: memset
      Src: /src/bind9/lib/isc/mem.c:879,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:885,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:886,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    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: 896
      start: 855
    functionDepth: 3
    functionLinenumber: 855
    functionLinenumberEnd: 896
    functionName: isc__mem_reget
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__mem_get
    - mem_getstats
    - mem_putstats
    - ADD_TRACE
    - ADJUST_ZERO_ALLOCATION_SIZE
    - mem_realloc
    - memset
    - DELETE_TRACE
    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:903,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:903,1
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/mem.c:906,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:910,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:912,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:913,1
    - Dst: mem_realloc
      Src: /src/bind9/lib/isc/mem.c:915,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:918,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:920,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:921,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: 925
      start: 898
    functionDepth: 3
    functionLinenumber: 898
    functionLinenumberEnd: 925
    functionName: isc__mem_reallocate
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - mem_getstats
    - mem_putstats
    - sallocx
    - ADD_TRACE
    - VALID_CONTEXT
    - mem_realloc
    - DELETE_TRACE
    - isc__mem_allocate
    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:931,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:931,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:932,1
    - Dst: sallocx
      Src: /src/bind9/lib/isc/mem.c:934,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:936,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:938,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - ctx
    - ptr
    - flags
    argTypes:
    - isc_mem_t*
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 927
    functionDepth: 3
    functionLinenumber: 927
    functionLinenumberEnd: 940
    functionName: isc__mem_free
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - mem_put
    - mem_putstats
    - sallocx
    - VALID_CONTEXT
    - DELETE_TRACE
    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:951,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:951,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:952,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/mem.c:954,1
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/mem.c:956,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/mem.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - FLARG
    argTypes:
    - isc_mem_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 961
    functionName: isc__mem_strdup
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strlen
    - VALID_CONTEXT
    - strlcpy
    - isc__mem_allocate
    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:968,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:968,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:969,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:970,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/mem.c:972,1
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/mem.c:977,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/mem.c:979,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: 982
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 982
    functionName: isc__mem_strndup
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strlen
    - VALID_CONTEXT
    - strlcpy
    - isc__mem_allocate
    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:986,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:986,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:988,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - flag
    argTypes:
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 993
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 993
    functionName: isc_mem_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - MCTXLOCK
    - VALID_CONTEXT
    - MCTXUNLOCK
    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:997,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:997,1
    - Dst: isc_tid_count
      Src: /src/bind9/lib/isc/mem.c:1001,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1002,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 995
    functionDepth: 1
    functionLinenumber: 995
    functionLinenumberEnd: 1007
    functionName: isc_mem_inuse
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - INSIST
    - atomic_load_relaxed
    - VALID_CONTEXT
    - isc_tid_count
    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:1011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1012
    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:1016,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1016,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1017,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/mem.c:1019,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/mem.c:1020,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: 1023
      start: 1014
    functionDepth: 1
    functionLinenumber: 1014
    functionLinenumberEnd: 1023
    functionName: isc_mem_setwater
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_CONTEXT
    - atomic_store_release
    linkageType: ''
    returnType: void
    signature: void isc_mem_setwater(isc_mem_t *ctx, size_t hiwater, size_t lowater)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1027,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1027,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1029,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1034,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1039,1
    - Dst: isc_random8
      Src: /src/bind9/lib/isc/mem.c:1052,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1025
    functionDepth: 2
    functionLinenumber: 1025
    functionLinenumberEnd: 1053
    functionName: isc_mem_isovermem
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - atomic_load_relaxed
    - isc_mem_inuse
    - isc_random8
    - VALID_CONTEXT
    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:1057,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1064
    functionName: isc_mem_getname
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CONTEXT
    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:1076,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1076,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1077,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1078,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1079,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/mem.c:1092,1
    - Dst: strdup
      Src: /src/bind9/lib/isc/mem.c:1098,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:1103,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/mem.c:1109,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:1114,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/isc/mem.c:1115,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:1117,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: 1118
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1118
    functionName: isc__mempool_create
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - fprintf
    - ISC_LIST_INITANDAPPEND
    - MCTXLOCK
    - VALID_CONTEXT
    - strdup
    - MCTXUNLOCK
    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:1126,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1127,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1127,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:1136,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/isc/mem.c:1143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1145,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1151,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:1157,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:1158,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:1164,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/mem.c:1165,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:1167,1
    - Dst: free
      Src: /src/bind9/lib/isc/mem.c:1169,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/mem.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - mpctxp
    argTypes:
    - isc_mempool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1120
    functionDepth: 3
    functionLinenumber: 1120
    functionLinenumberEnd: 1174
    functionName: isc__mempool_destroy
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - fprintf
    - mem_put
    - mem_putstats
    - isc_mem_putanddetach
    - MCTXLOCK
    - VALID_MEMPOOL
    - free
    - MCTXUNLOCK
    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:1180,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1180,1
    - Dst: mem_get
      Src: /src/bind9/lib/isc/mem.c:1195,1
    - Dst: mem_getstats
      Src: /src/bind9/lib/isc/mem.c:1196,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1203,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1208,1
    - Dst: ADD_TRACE
      Src: /src/bind9/lib/isc/mem.c:1212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1215
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1215
    functionName: isc__mempool_get
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - mem_getstats
    - VALID_MEMPOOL
    - mem_get
    - ADD_TRACE
    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:1222,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1223,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/mem.c:1233,1
    - Dst: DELETE_TRACE
      Src: /src/bind9/lib/isc/mem.c:1236,1
    - Dst: mem_putstats
      Src: /src/bind9/lib/isc/mem.c:1242,1
    - Dst: mem_put
      Src: /src/bind9/lib/isc/mem.c:1243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - mpctx
    - FLARG
    argTypes:
    - isc_mempool_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1218
    functionDepth: 3
    functionLinenumber: 1218
    functionLinenumberEnd: 1254
    functionName: isc__mempool_put
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - mem_put
    - mem_putstats
    - VALID_MEMPOOL
    - DELETE_TRACE
    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:1263,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mpctx
    - limit
    argTypes:
    - isc_mempool_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1265
      start: 1260
    functionDepth: 1
    functionLinenumber: 1260
    functionLinenumberEnd: 1265
    functionName: isc_mempool_setfreemax
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_MEMPOOL
    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:1269,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1267
    functionDepth: 1
    functionLinenumber: 1267
    functionLinenumberEnd: 1272
    functionName: isc_mempool_getfreemax
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_MEMPOOL
    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:1276,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1274
    functionDepth: 1
    functionLinenumber: 1274
    functionLinenumberEnd: 1279
    functionName: isc_mempool_getfreecount
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_MEMPOOL
    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:1283,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1281
    functionDepth: 1
    functionLinenumber: 1281
    functionLinenumberEnd: 1286
    functionName: isc_mempool_getallocated
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_MEMPOOL
    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:1291,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1291,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mpctx
    - limit
    argTypes:
    - isc_mempool_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1288
    functionDepth: 1
    functionLinenumber: 1288
    functionLinenumberEnd: 1295
    functionName: isc_mempool_setfillcount
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_MEMPOOL
    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:1299,1
    - Dst: VALID_MEMPOOL
      Src: /src/bind9/lib/isc/mem.c:1299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mpctx
    argTypes:
    - isc_mempool_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1302
      start: 1297
    functionDepth: 1
    functionLinenumber: 1297
    functionLinenumberEnd: 1302
    functionName: isc_mempool_getfillcount
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_MEMPOOL
    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:1311,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1313,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:1314,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/mem.c:1316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1317
    functionName: print_contexts
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_refcount_current
    - fflush
    - print_active
    linkageType: ''
    returnType: void
    signature: void print_contexts(FILE *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:1311,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1313,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1315
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 94
    functionsReached:
    - fprintf
    - isc_refcount_current
    - print_active
    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:1324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - file
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1325
      start: 1322
    functionDepth: 1
    functionLinenumber: 1322
    functionLinenumberEnd: 1325
    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:1329,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:1335,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/mem.c:1336,1
    - Dst: print_contexts
      Src: /src/bind9/lib/isc/mem.c:1339,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/mem.c:1342,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1344,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1327
    functionDepth: 2
    functionLinenumber: 1327
    functionLinenumberEnd: 1345
    functionName: isc__mem_checkdestroyed
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - print_contexts
    - ISC_LIST_EMPTY
    - atomic_load_acquire
    - LOCK
    - UNREACHABLE
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void isc__mem_checkdestroyed(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1347
    functionDepth: 1
    functionLinenumber: 1347
    functionLinenumberEnd: 1350
    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: 1359
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1359
    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:1361,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1361,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:1365,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1367,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1367,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1369,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1369,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1370,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1370,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1371,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1371,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1374,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1374,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1375,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1375,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1376,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1376,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1379,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1379,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1380,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1380,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1382,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1383,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1383,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1385,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1386,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1386,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1387,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1387,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1388,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1389,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1389,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1391,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1391,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1392,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1392,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1393,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1394,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1394,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1396,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1396,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1397,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1397,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1398,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1398,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1400,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1400,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1401,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1401,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1403,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1404,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1404,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1406,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1406,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1407,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1407,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1409,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1410,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1410,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1412,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1412,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:1415,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: 1418
      start: 1359
    functionDepth: 2
    functionLinenumber: 1359
    functionLinenumberEnd: 1418
    functionName: xml_renderctx
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - TRY0
    - xmlTextWriterStartElement
    - isc_refcount_current
    - atomic_load_relaxed
    - isc_mem_inuse
    - xmlTextWriterEndElement
    - xmlTextWriterWriteFormatString
    - MCTXLOCK
    - VALID_CONTEXT
    - MCTXUNLOCK
    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:1426,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1426,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:1428,1
    - Dst: xml_renderctx
      Src: /src/bind9/lib/isc/mem.c:1430,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1432,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1436,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1438,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1438,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1440,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1440,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1442,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1442,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1443,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1443,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1445,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1445,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1447,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/isc/mem.c:1447,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1448,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/isc/mem.c:1448,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1450,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1450,1
    - Dst: TRY0
      Src: /src/bind9/lib/isc/mem.c:1452,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/isc/mem.c:1452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 1
    argNames:
    - writer0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1420
    functionDepth: 3
    functionLinenumber: 1420
    functionLinenumberEnd: 1455
    functionName: isc_mem_renderxml
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - TRY0
    - xmlTextWriterStartElement
    - LOCK
    - xmlTextWriterEndElement
    - xml_renderctx
    - xmlTextWriterWriteFormatString
    - UNLOCK
    linkageType: ''
    returnType: int
    signature: int isc_mem_renderxml(void *writer0)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: xml_renderctx
      Src: /src/bind9/lib/isc/mem.c:1430,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1429
    functionDepth: 3
    functionLinenumber: 1429
    functionLinenumberEnd: 1435
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 94
    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: 1461
      start: 1460
    functionDepth: 0
    functionLinenumber: 1460
    functionLinenumberEnd: 1461
    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:1464,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1465,1
    - Dst: MCTXLOCK
      Src: /src/bind9/lib/isc/mem.c:1470,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1472,1
    - Dst: json_object_new_object
      Src: /src/bind9/lib/isc/mem.c:1474,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1475,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/mem.c:1477,1
    - Dst: json_object_new_string
      Src: /src/bind9/lib/isc/mem.c:1478,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1479,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1480,1
    - Dst: json_object_new_string
      Src: /src/bind9/lib/isc/mem.c:1483,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1484,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1485,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1488,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/mem.c:1488,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1489,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1490,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1492,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1492,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1493,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1494,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1496,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/isc/mem.c:1496,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1497,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1498,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1500,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1501,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1502,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1504,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1504,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1505,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1506,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1508,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/mem.c:1508,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1509,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1510,1
    - Dst: MCTXUNLOCK
      Src: /src/bind9/lib/isc/mem.c:1512,1
    - Dst: json_object_array_add
      Src: /src/bind9/lib/isc/mem.c:1513,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: 1515
      start: 1462
    functionDepth: 2
    functionLinenumber: 1462
    functionLinenumberEnd: 1515
    functionName: json_renderctx
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_refcount_current
    - json_object_new_string
    - atomic_load_relaxed
    - isc_mem_inuse
    - MCTXUNLOCK
    - snprintf
    - json_object_array_add
    - json_object_new_int64
    - MCTXLOCK
    - VALID_CONTEXT
    - json_object_object_add
    - CHECKMEM
    - json_object_new_object
    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:1524,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1525,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/mem.c:1527,1
    - Dst: json_renderctx
      Src: /src/bind9/lib/isc/mem.c:1529,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1531,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1535,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1537,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1538,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1539,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/isc/mem.c:1541,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/isc/mem.c:1542,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1543,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/isc/mem.c:1545,1
    - Dst: json_object_put
      Src: /src/bind9/lib/isc/mem.c:1550,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 1
    argNames:
    - memobj0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1517
    functionDepth: 3
    functionLinenumber: 1517
    functionLinenumberEnd: 1553
    functionName: isc_mem_renderjson
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 1
    functionsReached:
    - json_object_put
    - json_renderctx
    - json_object_new_array
    - LOCK
    - json_object_object_add
    - CHECKMEM
    - UNLOCK
    - json_object_new_int64
    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:1529,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/mem.c:1531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1528
    functionDepth: 3
    functionLinenumber: 1528
    functionLinenumberEnd: 1534
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 94
    functionsReached:
    - UNLOCK
    - json_renderctx
    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:1558,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/mem.c:1561,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - name
    - mctxp
    argTypes:
    - char*
    - isc_mem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1556
    functionDepth: 2
    functionLinenumber: 1556
    functionLinenumberEnd: 1565
    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:1570,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/mem.c:1570,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/mem.c:1571,1
    - Dst: print_active
      Src: /src/bind9/lib/isc/mem.c:1573,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/mem.c:1575,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/mem.c:1576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ctx
    - file
    argTypes:
    - isc_mem_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1578
      start: 1567
    functionDepth: 1
    functionLinenumber: 1567
    functionLinenumberEnd: 1578
    functionName: isc__mem_printactive
    functionSourceFile: /src/bind9/lib/isc/mem.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - UNUSED
    - VALID_CONTEXT
    - print_active
    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:
    - UNEXPECTED_ERROR
    - strerror_r
    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_attach
    - REQUIRE
    - isc_mem_get
    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:
    - REQUIRE
    - isc_mem_putanddetach
    - VALID_HEAP
    - isc_mem_cput
    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:
    - REQUIRE
    - ISC_CHECKED_ADD
    - VALID_HEAP
    - ISC_CHECKED_MUL
    - isc_mem_creget
    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:
    - isc_heap_t*::compare
    - heap_check
    - heap_parent
    - INSIST
    - HEAPCONDITION
    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:
    - isc_heap_t*::compare
    - heap_check
    - INSIST
    - heap_left
    - HEAPCONDITION
    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:
    - REQUIRE
    - heap_check
    - RUNTIME_CHECK
    - float_up
    - VALID_HEAP
    - resize
    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:
    - isc_heap_t*::compare
    - REQUIRE
    - heap_check
    - sink_down
    - float_up
    - VALID_HEAP
    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:
    - REQUIRE
    - VALID_HEAP
    - float_up
    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:
    - REQUIRE
    - VALID_HEAP
    - 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:
    - REQUIRE
    - VALID_HEAP
    - 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:
    - REQUIRE
    - VALID_HEAP
    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:
    - strncasecmp
    - REQUIRE
    - isc_tm_strptime
    - strcasecmp
    - LEGAL_ALT
    - strlen
    - memset
    - UNCONST
    - isspace
    - conv_num
    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: 20
    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:
    - REQUIRE
    - ISC_LOGDESTINATION_SYSLOG
    - isc_mem_get
    - ISC_LIST_HEAD
    - VALID_CONTEXT
    - isc_log_createchannel
    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: 17
    functionsReached:
    - REQUIRE
    - rcu_dereference
    - VALID_CONTEXT
    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:
    - REQUIRE
    - isc_logconfig_destroy
    - VALID_CONFIG
    - sync_highest_level
    - VALID_CONTEXT
    - rcu_xchg_pointer
    - synchronize_rcu
    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:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - VALID_CONFIG
    - FILE_NAME
    - ISC_LIST_FOREACH
    - isc_mem_free
    - fclose
    - UNCONST
    - ARRAY_SIZE
    - FILE_STREAM
    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:
    - REQUIRE
    - strcmp
    - VALID_CONTEXT
    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:
    - REQUIRE
    - strcmp
    - FILE_VERSIONS
    - isc_mem_get
    - FILE_SUFFIX
    - FILE_MAXREACHED
    - isc_mem_strdup
    - FILE_MAXSIZE
    - VALID_CONFIG
    - FILE_NAME
    - ISC_LIST_PREPEND
    - UNREACHABLE
    - FACILITY
    - ISC_LINK_INIT
    - FILE_STREAM
    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:
    - REQUIRE
    - strcmp
    - assignchannel
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - VALID_CONFIG
    - sync_highest_level
    - ISC_LIST_FOREACH
    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: 17
    functionsReached:
    - isc_log_createchannel
    - RUNTIME_CHECK
    - isc_log_usechannel
    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: 122
    functionsReached:
    - va_start
    - isc_log_doit
    - va_end
    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:
    - REQUIRE
    - atomic_store_release
    - rcu_read_unlock
    - LOCK
    - rcu_read_lock
    - rcu_dereference
    - VALID_CONTEXT
    - ISC_LIST_FOREACH
    - fclose
    - UNLOCK
    - FILE_STREAM
    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:
    - REQUIRE
    - VALID_CONTEXT
    - atomic_load_acquire
    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:
    - REQUIRE
    - VALID_CONFIG
    - isc_mem_strdup
    - 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:
    - REQUIRE
    - VALID_CONFIG
    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:
    - REQUIRE
    - rcu_read_unlock
    - LOCK
    - rcu_read_lock
    - rcu_dereference
    - VALID_CONTEXT
    - ISC_LIST_FOREACH
    - fclose
    - UNLOCK
    - FILE_STREAM
    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:
    - REQUIRE
    - VALID_CONFIG
    - ISC_LIST_INITANDPREPEND
    - isc_mem_get
    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: 9
    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: RETERR
      Src: /src/bind9/lib/isc/log.c:799,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:801,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/log.c:803,1
    - Dst: strtol
      Src: /src/bind9/lib/isc/log.c:806,1
    - Dst: dirfd
      Src: /src/bind9/lib/isc/log.c:812,1
    - Dst: unlinkat
      Src: /src/bind9/lib/isc/log.c:814,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/log.c:817,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:821,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:828,1
    - Dst: isc_dir_close
      Src: /src/bind9/lib/isc/log.c:837,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 39
    argCount: 3
    argNames:
    - file
    - versions
    - greatestp
    argTypes:
    - isc_logfile_t*
    - int
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 841
      start: 762
    functionDepth: 2
    functionLinenumber: 762
    functionLinenumberEnd: 841
    functionName: greatest_version
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - isc_dir_close
    - dirfd
    - isc_errno_toresult
    - strrchr
    - strlen
    - isc_dir_init
    - RETERR
    - isc_dir_open
    - strncmp
    - strtol
    - syslog
    - unlinkat
    - strlcpy
    - isc_dir_read
    - isc_result_totext
    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:853,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: 857
      start: 843
    functionDepth: 0
    functionLinenumber: 843
    functionLinenumberEnd: 857
    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:875,1
    - Dst: isc_dir_read
      Src: /src/bind9/lib/isc/log.c:876,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/log.c:881,1
    - Dst: strtoull
      Src: /src/bind9/lib/isc/log.c:888,1
    - Dst: insert_sort
      Src: /src/bind9/lib/isc/log.c:890,1
    - Dst: isc_dir_reset
      Src: /src/bind9/lib/isc/log.c:894,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: 900
      start: 859
    functionDepth: 2
    functionLinenumber: 859
    functionLinenumberEnd: 900
    functionName: last_to_keep
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - strtoull
    - isc_dir_reset
    - strncmp
    - memset
    - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/bind9/lib/isc/log.c:913,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isc/log.c:918,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:921,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:922,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/log.c:936,1
    - Dst: isc_dir_init
      Src: /src/bind9/lib/isc/log.c:938,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/log.c:939,1
    - Dst: isc_dir_open
      Src: /src/bind9/lib/isc/log.c:939,1
    - Dst: last_to_keep
      Src: /src/bind9/lib/isc/log.c:941,1
    - Dst: isc_dir_read
      Src: /src/bind9/lib/isc/log.c:943,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/log.c:945,1
    - Dst: strtoull
      Src: /src/bind9/lib/isc/log.c:948,1
    - Dst: dirfd
      Src: /src/bind9/lib/isc/log.c:954,1
    - Dst: unlinkat
      Src: /src/bind9/lib/isc/log.c:956,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/log.c:959,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:963,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:970,1
    - Dst: isc_dir_close
      Src: /src/bind9/lib/isc/log.c:977,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - file
    - versions
    argTypes:
    - isc_logfile_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 902
    functionDepth: 3
    functionLinenumber: 902
    functionLinenumberEnd: 979
    functionName: remove_old_tsversions
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - strtoull
    - isc_dir_close
    - dirfd
    - isc_errno_toresult
    - strrchr
    - strlen
    - isc_dir_init
    - RETERR
    - isc_dir_open
    - last_to_keep
    - strncmp
    - syslog
    - unlinkat
    - strlcpy
    - isc_dir_read
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t remove_old_tsversions(isc_logfile_t *file, int versions)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:989,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:990,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:999,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/isc/log.c:1002,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/log.c:1012,1
    - Dst: greatest_version
      Src: /src/bind9/lib/isc/log.c:1012,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1024,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1030,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/isc/log.c:1037,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1040,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1043,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1047,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/isc/log.c:1051,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1054,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1055,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 46
    argCount: 1
    argNames:
    - file
    argTypes:
    - isc_logfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 981
    functionDepth: 3
    functionLinenumber: 981
    functionLinenumberEnd: 1059
    functionName: roll_increment
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_file_rename
    - snprintf
    - RETERR
    - isc_file_exists
    - syslog
    - greatest_version
    - isc_result_totext
    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:1070,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1071,1
    - Dst: remove_old_tsversions
      Src: /src/bind9/lib/isc/log.c:1081,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/isc/log.c:1085,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/lib/isc/log.c:1086,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1087,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/isc/log.c:1091,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1094,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1095,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - file
    argTypes:
    - isc_logfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1061
    functionDepth: 4
    functionLinenumber: 1061
    functionLinenumberEnd: 1099
    functionName: roll_timestamp
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_time_now
    - isc_result_totext
    - snprintf
    - isc_time_formatshorttimestamp
    - isc_file_rename
    - syslog
    - remove_old_tsversions
    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:1105,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/isc/log.c:1115,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1117,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1118,1
    - Dst: roll_increment
      Src: /src/bind9/lib/isc/log.c:1125,1
    - Dst: roll_timestamp
      Src: /src/bind9/lib/isc/log.c:1127,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - file
    argTypes:
    - isc_logfile_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1131
      start: 1101
    functionDepth: 5
    functionLinenumber: 1101
    functionLinenumberEnd: 1131
    functionName: isc_logfile_roll
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - syslog
    - roll_timestamp
    - roll_increment
    - isc_file_remove
    - isc_result_totext
    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:1141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1142,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1142,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1146,1
    - Dst: stat
      Src: /src/bind9/lib/isc/log.c:1153,1
    - Dst: S_ISREG
      Src: /src/bind9/lib/isc/log.c:1154,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1156,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:1157,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1158,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1159,1
    - Dst: POST
      Src: /src/bind9/lib/isc/log.c:1165,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:1174,1
    - Dst: isc_logfile_roll
      Src: /src/bind9/lib/isc/log.c:1177,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1180,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1183,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1184,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/isc/log.c:1191,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 1
    argNames:
    - channel
    argTypes:
    - isc_logchannel_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1133
    functionDepth: 6
    functionLinenumber: 1133
    functionLinenumberEnd: 1194
    functionName: isc_log_open
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stdio_open
    - FILE_VERSIONS
    - isc_result_totext
    - isc_logfile_roll
    - POST
    - stat
    - FILE_MAXSIZE
    - FILE_NAME
    - syslog
    - S_ISREG
    - FILE_STREAM
    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:1215,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:1219,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:1220,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - level
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1227
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1227
    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:1248,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:1248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1253,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/log.c:1255,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/isc/log.c:1259,1
    - Dst: LOCK
      Src: /src/bind9/lib/isc/log.c:1260,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/isc/log.c:1264,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/log.c:1269,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/log.c:1281,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/log.c:1288,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/log.c:1303,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/log.c:1311,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/log.c:1314,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/isc/log.c:1335,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/isc/log.c:1337,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/lib/isc/log.c:1339,1
    - Dst: isc_time_formatISO8601Lms
      Src: /src/bind9/lib/isc/log.c:1341,1
    - Dst: isc_time_formatISO8601TZms
      Src: /src/bind9/lib/isc/log.c:1343,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1351,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1354,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/log.c:1358,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/log.c:1367,1
    - Dst: FILE_MAXREACHED
      Src: /src/bind9/lib/isc/log.c:1404,1
    - Dst: FILE_VERSIONS
      Src: /src/bind9/lib/isc/log.c:1415,1
    - Dst: stat
      Src: /src/bind9/lib/isc/log.c:1417,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1417,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1419,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1421,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/log.c:1422,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1423,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1424,1
    - Dst: FILE_MAXREACHED
      Src: /src/bind9/lib/isc/log.c:1426,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1435,1
    - Dst: isc_log_open
      Src: /src/bind9/lib/isc/log.c:1436,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1441,1
    - Dst: FILE_NAME
      Src: /src/bind9/lib/isc/log.c:1444,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/log.c:1445,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/log.c:1456,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1456,1
    - Dst: fflush
      Src: /src/bind9/lib/isc/log.c:1469,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1469,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1477,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/log.c:1478,1
    - Dst: fstat
      Src: /src/bind9/lib/isc/log.c:1482,1
    - Dst: fileno
      Src: /src/bind9/lib/isc/log.c:1482,1
    - Dst: FILE_STREAM
      Src: /src/bind9/lib/isc/log.c:1482,1
    - Dst: FILE_MAXSIZE
      Src: /src/bind9/lib/isc/log.c:1484,1
    - Dst: FILE_MAXREACHED
      Src: /src/bind9/lib/isc/log.c:1486,1
    - Dst: syslog
      Src: /src/bind9/lib/isc/log.c:1501,1
    - Dst: FACILITY
      Src: /src/bind9/lib/isc/log.c:1502,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/isc/log.c:1522,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/isc/log.c:1523,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: 1524
      start: 1229
    functionDepth: 7
    functionLinenumber: 1229
    functionLinenumberEnd: 1524
    functionName: isc_log_doit
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - fprintf
    - rcu_dereference
    - FILE_MAXSIZE
    - FILE_NAME
    - VALID_CONTEXT
    - fstat
    - fclose
    - UNLOCK
    - isc_log_open
    - rcu_read_unlock
    - FILE_MAXREACHED
    - ISC_LIST_NEXT
    - snprintf
    - isc_time_formatISO8601ms
    - syslog
    - FILE_STREAM
    - isc_result_totext
    - isc_time_now
    - vsnprintf
    - ISC_LIST_HEAD
    - atomic_load_acquire
    - LOCK
    - fflush
    - rcu_read_lock
    - isc_log_wouldlog
    - isc_time_formatISO8601Lms
    - FILE_VERSIONS
    - fileno
    - isc_time_formatISO8601TZms
    - isc_time_formattimestamp
    - stat
    - FACILITY
    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: 1529
      start: 1526
    functionDepth: 0
    functionLinenumber: 1526
    functionLinenumberEnd: 1529
    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:1533,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/isc/log.c:1537,1
    - Dst: isc_mem_setdebugging
      Src: /src/bind9/lib/isc/log.c:1538,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/log.c:1540,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/log.c:1546,1
    - Dst: isc_logconfig_create
      Src: /src/bind9/lib/isc/log.c:1550,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/log.c:1552,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/log.c:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1556
      start: 1531
    functionDepth: 2
    functionLinenumber: 1531
    functionLinenumberEnd: 1556
    functionName: isc__log_initialize
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - isc_mem_setdebugging
    - REQUIRE
    - isc_mem_create
    - isc_mutex_init
    - isc_mem_get
    - isc_logconfig_create
    - atomic_init
    linkageType: ''
    returnType: void
    signature: void isc__log_initialize(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rcu_barrier
      Src: /src/bind9/lib/isc/log.c:1566,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/log.c:1568,1
    - Dst: VALID_CONTEXT
      Src: /src/bind9/lib/isc/log.c:1568,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/log.c:1573,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/log.c:1574,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/log.c:1575,1
    - Dst: isc_logconfig_destroy
      Src: /src/bind9/lib/isc/log.c:1578,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/log.c:1581,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/log.c:1583,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1558
    functionDepth: 2
    functionLinenumber: 1558
    functionLinenumberEnd: 1584
    functionName: isc__log_shutdown
    functionSourceFile: /src/bind9/lib/isc/log.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - rcu_barrier
    - atomic_store_release
    - isc_logconfig_destroy
    - isc_mem_putanddetach
    - VALID_CONTEXT
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void isc__log_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_create
      Src: /src/bind9/lib/isc/managers.c:22,1
    - Dst: isc_netmgr_create
      Src: /src/bind9/lib/isc/managers.c:23,1
    - Dst: isc_rwlock_setworkers
      Src: /src/bind9/lib/isc/managers.c:24,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - workers
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 25
    functionName: isc_managers_create
    functionSourceFile: /src/bind9/lib/isc/managers.c
    functionUses: 10
    functionsReached:
    - isc_rwlock_setworkers
    - isc_loopmgr_create
    - isc_netmgr_create
    linkageType: ''
    returnType: void
    signature: void isc_managers_create(uint32_t workers)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_netmgr_destroy
      Src: /src/bind9/lib/isc/managers.c:32,1
    - Dst: isc_loopmgr_destroy
      Src: /src/bind9/lib/isc/managers.c:33,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 27
    functionDepth: 1
    functionLinenumber: 27
    functionLinenumberEnd: 34
    functionName: isc_managers_destroy
    functionSourceFile: /src/bind9/lib/isc/managers.c
    functionUses: 10
    functionsReached:
    - isc_loopmgr_destroy
    - isc_netmgr_destroy
    linkageType: ''
    returnType: void
    signature: void isc_managers_destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/bind9/lib/isc/thread.c:61,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - func
    - arg
    argTypes:
    - isc_threadfunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: thread_wrap
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - malloc
    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:82,1
    - Dst: malloc
      Src: /src/bind9/lib/isc/thread.c:82,1
    - Dst: free
      Src: /src/bind9/lib/isc/thread.c:83,1
    - Dst: free
      Src: /src/bind9/lib/isc/thread.c:85,1
    - Dst: func
      Src: /src/bind9/lib/isc/thread.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - wrap
    argTypes:
    - struct thread_wrap*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 90
    functionName: thread_body
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - CMM_ACCESS_ONCE
    - free
    - malloc
    - func
    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:98,1
    - Dst: rcu_register_thread
      Src: /src/bind9/lib/isc/thread.c:100,1
    - Dst: set_thread_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:102,1
    - Dst: thread_body
      Src: /src/bind9/lib/isc/thread.c:104,1
    - Dst: set_thread_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:106,1
    - Dst: rcu_unregister_thread
      Src: /src/bind9/lib/isc/thread.c:108,1
    - Dst: isc__iterated_hash_shutdown
      Src: /src/bind9/lib/isc/thread.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - wrap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 113
    functionName: thread_run
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - set_thread_call_rcu_data
    - rcu_register_thread
    - rcu_unregister_thread
    - isc__iterated_hash_initialize
    - isc__iterated_hash_shutdown
    - thread_body
    linkageType: ''
    returnType: void
    signature: 'void *

      thread_run(void *wrap)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/thread.c:121,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/thread.c:121,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/thread.c:121,1
    - Dst: thread_body
      Src: /src/bind9/lib/isc/thread.c:122,1
    - Dst: thread_wrap
      Src: /src/bind9/lib/isc/thread.c:122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - func
    - arg
    argTypes:
    - isc_threadfunc_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 123
    functionName: isc_thread_main
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - REQUIRE
    - thread_wrap
    - thread_body
    linkageType: ''
    returnType: void
    signature: void isc_thread_main(isc_threadfunc_t func, void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_create
      Src: /src/bind9/lib/isc/thread.c:127,1
    - Dst: thread_wrap
      Src: /src/bind9/lib/isc/thread.c:128,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - func
    - arg
    - thread
    argTypes:
    - isc_threadfunc_t
    - void*
    - isc_thread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 125
    functionDepth: 2
    functionLinenumber: 125
    functionLinenumberEnd: 130
    functionName: isc_thread_create
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 10
    functionsReached:
    - pthread_create
    - thread_wrap
    - PTHREADS_RUNTIME_CHECK
    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:134,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - thread
    - resultp
    argTypes:
    - isc_thread_t
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 137
    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:147,1
    - Dst: pthread_setname_np
      Src: /src/bind9/lib/isc/thread.c:149,1
    - Dst: pthread_set_name_np
      Src: /src/bind9/lib/isc/thread.c:152,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/thread.c:154,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/thread.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - thread
    - name
    argTypes:
    - isc_thread_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 157
    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:162,1
    - Dst: pthread_yield
      Src: /src/bind9/lib/isc/thread.c:164,1
    - Dst: pthread_yield_np
      Src: /src/bind9/lib/isc/thread.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 168
    functionName: isc_thread_yield
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 1
    functionsReached:
    - sched_yield
    - pthread_yield
    - pthread_yield_np
    linkageType: ''
    returnType: void
    signature: void isc_thread_yield(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_getstacksize
      Src: /src/bind9/lib/isc/thread.c:175,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 180
    functionName: isc_thread_getstacksize
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 1
    functionsReached:
    - pthread_attr_getstacksize
    - PTHREADS_RUNTIME_CHECK
    linkageType: ''
    returnType: size_t
    signature: size_t isc_thread_getstacksize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pthread_attr_setstacksize
      Src: /src/bind9/lib/isc/thread.c:185,1
    - Dst: PTHREADS_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/thread.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ISC_ATTR_UNUSED
    argTypes:
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: isc_thread_setstacksize
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 6
    functionsReached:
    - pthread_attr_setstacksize
    - PTHREADS_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_thread_setstacksize(size_t stacksize ISC_ATTR_UNUSED)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: create_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:192,1
    - Dst: set_thread_call_rcu_data
      Src: /src/bind9/lib/isc/thread.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: isc__thread_initialize
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - set_thread_call_rcu_data
    - create_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:198,1
    - Dst: call_rcu_data_free
      Src: /src/bind9/lib/isc/thread.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 200
    functionName: isc__thread_shutdown
    functionSourceFile: /src/bind9/lib/isc/thread.c
    functionUses: 0
    functionsReached:
    - set_thread_call_rcu_data
    - call_rcu_data_free
    linkageType: ''
    returnType: void
    signature: void isc__thread_shutdown(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: sigfillset
      Src: /src/bind9/lib/isc/loop.c:58,1
    - Dst: sigaction
      Src: /src/bind9/lib/isc/loop.c:58,1
    - Dst: FATAL_SYSERROR
      Src: /src/bind9/lib/isc/loop.c:59,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sig
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 61
    functionName: ignore_signal
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - sigaction
    - sigfillset
    - FATAL_SYSERROR
    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:66,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:76,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:77,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 79
    functionName: isc_loopmgr_shutdown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 113
    functionsReached:
    - uv_async_send
    - atomic_compare_exchange_strong
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_shutdown(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_loopmgr_shutdown
      Src: /src/bind9/lib/isc/loop.c:86,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/loop.c:89,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - signum
    argTypes:
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: isc__loopmgr_signal
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - isc_loopmgr_shutdown
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void isc__loopmgr_signal(void *arg ISC_ATTR_UNUSED, int signum)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rcu_thread_offline
      Src: /src/bind9/lib/isc/loop.c:97,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/loop.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    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:107,1
    - Dst: rcu_thread_online
      Src: /src/bind9/lib/isc/loop.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 111
    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:115,1
    - Dst: pause_loop
      Src: /src/bind9/lib/isc/loop.c:117,1
    - Dst: resume_loop
      Src: /src/bind9/lib/isc/loop.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 113
    functionDepth: 2
    functionLinenumber: 113
    functionLinenumberEnd: 119
    functionName: pauseresume_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - resume_loop
    - uv_handle_get_data
    - pause_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: 126
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 126
    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:129,1
    - Dst: UV_HANDLE_TYPE_MAP
      Src: /src/bind9/lib/isc/loop.c:134,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/loop.c:136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 139
    functionName: loop_walk_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - fprintf
    - UV_HANDLE_TYPE_MAP
    - 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:143,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/loop.c:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: shutdown_trigger_close_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - isc_loop_detach
    - uv_handle_get_data
    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:150,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_close
      Src: /src/bind9/lib/isc/loop.c:156,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:157,1
    - Dst: uv_walk
      Src: /src/bind9/lib/isc/loop.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 160
    functionName: destroy_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - uv_walk
    - uv_handle_get_data
    - uv_close
    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:164,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/loop.c:168,1
    - Dst: DEFAULT_LOOP
      Src: /src/bind9/lib/isc/loop.c:173,1
    - Dst: CURRENT_LOOP
      Src: /src/bind9/lib/isc/loop.c:173,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:175,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:176,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/lib/isc/loop.c:179,1
    - Dst: isc_signal_destroy
      Src: /src/bind9/lib/isc/loop.c:180,1
    - Dst: __cds_wfcq_splice_blocking
      Src: /src/bind9/lib/isc/loop.c:183,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/loop.c:186,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:187,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_async_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 189
    functionName: shutdown_cb
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 0
    functionsReached:
    - isc_signal_destroy
    - uv_close
    - __cds_wfcq_splice_blocking
    - INSIST
    - isc_signal_stop
    - uv_async_send
    - CURRENT_LOOP
    - uv_handle_get_data
    - DEFAULT_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: 3
    argNames:
    - loop
    - tid
    - kind
    argTypes:
    - isc_loop_t*
    - isc_tid_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 191
    functionDepth: 1
    functionLinenumber: 191
    functionLinenumberEnd: 234
    functionName: loop_init
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 1
    functionsReached:
    - isc_mem_create
    - uv_loop_init
    - isc_refcount_init
    - __cds_wfcq_init
    - uv_prepare_init
    - uv_idle_init
    - uv_handle_set_data
    - uv_async_init
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void loop_init(isc_loop_t *loop, isc_tid_t tid, 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:
    - INSIST
    - cds_wfcq_empty
    - isc_mem_detach
    - uv_loop_close
    - 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:
    - INSIST
    - cds_wfcq_empty
    - ISC_LIST_EMPTY
    - isc_mem_detach
    - uv_loop_close
    - 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:
    - REQUIRE
    - INSIST
    - __cds_wfcq_splice_blocking
    - snprintf
    - uv_async_send
    - isc_thread_setname
    - isc_thread_create
    - uv_run
    - uv_prepare_start
    - isc_barrier_wait
    - isc__tid_init
    - 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:
    - snprintf
    - uv_os_setenv
    - uv_os_getenv
    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:371,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:372,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:385,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_barrier_init
      Src: /src/bind9/lib/isc/loop.c:391,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/loop.c:393,1
    - Dst: loop_init
      Src: /src/bind9/lib/isc/loop.c:397,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/loop.c:400,1
    - Dst: loop_init
      Src: /src/bind9/lib/isc/loop.c:404,1
    - Dst: isc_signal_new
      Src: /src/bind9/lib/isc/loop.c:409,1
    - Dst: isc_signal_new
      Src: /src/bind9/lib/isc/loop.c:410,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:413,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:414,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 2
    argNames:
    - mctx
    - nloops
    argTypes:
    - isc_mem_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 415
    functionName: isc_loopmgr_create
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 5
    functionsReached:
    - threadpool_initialize
    - REQUIRE
    - isc_mem_attach
    - isc_mem_cget
    - isc_barrier_init
    - isc_mem_get
    - isc_signal_new
    - isc_signal_start
    - loop_init
    - isc__tid_initcount
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_create(isc_mem_t *mctx, uint32_t nloops)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:419,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:419,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:420,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/loop.c:423,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/loop.c:429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:431,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:431,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:431,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:432,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/loop.c:434,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: 438
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 438
    functionName: isc_loop_setup
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - VALID_LOOP
    - isc_tid
    - cds_wfcq_enqueue
    - atomic_load
    - cds_wfcq_node_init
    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:442,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:442,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/loop.c:445,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/isc/loop.c:450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:452,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:452,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:452,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:453,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/isc/loop.c:455,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: 459
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 459
    functionName: isc_loop_teardown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 33
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - VALID_LOOP
    - isc_tid
    - cds_wfcq_enqueue
    - atomic_load
    - cds_wfcq_node_init
    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:463,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:463,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:464,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:464,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:465,1
    - Dst: isc_loop_setup
      Src: /src/bind9/lib/isc/loop.c:469,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cb
    - cbarg
    argTypes:
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: isc_loopmgr_setup
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - VALID_LOOPMGR
    - atomic_load
    - isc_loop_setup
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_setup(isc_job_cb cb, void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:475,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:475,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:476,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:476,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:477,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/lib/isc/loop.c:481,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - cb
    - cbarg
    argTypes:
    - isc_job_cb
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 473
    functionDepth: 2
    functionLinenumber: 473
    functionLinenumberEnd: 483
    functionName: isc_loopmgr_teardown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_LOOPMGR
    - atomic_load
    - isc_loop_teardown
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_teardown(isc_job_cb cb, void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:487,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:487,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:488,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:488,1
    - Dst: ignore_signal
      Src: /src/bind9/lib/isc/loop.c:494,1
    - Dst: isc__thread_initialize
      Src: /src/bind9/lib/isc/loop.c:496,1
    - Dst: isc_thread_create
      Src: /src/bind9/lib/isc/loop.c:505,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/loop.c:507,1
    - Dst: isc_thread_setname
      Src: /src/bind9/lib/isc/loop.c:508,1
    - Dst: isc_thread_main
      Src: /src/bind9/lib/isc/loop.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 512
      start: 485
    functionDepth: 3
    functionLinenumber: 485
    functionLinenumberEnd: 512
    functionName: isc_loopmgr_run
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 25
    functionsReached:
    - REQUIRE
    - RUNTIME_CHECK
    - isc_thread_main
    - snprintf
    - VALID_LOOPMGR
    - isc_thread_setname
    - isc__thread_initialize
    - isc_thread_create
    - ignore_signal
    - atomic_compare_exchange_strong
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_run(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:516,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:516,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:517,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:517,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:519,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:519,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:520,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:521,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:528,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:529,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:536,1
    - Dst: uv_async_send
      Src: /src/bind9/lib/isc/loop.c:540,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:541,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:544,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:544,1
    - Dst: pause_loop
      Src: /src/bind9/lib/isc/loop.c:546,1
    - Dst: CURRENT_LOOP
      Src: /src/bind9/lib/isc/loop.c:546,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:548,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:548,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:549,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:550,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 514
    functionDepth: 2
    functionLinenumber: 514
    functionLinenumberEnd: 552
    functionName: isc_loopmgr_pause
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - RUNTIME_CHECK
    - isc_tid
    - isc_log_write
    - VALID_LOOPMGR
    - ISC_LOG_DEBUG
    - uv_async_send
    - CURRENT_LOOP
    - pause_loop
    - isc_log_wouldlog
    - atomic_compare_exchange_strong
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_pause(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:556,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:556,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:558,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:558,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:559,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:560,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:563,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:563,1
    - Dst: resume_loop
      Src: /src/bind9/lib/isc/loop.c:565,1
    - Dst: CURRENT_LOOP
      Src: /src/bind9/lib/isc/loop.c:565,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/loop.c:567,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:567,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/loop.c:568,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/loop.c:569,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 554
    functionDepth: 2
    functionLinenumber: 554
    functionLinenumberEnd: 571
    functionName: isc_loopmgr_resume
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 16
    functionsReached:
    - REQUIRE
    - resume_loop
    - RUNTIME_CHECK
    - isc_log_write
    - VALID_LOOPMGR
    - ISC_LOG_DEBUG
    - CURRENT_LOOP
    - isc_log_wouldlog
    - atomic_compare_exchange_strong
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_resume(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:575,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:575,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/loop.c:577,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 578
    functionName: isc_loopmgr_paused
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_LOOPMGR
    - atomic_load
    linkageType: ''
    returnType: bool
    signature: bool isc_loopmgr_paused(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/loop.c:584,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/isc/loop.c:584,1
    - Dst: isc_thread_join
      Src: /src/bind9/lib/isc/loop.c:592,1
    - Dst: isc_thread_join
      Src: /src/bind9/lib/isc/loop.c:598,1
    - Dst: helper_close
      Src: /src/bind9/lib/isc/loop.c:605,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/loop.c:607,1
    - Dst: loop_close
      Src: /src/bind9/lib/isc/loop.c:612,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/loop.c:614,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_barrier_destroy
      Src: /src/bind9/lib/isc/loop.c:620,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/loop.c:622,1
    - Dst: isc__thread_shutdown
      Src: /src/bind9/lib/isc/loop.c:624,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 580
    functionDepth: 2
    functionLinenumber: 580
    functionLinenumberEnd: 625
    functionName: isc_loopmgr_destroy
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 5
    functionsReached:
    - isc_barrier_destroy
    - isc_mem_cput
    - isc__thread_shutdown
    - loop_close
    - RUNTIME_CHECK
    - isc_mem_putanddetach
    - isc_thread_join
    - atomic_compare_exchange_strong
    - helper_close
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:629,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 632
    functionName: isc_loopmgr_nloops
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - VALID_LOOPMGR
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_loopmgr_nloops(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:636,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 639
    functionName: isc_loop_getmctx
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_LOOP
    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:643,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:643,1
    - Dst: DEFAULT_LOOP
      Src: /src/bind9/lib/isc/loop.c:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 641
    functionDepth: 1
    functionLinenumber: 641
    functionLinenumberEnd: 646
    functionName: isc_loop_main
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 83
    functionsReached:
    - REQUIRE
    - VALID_LOOPMGR
    - DEFAULT_LOOP
    linkageType: ''
    returnType: isc_loop_t
    signature: 'isc_loop_t *

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

      isc_loop_get(isc_tid_t tid)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:658,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:658,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:660,1
    - Dst: isc_signal_stop
      Src: /src/bind9/lib/isc/loop.c:661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 662
      start: 656
    functionDepth: 1
    functionLinenumber: 656
    functionLinenumberEnd: 662
    functionName: isc_loopmgr_blocking
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 6
    functionsReached:
    - isc_signal_stop
    - REQUIRE
    - VALID_LOOPMGR
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_blocking(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:666,1
    - Dst: VALID_LOOPMGR
      Src: /src/bind9/lib/isc/loop.c:666,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:668,1
    - Dst: isc_signal_start
      Src: /src/bind9/lib/isc/loop.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 664
    functionDepth: 1
    functionLinenumber: 664
    functionLinenumberEnd: 670
    functionName: isc_loopmgr_nonblocking
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_LOOPMGR
    - isc_signal_start
    linkageType: ''
    returnType: void
    signature: void isc_loopmgr_nonblocking(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:674,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:674,1
    - Dst: uv_now
      Src: /src/bind9/lib/isc/loop.c:676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 683
    functionName: isc_loop_now
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - uv_now
    - VALID_LOOP
    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:687,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:687,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:688,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/loop.c:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 691
    functionName: isc_loop_shuttingdown
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 2
    functionsReached:
    - isc_tid
    - REQUIRE
    - VALID_LOOP
    linkageType: ''
    returnType: bool
    signature: bool isc_loop_shuttingdown(isc_loop_t *loop)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/loop.c:695,1
    - Dst: VALID_LOOP
      Src: /src/bind9/lib/isc/loop.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - loop
    argTypes:
    - isc_loop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 693
    functionDepth: 1
    functionLinenumber: 693
    functionLinenumberEnd: 698
    functionName: isc_loop_helper
    functionSourceFile: /src/bind9/lib/isc/loop.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_LOOP
    linkageType: ''
    returnType: isc_loop_t
    signature: 'isc_loop_t *

      isc_loop_helper(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: 1
    functionsReached:
    - memmove
    - backtrace
    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: 1
    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
    - isc_backtrace_symbols
    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: 2
    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: 1
    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_add
    - isc_buffer_init
    - isc_proxy2_handler_setcb
    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_mem_attach
    - REQUIRE
    - isc__proxy2_handler_init_direct
    - isc_buffer_setmctx
    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:
    - REQUIRE
    - INSIST
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - isc_mem_detach
    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:
    - REQUIRE
    - isc_buffer_clear
    - isc_buffer_trycompact
    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:
    - REQUIRE
    - isc_proxy2_handler_init
    - isc_mem_get
    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
    - REQUIRE
    - isc_mem_putanddetach
    - isc_proxy2_handler_uninit
    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:
    - isc_proxy2_handler_t*::cb
    - proxy2_socktype_to_socktype
    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__proxy2_handler_error
    - INSIST
    - isc_buffer_forward
    - ISC_MIN
    - memcmp
    - isc_buffer_remainingregion
    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_getuint8
    - isc_buffer_getuint16
    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:
    - isc_sockaddr_fromin
    - isc_buffer_current
    - INSIST
    - isc_buffer_forward
    - isc_buffer_getuint16
    - UNREACHABLE
    - isc_sockaddr_fromin6
    - memchr
    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__proxy2_handler_error
    - isc__proxy2_handler_callcb
    - isc_buffer_forward
    - isc__proxy2_handler_get_addresses
    - isc_buffer_remainingregion
    - 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_handle_signature
    - isc__proxy2_handler_error
    - isc__proxy2_handler_handle_header
    - isc_buffer_remaininglength
    - isc__proxy2_handler_handle_payload
    - UNREACHABLE
    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:
    - REQUIRE
    - isc__proxy2_handler_process_data
    - isc_buffer_putmem
    - INSIST
    - 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:
    - REQUIRE
    - isc_proxy2_handler_push_data
    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:
    - REQUIRE
    - isc_buffer_base
    - proxy2_payload_is_processed
    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:
    - REQUIRE
    - SET_IF_NOT_NULL
    - proxy2_payload_is_processed
    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:
    - REQUIRE
    - SET_IF_NOT_NULL
    - proxy2_payload_is_processed
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:680,1
    - Dst: proxy2_payload_is_processed
      Src: /src/bind9/lib/isc/proxy2.c:682,1
    - Dst: isc_proxy2_handler_header
      Src: /src/bind9/lib/isc/proxy2.c:686,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:687,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/proxy2.c:689,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/proxy2.c:690,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:691,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:693,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/proxy2.c:695,1
    - Dst: isc__proxy2_handler_get_addresses
      Src: /src/bind9/lib/isc/proxy2.c:695,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:698,1
    - Dst: proxy2_socktype_to_socktype
      Src: /src/bind9/lib/isc/proxy2.c:699,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    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: 702
      start: 671
    functionDepth: 3
    functionLinenumber: 671
    functionLinenumberEnd: 702
    functionName: isc_proxy2_handler_addresses
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - proxy2_payload_is_processed
    - INSIST
    - isc_buffer_forward
    - RUNTIME_CHECK
    - SET_IF_NOT_NULL
    - isc__proxy2_handler_get_addresses
    - isc_buffer_add
    - RETERR
    - proxy2_socktype_to_socktype
    - isc_proxy2_handler_header
    - isc_buffer_init
    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:722,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:723,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/proxy2.c:725,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/proxy2.c:726,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/proxy2.c:728,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/isc/proxy2.c:740,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/isc/proxy2.c:741,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/proxy2.c:748,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/proxy2.c:750,1
    - Dst: cb
      Src: /src/bind9/lib/isc/proxy2.c:752,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: 759
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 759
    functionName: isc_proxy2_tlv_iterate
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_buffer_current
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc_buffer_getuint8
    - isc_buffer_add
    - cb
    - isc_buffer_getuint16
    - isc_buffer_init
    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:774,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: 779
      start: 768
    functionDepth: 0
    functionLinenumber: 768
    functionLinenumberEnd: 779
    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:798,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:799,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:800,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/proxy2.c:812,1
    - Dst: ntohl
      Src: /src/bind9/lib/isc/proxy2.c:813,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:815,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/proxy2.c:816,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: 819
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 819
    functionName: isc_proxy2_subtlv_tls_header_data
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - ntohl
    - REQUIRE
    - memmove
    - SET_IF_NOT_NULL
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:831,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:832,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/proxy2.c:838,1
    - Dst: isc_proxy2_subtlv_tls_header_data
      Src: /src/bind9/lib/isc/proxy2.c:838,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/lib/isc/proxy2.c:855,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - tls_tlv_data
    - cb
    - cbarg
    argTypes:
    - isc_region_t*
    - isc_proxy2_tls_subtlv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 821
    functionDepth: 2
    functionLinenumber: 821
    functionLinenumberEnd: 860
    functionName: isc_proxy2_subtlv_tls_iterate
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - RETERR
    - isc_proxy2_subtlv_tls_header_data
    - isc_proxy2_tlv_iterate
    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:877,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/proxy2.c:878,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: 909
      start: 867
    functionDepth: 0
    functionLinenumber: 867
    functionLinenumberEnd: 909
    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:960,1
    - Dst: isc_proxy2_subtlv_tls_iterate
      Src: /src/bind9/lib/isc/proxy2.c:966,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: 1031
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 1031
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/proxy2.c:1037,1
    - Dst: isc_proxy2_tlv_iterate
      Src: /src/bind9/lib/isc/proxy2.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tlv_data
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1033
    functionDepth: 2
    functionLinenumber: 1033
    functionLinenumberEnd: 1041
    functionName: isc_proxy2_tlv_data_verify
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 5
    functionsReached:
    - isc_proxy2_tlv_iterate
    - RETERR
    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:1050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1051,1
    - Dst: isc__proxy2_handler_init_direct
      Src: /src/bind9/lib/isc/proxy2.c:1053,1
    - Dst: isc__proxy2_handler_process_data
      Src: /src/bind9/lib/isc/proxy2.c:1055,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: 1058
      start: 1043
    functionDepth: 7
    functionLinenumber: 1043
    functionLinenumberEnd: 1058
    functionName: isc_proxy2_header_handle_directly
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc__proxy2_handler_init_direct
    - isc__proxy2_handler_process_data
    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:1112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1116,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/proxy2.c:1117,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/proxy2.c:1117,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/proxy2.c:1127,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1179,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1200,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/proxy2.c:1203,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/proxy2.c:1205,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/isc/proxy2.c:1207,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1211,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1215,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/isc/proxy2.c:1220,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/proxy2.c:1220,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/isc/proxy2.c:1221,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/proxy2.c:1221,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1225,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: 1229
      start: 1060
    functionDepth: 2
    functionLinenumber: 1060
    functionLinenumberEnd: 1229
    functionName: isc_proxy2_make_header
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_buffer_putmem
    - isc_sockaddr_getport
    - isc_buffer_putuint16
    - isc_buffer_availablelength
    - isc_sockaddr_pf
    - isc_buffer_putuint8
    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:1238,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/proxy2.c:1240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1243,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1245,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/proxy2.c:1251,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/proxy2.c:1251,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/proxy2.c:1256,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/proxy2.c:1257,1
    - Dst: htons
      Src: /src/bind9/lib/isc/proxy2.c:1265,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/proxy2.c:1266,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1268,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - outbuf
    - data
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1271
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1271
    functionName: isc_proxy2_header_append
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - isc_buffer_putmem
    - memcmp
    - isc_buffer_availablelength
    - isc_buffer_usedregion
    - ntohs
    - htons
    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:1281,1
    - Dst: isc_proxy2_header_append
      Src: /src/bind9/lib/isc/proxy2.c:1286,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:1288,1
    - Dst: isc_proxy2_header_append
      Src: /src/bind9/lib/isc/proxy2.c:1289,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:1290,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1292,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1293,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: 1296
      start: 1273
    functionDepth: 2
    functionLinenumber: 1273
    functionLinenumberEnd: 1296
    functionName: append_type_and_length
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - htons
    - isc_buffer_putmem
    - isc_proxy2_header_append
    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:1303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1304,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1318,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/proxy2.c:1320,1
    - Dst: append_type_and_length
      Src: /src/bind9/lib/isc/proxy2.c:1325,1
    - Dst: isc_proxy2_header_append
      Src: /src/bind9/lib/isc/proxy2.c:1329,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/proxy2.c:1331,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: 1335
      start: 1298
    functionDepth: 3
    functionLinenumber: 1298
    functionLinenumberEnd: 1335
    functionName: isc_proxy2_header_append_tlv
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_proxy2_header_append
    - isc_buffer_usedlength
    - RUNTIME_CHECK
    - isc_buffer_availablelength
    - append_type_and_length
    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:1344,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/proxy2.c:1347,1
    - Dst: isc_proxy2_header_append_tlv
      Src: /src/bind9/lib/isc/proxy2.c:1349,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: 1352
      start: 1337
    functionDepth: 4
    functionLinenumber: 1337
    functionLinenumberEnd: 1352
    functionName: isc_proxy2_header_append_tlv_string
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_header_append_tlv
    - REQUIRE
    - strlen
    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:1361,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1367,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/proxy2.c:1373,1
    - Dst: htonl
      Src: /src/bind9/lib/isc/proxy2.c:1374,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1375,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1379,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: 1384
      start: 1354
    functionDepth: 1
    functionLinenumber: 1354
    functionLinenumberEnd: 1384
    functionName: isc_proxy2_make_tls_subheader
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_buffer_putmem
    - isc_buffer_availablelength
    - isc_buffer_putuint8
    - htonl
    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:1390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/proxy2.c:1391,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/proxy2.c:1395,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/proxy2.c:1397,1
    - Dst: append_type_and_length
      Src: /src/bind9/lib/isc/proxy2.c:1403,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/proxy2.c:1407,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: 1411
      start: 1386
    functionDepth: 3
    functionLinenumber: 1386
    functionLinenumberEnd: 1411
    functionName: isc_proxy2_append_tlv
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_buffer_putmem
    - isc_buffer_usedlength
    - isc_buffer_availablelength
    - append_type_and_length
    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:1419,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/proxy2.c:1422,1
    - Dst: isc_proxy2_append_tlv
      Src: /src/bind9/lib/isc/proxy2.c:1424,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: 1427
      start: 1413
    functionDepth: 4
    functionLinenumber: 1413
    functionLinenumberEnd: 1427
    functionName: isc_proxy2_append_tlv_string
    functionSourceFile: /src/bind9/lib/isc/proxy2.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - strlen
    - 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:
    - X509_STORE_up_ref
    - SSL_CTX_set_cert_store
    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: EVP_MD_CTX_new
      Src: /src/bind9/lib/isc/md.c:28,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/md.c:29,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 26
    functionDepth: 1
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: isc_md_new
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - EVP_MD_CTX_new
    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:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 40
    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:46,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:47,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/isc/md.c:54,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - md
    - type
    argTypes:
    - isc_md_t*
    - isc_md_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 42
    functionDepth: 1
    functionLinenumber: 42
    functionLinenumberEnd: 60
    functionName: isc_md_init
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 4
    functionsReached:
    - EVP_DigestInit_ex
    - REQUIRE
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_md_init(isc_md_t *md, isc_md_type_t type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:64,1
    - Dst: EVP_MD_CTX_reset
      Src: /src/bind9/lib/isc/md.c:66,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 72
    functionName: isc_md_reset
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 4
    functionsReached:
    - EVP_MD_CTX_reset
    - REQUIRE
    - ERR_clear_error
    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:76,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/isc/md.c:82,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:83,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: 88
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 88
    functionName: isc_md_update
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - ERR_clear_error
    - EVP_DigestUpdate
    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:92,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/md.c:93,1
    - Dst: EVP_DigestFinal_ex
      Src: /src/bind9/lib/isc/md.c:95,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/md.c:96,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: 101
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 101
    functionName: isc_md_final
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - ERR_clear_error
    - 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:105,1
    - Dst: EVP_MD_CTX_size
      Src: /src/bind9/lib/isc/md.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 108
    functionName: isc_md_get_size
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_size
    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:112,1
    - Dst: EVP_MD_CTX_block_size
      Src: /src/bind9/lib/isc/md.c:114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - md
    argTypes:
    - isc_md_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 115
    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: REQUIRE
      Src: /src/bind9/lib/isc/md.c:121,1
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/isc/md.c:122,1
    - Dst: EVP_MD_block_size
      Src: /src/bind9/lib/isc/md.c:128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_md_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 132
    functionName: isc_md_type_get_block_size
    functionSourceFile: /src/bind9/lib/isc/md.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_block_size
    - STATIC_ASSERT
    linkageType: ''
    returnType: size_t
    signature: size_t isc_md_type_get_block_size(isc_md_type_t type)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_new
      Src: /src/bind9/lib/isc/md.c:140,1
    - Dst: isc_md_init
      Src: /src/bind9/lib/isc/md.c:142,1
    - Dst: isc_md_update
      Src: /src/bind9/lib/isc/md.c:147,1
    - Dst: isc_md_final
      Src: /src/bind9/lib/isc/md.c:152,1
    - Dst: isc_md_free
      Src: /src/bind9/lib/isc/md.c:157,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 5
    argNames:
    - type
    - buf
    - len
    - digest
    - digestlen
    argTypes:
    - isc_md_type_t
    - unsigned char*
    - size_t
    - unsigned char*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 2
    functionLinenumber: 134
    functionLinenumberEnd: 160
    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(isc_md_type_t 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__mutex_initialize
    - isc__crypto_initialize
    - isc__xml_initialize
    - rcu_register_thread
    - isc__uv_initialize
    - isc__log_initialize
    - isc__iterated_hash_initialize
    - isc_os_ncpus
    - isc__os_initialize
    - isc__mem_initialize
    - isc__hash_initialize
    - isc_refcount_increment0
    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:
    - rcu_barrier
    - rcu_unregister_thread
    - isc_refcount_decrement
    - isc__mem_shutdown
    - isc__mutex_shutdown
    - isc__log_shutdown
    - isc__crypto_shutdown
    - isc__iterated_hash_shutdown
    - isc__os_shutdown
    - isc__uv_shutdown
    - isc__xml_shutdown
    linkageType: ''
    returnType: void
    signature: void isc__lib_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:
    - fileno
    - fprintf
    - isc_backtrace_symbols_fd
    - fflush
    - isc_backtrace
    - isc_assertion_typetotext
    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:62,1
    - Dst: SSL_CTX_free
      Src: /src/bind9/lib/isc/tls.c:67,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 68
    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:72,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:73,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:75,1
    - Dst: SSL_CTX_up_ref
      Src: /src/bind9/lib/isc/tls.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - src
    - ptarget
    argTypes:
    - isc_tlsctx_t*
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 70
    functionDepth: 1
    functionLinenumber: 70
    functionLinenumberEnd: 78
    functionName: isc_tlsctx_attach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_CTX_up_ref
    - 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:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - line
    argTypes:
    - SSL*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 88
    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:97,1
    - Dst: SSL_CTX_set_keylog_callback
      Src: /src/bind9/lib/isc/tls.c:98,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 100
    functionName: sslkeylogfile_init
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - SSL_CTX_set_keylog_callback
    - getenv
    linkageType: ''
    returnType: void
    signature: void sslkeylogfile_init(isc_tlsctx_t *ctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:109,1
    - Dst: TLS_client_method
      Src: /src/bind9/lib/isc/tls.c:111,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:115,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:120,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/bind9/lib/isc/tls.c:122,1
    - Dst: sslkeylogfile_init
      Src: /src/bind9/lib/isc/tls.c:124,1
    - Dst: ERR_get_error
      Src: /src/bind9/lib/isc/tls.c:131,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:132,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:133,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ctxp
    argTypes:
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 102
    functionDepth: 2
    functionLinenumber: 102
    functionLinenumberEnd: 138
    functionName: isc_tlsctx_createclient
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - SSL_CTX_set_min_proto_version
    - ERR_error_string_n
    - TLS_client_method
    - sslkeylogfile_init
    - isc_log_write
    - ERR_get_error
    - SSL_CTX_set_options
    - SSL_CTX_new
    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:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:146,1
    - Dst: SSL_CTX_use_certificate_chain_file
      Src: /src/bind9/lib/isc/tls.c:148,1
    - Dst: ERR_peek_last_error
      Src: /src/bind9/lib/isc/tls.c:150,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:152,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:153,1
    - Dst: SSL_CTX_use_PrivateKey_file
      Src: /src/bind9/lib/isc/tls.c:160,1
    - Dst: ERR_peek_last_error
      Src: /src/bind9/lib/isc/tls.c:162,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:164,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - ctx
    - keyfile
    - certfile
    argTypes:
    - isc_tlsctx_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 173
    functionName: isc_tlsctx_load_certificate
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ERR_error_string_n
    - ERR_peek_last_error
    - isc_log_write
    - SSL_CTX_use_PrivateKey_file
    - SSL_CTX_use_certificate_chain_file
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:188,1
    - Dst: TLS_server_method
      Src: /src/bind9/lib/isc/tls.c:190,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:194,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:198,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:200,1
    - Dst: SSL_CTX_set_min_proto_version
      Src: /src/bind9/lib/isc/tls.c:202,1
    - Dst: isc_ossl_wrap_generate_p256_key
      Src: /src/bind9/lib/isc/tls.c:205,1
    - Dst: X509_new
      Src: /src/bind9/lib/isc/tls.c:209,1
    - Dst: ASN1_INTEGER_set
      Src: /src/bind9/lib/isc/tls.c:214,1
    - Dst: X509_get_serialNumber
      Src: /src/bind9/lib/isc/tls.c:214,1
    - Dst: isc_random32
      Src: /src/bind9/lib/isc/tls.c:215,1
    - Dst: X509_gmtime_adj
      Src: /src/bind9/lib/isc/tls.c:221,1
    - Dst: X509_getm_notBefore
      Src: /src/bind9/lib/isc/tls.c:221,1
    - Dst: X509_gmtime_adj
      Src: /src/bind9/lib/isc/tls.c:226,1
    - Dst: X509_getm_notAfter
      Src: /src/bind9/lib/isc/tls.c:226,1
    - Dst: X509_set_pubkey
      Src: /src/bind9/lib/isc/tls.c:228,1
    - Dst: X509_NAME_dup
      Src: /src/bind9/lib/isc/tls.c:230,1
    - Dst: X509_get_subject_name
      Src: /src/bind9/lib/isc/tls.c:230,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/bind9/lib/isc/tls.c:232,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/bind9/lib/isc/tls.c:235,1
    - Dst: X509_NAME_add_entry_by_txt
      Src: /src/bind9/lib/isc/tls.c:240,1
    - Dst: X509_set_issuer_name
      Src: /src/bind9/lib/isc/tls.c:244,1
    - Dst: X509_NAME_free
      Src: /src/bind9/lib/isc/tls.c:246,1
    - Dst: X509_sign
      Src: /src/bind9/lib/isc/tls.c:248,1
    - Dst: SSL_CTX_use_certificate
      Src: /src/bind9/lib/isc/tls.c:249,1
    - Dst: SSL_CTX_use_PrivateKey
      Src: /src/bind9/lib/isc/tls.c:253,1
    - Dst: X509_free
      Src: /src/bind9/lib/isc/tls.c:258,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:259,1
    - Dst: isc_tlsctx_load_certificate
      Src: /src/bind9/lib/isc/tls.c:262,1
    - Dst: sslkeylogfile_init
      Src: /src/bind9/lib/isc/tls.c:268,1
    - Dst: ERR_get_error
      Src: /src/bind9/lib/isc/tls.c:274,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:275,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/tls.c:276,1
    - Dst: SSL_CTX_free
      Src: /src/bind9/lib/isc/tls.c:281,1
    - Dst: X509_free
      Src: /src/bind9/lib/isc/tls.c:284,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:287,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 73
    argCount: 3
    argNames:
    - keyfile
    - certfile
    - ctxp
    argTypes:
    - char*
    - char*
    - isc_tlsctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 291
    functionName: isc_tlsctx_createserver
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - TLS_server_method
    - X509_gmtime_adj
    - X509_set_pubkey
    - X509_NAME_free
    - sslkeylogfile_init
    - SSL_CTX_set_options
    - isc_tlsctx_load_certificate
    - SSL_CTX_new
    - EVP_PKEY_free
    - RUNTIME_CHECK
    - X509_free
    - X509_get_serialNumber
    - X509_sign
    - SSL_CTX_free
    - SSL_CTX_use_PrivateKey
    - isc_random32
    - X509_getm_notAfter
    - ERR_get_error
    - X509_new
    - X509_NAME_add_entry_by_txt
    - X509_get_subject_name
    - X509_set_issuer_name
    - ERR_error_string_n
    - isc_log_write
    - SSL_CTX_set_min_proto_version
    - SSL_CTX_use_certificate
    - ASN1_INTEGER_set
    - X509_NAME_dup
    - X509_getm_notBefore
    - isc_ossl_wrap_generate_p256_key
    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:313,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - tls_ver
    argTypes:
    - isc_tls_protocol_version_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 318
    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:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tls_ver
    argTypes:
    - isc_tls_protocol_version_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 323
    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:327,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isc/tls.c:329,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isc/tls.c:331,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 336
    functionName: isc_tls_protocol_name_to_version
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - strcasecmp
    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:340,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:341,1
    - Dst: get_tls_version_disable_bit
      Src: /src/bind9/lib/isc/tls.c:365,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:375,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/lib/isc/tls.c:375,1
    - Dst: get_tls_version_disable_bit
      Src: /src/bind9/lib/isc/tls.c:376,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:385,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:387,1
    - Dst: SSL_CTX_clear_options
      Src: /src/bind9/lib/isc/tls.c:388,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - ctx
    - tls_versions
    argTypes:
    - isc_tlsctx_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 338
    functionDepth: 3
    functionLinenumber: 338
    functionLinenumberEnd: 389
    functionName: isc_tlsctx_set_protocols
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_tls_protocol_supported
    - INSIST
    - get_tls_version_disable_bit
    - SSL_CTX_clear_options
    - 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:393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:395,1
    - Dst: fopen
      Src: /src/bind9/lib/isc/tls.c:402,1
    - Dst: PEM_read_DHparams
      Src: /src/bind9/lib/isc/tls.c:406,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/tls.c:407,1
    - Dst: DH_check
      Src: /src/bind9/lib/isc/tls.c:411,1
    - Dst: DH_free
      Src: /src/bind9/lib/isc/tls.c:412,1
    - Dst: SSL_CTX_set_tmp_dh
      Src: /src/bind9/lib/isc/tls.c:419,1
    - Dst: DH_free
      Src: /src/bind9/lib/isc/tls.c:420,1
    - Dst: DH_free
      Src: /src/bind9/lib/isc/tls.c:424,1
    - Dst: BIO_new_file
      Src: /src/bind9/lib/isc/tls.c:430,1
    - Dst: PEM_read_bio_Parameters
      Src: /src/bind9/lib/isc/tls.c:435,1
    - Dst: BIO_free
      Src: /src/bind9/lib/isc/tls.c:437,1
    - Dst: SSL_CTX_set0_tmp_dh_pkey
      Src: /src/bind9/lib/isc/tls.c:441,1
    - Dst: BIO_free
      Src: /src/bind9/lib/isc/tls.c:442,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/tls.c:443,1
    - Dst: BIO_free
      Src: /src/bind9/lib/isc/tls.c:450,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 2
    argNames:
    - ctx
    - dhparams_file
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 454
    functionName: isc_tlsctx_load_dhparams
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - PEM_read_bio_Parameters
    - SSL_CTX_set_tmp_dh
    - fopen
    - BIO_new_file
    - SSL_CTX_set0_tmp_dh_pkey
    - BIO_free
    - DH_check
    - PEM_read_DHparams
    - fclose
    - DH_free
    - EVP_PKEY_free
    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:461,1
    - Dst: TLS_server_method
      Src: /src/bind9/lib/isc/tls.c:467,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:471,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/bind9/lib/isc/tls.c:476,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/tls.c:478,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cipherlist
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 456
    functionDepth: 2
    functionLinenumber: 456
    functionLinenumberEnd: 481
    functionName: isc_tls_cipherlist_valid
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - TLS_server_method
    - SSL_CTX_set_cipher_list
    - isc_tlsctx_free
    - SSL_CTX_new
    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:485,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:487,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:489,1
    - Dst: SSL_CTX_set_cipher_list
      Src: /src/bind9/lib/isc/tls.c:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cipherlist
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 483
    functionDepth: 1
    functionLinenumber: 483
    functionLinenumberEnd: 490
    functionName: isc_tlsctx_set_cipherlist
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_CTX_set_cipher_list
    - 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:497,1
    - Dst: TLS_server_method
      Src: /src/bind9/lib/isc/tls.c:503,1
    - Dst: SSL_CTX_new
      Src: /src/bind9/lib/isc/tls.c:507,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/bind9/lib/isc/tls.c:512,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/tls.c:514,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - cipher_suites
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 492
    functionDepth: 2
    functionLinenumber: 492
    functionLinenumberEnd: 517
    functionName: isc_tls_cipher_suites_valid
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_tlsctx_free
    - TLS_server_method
    - SSL_CTX_set_ciphersuites
    - SSL_CTX_new
    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:521,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:522,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:523,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:525,1
    - Dst: SSL_CTX_set_ciphersuites
      Src: /src/bind9/lib/isc/tls.c:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ctx
    - cipher_suites
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: isc_tlsctx_set_cipher_suites
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_CTX_set_ciphersuites
    - 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:530,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:533,1
    - Dst: SSL_CTX_clear_options
      Src: /src/bind9/lib/isc/tls.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - prefer
    argTypes:
    - isc_tlsctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 528
    functionDepth: 1
    functionLinenumber: 528
    functionLinenumberEnd: 538
    functionName: isc_tlsctx_prefer_server_ciphers
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_CTX_clear_options
    - 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:542,1
    - Dst: SSL_CTX_set_options
      Src: /src/bind9/lib/isc/tls.c:545,1
    - Dst: SSL_CTX_clear_options
      Src: /src/bind9/lib/isc/tls.c:547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - ctx
    - use
    argTypes:
    - isc_tlsctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 549
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 549
    functionName: isc_tlsctx_session_tickets
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_CTX_clear_options
    - 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:555,1
    - Dst: SSL_new
      Src: /src/bind9/lib/isc/tls.c:557,1
    - Dst: ERR_get_error
      Src: /src/bind9/lib/isc/tls.c:560,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/tls.c:562,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/tls.c:563,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 568
      start: 551
    functionDepth: 1
    functionLinenumber: 551
    functionLinenumberEnd: 568
    functionName: isc_tls_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ERR_error_string_n
    - fprintf
    - ERR_get_error
    - SSL_new
    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:573,1
    - Dst: SSL_free
      Src: /src/bind9/lib/isc/tls.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - tlsp
    argTypes:
    - isc_tls_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 578
      start: 570
    functionDepth: 1
    functionLinenumber: 570
    functionLinenumberEnd: 578
    functionName: isc_tls_free
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_free
    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:582,1
    - Dst: X509_verify_cert_error_string
      Src: /src/bind9/lib/isc/tls.c:584,1
    - Dst: SSL_get_verify_result
      Src: /src/bind9/lib/isc/tls.c:584,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tls
    argTypes:
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 585
    functionName: isc_tls_verify_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - X509_verify_cert_error_string
    - SSL_get_verify_result
    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:595,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:596,1
    - Dst: nghttp2_select_next_protocol
      Src: /src/bind9/lib/isc/tls.c:598,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: 602
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 602
    functionName: select_next_proto_cb
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - nghttp2_select_next_protocol
    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:607,1
    - Dst: SSL_CTX_set_next_proto_select_cb
      Src: /src/bind9/lib/isc/tls.c:610,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/bind9/lib/isc/tls.c:613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 605
    functionDepth: 1
    functionLinenumber: 605
    functionLinenumberEnd: 615
    functionName: isc_tlsctx_enable_http2client_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 2
    functionsReached:
    - SSL_CTX_set_next_proto_select_cb
    - REQUIRE
    - SSL_CTX_set_alpn_protos
    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:621,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:622,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: 627
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 627
    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:635,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:636,1
    - Dst: nghttp2_select_next_protocol
      Src: /src/bind9/lib/isc/tls.c:638,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: 646
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 646
    functionName: alpn_select_proto_cb
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - nghttp2_select_next_protocol
    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:650,1
    - Dst: SSL_CTX_set_next_protos_advertised_cb
      Src: /src/bind9/lib/isc/tls.c:653,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/bind9/lib/isc/tls.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - tls
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 656
    functionName: isc_tlsctx_enable_http2server_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - SSL_CTX_set_alpn_select_cb
    - SSL_CTX_set_next_protos_advertised_cb
    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:662,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:663,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:664,1
    - Dst: SSL_get0_next_proto_negotiated
      Src: /src/bind9/lib/isc/tls.c:667,1
    - Dst: SSL_get0_alpn_selected
      Src: /src/bind9/lib/isc/tls.c:670,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: 672
      start: 659
    functionDepth: 1
    functionLinenumber: 659
    functionLinenumberEnd: 672
    functionName: isc_tls_get_selected_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_get0_alpn_selected
    - SSL_get0_next_proto_negotiated
    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:679,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: 686
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 686
    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:695,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: 698
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 698
    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:702,1
    - Dst: SSL_CTX_set_alpn_protos
      Src: /src/bind9/lib/isc/tls.c:704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 706
    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:714,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:715,1
    - Dst: dot_select_next_protocol
      Src: /src/bind9/lib/isc/tls.c:717,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: 724
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 724
    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:728,1
    - Dst: SSL_CTX_set_alpn_select_cb
      Src: /src/bind9/lib/isc/tls.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tls
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 731
      start: 726
    functionDepth: 1
    functionLinenumber: 726
    functionLinenumberEnd: 731
    functionName: isc_tlsctx_enable_dot_server_alpn
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_CTX_set_alpn_select_cb
    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:739,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:740,1
    - Dst: SSL_CTX_get0_param
      Src: /src/bind9/lib/isc/tls.c:746,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/tls.c:750,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/tls.c:751,1
    - Dst: X509_VERIFY_PARAM_set1_ip_asc
      Src: /src/bind9/lib/isc/tls.c:753,1
    - Dst: X509_VERIFY_PARAM_set1_host
      Src: /src/bind9/lib/isc/tls.c:756,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:759,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/tls.c:781,1
    - Dst: X509_VERIFY_PARAM_set_hostflags
      Src: /src/bind9/lib/isc/tls.c:783,1
    - Dst: SSL_CTX_set1_cert_store
      Src: /src/bind9/lib/isc/tls.c:787,1
    - Dst: SSL_CTX_set_verify
      Src: /src/bind9/lib/isc/tls.c:791,1
    - Dst: SSL_CTX_set_verify
      Src: /src/bind9/lib/isc/tls.c:796,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: 800
      start: 733
    functionDepth: 1
    functionLinenumber: 733
    functionLinenumberEnd: 800
    functionName: isc_tlsctx_enable_peer_verification
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UNUSED
    - SSL_CTX_set1_cert_store
    - X509_VERIFY_PARAM_set_hostflags
    - inet_pton
    - SSL_CTX_get0_param
    - X509_VERIFY_PARAM_set1_host
    - X509_VERIFY_PARAM_set1_ip_asc
    - ERR_clear_error
    - SSL_CTX_set_verify
    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:804,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:805,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:806,1
    - Dst: SSL_load_client_CA_file
      Src: /src/bind9/lib/isc/tls.c:808,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:810,1
    - Dst: SSL_CTX_set_client_CA_list
      Src: /src/bind9/lib/isc/tls.c:814,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - ctx
    - ca_bundle_file
    argTypes:
    - isc_tlsctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 817
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 817
    functionName: isc_tlsctx_load_client_ca_names
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SSL_load_client_CA_file
    - SSL_CTX_set_client_CA_list
    - ERR_clear_error
    - STACK_OF
    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:824,1
    - Dst: X509_STORE_new
      Src: /src/bind9/lib/isc/tls.c:826,1
    - Dst: X509_STORE_set_default_paths
      Src: /src/bind9/lib/isc/tls.c:837,1
    - Dst: X509_STORE_load_locations
      Src: /src/bind9/lib/isc/tls.c:839,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:851,1
    - Dst: X509_STORE_free
      Src: /src/bind9/lib/isc/tls.c:853,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: 856
      start: 819
    functionDepth: 1
    functionLinenumber: 819
    functionLinenumberEnd: 856
    functionName: isc_tls_cert_store_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - X509_STORE_load_locations
    - X509_STORE_free
    - X509_STORE_new
    - ERR_clear_error
    - X509_STORE_set_default_paths
    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:861,1
    - Dst: X509_STORE_free
      Src: /src/bind9/lib/isc/tls.c:865,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - pstore
    argTypes:
    - isc_tls_cert_store_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 858
    functionDepth: 1
    functionLinenumber: 858
    functionLinenumberEnd: 868
    functionName: isc_tls_cert_store_free
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - X509_STORE_free
    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: 872
      start: 871
    functionDepth: 0
    functionLinenumber: 871
    functionLinenumberEnd: 872
    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: 876
      start: 874
    functionDepth: 0
    functionLinenumber: 874
    functionLinenumberEnd: 876
    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:906,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:907,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/tls.c:910,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/tls.c:911,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/isc/tls.c:913,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/isc/tls.c:914,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: 917
      start: 902
    functionDepth: 3
    functionLinenumber: 902
    functionLinenumberEnd: 917
    functionName: isc_tlsctx_cache_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_rwlock_init
    - isc_mem_get
    - isc_ht_init
    - isc_refcount_init
    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:922,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:922,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:923,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/tls.c:925,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: 928
      start: 919
    functionDepth: 1
    functionLinenumber: 919
    functionLinenumberEnd: 928
    functionName: isc_tlsctx_cache_attach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_TLSCTX_CACHE
    - isc_refcount_increment
    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:937,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/lib/isc/tls.c:941,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/isc/tls.c:947,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/tls.c:949,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: 950
      start: 930
    functionDepth: 2
    functionLinenumber: 930
    functionLinenumberEnd: 950
    functionName: tlsctx_cache_entry_destroy
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_tlsctx_client_session_cache_detach
    - isc_tlsctx_free
    - isc_mem_put
    - isc_tls_cert_store_free
    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:959,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/isc/tls.c:961,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/isc/tls.c:962,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/isc/tls.c:963,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/isc/tls.c:966,1
    - Dst: tlsctx_cache_entry_destroy
      Src: /src/bind9/lib/isc/tls.c:967,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/isc/tls.c:970,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/isc/tls.c:971,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/isc/tls.c:972,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/tls.c:973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - cache
    argTypes:
    - isc_tlsctx_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 952
    functionDepth: 4
    functionLinenumber: 952
    functionLinenumberEnd: 974
    functionName: tlsctx_cache_destroy
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - isc_ht_iter_delcurrent_next
    - tlsctx_cache_entry_destroy
    - isc_ht_iter_create
    - isc_ht_destroy
    - isc_rwlock_destroy
    - isc_ht_iter_first
    - isc_ht_iter_destroy
    - isc_mem_putanddetach
    - isc_ht_iter_current
    - isc_refcount_destroy
    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:980,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:985,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:985,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/tls.c:987,1
    - Dst: tlsctx_cache_destroy
      Src: /src/bind9/lib/isc/tls.c:988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cachep
    argTypes:
    - isc_tlsctx_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 976
    functionDepth: 5
    functionLinenumber: 976
    functionLinenumberEnd: 990
    functionName: isc_tlsctx_cache_detach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - isc_refcount_decrement
    - VALID_TLSCTX_CACHE
    - tlsctx_cache_destroy
    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:1005,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:1005,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1006,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1007,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1008,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1009,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1011,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1012,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/isc/tls.c:1017,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1019,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1020,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1026,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1031,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1040,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/isc/tls.c:1059,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1066,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1067,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1074,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/isc/tls.c:1074,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/isc/tls.c:1080,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: 1083
      start: 992
    functionDepth: 4
    functionLinenumber: 992
    functionLinenumberEnd: 1083
    functionName: isc_tlsctx_cache_add
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - isc_mem_get
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - RUNTIME_CHECK
    - strlen
    - isc_tls_cert_store_free
    - VALID_TLSCTX_CACHE
    - isc_ht_add
    - isc_ht_find
    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:1096,1
    - Dst: VALID_TLSCTX_CACHE
      Src: /src/bind9/lib/isc/tls.c:1096,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1097,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1098,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1101,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/isc/tls.c:1106,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1108,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1108,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1126,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1134,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/isc/tls.c:1137,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: 1140
      start: 1085
    functionDepth: 4
    functionLinenumber: 1085
    functionLinenumberEnd: 1140
    functionName: isc_tlsctx_cache_find
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - strlen
    - VALID_TLSCTX_CACHE
    - isc_ht_find
    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:1199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1200,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1201,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1203,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/tls.c:1206,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/tls.c:1207,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/tls.c:1208,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/isc/tls.c:1210,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/tls.c:1211,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/isc/tls.c:1212,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: 1217
      start: 1193
    functionDepth: 3
    functionLinenumber: 1193
    functionLinenumberEnd: 1217
    functionName: isc_tlsctx_client_session_cache_create
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mutex_init
    - isc_mem_get
    - isc_tlsctx_attach
    - ISC_LIST_INIT
    - isc_ht_init
    - isc_refcount_init
    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:1223,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1223,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1224,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/tls.c:1226,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: 1229
      start: 1219
    functionDepth: 1
    functionLinenumber: 1219
    functionLinenumberEnd: 1229
    functionName: isc_tlsctx_client_session_cache_attach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - 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:1237,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/tls.c:1238,1
    - Dst: SSL_SESSION_free
      Src: /src/bind9/lib/isc/tls.c:1240,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/tls.c:1241,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/tls.c:1244,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1245,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/isc/tls.c:1245,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/tls.c:1250,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/tls.c:1251,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: 1253
      start: 1231
    functionDepth: 4
    functionLinenumber: 1231
    functionLinenumberEnd: 1253
    functionName: client_cache_entry_delete
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - RUNTIME_CHECK
    - ISC_LIST_EMPTY
    - isc_mem_free
    - isc_ht_delete
    - SSL_SESSION_free
    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:1260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1265,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1265,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/tls.c:1267,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/tls.c:1273,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/tls.c:1275,1
    - Dst: client_cache_entry_delete
      Src: /src/bind9/lib/isc/tls.c:1276,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1279,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/isc/tls.c:1279,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/isc/tls.c:1280,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/isc/tls.c:1282,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/tls.c:1283,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/tls.c:1284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - cachep
    argTypes:
    - isc_tlsctx_client_session_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1285
      start: 1255
    functionDepth: 5
    functionLinenumber: 1255
    functionLinenumberEnd: 1285
    functionName: isc_tlsctx_client_session_cache_detach
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_tlsctx_free
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - RUNTIME_CHECK
    - isc_ht_destroy
    - isc_refcount_decrement
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - isc_mutex_destroy
    - client_cache_entry_delete
    - isc_refcount_destroy
    - isc_ht_count
    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:1296,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1298,1
    - Dst: SSL_get1_session
      Src: /src/bind9/lib/isc/tls.c:1300,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/tls.c:1302,1
    - Dst: SSL_SESSION_is_resumable
      Src: /src/bind9/lib/isc/tls.c:1304,1
    - Dst: SSL_SESSION_free
      Src: /src/bind9/lib/isc/tls.c:1305,1
    - Dst: SSL_set_session
      Src: /src/bind9/lib/isc/tls.c:1309,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/isc/tls.c:1311,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1313,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1314,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1319,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1320,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/tls.c:1322,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/tls.c:1326,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1327,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/isc/tls.c:1327,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/tls.c:1334,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/tls.c:1337,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/tls.c:1338,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/tls.c:1340,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/tls.c:1342,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1351,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/tls.c:1353,1
    - Dst: client_cache_entry_delete
      Src: /src/bind9/lib/isc/tls.c:1354,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/isc/tls.c:1357,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: 1358
      start: 1287
    functionDepth: 5
    functionLinenumber: 1287
    functionLinenumberEnd: 1358
    functionName: isc_tlsctx_client_session_cache_keep
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_mem_strdup
    - strlen
    - ISC_LIST_INIT
    - ERR_clear_error
    - isc_ht_add
    - client_cache_entry_delete
    - isc_mutex_lock
    - ISC_LINK_INIT
    - RUNTIME_CHECK
    - isc_ht_find
    - SSL_SESSION_is_resumable
    - SSL_get1_session
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - isc_mutex_unlock
    - ISC_LIST_HEAD
    - SSL_SESSION_free
    - isc_mem_get
    - ISC_LIST_APPEND
    - SSL_set_session
    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:1368,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1368,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1369,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1370,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/isc/tls.c:1372,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/tls.c:1375,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/isc/tls.c:1376,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1383,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/tls.c:1390,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/tls.c:1390,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isc/tls.c:1391,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1392,1
    - Dst: SSL_set_session
      Src: /src/bind9/lib/isc/tls.c:1392,1
    - Dst: client_cache_entry_delete
      Src: /src/bind9/lib/isc/tls.c:1393,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/isc/tls.c:1396,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: 1397
      start: 1360
    functionDepth: 5
    functionLinenumber: 1360
    functionLinenumberEnd: 1397
    functionName: isc_tlsctx_client_session_cache_reuse
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - ISC_LIST_TAIL
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    - RUNTIME_CHECK
    - isc_mutex_unlock
    - ISC_LIST_EMPTY
    - SSL_set_session
    - strlen
    - client_cache_entry_delete
    - isc_ht_find
    - isc_mutex_lock
    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:1405,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/tls.c:1407,1
    - Dst: isc_tlsctx_client_session_cache_keep
      Src: /src/bind9/lib/isc/tls.c:1409,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: 1410
      start: 1399
    functionDepth: 6
    functionLinenumber: 1399
    functionLinenumberEnd: 1410
    functionName: isc_tlsctx_client_session_cache_keep_sockaddr
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_sockaddr_format
    - isc_tlsctx_client_session_cache_keep
    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:1418,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/tls.c:1420,1
    - Dst: isc_tlsctx_client_session_cache_reuse
      Src: /src/bind9/lib/isc/tls.c:1422,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: 1423
      start: 1412
    functionDepth: 6
    functionLinenumber: 1412
    functionLinenumberEnd: 1423
    functionName: isc_tlsctx_client_session_cache_reuse_sockaddr
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_sockaddr_format
    - isc_tlsctx_client_session_cache_reuse
    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:1428,1
    - Dst: VALID_TLSCTX_CLIENT_SESSION_CACHE
      Src: /src/bind9/lib/isc/tls.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - isc_tlsctx_client_session_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1425
    functionDepth: 1
    functionLinenumber: 1425
    functionLinenumberEnd: 1430
    functionName: isc_tlsctx_client_session_cache_getctx
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_TLSCTX_CLIENT_SESSION_CACHE
    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:1435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/tls.c:1437,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1439,1
    - Dst: RAND_bytes
      Src: /src/bind9/lib/isc/tls.c:1439,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/tls.c:1441,1
    - Dst: SSL_CTX_set_session_id_context
      Src: /src/bind9/lib/isc/tls.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1443
      start: 1432
    functionDepth: 1
    functionLinenumber: 1432
    functionLinenumberEnd: 1443
    functionName: isc_tlsctx_set_random_session_id_context
    functionSourceFile: /src/bind9/lib/isc/tls.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RUNTIME_CHECK
    - ISC_MIN
    - RAND_bytes
    - SSL_CTX_set_session_id_context
    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:1455,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/tls.c:1460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - hostname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1445
    functionDepth: 0
    functionLinenumber: 1445
    functionLinenumberEnd: 1466
    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: 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:
    - REQUIRE
    - memcmp
    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: []
    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: ISC_STATSMULTI_VALID
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_STATSMULTI_VALID(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - stats
    - tid
    - internal_counter
    argTypes:
    - isc_statsmulti_t*
    - isc_tid_t
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 57
    functionName: to_index
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: "int to_index(isc_statsmulti_t *stats, isc_tid_t tid,\n\t isc_statscounter_t
      internal_counter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:62,1
    - Dst: isc_tid_count
      Src: /src/bind9/lib/isc/statsmulti.c:69,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/statsmulti.c:71,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/statsmulti.c:74,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/isc/statsmulti.c:77,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/isc/statsmulti.c:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - mctx
    - statsp
    - ncounters
    argTypes:
    - isc_mem_t*
    - isc_statsmulti_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 85
    functionName: isc_statsmulti_create
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_cget
    - isc_mem_get
    - isc_mem_ref
    - isc_tid_count
    linkageType: ''
    returnType: void
    signature: "void isc_statsmulti_create(isc_mem_t *mctx, isc_statsmulti_t **statsp,\n\t\t
      \     int ncounters)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:89,1
    - Dst: ISC_STATSMULTI_VALID
      Src: /src/bind9/lib/isc/statsmulti.c:89,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/statsmulti.c:94,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/statsmulti.c:95,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - stats
    argTypes:
    - isc_statsmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 96
    functionName: isc__statsmulti_destroy
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - isc_mem_put
    - ISC_STATSMULTI_VALID
    linkageType: ''
    returnType: void
    signature: void isc__statsmulti_destroy(isc_statsmulti_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:102,1
    - Dst: ISC_STATSMULTI_VALID
      Src: /src/bind9/lib/isc/statsmulti.c:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:103,1
    - Dst: to_index
      Src: /src/bind9/lib/isc/statsmulti.c:105,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/statsmulti.c:105,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/statsmulti.c:106,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/isc/statsmulti.c:107,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/statsmulti.c:110,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/statsmulti.c:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_statsmulti_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 112
    functionName: isc_statsmulti_increment
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - atomic_fetch_add_relaxed
    - atomic_load_relaxed
    - atomic_store_relaxed
    - isc_tid
    - to_index
    - ISC_STATSMULTI_VALID
    linkageType: ''
    returnType: void
    signature: void isc_statsmulti_increment(isc_statsmulti_t *stats, isc_statscounter_t
      counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:116,1
    - Dst: ISC_STATSMULTI_VALID
      Src: /src/bind9/lib/isc/statsmulti.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:117,1
    - Dst: to_index
      Src: /src/bind9/lib/isc/statsmulti.c:119,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/statsmulti.c:119,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/statsmulti.c:120,1
    - Dst: atomic_fetch_sub_relaxed
      Src: /src/bind9/lib/isc/statsmulti.c:121,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/statsmulti.c:124,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/statsmulti.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_statsmulti_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 127
    functionName: isc_statsmulti_decrement
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - atomic_fetch_sub_relaxed
    - atomic_load_relaxed
    - atomic_store_relaxed
    - isc_tid
    - to_index
    - ISC_STATSMULTI_VALID
    linkageType: ''
    returnType: void
    signature: void isc_statsmulti_decrement(isc_statsmulti_t *stats, isc_statscounter_t
      counter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:132,1
    - Dst: ISC_STATSMULTI_VALID
      Src: /src/bind9/lib/isc/statsmulti.c:132,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/lib/isc/statsmulti.c:135,1
    - Dst: dump_fn
      Src: /src/bind9/lib/isc/statsmulti.c:141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg
    - options
    argTypes:
    - isc_statsmulti_t*
    - isc_statsmulti_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: isc_statsmulti_dump
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_statsmulti_get_counter
    - dump_fn
    - ISC_STATSMULTI_VALID
    linkageType: ''
    returnType: void
    signature: "void isc_statsmulti_dump(isc_statsmulti_t *stats, isc_statsmulti_dumper_t
      dump_fn,\n\t\t    void *arg, unsigned int options)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:148,1
    - Dst: ISC_STATSMULTI_VALID
      Src: /src/bind9/lib/isc/statsmulti.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:149,1
    - Dst: to_index
      Src: /src/bind9/lib/isc/statsmulti.c:151,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/isc/statsmulti.c:152,1
    - Dst: to_index
      Src: /src/bind9/lib/isc/statsmulti.c:155,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/statsmulti.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_statsmulti_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 160
    functionName: isc_statsmulti_get_counter
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - atomic_load_relaxed
    - atomic_load_acquire
    - to_index
    - ISC_STATSMULTI_VALID
    linkageType: ''
    returnType: isc_statscounter_t
    signature: "isc_statscounter_t isc_statsmulti_get_counter(isc_statsmulti_t *stats,\n\t\t\t
      \  isc_statscounter_t counter)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/statsmulti.c:164,1
    - Dst: ISC_STATSMULTI_VALID
      Src: /src/bind9/lib/isc/statsmulti.c:164,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/isc/statsmulti.c:170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - stats
    argTypes:
    - isc_statsmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 162
    functionDepth: 1
    functionLinenumber: 162
    functionLinenumberEnd: 172
    functionName: isc_statsmulti_clear
    functionSourceFile: /src/bind9/lib/isc/statsmulti.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_STATSMULTI_VALID
    - atomic_store_release
    linkageType: ''
    returnType: void
    signature: void isc_statsmulti_clear(isc_statsmulti_t *stats)
  - 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: 72
    functionsReached:
    - RUNTIME_CHECK
    - clock_gettime
    - INSIST
    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: 37
    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:
    - RUNTIME_CHECK
    - clock_gettime
    - isc_nanosecs_fromtime
    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:
    - UNEXPECTED_SYSERROR
    - REQUIRE
    - clock_gettime
    - 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: ckd_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:
    - REQUIRE
    - ckd_add
    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: ckd_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
    - ckd_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:
    - REQUIRE
    - ENSURE
    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:
    - REQUIRE
    - INSIST
    - localtime_r
    - snprintf
    - strftime
    - strlcpy
    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
    - REQUIRE
    - strftime
    - 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:
    - REQUIRE
    - isc_tm_strptime
    - isc_tm_timegm
    - isc_time_set
    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:
    - REQUIRE
    - INSIST
    - localtime_r
    - snprintf
    - strftime
    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:
    - REQUIRE
    - memmove
    - INSIST
    - localtime_r
    - snprintf
    - strftime
    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
    - REQUIRE
    - strftime
    - 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
    - REQUIRE
    - INSIST
    - snprintf
    - strftime
    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
    - REQUIRE
    - INSIST
    - snprintf
    - strftime
    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
    - REQUIRE
    - INSIST
    - snprintf
    - strftime
    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_attach
    - REQUIRE
    - isc_hashmap_create
    - isc_mem_get
    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:
    - elt_destroy
    - REQUIRE
    - INSIST
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_create
    - VALID_SYMTAB
    - isc_hashmap_destroy
    - isc_mem_putanddetach
    - isc_hashmap_iter_delcurrent_next
    - isc_hashmap_iter_current
    - 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:
    - REQUIRE
    - elt_hash
    - SET_IF_NOT_NULL
    - VALID_SYMTAB
    - isc_hashmap_find
    - strlen
    - UNCONST
    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:
    - elt_destroy
    - REQUIRE
    - isc_hashmap_delete
    - elt_hash
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - isc_hashmap_add
    - SET_IF_NOT_NULL
    - VALID_SYMTAB
    - strlen
    - UNCONST
    - UNREACHABLE
    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_destroy
    - REQUIRE
    - isc_hashmap_delete
    - elt_hash
    - INSIST
    - VALID_SYMTAB
    - isc_hashmap_find
    - strlen
    - UNCONST
    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:
    - REQUIRE
    - isc_hashmap_count
    - 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:
    - elt_destroy
    - REQUIRE
    - isc_hashmap_iter_next
    - INSIST
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_create
    - VALID_SYMTAB
    - isc_hashmap_iter_delcurrent_next
    - isc_hashmap_iter_current
    - 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: 15
    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: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: VALID_LOOPMGR
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 11
    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: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    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: 133
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 133
    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: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    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: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    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: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    functionName: LOOP
    functionSourceFile: /src/bind9/lib/isc/loop_p.h
    functionUses: 21
    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: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    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:
    - memmove
    - isc_mem_put
    - isc_mem_get
    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:
    - REQUIRE
    - memset
    - ISC_LIST_INIT
    - isc_mem_get
    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:
    - REQUIRE
    - isc_mem_put
    - RUNTIME_CHECK
    - ISC_LIST_EMPTY
    - isc_lex_close
    - VALID_LEX
    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:
    - REQUIRE
    - VALID_LEX
    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:
    - REQUIRE
    - VALID_LEX
    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:
    - REQUIRE
    - VALID_LEX
    - memmove
    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:
    - REQUIRE
    - VALID_LEX
    - memmove
    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_buffer_allocate
    - isc_mem_strdup
    - isc_mem_get
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:209,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:209,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/lex.c:211,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/isc/lex.c:211,1
    - Dst: new_source
      Src: /src/bind9/lib/isc/lex.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lex
    - filename
    argTypes:
    - isc_lex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 215
    functionName: isc_lex_openfile
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - new_source
    - isc_stdio_open
    - RETERR
    - VALID_LEX
    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:225,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:225,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/lex.c:227,1
    - Dst: new_source
      Src: /src/bind9/lib/isc/lex.c:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - lex
    - stream
    argTypes:
    - isc_lex_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 230
    functionName: isc_lex_openstream
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 1
    functionsReached:
    - snprintf
    - REQUIRE
    - new_source
    - VALID_LEX
    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:240,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:240,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/lex.c:242,1
    - Dst: new_source
      Src: /src/bind9/lib/isc/lex.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - lex
    - buffer
    argTypes:
    - isc_lex_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 246
    functionName: isc_lex_openbuffer
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 10
    functionsReached:
    - snprintf
    - REQUIRE
    - new_source
    - VALID_LEX
    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:256,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:256,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:258,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/lex.c:263,1
    - Dst: fclose
      Src: /src/bind9/lib/isc/lex.c:267,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/lex.c:270,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/lex.c:271,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/lex.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 275
    functionName: isc_lex_close
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_buffer_free
    - ISC_LIST_HEAD
    - isc_mem_free
    - VALID_LEX
    - fclose
    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:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - source
    - c
    argTypes:
    - inputsource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 306
    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:310,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/isc/lex.c:316,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/lex.c:317,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/lex.c:318,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/isc/lex.c:319,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:320,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/lex.c:322,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isc/lex.c:325,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - lex
    - source
    - c
    argTypes:
    - isc_lex_t*
    - inputsource*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 308
    functionDepth: 1
    functionLinenumber: 308
    functionLinenumberEnd: 327
    functionName: pushandgrow
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - isc_buffer_length
    - INSIST
    - isc_buffer_copyregion
    - isc_buffer_availablelength
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    - isc_buffer_putuint8
    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:350,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:350,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:352,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/lex.c:369,1
    - Dst: isc_buffer_compact
      Src: /src/bind9/lib/isc/lex.c:389,1
    - Dst: flockfile
      Src: /src/bind9/lib/isc/lex.c:404,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/lex.c:409,1
    - Dst: getc_unlocked
      Src: /src/bind9/lib/isc/lex.c:414,1
    - Dst: getc
      Src: /src/bind9/lib/isc/lex.c:416,1
    - Dst: ferror
      Src: /src/bind9/lib/isc/lex.c:419,1
    - Dst: isc__errno2result
      Src: /src/bind9/lib/isc/lex.c:421,1
    - Dst: pushandgrow
      Src: /src/bind9/lib/isc/lex.c:441,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:452,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/isc/lex.c:455,1
    - Dst: isdigit
      Src: /src/bind9/lib/isc/lex.c:581,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:601,1
    - Dst: isdigit
      Src: /src/bind9/lib/isc/lex.c:608,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:622,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/isc/lex.c:624,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:662,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:664,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:674,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:677,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:706,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:730,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:732,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:748,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:801,1
    - Dst: pushback
      Src: /src/bind9/lib/isc/lex.c:821,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:831,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:834,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:856,1
    - Dst: grow_data
      Src: /src/bind9/lib/isc/lex.c:880,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:882,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/lex.c:889,1
    - Dst: funlockfile
      Src: /src/bind9/lib/isc/lex.c:897,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: 901
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 901
    functionName: isc_lex_gettoken
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - getc
    - INSIST
    - flockfile
    - pushback
    - grow_data
    - isc_buffer_compact
    - getc_unlocked
    - FATAL_ERROR
    - isc_buffer_consumedlength
    - ferror
    - ISC_LIST_HEAD
    - pushandgrow
    - isc__errno2result
    - isc_buffer_remaininglength
    - isc_parse_uint32
    - isc_buffer_getuint8
    - funlockfile
    - VALID_LEX
    - 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:920,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:922,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:944,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: 956
      start: 903
    functionDepth: 3
    functionLinenumber: 903
    functionLinenumberEnd: 956
    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:965,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:967,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isc/lex.c:979,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: 988
      start: 958
    functionDepth: 3
    functionLinenumber: 958
    functionLinenumberEnd: 988
    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:997,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:997,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:998,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:999,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1000,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1001,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1001,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/lex.c:1004,1
    - Dst: isc_buffer_first
      Src: /src/bind9/lib/isc/lex.c:1006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - lex
    - tokenp
    argTypes:
    - isc_lex_t*
    - isc_token_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 1010
    functionName: isc_lex_ungettoken
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_buffer_consumedlength
    - ISC_LIST_HEAD
    - isc_buffer_first
    - VALID_LEX
    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:1016,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1016,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1017,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1018,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1019,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/lex.c:1020,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1020,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/lex.c:1023,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/lex.c:1025,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1025,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/lex.c:1026,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/isc/lex.c:1028,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: 1030
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1030
    functionName: isc_lex_getlasttokentext
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - INSIST
    - isc_buffer_consumedlength
    - ISC_LIST_HEAD
    - isc_buffer_base
    - VALID_LEX
    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:1036,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1036,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1044
    functionName: isc_lex_getsourcename
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_LEX
    - ISC_LIST_HEAD
    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:1050,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1050,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1051,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1058
    functionName: isc_lex_getsourceline
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_LEX
    - ISC_LIST_HEAD
    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:1065,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1065,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1066,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/lex.c:1071,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/lex.c:1072,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - lex
    - name
    argTypes:
    - isc_lex_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1075
    functionName: isc_lex_setsourcename
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_HEAD
    - isc_mem_strdup
    - isc_mem_free
    - VALID_LEX
    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:1081,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1081,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1082,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - lex
    - line
    argTypes:
    - isc_lex_t*
    - unsigned long
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1090
    functionName: isc_lex_setsourceline
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_LEX
    - ISC_LIST_HEAD
    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:1096,1
    - Dst: VALID_LEX
      Src: /src/bind9/lib/isc/lex.c:1096,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/lex.c:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - lex
    argTypes:
    - isc_lex_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1105
      start: 1092
    functionDepth: 1
    functionLinenumber: 1092
    functionLinenumberEnd: 1105
    functionName: isc_lex_isfile
    functionSourceFile: /src/bind9/lib/isc/lex.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_LEX
    - ISC_LIST_HEAD
    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: getportrange_sysctl
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 0
    functionsReached:
    - sysctlbyname
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getportrange_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: getportrange_sysctl
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 0
    functionsReached:
    - sysctl
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getportrange_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: getportrange_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: 19
    argCount: 3
    argNames:
    - af
    - low
    - high
    argTypes:
    - int
    - in_port_t*
    - in_port_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 217
    functionName: isc_net_getportrange
    functionSourceFile: /src/bind9/lib/isc/net.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - UNUSED
    - fopen
    - getportrange_sysctl
    - fscanf
    - fclose
    linkageType: ''
    returnType: void
    signature: void isc_net_getportrange(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: 224
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 224
    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: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    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: 238
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 238
    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: 245
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 245
    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: 506
      start: 503
    functionDepth: 0
    functionLinenumber: 503
    functionLinenumberEnd: 506
    functionName: isc_result_totext
    functionSourceFile: /src/bind9/lib/isc/result.c
    functionUses: 239
    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: 511
      start: 508
    functionDepth: 0
    functionLinenumber: 508
    functionLinenumberEnd: 511
    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: isc_loop_main
      Src: /src/bind9/lib/isc/signal.c:25,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/signal.c:26,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/isc/signal.c:26,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/signal.c:36,1
    - Dst: uv_signal_init
      Src: /src/bind9/lib/isc/signal.c:38,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/signal.c:39,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/signal.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - cb
    - cbarg
    - signum
    argTypes:
    - isc_signal_cb
    - void*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 22
    functionDepth: 2
    functionLinenumber: 22
    functionLinenumberEnd: 44
    functionName: isc_signal_new
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 2
    functionsReached:
    - isc_loop_attach
    - isc_mem_get
    - isc_loop_main
    - isc_loop_getmctx
    - uv_handle_set_data
    - uv_signal_init
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: isc_signal_t
    signature: 'isc_signal_t *

      isc_signal_new(isc_signal_cb cb, void *cbarg, int signum)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/signal.c:48,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:51,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:51,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/signal.c:54,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/signal.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 56
    functionName: isc__signal_destroy_cb
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - VALID_SIGNAL
    - uv_handle_get_data
    - isc_loop_detach
    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:62,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:63,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:63,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/signal.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - signalp
    argTypes:
    - isc_signal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 58
    functionDepth: 1
    functionLinenumber: 58
    functionLinenumberEnd: 69
    functionName: isc_signal_destroy
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 2
    functionsReached:
    - VALID_SIGNAL
    - REQUIRE
    - uv_close
    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:75,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:75,1
    - Dst: uv_signal_stop
      Src: /src/bind9/lib/isc/signal.c:76,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/signal.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signal
    argTypes:
    - isc_signal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 78
    functionName: isc_signal_stop
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 3
    functionsReached:
    - VALID_SIGNAL
    - REQUIRE
    - uv_signal_stop
    - UV_RUNTIME_CHECK
    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:82,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:84,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/signal.c:85,1
    - Dst: isc_signal_t*::cb
      Src: /src/bind9/lib/isc/signal.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - handle
    - signum
    argTypes:
    - uv_signal_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 88
    functionName: isc__signal_cb
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 0
    functionsReached:
    - VALID_SIGNAL
    - REQUIRE
    - isc_signal_t*::cb
    - uv_handle_get_data
    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:94,1
    - Dst: VALID_SIGNAL
      Src: /src/bind9/lib/isc/signal.c:94,1
    - Dst: uv_signal_start
      Src: /src/bind9/lib/isc/signal.c:95,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/signal.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - signal
    argTypes:
    - isc_signal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: isc_signal_start
    functionSourceFile: /src/bind9/lib/isc/signal.c
    functionUses: 3
    functionsReached:
    - VALID_SIGNAL
    - REQUIRE
    - uv_signal_start
    - UV_RUNTIME_CHECK
    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: 26
    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:
    - _mm_cmpestri
    - unlikely
    - likely
    - _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:
    - EXPECT_CHAR
    - unlikely
    - IS_PRINTABLE_ASCII
    - CHECK_EOF
    - DOIT
    - likely
    - 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:
    - EXPECT_CHAR
    - CHECK_EOF
    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:
    - EXPECT_CHAR_NO_CHECK
    - PARSE_INT
    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:
    - EXPECT_CHAR
    - CHECK_EOF
    - parse_token
    - get_token_to_eol
    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:
    - EXPECT_CHAR
    - parse_token
    - ADVANCE_TOKEN
    - CHECK_EOF
    - parse_http_version
    - 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:
    - parse_request
    - is_complete
    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:
    - CHECK_EOF
    - parse_http_version
    - parse_headers
    - get_token_to_eol
    - PARSE_INT_3
    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: 146
    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: 760
      start: 602
    functionDepth: 1
    functionLinenumber: 602
    functionLinenumberEnd: 760
    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: 765
      start: 762
    functionDepth: 0
    functionLinenumber: 762
    functionLinenumberEnd: 765
    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_attach
    - REQUIRE
    - isc_mem_get
    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_fetch_add_relaxed
    - atomic_load_acquire
    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:
    - REQUIRE
    - atomic_load_relaxed
    - VALID_COUNTER
    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:
    - REQUIRE
    - VALID_COUNTER
    - atomic_store_release
    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:
    - REQUIRE
    - atomic_load_acquire
    - VALID_COUNTER
    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:
    - REQUIRE
    - isc_mem_putanddetach
    - isc_refcount_destroy
    - VALID_COUNTER
    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_VERSION
    - uv_get_constrained_memory
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_meminfo_totalphys(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - alg
    - ','
    - upperalg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 52
    functionName: md_register_algorithm
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md_register_algorithm(alg, upperalg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:55,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:56,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:59,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:60,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:61,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:62,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:63,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 66
    functionName: register_algorithms
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 0
    functionsReached:
    - isc_crypto_fips_mode
    - md_register_algorithm
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t register_algorithms(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:85,1
    - Dst: HMAC
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:92,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:93,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    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: 98
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 98
    functionName: isc_hmac
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - HMAC
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac(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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:107,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:114,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:114,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:120,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 5
    argNames:
    - type
    - secret
    - len
    - mctx
    - keyp
    argTypes:
    - isc_md_type_t
    - void*
    - size_t
    - isc_mem_t*
    - isc_hmac_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 126
    functionName: isc_hmac_key_create
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - memmove
    - isc_mem_get
    - STRUCT_FLEX_SIZE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac_key_create(isc_md_type_t type, const void *secret,
      const size_t len,\n\t\t    isc_mem_t *mctx, isc_hmac_key_t **keyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:132,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:133,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:140,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:141,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - keyp
    argTypes:
    - isc_hmac_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 143
    functionName: isc_hmac_key_destroy
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 3
    functionsReached:
    - STRUCT_FLEX_SIZE
    - REQUIRE
    - isc_mem_putanddetach
    - isc_safe_memwipe
    linkageType: ''
    returnType: void
    signature: void isc_hmac_key_destroy(isc_hmac_key_t **keyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - isc_hmac_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 150
    functionName: isc_hmac_key_expose
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_region_t
    signature: isc_region_t isc_hmac_key_expose(isc_hmac_key_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:155,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - isc_hmac_key_t*
    - isc_hmac_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: isc_hmac_key_equal
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_safe_memequal
    linkageType: ''
    returnType: bool
    signature: bool isc_hmac_key_equal(isc_hmac_key_t *a, isc_hmac_key_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_new
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:170,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 173
    functionName: isc_hmac_new
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - HMAC_CTX_new
    linkageType: ''
    returnType: isc_hmac_t
    signature: 'isc_hmac_t *

      isc_hmac_new(void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: HMAC_CTX_free
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - isc_hmac_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 180
    functionName: isc_hmac_free
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 3
    functionsReached:
    - HMAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void isc_hmac_free(isc_hmac_t *hmac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:185,1
    - Dst: HMAC_Init_ex
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:187,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hmac
    - key
    argTypes:
    - isc_hmac_t*
    - isc_hmac_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: isc_hmac_init
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 2
    functionsReached:
    - HMAC_Init_ex
    - REQUIRE
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hmac_init(isc_hmac_t *hmac, isc_hmac_key_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:197,1
    - Dst: HMAC_Update
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:203,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - hmac
    - buf
    - len
    argTypes:
    - isc_hmac_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 209
    functionName: isc_hmac_update
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 2
    functionsReached:
    - HMAC_Update
    - REQUIRE
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hmac_update(isc_hmac_t *hmac, const unsigned char
      *buf, const size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:216,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:224,1
    - Dst: HMAC_size
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:225,1
    - Dst: HMAC_Final
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:229,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:229,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hmac
    - out
    argTypes:
    - isc_hmac_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 236
    functionName: isc_hmac_final
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - HMAC_Final
    - isc_buffer_add
    - isc_buffer_availablelength
    - HMAC_size
    - isc_buffer_used
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hmac_final(isc_hmac_t *hmac, isc_buffer_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__mem_allocate
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 258
    functionName: isc__crypto_malloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.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/ossl1_1.c:262,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: 264
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 264
    functionName: isc__crypto_realloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.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/ossl1_1.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 275
    functionName: isc__crypto_free_ex
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.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/ossl1_1.c:281,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:282,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - size
    - file
    - line
    argTypes:
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 284
    functionName: isc__crypto_malloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - 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: UNUSED
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:289,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:290,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: 291
      start: 286
    functionDepth: 1
    functionLinenumber: 286
    functionLinenumberEnd: 291
    functionName: isc__crypto_realloc_ex
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.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/ossl1_1.c:295,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:296,1
    - Dst: isc__mem_free
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - ptr
    - file
    - line
    argTypes:
    - void*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: isc__crypto_free_ex
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.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: FIPS_mode
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 310
    functionDepth: 0
    functionLinenumber: 310
    functionLinenumberEnd: 313
    functionName: isc_crypto_fips_mode
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 13
    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/ossl1_1.c:317,1
    - Dst: FIPS_mode_set
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:321,1
    - Dst: isc_ossl_wrap_logged_toresult
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:322,1
    - Dst: register_algorithms
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:327,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: isc_crypto_fips_enable
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 6
    functionsReached:
    - isc_crypto_fips_mode
    - register_algorithms
    - isc_ossl_wrap_logged_toresult
    - FIPS_mode_set
    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: 335
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 335
    functionName: isc_crypto_fips_mode
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 14
    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: 340
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 340
    functionName: isc_crypto_fips_enable
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.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/ossl1_1.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - check
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 343
    functionDepth: 2
    functionLinenumber: 343
    functionLinenumberEnd: 346
    functionName: isc__crypto_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.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/ossl1_1.c:352,1
    - Dst: isc_mem_setdebugging
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:353,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:354,1
    - Dst: CRYPTO_set_mem_functions
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:362,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:375,1
    - Dst: OPENSSL_init_ssl
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:375,1
    - Dst: register_algorithms
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:377,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:380,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:381,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:382,1
    - Dst: RAND_status
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:388,1
    - Dst: isc_ossl_wrap_logged_toresult
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:389,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:392,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 396
    functionName: isc__crypto_initialize
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 1
    functionsReached:
    - isc_mem_setdebugging
    - isc_mem_create
    - FATAL_ERROR
    - RUNTIME_CHECK
    - isc_crypto_fips_enable
    - RAND_status
    - isc_ossl_wrap_logged_toresult
    - isc_mem_setdestroycheck
    - register_algorithms
    - ERR_clear_error
    - CRYPTO_set_mem_functions
    - OPENSSL_init_ssl
    linkageType: ''
    returnType: void
    signature: void isc__crypto_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: OPENSSL_cleanup
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:400,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/isc/crypto/ossl1_1.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 403
    functionName: isc__crypto_shutdown
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl1_1.c
    functionUses: 1
    functionsReached:
    - isc_mem_detach
    - OPENSSL_cleanup
    linkageType: ''
    returnType: void
    signature: void isc__crypto_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 87
    functionName: md_register_algorithm
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: md_register_algorithm(alg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isc/crypto/ossl3.c:90,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl3.c:91,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl3.c:94,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl3.c:95,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl3.c:96,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl3.c:97,1
    - Dst: md_register_algorithm
      Src: /src/bind9/lib/isc/crypto/ossl3.c:98,1
    - Dst: EVP_MAC_fetch
      Src: /src/bind9/lib/isc/crypto/ossl3.c:101,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl3.c:103,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/crypto/ossl3.c:104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 110
    functionName: register_algorithms
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 2
    functionsReached:
    - isc_crypto_fips_mode
    - FATAL_ERROR
    - ERR_clear_error
    - EVP_MAC_fetch
    - md_register_algorithm
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t register_algorithms(void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_free
      Src: /src/bind9/lib/isc/crypto/ossl3.c:116,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/crypto/ossl3.c:121,1
    - Dst: EVP_MAC_free
      Src: /src/bind9/lib/isc/crypto/ossl3.c:122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 124
    functionName: unregister_algorithms
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_MD_free
    - EVP_MAC_free
    - INSIST
    linkageType: ''
    returnType: void
    signature: void unregister_algorithms(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:144,1
    - Dst: EVP_MAC_CTX_new
      Src: /src/bind9/lib/isc/crypto/ossl3.c:150,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/crypto/ossl3.c:151,1
    - Dst: EVP_MAC_init
      Src: /src/bind9/lib/isc/crypto/ossl3.c:153,1
    - Dst: EVP_MAC_update
      Src: /src/bind9/lib/isc/crypto/ossl3.c:157,1
    - Dst: EVP_MAC_final
      Src: /src/bind9/lib/isc/crypto/ossl3.c:162,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/bind9/lib/isc/crypto/ossl3.c:168,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl3.c:172,1
    - Dst: EVP_MAC_CTX_free
      Src: /src/bind9/lib/isc/crypto/ossl3.c:173,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    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: 175
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 175
    functionName: isc_hmac
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_MAC_update
    - REQUIRE
    - EVP_MAC_final
    - EVP_MAC_CTX_free
    - RUNTIME_CHECK
    - ERR_clear_error
    - EVP_MAC_CTX_new
    - EVP_MAC_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac(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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:191,1
    - Dst: EVP_MD_block_size
      Src: /src/bind9/lib/isc/crypto/ossl3.c:197,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/crypto/ossl3.c:198,1
    - Dst: isc_md
      Src: /src/bind9/lib/isc/crypto/ossl3.c:198,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/crypto/ossl3.c:205,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:205,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/crypto/ossl3.c:211,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/crypto/ossl3.c:212,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 5
    argNames:
    - type
    - secret
    - len
    - mctx
    - keyp
    argTypes:
    - isc_md_type_t
    - void*
    - size_t
    - isc_mem_t*
    - isc_hmac_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 182
    functionDepth: 3
    functionLinenumber: 182
    functionLinenumberEnd: 217
    functionName: isc_hmac_key_create
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - memmove
    - EVP_MD_block_size
    - isc_mem_get
    - STRUCT_FLEX_SIZE
    - RETERR
    - isc_md
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_hmac_key_create(isc_md_type_t type, const void *secret,
      const size_t len,\n\t\t    isc_mem_t *mctx, isc_hmac_key_t **keyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:223,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:224,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/isc/crypto/ossl3.c:231,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/crypto/ossl3.c:232,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:233,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - keyp
    argTypes:
    - isc_hmac_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 234
    functionName: isc_hmac_key_destroy
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 3
    functionsReached:
    - STRUCT_FLEX_SIZE
    - REQUIRE
    - isc_mem_putanddetach
    - isc_safe_memwipe
    linkageType: ''
    returnType: void
    signature: void isc_hmac_key_destroy(isc_hmac_key_t **keyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - isc_hmac_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: isc_hmac_key_expose
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: isc_region_t
    signature: isc_region_t isc_hmac_key_expose(isc_hmac_key_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:246,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/isc/crypto/ossl3.c:256,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - isc_hmac_key_t*
    - isc_hmac_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 243
    functionDepth: 1
    functionLinenumber: 243
    functionLinenumberEnd: 257
    functionName: isc_hmac_key_equal
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_safe_memequal
    linkageType: ''
    returnType: bool
    signature: bool isc_hmac_key_equal(isc_hmac_key_t *a, isc_hmac_key_t *b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_new
      Src: /src/bind9/lib/isc/crypto/ossl3.c:261,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/crypto/ossl3.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 264
    functionName: isc_hmac_new
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - EVP_MAC_CTX_new
    linkageType: ''
    returnType: isc_hmac_t
    signature: 'isc_hmac_t *

      isc_hmac_new(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MAC_CTX_free
      Src: /src/bind9/lib/isc/crypto/ossl3.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - hmac
    argTypes:
    - isc_hmac_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: isc_hmac_free
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 3
    functionsReached:
    - EVP_MAC_CTX_free
    linkageType: ''
    returnType: void
    signature: void isc_hmac_free(isc_hmac_t *hmac)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:274,1
    - Dst: EVP_MAC_init
      Src: /src/bind9/lib/isc/crypto/ossl3.c:276,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl3.c:277,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - hmac
    - key
    argTypes:
    - isc_hmac_t*
    - isc_hmac_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 282
    functionName: isc_hmac_init
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ERR_clear_error
    - EVP_MAC_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hmac_init(isc_hmac_t *hmac, isc_hmac_key_t *key)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:286,1
    - Dst: EVP_MAC_update
      Src: /src/bind9/lib/isc/crypto/ossl3.c:292,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl3.c:293,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - hmac
    - buf
    - len
    argTypes:
    - isc_hmac_t*
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 298
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 298
    functionName: isc_hmac_update
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 2
    functionsReached:
    - EVP_MAC_update
    - REQUIRE
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hmac_update(isc_hmac_t *hmac, const unsigned char
      *buf, const size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/crypto/ossl3.c:304,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/crypto/ossl3.c:306,1
    - Dst: EVP_MAC_CTX_get_mac_size
      Src: /src/bind9/lib/isc/crypto/ossl3.c:307,1
    - Dst: EVP_MAC_final
      Src: /src/bind9/lib/isc/crypto/ossl3.c:311,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/crypto/ossl3.c:311,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl3.c:312,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/crypto/ossl3.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - hmac
    - out
    argTypes:
    - isc_hmac_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 300
    functionDepth: 1
    functionLinenumber: 300
    functionLinenumberEnd: 319
    functionName: isc_hmac_final
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - EVP_MAC_final
    - EVP_MAC_CTX_get_mac_size
    - isc_buffer_add
    - isc_buffer_availablelength
    - ERR_clear_error
    - isc_buffer_used
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_hmac_final(isc_hmac_t *hmac, isc_buffer_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EVP_default_properties_is_fips_enabled
      Src: /src/bind9/lib/isc/crypto/ossl3.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 324
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 324
    functionName: isc_crypto_fips_mode
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 15
    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/ossl3.c:328,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/crypto/ossl3.c:332,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/bind9/lib/isc/crypto/ossl3.c:333,1
    - Dst: isc_ossl_wrap_logged_toresult
      Src: /src/bind9/lib/isc/crypto/ossl3.c:335,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/crypto/ossl3.c:340,1
    - Dst: OSSL_PROVIDER_load
      Src: /src/bind9/lib/isc/crypto/ossl3.c:341,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/lib/isc/crypto/ossl3.c:343,1
    - Dst: isc_ossl_wrap_logged_toresult
      Src: /src/bind9/lib/isc/crypto/ossl3.c:344,1
    - Dst: EVP_default_properties_enable_fips
      Src: /src/bind9/lib/isc/crypto/ossl3.c:349,1
    - Dst: isc_ossl_wrap_logged_toresult
      Src: /src/bind9/lib/isc/crypto/ossl3.c:350,1
    - Dst: unregister_algorithms
      Src: /src/bind9/lib/isc/crypto/ossl3.c:356,1
    - Dst: register_algorithms
      Src: /src/bind9/lib/isc/crypto/ossl3.c:357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 326
    functionDepth: 1
    functionLinenumber: 326
    functionLinenumberEnd: 360
    functionName: isc_crypto_fips_enable
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 7
    functionsReached:
    - isc_crypto_fips_mode
    - INSIST
    - OSSL_PROVIDER_load
    - unregister_algorithms
    - isc_ossl_wrap_logged_toresult
    - register_algorithms
    - EVP_default_properties_enable_fips
    - OSSL_PROVIDER_unload
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_crypto_fips_enable(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/crypto/ossl3.c:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - check
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 373
    functionName: isc__crypto_setdestroycheck
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 2
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: void
    signature: void isc__crypto_setdestroycheck(bool check)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/crypto/ossl3.c:383,1
    - Dst: OPENSSL_init_ssl
      Src: /src/bind9/lib/isc/crypto/ossl3.c:383,1
    - Dst: register_algorithms
      Src: /src/bind9/lib/isc/crypto/ossl3.c:385,1
    - Dst: isc_crypto_fips_enable
      Src: /src/bind9/lib/isc/crypto/ossl3.c:388,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/crypto/ossl3.c:389,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/crypto/ossl3.c:390,1
    - Dst: RAND_status
      Src: /src/bind9/lib/isc/crypto/ossl3.c:396,1
    - Dst: isc_ossl_wrap_logged_toresult
      Src: /src/bind9/lib/isc/crypto/ossl3.c:397,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/crypto/ossl3.c:400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 404
    functionName: isc__crypto_initialize
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 1
    functionsReached:
    - FATAL_ERROR
    - RUNTIME_CHECK
    - isc_crypto_fips_enable
    - RAND_status
    - isc_ossl_wrap_logged_toresult
    - register_algorithms
    - ERR_clear_error
    - OPENSSL_init_ssl
    linkageType: ''
    returnType: void
    signature: void isc__crypto_initialize(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: unregister_algorithms
      Src: /src/bind9/lib/isc/crypto/ossl3.c:408,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/lib/isc/crypto/ossl3.c:411,1
    - Dst: OSSL_PROVIDER_unload
      Src: /src/bind9/lib/isc/crypto/ossl3.c:415,1
    - Dst: OPENSSL_cleanup
      Src: /src/bind9/lib/isc/crypto/ossl3.c:418,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: isc__crypto_shutdown
    functionSourceFile: /src/bind9/lib/isc/crypto/ossl3.c
    functionUses: 1
    functionsReached:
    - OSSL_PROVIDER_unload
    - unregister_algorithms
    - OPENSSL_cleanup
    linkageType: ''
    returnType: void
    signature: void isc__crypto_shutdown(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: 1
    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: 37
    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: 33
    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: 95
    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: 58
    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: 3
    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: 1
    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: 99
    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: 15
    functionsReached: []
    linkageType: ''
    returnType: isc_tid_t
    signature: isc_tid_t isc_tid(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random_buf
      Src: /src/bind9/lib/isc/include/isc/nonce.h:26,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - buf
    - buflen
    argTypes:
    - void*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 27
    functionName: isc_nonce_buf
    functionSourceFile: /src/bind9/lib/isc/include/isc/nonce.h
    functionUses: 8
    functionsReached:
    - isc_random_buf
    linkageType: ''
    returnType: void
    signature: void isc_nonce_buf(void *buf, size_t buflen)
  - 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: 4
    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: 14
    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: 8
    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: 2
    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: 10
    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: 21
    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: 5
    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: 5
    argNames:
    - (
    - entry
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 147
    functionName: ISC_SIEVE_LINKED
    functionSourceFile: /src/bind9/lib/isc/include/isc/sieve.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SIEVE_LINKED(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: 151
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 151
    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: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    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: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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:
    - fprintf
    - fflush
    - fgets
    - free
    - malloc
    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:
    - (
    - '...'
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: ISC_ATTR_NONNULL
    functionSourceFile: /src/bind9/lib/isc/include/isc/attributes.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ATTR_NONNULL(...)
  - 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: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: ISC_LOG_DEBUG
    functionSourceFile: /src/bind9/lib/isc/include/isc/log.h
    functionUses: 24
    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: 283
      start: 276
    functionDepth: 0
    functionLinenumber: 276
    functionLinenumberEnd: 283
    functionName: ISC_LOGDESTINATION_FILE
    functionSourceFile: /src/bind9/lib/isc/include/isc/log.h
    functionUses: 4
    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: 288
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 288
    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_finalize
    - isc_hash32_init
    - isc_hash32_hash
    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_hash
    - isc_hash64_init
    - isc_hash64_finalize
    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: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 38
    functionName: ISC_SLIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 43
    functionName: ISC_SLINK
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLINK(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - list
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: ISC_SLIST_HEAD
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: ISC_SLIST_EMPTY
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_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: 52
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 52
    functionName: ISC_SLIST_PREPEND
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_PREPEND(list, elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - after
    - ','
    - elt
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 58
    functionName: ISC_SLIST_INSERTAFTER
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_INSERTAFTER(after, 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: 60
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 60
    functionName: ISC_SLIST_NEXT
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_NEXT(elt, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - link
    - ','
    - first
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: ISC_SLIST_FOREACH_FROM
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_FOREACH_FROM(elt, list, link, first)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - elt
    - ','
    - list
    - ','
    - link
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    functionName: ISC_SLIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_FOREACH(elt, list, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: ISC_SLIST_FOREACH_PTR
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_FOREACH_PTR(p, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - p
    - ','
    - elt
    - ','
    - link_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 80
    functionName: ISC_SLIST_PTR_REMOVE
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_PTR_REMOVE(p, elt, link_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - p
    - ','
    - link_field
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: ISC_SLIST_PTR_ADVANCE
    functionSourceFile: /src/bind9/lib/isc/include/isc/slist.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_SLIST_PTR_ADVANCE(p, link_field)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 55
    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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    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: 66
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 66
    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: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    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: 77
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 77
    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: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    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: 88
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 88
    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: 91
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 91
    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: 117
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 117
    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: 120
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 120
    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: 130
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 130
    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: 141
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 141
    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: 7
    argNames:
    - (
    - p
    - ','
    - old
    - ','
    - _new
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 157
    functionDepth: 0
    functionLinenumber: 157
    functionLinenumberEnd: 165
    functionName: rcu_cmpxchg_pointer
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rcu_cmpxchg_pointer(p, old, _new)
  - 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: 168
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 168
    functionName: rcu_xchg_pointer
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: rcu_xchg_pointer(p, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: CMM_LOAD_SHARED
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMM_LOAD_SHARED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 183
    functionName: _CMM_LOAD_SHARED
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CMM_LOAD_SHARED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 192
    functionName: CMM_STORE_SHARED
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CMM_STORE_SHARED(x, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - v
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: _CMM_STORE_SHARED
    functionSourceFile: /src/bind9/lib/isc/include/isc/urcu.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _CMM_STORE_SHARED(x, v)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    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: 7
    argNames:
    - (
    - cp
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 26
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 26
    functionName: ckd_mul
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_mul(cp, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cp
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: ckd_add
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_add(cp, a, b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - cp
    - ','
    - a
    - ','
    - b
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    functionName: ckd_sub
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ckd_sub(cp, 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: 38
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 38
    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: 46
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 46
    functionName: ISC_CHECKED_ADD
    functionSourceFile: /src/bind9/lib/isc/include/isc/overflow.h
    functionUses: 3
    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: 54
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 54
    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: 62
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 62
    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: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    functionName: isc_random32
    functionSourceFile: /src/bind9/lib/isc/include/isc/random.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_random32()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - buf
    - ','
    - buflen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: isc_random_buf
    functionSourceFile: /src/bind9/lib/isc/include/isc/random.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_random_buf(buf, buflen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - upper_bound
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 32
    functionName: isc_random_uniform
    functionSourceFile: /src/bind9/lib/isc/include/isc/random.h
    functionUses: 17
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_random_uniform(upper_bound)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random32
      Src: /src/bind9/lib/isc/include/isc/random.h:66,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 67
    functionName: isc_random8
    functionSourceFile: /src/bind9/lib/isc/include/isc/random.h
    functionUses: 1
    functionsReached:
    - isc_random32
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t isc_random8(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_random32
      Src: /src/bind9/lib/isc/include/isc/random.h:74,1
    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_random16
    functionSourceFile: /src/bind9/lib/isc/include/isc/random.h
    functionUses: 3
    functionsReached:
    - isc_random32
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t isc_random16(void)
  - 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: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: __has_header
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: __has_header(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - source
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: MOVE_OWNERSHIP
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: MOVE_OWNERSHIP(source)
  - 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: UNUSED
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 392
    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: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    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: 73
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 73
    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: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    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: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    functionName: UNCONST
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 33
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    functionName: ARRAY_SIZE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 40
    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: 103
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 103
    functionName: SET_IF_NOT_NULL
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 24
    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: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: STRUCT_FLEX_SIZE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 9
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    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: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    functionName: STATIC_ASSERT
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 2
    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: 166
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 166
    functionName: REQUIRE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 620
    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: 170
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 170
    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: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    functionName: INSIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 229
    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: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    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: 180
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 180
    functionName: UNREACHABLE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 66
    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: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    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: 184
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 184
    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: 186
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 186
    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: 195
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 195
    functionName: REQUIRE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 620
    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: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    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: 199
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 199
    functionName: INSIST
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 229
    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: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    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: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    functionName: UNREACHABLE
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 66
    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: 214
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 214
    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: 217
      start: 215
    functionDepth: 0
    functionLinenumber: 215
    functionLinenumberEnd: 217
    functionName: FATAL_ERROR
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 8
    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: 225
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 225
    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: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    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: 231
      start: 229
    functionDepth: 0
    functionLinenumber: 229
    functionLinenumberEnd: 231
    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: 237
      start: 234
    functionDepth: 0
    functionLinenumber: 234
    functionLinenumberEnd: 237
    functionName: RUNTIME_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 106
    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: 242
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 242
    functionName: RUNTIME_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 106
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RUNTIME_CHECK(cond)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 257
    functionName: CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 270
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECK(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 266
    functionName: CLEANUP
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 48
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CLEANUP(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 271
    functionDepth: 0
    functionLinenumber: 271
    functionLinenumberEnd: 278
    functionName: RETERR
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 103
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RETERR(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: 287
      start: 283
    functionDepth: 0
    functionLinenumber: 283
    functionLinenumberEnd: 287
    functionName: PTHREADS_RUNTIME_CHECK
    functionSourceFile: /src/bind9/lib/isc/include/isc/util.h
    functionUses: 4
    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: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    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: 295
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 295
    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: 306
      start: 300
    functionDepth: 0
    functionLinenumber: 300
    functionLinenumberEnd: 306
    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: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 318
    functionName: isc_histomulti_ref
    functionSourceFile: /src/bind9/lib/isc/include/isc/histo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_histomulti_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: 320
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 320
    functionName: isc_histomulti_unref
    functionSourceFile: /src/bind9/lib/isc/include/isc/histo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_histomulti_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: 322
      start: 320
    functionDepth: 0
    functionLinenumber: 320
    functionLinenumberEnd: 322
    functionName: isc_histomulti_attach
    functionSourceFile: /src/bind9/lib/isc/include/isc/histo.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_histomulti_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: 324
      start: 322
    functionDepth: 0
    functionLinenumber: 322
    functionLinenumberEnd: 324
    functionName: isc_histomulti_detach
    functionSourceFile: /src/bind9/lib/isc/include/isc/histo.h
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_histomulti_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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    functionName: stdc_count_zeros
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_count_zeros(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 36
    functionName: stdc_count_zeros
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_count_zeros(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: stdc_leading_zeros
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_leading_zeros(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: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 47
    functionName: stdc_leading_zeros
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_leading_zeros(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: stdc_trailing_zeros
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_trailing_zeros(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: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 58
    functionName: stdc_trailing_zeros
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_trailing_zeros(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 61
    functionName: stdc_leading_ones
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_leading_ones(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: stdc_trailing_ones
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stdc_trailing_ones(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: ISC_ROTATE_LEFT
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ROTATE_LEFT(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    functionName: ISC_ROTATE_RIGHT
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ROTATE_RIGHT(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: isc_rotate_left8
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t isc_rotate_left8(const uint8_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 78
    functionName: isc_rotate_left16
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t isc_rotate_left16(const uint16_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 80
    functionDepth: 0
    functionLinenumber: 80
    functionLinenumberEnd: 83
    functionName: isc_rotate_left32
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_rotate_left32(const uint32_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 88
    functionName: isc_rotate_left64
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_rotate_left64(const uint64_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint8_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 93
    functionName: isc_rotate_right8
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t isc_rotate_right8(const uint8_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint16_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 98
    functionName: isc_rotate_right16
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t isc_rotate_right16(const uint16_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 103
    functionName: isc_rotate_right32
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_rotate_right32(const uint32_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - x
    - n
    argTypes:
    - uint64_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 108
    functionName: isc_rotate_right64
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t isc_rotate_right64(const uint64_t x, uint32_t n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 137
    functionName: ISC_ROTATE_LEFT
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ROTATE_LEFT(x, n)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - x
    - ','
    - n
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 144
    functionName: ISC_ROTATE_RIGHT
    functionSourceFile: /src/bind9/lib/isc/include/isc/bit.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ISC_ROTATE_RIGHT(x, n)
  - 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: 56
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 56
    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: 60
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 60
    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: 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: 1
    functionsReached:
    - REQUIRE
    - UINT64_C
    - ISC_U8TO64_LE
    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: 1
    functionsReached:
    - REQUIRE
    - U8TO64_ONE
    - INSIST
    - isc_siphash24_one
    - ISC_U8TO64_LE
    - isc_ascii_tolower8
    - UNREACHABLE
    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: 1
    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:306,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:308,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:309,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:314,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:315,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:316,1
    - Dst: UINT64_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - k
    argTypes:
    - isc_siphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 319
    functionName: isc_siphash13_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UINT64_C
    - ISC_U8TO64_LE
    linkageType: ''
    returnType: void
    signature: void isc_siphash13_init(isc_siphash24_t *state, const uint8_t *k)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - m
    argTypes:
    - isc_siphash13_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 321
    functionDepth: 0
    functionLinenumber: 321
    functionLinenumberEnd: 330
    functionName: isc_siphash13_one
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached:
    - SIPROUND
    linkageType: ''
    returnType: void
    signature: void isc_siphash13_one(isc_siphash13_t *restrict state, const uint64_t
      m)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:335,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:348,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:357,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:366,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:375,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:384,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:393,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:402,1
    - Dst: isc_siphash13_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:406,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:414,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:422,1
    - Dst: isc_ascii_tolower8
      Src: /src/bind9/lib/isc/include/isc/siphash.h:423,1
    - Dst: ISC_U8TO64_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:423,1
    - Dst: isc_siphash13_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:425,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/siphash.h:428,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:431,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:434,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:437,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:440,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:443,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:446,1
    - Dst: U8TO64_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:449,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 101
    argCount: 4
    argNames:
    - state
    - in
    - inlen
    - case_sensitive
    argTypes:
    - isc_siphash13_t*
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 458
    functionName: isc_siphash13_hash
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - REQUIRE
    - U8TO64_ONE
    - INSIST
    - isc_siphash13_one
    - ISC_U8TO64_LE
    - isc_ascii_tolower8
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: "void isc_siphash13_hash(isc_siphash13_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:462,1
    - Dst: isc_siphash13_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:466,1
    - Dst: SIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:471,1
    - Dst: ISC_U64TO8_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - state
    - out
    argTypes:
    - isc_siphash13_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 477
    functionName: isc_siphash13_finalize
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - REQUIRE
    - SIPROUND
    - ISC_U64TO8_LE
    - isc_siphash13_one
    linkageType: ''
    returnType: void
    signature: void isc_siphash13_finalize(isc_siphash13_t *restrict state, uint8_t
      *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_siphash13_init
      Src: /src/bind9/lib/isc/include/isc/siphash.h:483,1
    - Dst: isc_siphash13_hash
      Src: /src/bind9/lib/isc/include/isc/siphash.h:484,1
    - Dst: isc_siphash13_finalize
      Src: /src/bind9/lib/isc/include/isc/siphash.h:485,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: 486
      start: 479
    functionDepth: 2
    functionLinenumber: 479
    functionLinenumberEnd: 486
    functionName: isc_siphash13
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached:
    - isc_siphash13_init
    - isc_siphash13_finalize
    - isc_siphash13_hash
    linkageType: ''
    returnType: void
    signature: "void isc_siphash13(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:490,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:492,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:493,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:498,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:499,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:500,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:501,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - k
    argTypes:
    - isc_halfsiphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 488
    functionDepth: 1
    functionLinenumber: 488
    functionLinenumberEnd: 503
    functionName: isc_halfsiphash24_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UINT32_C
    - ISC_U8TO32_LE
    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:510,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - m
    argTypes:
    - isc_halfsiphash24_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 514
    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:519,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:532,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:541,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:550,1
    - Dst: isc_halfsiphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:554,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:562,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:570,1
    - Dst: isc_ascii_tolower4
      Src: /src/bind9/lib/isc/include/isc/siphash.h:571,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:571,1
    - Dst: isc_halfsiphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:573,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/siphash.h:576,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:579,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:582,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:585,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:590,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: 594
      start: 516
    functionDepth: 1
    functionLinenumber: 516
    functionLinenumberEnd: 594
    functionName: isc_halfsiphash24_hash
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - U8TO32_ONE
    - isc_ascii_tolower4
    - ISC_U8TO32_LE
    - isc_halfsiphash24_one
    - UNREACHABLE
    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:598,1
    - Dst: isc_halfsiphash24_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:602,1
    - Dst: HALFSIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:607,1
    - Dst: ISC_U32TO8_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:611,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - state
    - out
    argTypes:
    - isc_halfsiphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 612
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 612
    functionName: isc_halfsiphash24_finalize
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - HALFSIPROUND
    - REQUIRE
    - isc_halfsiphash24_one
    - 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:619,1
    - Dst: isc_halfsiphash24_hash
      Src: /src/bind9/lib/isc/include/isc/siphash.h:620,1
    - Dst: isc_halfsiphash24_finalize
      Src: /src/bind9/lib/isc/include/isc/siphash.h:621,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: 622
      start: 614
    functionDepth: 2
    functionLinenumber: 614
    functionLinenumberEnd: 622
    functionName: isc_halfsiphash24
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 2
    functionsReached:
    - isc_halfsiphash24_init
    - isc_halfsiphash24_hash
    - 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:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:634,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:636,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:637,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:642,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:643,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:644,1
    - Dst: UINT32_C
      Src: /src/bind9/lib/isc/include/isc/siphash.h:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - state
    - k
    argTypes:
    - isc_halfsiphash24_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 632
    functionDepth: 1
    functionLinenumber: 632
    functionLinenumberEnd: 647
    functionName: isc_halfsiphash13_init
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UINT32_C
    - ISC_U8TO32_LE
    linkageType: ''
    returnType: void
    signature: void isc_halfsiphash13_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:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - state
    - m
    argTypes:
    - isc_halfsiphash13_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 649
    functionDepth: 0
    functionLinenumber: 649
    functionLinenumberEnd: 658
    functionName: isc_halfsiphash13_one
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached:
    - HALFSIPROUND
    linkageType: ''
    returnType: void
    signature: void isc_halfsiphash13_one(isc_halfsiphash13_t *restrict state, const
      uint32_t m)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:663,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:676,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:685,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:694,1
    - Dst: isc_halfsiphash13_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:698,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:706,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:714,1
    - Dst: isc_ascii_tolower4
      Src: /src/bind9/lib/isc/include/isc/siphash.h:715,1
    - Dst: ISC_U8TO32_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:715,1
    - Dst: isc_halfsiphash13_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:717,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/include/isc/siphash.h:720,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:723,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:726,1
    - Dst: U8TO32_ONE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:729,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:734,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 57
    argCount: 4
    argNames:
    - state
    - in
    - inlen
    - case_sensitive
    argTypes:
    - isc_halfsiphash13_t*
    - uint8_t*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 738
    functionName: isc_halfsiphash13_hash
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_halfsiphash13_one
    - isc_ascii_tolower4
    - ISC_U8TO32_LE
    - U8TO32_ONE
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: "void isc_halfsiphash13_hash(isc_halfsiphash13_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:742,1
    - Dst: isc_halfsiphash13_one
      Src: /src/bind9/lib/isc/include/isc/siphash.h:746,1
    - Dst: HALFSIPROUND
      Src: /src/bind9/lib/isc/include/isc/siphash.h:751,1
    - Dst: ISC_U32TO8_LE
      Src: /src/bind9/lib/isc/include/isc/siphash.h:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - state
    - out
    argTypes:
    - isc_halfsiphash13_t*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 740
    functionDepth: 1
    functionLinenumber: 740
    functionLinenumberEnd: 756
    functionName: isc_halfsiphash13_finalize
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 1
    functionsReached:
    - HALFSIPROUND
    - REQUIRE
    - isc_halfsiphash13_one
    - ISC_U32TO8_LE
    linkageType: ''
    returnType: void
    signature: void isc_halfsiphash13_finalize(isc_halfsiphash13_t *restrict state,
      uint8_t *out)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_halfsiphash13_init
      Src: /src/bind9/lib/isc/include/isc/siphash.h:763,1
    - Dst: isc_halfsiphash13_hash
      Src: /src/bind9/lib/isc/include/isc/siphash.h:764,1
    - Dst: isc_halfsiphash13_finalize
      Src: /src/bind9/lib/isc/include/isc/siphash.h:765,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: 766
      start: 758
    functionDepth: 2
    functionLinenumber: 758
    functionLinenumberEnd: 766
    functionName: isc_halfsiphash13
    functionSourceFile: /src/bind9/lib/isc/include/isc/siphash.h
    functionUses: 0
    functionsReached:
    - isc_halfsiphash13_hash
    - isc_halfsiphash13_finalize
    - isc_halfsiphash13_init
    linkageType: ''
    returnType: void
    signature: "void isc_halfsiphash13(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: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    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: 28
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 28
    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: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    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: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    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: 32
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 32
    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: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    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: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    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: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    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: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    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: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    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: 50
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 50
    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: 51
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 51
    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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    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: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    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: 55
      start: 54
    functionDepth: 0
    functionLinenumber: 54
    functionLinenumberEnd: 55
    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: 56
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 56
    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: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    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: 69
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 69
    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: 91
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 91
    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: 99
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 99
    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: 111
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 111
    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: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    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: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    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: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    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: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    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: 127
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 127
    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: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    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: 136
      start: 135
    functionDepth: 0
    functionLinenumber: 135
    functionLinenumberEnd: 136
    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: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    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: 138
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 138
    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: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    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: 143
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 143
    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: 144
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 144
    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: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    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: 153
      start: 152
    functionDepth: 0
    functionLinenumber: 152
    functionLinenumberEnd: 153
    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: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    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: 155
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 155
    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: 156
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 156
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    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: 161
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 161
    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: 162
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 162
    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: 163
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 163
    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: 176
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 176
    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: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    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: 184
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 184
    functionName: ISC_U32TO8_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 2
    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: 188
      start: 185
    functionDepth: 0
    functionLinenumber: 185
    functionLinenumberEnd: 188
    functionName: ISC_U8TO32_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 4
    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: 196
      start: 189
    functionDepth: 0
    functionLinenumber: 189
    functionLinenumberEnd: 196
    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: 201
      start: 197
    functionDepth: 0
    functionLinenumber: 197
    functionLinenumberEnd: 201
    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: 211
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 211
    functionName: ISC_U64TO8_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 2
    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: 217
      start: 212
    functionDepth: 0
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: ISC_U8TO64_LE
    functionSourceFile: /src/bind9/lib/isc/include/isc/endian.h
    functionUses: 4
    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: 223
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 223
    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: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    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: 231
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 231
    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: 235
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 235
    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: 243
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 243
    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: 248
      start: 244
    functionDepth: 0
    functionLinenumber: 244
    functionLinenumberEnd: 248
    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: 258
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 258
    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: 264
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 264
    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: 3
    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: 3
    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:58,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 56
    functionDepth: 4
    functionLinenumber: 56
    functionLinenumberEnd: 59
    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:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 61
    functionDepth: 4
    functionLinenumber: 61
    functionLinenumberEnd: 64
    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: 172
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 172
    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: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    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: 176
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 176
    functionName: isc_nmhandle_attach
    functionSourceFile: /src/bind9/lib/isc/include/isc/netmgr.h
    functionUses: 25
    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: 178
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 178
    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:
    - INSIST
    - __cds_wfcq_splice_blocking
    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: 4
    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: 7
    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: 46
    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: 0
    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: 84
    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: 82
    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: 9
    argNames:
    - (
    - category
    - ','
    - module
    - ','
    - funcname
    - ','
    - fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 28
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 28
    functionName: isc_ossl_wrap_logged_toresult
    functionSourceFile: /src/bind9/lib/isc/include/isc/ossl_wrap.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc_ossl_wrap_logged_toresult(category, module, funcname, fallback)
  - 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: 21
    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:
    - Dst: ISC_ROTATE_LEFT
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - hash
    - i
    argTypes:
    - size_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 41
    functionDepth: 1
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: fx_add_to_hash
    functionSourceFile: /src/bind9/lib/isc/include/isc/fxhash.h
    functionUses: 0
    functionsReached:
    - ISC_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:61,1
    - Dst: fx_add_to_hash
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:62,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:70,1
    - Dst: fx_add_to_hash
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:71,1
    - Dst: memmove
      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:80,1
    - Dst: fx_add_to_hash
      Src: /src/bind9/lib/isc/include/isc/fxhash.h:86,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: 90
      start: 51
    functionDepth: 2
    functionLinenumber: 51
    functionLinenumberEnd: 90
    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: 129
      start: 128
    functionDepth: 0
    functionLinenumber: 128
    functionLinenumberEnd: 129
    functionName: isc_mem_get
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 173
    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: 132
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 132
    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: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    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: 138
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 138
    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: 139
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 139
    functionName: isc_mem_allocate
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 30
    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: 142
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    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: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: isc_mem_strdup
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 47
    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: 147
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 147
    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: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    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: 154
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 154
    functionName: isc_mem_put
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 113
    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: 160
      start: 154
    functionDepth: 0
    functionLinenumber: 154
    functionLinenumberEnd: 160
    functionName: isc_mem_cput
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 34
    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: 165
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 165
    functionName: isc_mem_putanddetach
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 43
    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: 170
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 170
    functionName: isc_mem_free
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 73
    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: 175
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 175
    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: 199
      start: 193
    functionDepth: 0
    functionLinenumber: 193
    functionLinenumberEnd: 199
    functionName: isc_mem_create
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 15
    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: 201
      start: 200
    functionDepth: 0
    functionLinenumber: 200
    functionLinenumberEnd: 201
    functionName: isc_mem_create
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 15
    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: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    functionName: isc_mem_ref
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 2
    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: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    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: 243
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 243
    functionName: isc_mem_attach
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 37
    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: 244
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 244
    functionName: isc_mem_detach
    functionSourceFile: /src/bind9/lib/isc/include/isc/mem.h
    functionUses: 17
    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: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    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: 364
      start: 363
    functionDepth: 0
    functionLinenumber: 363
    functionLinenumberEnd: 364
    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: 39
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 39
    functionName: isc_loop
    functionSourceFile: /src/bind9/lib/isc/include/isc/loop.h
    functionUses: 24
    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: 166
      start: 165
    functionDepth: 0
    functionLinenumber: 165
    functionLinenumberEnd: 166
    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: 167
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 167
    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: 169
      start: 167
    functionDepth: 0
    functionLinenumber: 167
    functionLinenumberEnd: 169
    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: 171
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 171
    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
    - REQUIRE
    - isc_buffer_setmctx
    - isc_dnsstream_assembler_setcb
    - isc_buffer_init
    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:
    - REQUIRE
    - INSIST
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    - isc_mem_detach
    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:
    - REQUIRE
    - isc_dnsstream_assembler_init
    - isc_mem_get
    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
    - REQUIRE
    - isc_mem_putanddetach
    - 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:
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc__dnsstream_assembler_callcb
    - isc_dnsstream_assembler_clear
    - isc_buffer_getuint16
    - isc_buffer_remainingregion
    - isc_buffer_peekuint16
    - UNREACHABLE
    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_buffer_remaininglength
    - isc__dnsstream_assembler_handle_message
    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:
    - INSIST
    - isc_buffer_putmem
    - isc__dnsstream_assembler_processing
    - isc_buffer_add
    - isc_buffer_remainingregion
    - isc_buffer_init
    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_buffer_putmem
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_trycompact
    - isc__dnsstream_assembler_incoming_direct
    - isc_buffer_peekuint16
    - isc__dnsstream_assembler_handle_message
    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:
    - REQUIRE
    - INSIST
    - isc_buffer_putmem
    - isc_buffer_remaininglength
    - isc__dnsstream_assembler_processing
    - isc_buffer_trycompact
    - isc__dnsstream_assembler_incoming_direct_non_empty
    - isc__dnsstream_assembler_incoming_direct
    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:
    - isc_buffer_remaininglength
    - REQUIRE
    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:
    - REQUIRE
    - isc_buffer_clear
    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: 3
    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:
    - isc_ascii_lowercopy
    - strlen
    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: 3
    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: 2
    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:
    - htobe64
    - isc_ascii_tolower8
    - isc__ascii_load8
    - isc_ascii_tolower
    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: 43
    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: 13
    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: 4
    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: 76
    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: 6
    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: 20
    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: 21
    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: 184
    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: 64
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    - ISC_LINK_LINKED
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    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: 47
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    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_availablelength
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_used
    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: 128
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    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: 36
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    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_current
    - REQUIRE
    - ISC_BUFFER_VALID
    - 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_current
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_activelength
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    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: 4
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    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: 19
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    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: 1
    functionsReached:
    - isc_buffer_current
    - ISC_BUFFER_PEEK_CHECK
    - SET_IF_NOT_NULL
    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: 30
    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_buffer_current
    - ISC_BUFFER_PEEK_CHECK
    - SET_IF_NOT_NULL
    - ISC_U8TO16_BE
    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_buffer_current
    - ISC_U8TO32_BE
    - ISC_BUFFER_PEEK_CHECK
    - SET_IF_NOT_NULL
    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:
    - ENSURE
    - isc_buffer_peekuint32
    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_buffer_used
    - ISC_U32TO8_BE
    - 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:
    - isc_buffer_current
    - ISC_U8TO48_BE
    - ISC_BUFFER_PEEK_CHECK
    - SET_IF_NOT_NULL
    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:
    - isc_buffer_peekuint48
    - ENSURE
    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: 34
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - memmove
    - isc_buffer_reserve
    - isc_buffer_availablelength
    - isc_buffer_used
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    - memmove
    - isc_buffer_reserve
    - ENSURE
    - strlen
    - isc_buffer_availablelength
    - isc_buffer_used
    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:
    - REQUIRE
    - memmove
    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_remaininglength
    - isc_buffer_compact
    - isc_buffer_consumedlength
    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:
    - isc_buffer_current
    - REQUIRE
    - ISC_BUFFER_VALID
    - memmove
    - isc_buffer_remaininglength
    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: 43
    functionsReached:
    - REQUIRE
    - isc_buffer_setmctx
    - isc_buffer_init
    - isc_mem_get
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_mem_put
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    - memmove
    - isc_mem_get
    - ISC_ALIGN
    - isc_mem_creget
    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: 53
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_mem_put
    - isc_buffer_invalidate
    - isc_buffer_clearmctx
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    - RUNTIME_CHECK
    - isc_buffer_copyregion
    - isc_buffer_usedregion
    - isc_buffer_allocate
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1193,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1194,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1197,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1197,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1200,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1205,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1205,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - b
    - r
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1190
    functionDepth: 2
    functionLinenumber: 1190
    functionLinenumberEnd: 1210
    functionName: isc_buffer_copyregion
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 5
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - memmove
    - isc_buffer_reserve
    - isc_buffer_availablelength
    - RETERR
    - isc_buffer_used
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1217,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1217,1
    - Dst: va_start
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1219,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1220,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1221,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1228,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1228,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1231,1
    - Dst: va_start
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1235,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1236,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1236,1
    - Dst: va_end
      Src: /src/bind9/lib/isc/include/isc/buffer.h:1237,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - b
    - format
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1246
    functionName: isc_buffer_printf
    functionSourceFile: /src/bind9/lib/isc/include/isc/buffer.h
    functionUses: 9
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - vsnprintf
    - isc_buffer_reserve
    - va_start
    - isc_buffer_availablelength
    - RETERR
    - va_end
    - isc_buffer_used
    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:
    - REQUIRE
    - VALID_HTTP2_SESSION
    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
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_INIT
    - isc_refcount_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:
    - REQUIRE
    - isc_refcount_increment
    - VALID_HTTP2_SESSION
    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:
    - REQUIRE
    - VALID_HTTP2_SESSION
    - INSIST
    - finish_http_session
    - isc_refcount_current
    - isc_refcount_decrement
    - ISC_LIST_EMPTY
    - isc_mem_putanddetach
    - isc_buffer_free
    - 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:
    - REQUIRE
    - VALID_HTTP2_SESSION
    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:
    - REQUIRE
    - ISC_LIST_UNLINK
    - VALID_HTTP2_SESSION
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ISC_LIST_FOREACH
    - ISC_LIST_PREPEND
    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_url_parse
    - memmove
    - isc_mem_put
    - isc_mem_get
    - isc_mem_strdup
    - isc__nmsocket_attach
    - snprintf
    - isc_mem_free
    - strlen
    - isc_buffer_allocate
    - ISC_LIST_PREPEND
    - ISC_LINK_INIT
    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_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - isc__nmsocket_detach
    - ISC_LINK_LINKED
    - isc_mem_free
    - isc_buffer_free
    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__nmsocket_timer_stop
    - INSIST
    - isc_nm_read_stop
    - call_pending_callbacks
    - isc_nmhandle_detach
    - ISC_LIST_EMPTY
    - isc__nmsocket_detach
    - ISC_LIST_INIT
    - server_call_failed_read_cb
    - isc_buffer_free
    - client_call_failed_read_cb
    - isc_nmhandle_close
    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_usedlength
    - find_http_cstream
    - isc_buffer_putmem
    - INSIST
    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:651,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/netmgr/http.c:657,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    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: 664
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 664
    functionName: on_server_data_chunk_recv_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - isc_buffer_usedlength
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - isc_buffer_base
    - isc_mem_allocate
    - isc_buffer_init
    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:673,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:674,1
    - Dst: on_client_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:677,1
    - Dst: on_server_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:680,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: 685
      start: 666
    functionDepth: 3
    functionLinenumber: 666
    functionLinenumberEnd: 685
    functionName: on_data_chunk_recv_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - on_server_data_chunk_recv_callback
    - UNUSED
    - on_client_data_chunk_recv_callback
    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:692,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:692,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:693,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:694,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:695,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:695,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:696,1
    - Dst: http_cstream_t*::read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:697,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/http.c:700,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:702,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: 703
      start: 687
    functionDepth: 4
    functionLinenumber: 687
    functionLinenumberEnd: 703
    functionName: call_unlink_cstream_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - ISC_LIST_UNLINK
    - http_cstream_t*::read_cb
    - isc__nmsocket_timer_restart
    - VALID_HTTP2_SESSION
    - INSIST
    - put_http_cstream
    - isc_buffer_usedregion
    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:708,1
    - Dst: SUCCESSFUL_HTTP_STATUS
      Src: /src/bind9/lib/isc/netmgr/http.c:712,1
    - Dst: call_unlink_cstream_readcb
      Src: /src/bind9/lib/isc/netmgr/http.c:715,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:716,1
    - Dst: nghttp2_session_terminate_session
      Src: /src/bind9/lib/isc/netmgr/http.c:718,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: 732
      start: 705
    functionDepth: 5
    functionLinenumber: 705
    functionLinenumberEnd: 732
    functionName: on_client_stream_close_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - call_unlink_cstream_readcb
    - SUCCESSFUL_HTTP_STATUS
    - ISC_LIST_EMPTY
    - find_http_cstream
    - nghttp2_session_terminate_session
    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:737,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/http.c:741,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:761,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:762,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: 764
      start: 734
    functionDepth: 1
    functionLinenumber: 734
    functionLinenumberEnd: 764
    functionName: on_server_stream_close_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc__nmsocket_detach
    - nghttp2_session_get_stream_user_data
    - isc__nmsocket_prep_destroy
    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:772,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:772,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:773,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:775,1
    - Dst: on_client_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:778,1
    - Dst: on_server_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:780,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: 784
      start: 766
    functionDepth: 6
    functionLinenumber: 766
    functionLinenumberEnd: 784
    functionName: on_stream_close_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - VALID_HTTP2_SESSION
    - on_server_stream_close_callback
    - on_client_stream_close_callback
    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:792,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/netmgr/http.c:792,1
    - Dst: strtoul
      Src: /src/bind9/lib/isc/netmgr/http.c:793,1
    - Dst: SUCCESSFUL_HTTP_STATUS
      Src: /src/bind9/lib/isc/netmgr/http.c:795,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: 800
      start: 786
    functionDepth: 1
    functionLinenumber: 786
    functionLinenumberEnd: 800
    functionName: client_handle_status_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strncpy
    - ISC_MIN
    - SUCCESSFUL_HTTP_STATUS
    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:809,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/netmgr/http.c:809,1
    - Dst: strtoul
      Src: /src/bind9/lib/isc/netmgr/http.c:810,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: 819
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 819
    functionName: client_handle_content_length_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strncpy
    - ISC_MIN
    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:827,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isc/netmgr/http.c:829,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: 835
      start: 821
    functionDepth: 0
    functionLinenumber: 821
    functionLinenumberEnd: 835
    functionName: client_handle_content_type_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - UNUSED
    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:849,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:849,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:850,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:852,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:853,1
    - Dst: find_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:855,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:866,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:866,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:874,1
    - Dst: client_handle_status_header
      Src: /src/bind9/lib/isc/netmgr/http.c:875,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:877,1
    - Dst: client_handle_content_length_header
      Src: /src/bind9/lib/isc/netmgr/http.c:878,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:880,1
    - Dst: client_handle_content_type_header
      Src: /src/bind9/lib/isc/netmgr/http.c:881,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: 892
      start: 837
    functionDepth: 2
    functionLinenumber: 837
    functionLinenumberEnd: 892
    functionName: client_on_header_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - client_handle_content_type_header
    - REQUIRE
    - UNUSED
    - INSIST
    - VALID_HTTP2_SESSION
    - client_handle_content_length_header
    - ISC_LIST_EMPTY
    - HEADER_MATCH
    - find_http_cstream
    - client_handle_status_header
    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:900,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:901,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/bind9/lib/isc/netmgr/http.c:901,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:902,1
    - Dst: nghttp2_option_new
      Src: /src/bind9/lib/isc/netmgr/http.c:902,1
    - Dst: nghttp2_option_set_max_send_header_block_length
      Src: /src/bind9/lib/isc/netmgr/http.c:905,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:909,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:912,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:915,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:918,1
    - Dst: nghttp2_session_client_new3
      Src: /src/bind9/lib/isc/netmgr/http.c:918,1
    - Dst: nghttp2_option_del
      Src: /src/bind9/lib/isc/netmgr/http.c:922,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/bind9/lib/isc/netmgr/http.c:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 924
      start: 894
    functionDepth: 1
    functionLinenumber: 894
    functionLinenumberEnd: 924
    functionName: initialize_nghttp2_client_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - init_nghttp2_mem
    - nghttp2_session_callbacks_set_on_header_callback
    - nghttp2_option_del
    - nghttp2_option_new
    - RUNTIME_CHECK
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_client_new3
    - nghttp2_option_set_max_send_header_block_length
    - 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:931,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 926
    functionDepth: 0
    functionLinenumber: 926
    functionLinenumberEnd: 938
    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: 943
      start: 940
    functionDepth: 0
    functionLinenumber: 940
    functionLinenumberEnd: 943
    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: 947
      start: 944
    functionDepth: 0
    functionLinenumber: 944
    functionLinenumberEnd: 947
    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:955,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:956,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:956,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:958,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:959,1
    - Dst: find_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:961,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:968,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:975,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/netmgr/http.c:975,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:977,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:980,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: 991
      start: 948
    functionDepth: 2
    functionLinenumber: 948
    functionLinenumberEnd: 991
    functionName: client_read_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_buffer_current
    - memmove
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - ISC_LIST_EMPTY
    - 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:1005,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1006,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1008,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1009,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1012,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1014,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1015,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1016,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1017,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/netmgr/http.c:1017,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1018,1
    - Dst: nghttp2_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1023,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1027,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1028,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1030,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1031,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1034,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:1036,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1038,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:1039,1
    - Dst: nghttp2_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1044,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: 1055
      start: 996
    functionDepth: 1
    functionLinenumber: 996
    functionLinenumberEnd: 1055
    functionName: client_submit_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - MAKE_NV
    - INSIST
    - isc_buffer_usedlength
    - MAKE_NV2
    - snprintf
    - strlen
    - nghttp2_submit_request
    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:1062,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1057
    functionDepth: 1
    functionLinenumber: 1057
    functionLinenumberEnd: 1068
    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:1079,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1079,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1080,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:1082,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1091,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/bind9/lib/isc/netmgr/http.c:1096,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:1100,1
    - Dst: http_in_flight_data_size
      Src: /src/bind9/lib/isc/netmgr/http.c:1127,1
    - Dst: http_too_many_active_streams
      Src: /src/bind9/lib/isc/netmgr/http.c:1143,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1147,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isc/netmgr/http.c:1152,1
    - Dst: nghttp2_session_mem_recv
      Src: /src/bind9/lib/isc/netmgr/http.c:1154,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:1158,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/netmgr/http.c:1162,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: 1168
      start: 1070
    functionDepth: 2
    functionLinenumber: 1070
    functionLinenumberEnd: 1168
    functionName: http_process_input_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_HTTP2_SESSION
    - isc_buffer_forward
    - ISC_MIN
    - http_too_many_active_streams
    - http_in_flight_data_size
    - http_session_active
    - isc_buffer_remainingregion
    - nghttp2_session_mem_recv
    - isc_buffer_clear
    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:1172,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/http.c:1173,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:1177,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:1179,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/http.c:1181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1170
    functionDepth: 3
    functionLinenumber: 1170
    functionLinenumberEnd: 1189
    functionName: http_log_flooding_peer
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - 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: 1244
      start: 1191
    functionDepth: 0
    functionLinenumber: 1191
    functionLinenumberEnd: 1244
    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:1312,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1313,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: 1315
      start: 1308
    functionDepth: 1
    functionLinenumber: 1308
    functionLinenumberEnd: 1315
    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:1312,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1311
    functionDepth: 1
    functionLinenumber: 1311
    functionLinenumberEnd: 1314
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 100
    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:1323,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1324,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1324,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:1326,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1327,1
    - Dst: call_pending_callbacks
      Src: /src/bind9/lib/isc/netmgr/http.c:1330,1
    - Dst: isc_http_send_req_t*::cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1333,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1334,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1338,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:1339,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:1341,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1346,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1348,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1350,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1352,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: 1353
      start: 1317
    functionDepth: 4
    functionLinenumber: 1317
    functionLinenumberEnd: 1353
    functionName: http_writecb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - http_do_bio
    - isc_mem_put
    - VALID_HTTP2_SESSION
    - INSIST
    - isc_buffer_usedlength
    - call_pending_callbacks
    - finish_http_session
    - isc_nmhandle_detach
    - isc__nm_httpsession_detach
    - http_session_active
    - isc_buffer_free
    - isc_http_send_req_t*::cb
    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:1358,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:1362,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:1365,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: 1366
      start: 1355
    functionDepth: 1
    functionLinenumber: 1355
    functionLinenumberEnd: 1366
    functionName: move_pending_send_callbacks
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INIT
    - memmove
    - STATIC_ASSERT
    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:1372,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1372,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1373,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1374,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1376,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1380,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:1381,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: 1382
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1382
    functionName: http_append_pending_send_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - ISC_LIST_APPEND
    - isc_nmhandle_attach
    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:1395,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1398,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1402,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1403,1
    - Dst: nghttp2_session_want_write
      Src: /src/bind9/lib/isc/netmgr/http.c:1407,1
    - Dst: http_append_pending_send_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1411,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1425,1
    - Dst: nghttp2_session_want_write
      Src: /src/bind9/lib/isc/netmgr/http.c:1427,1
    - Dst: nghttp2_session_mem_send
      Src: /src/bind9/lib/isc/netmgr/http.c:1430,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:1444,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/http.c:1448,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1455,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1483,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:1494,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1495,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1496,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1497,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1513,1
    - Dst: http_append_pending_send_request
      Src: /src/bind9/lib/isc/netmgr/http.c:1523,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1533,1
    - Dst: move_pending_send_callbacks
      Src: /src/bind9/lib/isc/netmgr/http.c:1542,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1545,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1548,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1548,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1549,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:1553,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/http.c:1555,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1559,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: 1560
      start: 1384
    functionDepth: 3
    functionLinenumber: 1384
    functionLinenumberEnd: 1560
    functionName: http_send_outgoing
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - VALID_NMHANDLE
    - isc__nm_sendcb
    - isc_buffer_putmem
    - INSIST
    - isc_buffer_usedlength
    - isc_mem_get
    - isc_nmhandle_detach
    - http_append_pending_send_request
    - move_pending_send_callbacks
    - isc_nm_send
    - http_session_active
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - isc_nmhandle_attach
    - nghttp2_session_want_write
    - isc__nm_httpsession_attach
    - nghttp2_session_mem_send
    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:1578,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1594
      start: 1562
    functionDepth: 1
    functionLinenumber: 1562
    functionLinenumberEnd: 1594
    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:1601,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1601,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1610,1
    - Dst: nghttp2_session_want_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1613,1
    - Dst: nghttp2_session_want_write
      Src: /src/bind9/lib/isc/netmgr/http.c:1614,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:1619,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1622,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:1629,1
    - Dst: nghttp2_session_want_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1632,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/http.c:1635,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1636,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1648,1
    - Dst: http_process_input_data
      Src: /src/bind9/lib/isc/netmgr/http.c:1650,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:1654,1
    - Dst: failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1657,1
    - Dst: http_is_flooding_peer
      Src: /src/bind9/lib/isc/netmgr/http.c:1658,1
    - Dst: http_log_flooding_peer
      Src: /src/bind9/lib/isc/netmgr/http.c:1659,1
    - Dst: failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1660,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/isc/netmgr/http.c:1662,1
    - Dst: isc_buffer_compact
      Src: /src/bind9/lib/isc/netmgr/http.c:1663,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1664,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1666,1
    - Dst: http_do_bio_async
      Src: /src/bind9/lib/isc/netmgr/http.c:1683,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1685,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1687,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1687,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/http.c:1691,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/http.c:1692,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1695,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1695,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:1697,1
    - Dst: http_send_outgoing
      Src: /src/bind9/lib/isc/netmgr/http.c:1701,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1708,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1712,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1713,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: 1714
      start: 1596
    functionDepth: 4
    functionLinenumber: 1596
    functionLinenumberEnd: 1714
    functionName: http_do_bio
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - http_do_bio
    - INSIST
    - failed_read_cb
    - isc__nm_httpsession_detach
    - http_do_bio_async
    - isc_buffer_compact
    - isc__nm_uvreq_get
    - isc_nm_read_stop
    - http_log_flooding_peer
    - isc__nmsocket_timer_start
    - nghttp2_session_want_read
    - VALID_NMHANDLE
    - isc_nm_read
    - VALID_HTTP2_SESSION
    - isc_buffer_clear
    - isc__nm_httpsession_attach
    - nghttp2_session_want_write
    - isc__nm_sendcb
    - http_send_outgoing
    - isc_buffer_remaininglength
    - finish_http_session
    - http_process_input_data
    - isc_nmhandle_attach
    - http_is_flooding_peer
    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:1720,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1720,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1725,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1727,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1730,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1716
    functionDepth: 5
    functionLinenumber: 1716
    functionLinenumberEnd: 1731
    functionName: http_do_bio_async_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_closing
    - http_do_bio
    - VALID_HTTP2_SESSION
    - isc__nm_httpsession_detach
    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:1737,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:1737,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1740,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1746,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/http.c:1747,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1733
    functionDepth: 2
    functionLinenumber: 1733
    functionLinenumberEnd: 1749
    functionName: http_do_bio_async
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__nmsocket_closing
    - VALID_HTTP2_SESSION
    - isc_async_run
    - isc__nm_httpsession_attach
    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:1756,1
    - Dst: new_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:1761,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1763,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - sock
    - streamp
    argTypes:
    - isc_nmsocket_t*
    - http_cstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1770
      start: 1751
    functionDepth: 5
    functionLinenumber: 1751
    functionLinenumberEnd: 1770
    functionName: get_http_cstream
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - new_http_cstream
    - 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:1775,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1780,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1784,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1789,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1791,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1792,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: 1794
      start: 1772
    functionDepth: 2
    functionLinenumber: 1772
    functionLinenumberEnd: 1794
    functionName: http_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - connect_cb
    - isc_nmhandle_detach
    - isc__nmhandle_get
    - isc__nmsocket_clearcb
    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:1804,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:1804,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1805,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1805,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1809,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:1809,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1813,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/http.c:1816,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:1821,1
    - Dst: new_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1822,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/http.c:1827,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/http.c:1828,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1833,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1839,1
    - Dst: isc__nmhandle_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/http.c:1842,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netmgr/http.c:1844,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:1858,1
    - Dst: initialize_nghttp2_client_session
      Src: /src/bind9/lib/isc/netmgr/http.c:1860,1
    - Dst: send_client_connection_header
      Src: /src/bind9/lib/isc/netmgr/http.c:1861,1
    - Dst: get_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:1865,1
    - Dst: http_transpost_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/http.c:1871,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/http.c:1872,1
    - Dst: http_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1874,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:1876,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1877,1
    - Dst: http_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1881,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:1884,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:1888,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1889,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: 1890
      start: 1796
    functionDepth: 6
    functionLinenumber: 1796
    functionLinenumberEnd: 1890
    functionName: transport_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - http_do_bio
    - INSIST
    - isc_nm_verify_tls_peer_result_string
    - http_transpost_tcp_nodelay
    - isc__nmhandle_set_manual_timer
    - send_client_connection_header
    - new_session
    - isc_nmhandle_attach
    - memcmp
    - get_http_cstream
    - isc_mem_free
    - http_initsocket
    - VALID_NMHANDLE
    - isc_nmhandle_peeraddr
    - isc__nm_httpsession_attach
    - isc__nmsocket_prep_destroy
    - isc__nmhandle_get_selected_alpn
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - http_call_connect_cb
    - initialize_nghttp2_client_session
    - isc_nmhandle_localaddr
    linkageType: ''
    returnType: void
    signature: void transport_connect_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *cbarg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/http.c:1901,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1903,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1904,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1905,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:1906,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1908,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/http.c:1909,1
    - Dst: isc_sockaddr_anyofpf
      Src: /src/bind9/lib/isc/netmgr/http.c:1914,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1918,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/http.c:1919,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:1920,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:1927,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1928,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/http.c:1934,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1936,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/http.c:1937,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:1938,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:1939,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/netmgr/http.c:1943,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:1947,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1961,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1966,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1972,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1977,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:1983,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/http.c:1984,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/http.c:1989,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 60
    argCount: 12
    argNames:
    - local
    - peer
    - uri
    - post
    - cb
    - cbarg
    - tlsctx
    - sni_hostname
    - client_sess_cache
    - timeout
    - proxy_type
    - proxy_info
    argTypes:
    - 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: 1991
      start: 1892
    functionDepth: 3
    functionLinenumber: 1892
    functionLinenumberEnd: 1991
    functionName: isc_nm_httpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_mem_strdup
    - isc__nmhandle_get
    - isc__nmsocket_clearcb
    - isc_mempool_get
    - isc__nmsocket_init
    - ISC_LINK_INIT
    - isc__nm_uvreq_get
    - isc_nm_proxystreamconnect
    - isc_nm_tcpconnect
    - http_initsocket
    - isc__nm_closing
    - cb
    - UNREACHABLE
    - isc__nmsocket_prep_destroy
    - isc_sockaddr_anyofpf
    - isc__nm_connectcb
    - isc__networker_current
    - isc__nmsocket_detach
    - isc_nm_tlsconnect
    linkageType: ''
    returnType: void
    signature: "void isc_nm_httpconnect(isc_sockaddr_t *local, isc_sockaddr_t *peer,
      const char *uri,\n\t\t   bool post, isc_nm_cb_t cb, void *cbarg, isc_tlsctx_t
      *tlsctx,\n\t\t   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:2001,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:2001,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2002,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2005,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2011,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:2015,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/http.c:2016,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:2028,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/isc/netmgr/http.c:2030,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2032,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:2036,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2037,1
    - Dst: isc__nm_base64_to_base64url
      Src: /src/bind9/lib/isc/netmgr/http.c:2039,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2042,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:2049,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:2050,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2054,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2055,1
    - Dst: client_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:2061,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:2063,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 2
    argNames:
    - handle
    - region
    argTypes:
    - isc_nmhandle_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 1993
    functionDepth: 4
    functionLinenumber: 1993
    functionLinenumberEnd: 2069
    functionName: client_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_putmem
    - VALID_HTTP2_SESSION
    - INSIST
    - isc_base64_totext
    - snprintf
    - isc_mem_free
    - put_http_cstream
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_mem_allocate
    - client_submit_request
    - isc_buffer_free
    - isc__nm_base64_to_base64url
    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:2078,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2078,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2079,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2079,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2080,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2080,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2081,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2083,1
    - Dst: isc__nm_http_read
      Src: /src/bind9/lib/isc/netmgr/http.c:2087,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2088,1
    - Dst: client_send
      Src: /src/bind9/lib/isc/netmgr/http.c:2092,1
    - Dst: http_cstream_t*::read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2102,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: 2105
      start: 2071
    functionDepth: 5
    functionLinenumber: 2071
    functionLinenumberEnd: 2105
    functionName: isc__nm_http_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - http_cstream_t*::read_cb
    - VALID_NMSOCK
    - client_send
    - isc_tid
    - http_session_active
    - isc__nm_http_read
    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:2127,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2127,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2130,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/http.c:2131,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2132,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:2133,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/http.c:2134,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:2143,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:2144,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2145,1
    - Dst: http_get_listener_endpoints
      Src: /src/bind9/lib/isc/netmgr/http.c:2146,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2149,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:2150,1
    - Dst: nghttp2_session_set_stream_user_data
      Src: /src/bind9/lib/isc/netmgr/http.c:2153,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: 2156
      start: 2107
    functionDepth: 2
    functionLinenumber: 2107
    functionLinenumberEnd: 2156
    functionName: server_on_begin_headers_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_initnull
    - INSIST
    - http_get_listener_endpoints
    - ISC_LIST_APPEND
    - nghttp2_session_set_stream_user_data
    - isc_tid
    - isc_nmhandle_localaddr
    - isc_nmhandle_peeraddr
    - isc_mempool_get
    - isc_nm_http_endpoints_attach
    - http_initsocket
    - isc__nm_httpsession_attach
    - isc__nmsocket_init
    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:2165,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2171,1
    - Dst: isc_mem_strndup
      Src: /src/bind9/lib/isc/netmgr/http.c:2173,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isc/netmgr/http.c:2176,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2177,1
    - Dst: http_endpoints_find
      Src: /src/bind9/lib/isc/netmgr/http.c:2181,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2187,1
    - Dst: isc__nm_parse_httpquery
      Src: /src/bind9/lib/isc/netmgr/http.c:2195,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2201,1
    - Dst: isc__nm_base64url_to_base64
      Src: /src/bind9/lib/isc/netmgr/http.c:2205,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: 2220
      start: 2158
    functionDepth: 1
    functionLinenumber: 2158
    functionLinenumberEnd: 2220
    functionName: server_handle_path_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_strndup
    - isc__nm_parse_httpquery
    - isc__nm_base64url_to_base64
    - http_endpoints_find
    - isc_mem_free
    - isc_nm_http_path_isvalid
    - memchr
    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:2228,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2230,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: 2236
      start: 2222
    functionDepth: 1
    functionLinenumber: 2222
    functionLinenumberEnd: 2236
    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:2244,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2246,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: 2252
      start: 2238
    functionDepth: 1
    functionLinenumber: 2238
    functionLinenumberEnd: 2252
    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:2261,1
    - Dst: strtoul
      Src: /src/bind9/lib/isc/netmgr/http.c:2263,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: 2270
      start: 2254
    functionDepth: 0
    functionLinenumber: 2254
    functionLinenumberEnd: 2270
    functionName: server_handle_content_length_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - strtoul
    - strncpy
    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:2278,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2280,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: 2284
      start: 2272
    functionDepth: 1
    functionLinenumber: 2272
    functionLinenumberEnd: 2284
    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:2303,1
    - Dst: server_handle_content_length_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2304,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2306,1
    - Dst: server_handle_path_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2307,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2308,1
    - Dst: server_handle_method_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2309,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2310,1
    - Dst: server_handle_scheme_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2311,1
    - Dst: HEADER_MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:2312,1
    - Dst: server_handle_content_type_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2313,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: 2318
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2318
    functionName: server_handle_header
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - server_handle_method_header
    - server_handle_content_type_header
    - HEADER_MATCH
    - server_handle_content_length_header
    - server_handle_path_header
    - server_handle_scheme_header
    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:2328,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2329,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/bind9/lib/isc/netmgr/http.c:2331,1
    - Dst: server_handle_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2344,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2349,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: 2364
      start: 2320
    functionDepth: 3
    functionLinenumber: 2320
    functionLinenumberEnd: 2364
    functionName: server_on_header_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - nghttp2_session_get_stream_user_data
    - server_handle_header
    - 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:2374,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2376,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/http.c:2377,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:2379,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/http.c:2385,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/isc/netmgr/http.c:2385,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/isc/netmgr/http.c:2387,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/isc/netmgr/http.c:2390,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: 2395
      start: 2366
    functionDepth: 2
    functionLinenumber: 2366
    functionLinenumberEnd: 2395
    functionName: server_read_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_buffer_current
    - memmove
    - isc_buffer_remaininglength
    - isc_buffer_forward
    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:2416,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: 2424
      start: 2397
    functionDepth: 0
    functionLinenumber: 2397
    functionLinenumberEnd: 2424
    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: 2428
      start: 2426
    functionDepth: 0
    functionLinenumber: 2426
    functionLinenumberEnd: 2428
    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:2453,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/http.c:2457,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:2461,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/http.c:2462,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/http.c:2463,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: 2467
      start: 2450
    functionDepth: 3
    functionLinenumber: 2450
    functionLinenumberEnd: 2467
    functionName: log_server_error_response
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_format
    - ISC_LOG_DEBUG
    - 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:2474,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/http.c:2476,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:2478,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:2479,1
    - Dst: log_server_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2489,1
    - Dst: server_send_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2490,1
    - Dst: server_send_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2496,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: 2498
      start: 2469
    functionDepth: 4
    functionLinenumber: 2469
    functionLinenumberEnd: 2498
    functionName: server_send_error_response
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - isc_buffer_initnull
    - REQUIRE
    - server_send_error_response
    - log_server_error_response
    - isc_mem_free
    - isc_buffer_base
    - server_send_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:2505,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2505,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2516,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/http.c:2520,1
    - Dst: isc_nmsocket_t*::h2::cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2526,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:2527,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: 2528
      start: 2500
    functionDepth: 1
    functionLinenumber: 2500
    functionLinenumberEnd: 2528
    functionName: server_call_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_restart
    - VALID_NMSOCK
    - isc_nmhandle_detach
    - isc_nmsocket_t*::h2::cb
    - isc__nmhandle_get
    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:2534,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2535,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2535,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2537,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2538,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2539,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:2539,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2542,1
    - Dst: server_send_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2547,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2530
    functionDepth: 5
    functionLinenumber: 2530
    functionLinenumberEnd: 2549
    functionName: isc__nm_http_bad_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - server_send_error_response
    - VALID_NMSOCK
    - http_session_active
    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:2570,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isc/netmgr/http.c:2575,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2598,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2608,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isc/netmgr/http.c:2609,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:2615,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2617,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:2618,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2620,1
    - Dst: server_call_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2623,1
    - Dst: server_send_error_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2628,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 56
    argCount: 2
    argNames:
    - ngsession
    - socket
    argTypes:
    - nghttp2_session*
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2633
      start: 2551
    functionDepth: 5
    functionLinenumber: 2551
    functionLinenumberEnd: 2633
    functionName: server_on_request_recv
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - server_call_cb
    - INSIST
    - server_send_error_response
    - isc_buffer_usedlength
    - isc_base64_decodestring
    - isc_buffer_usedregion
    - UNREACHABLE
    - isc_buffer_init
    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:2644,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2648,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2648,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2649,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2649,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2651,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2652,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/http.c:2659,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: 2660
      start: 2638
    functionDepth: 2
    functionLinenumber: 2638
    functionLinenumberEnd: 2660
    functionName: isc__nm_http_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - isc_job_run
    - VALID_NMSOCK
    - isc_tid
    - isc_nmhandle_attach
    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:2665,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2665,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2666,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/http.c:2666,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/http.c:2669,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/http.c:2671,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: 2673
      start: 2662
    functionDepth: 1
    functionLinenumber: 2662
    functionLinenumberEnd: 2673
    functionName: failed_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nm_sendcb
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc__nm_uvreq_put
    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:2682,1
    - Dst: failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2686,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2690,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/http.c:2691,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: 2692
      start: 2675
    functionDepth: 5
    functionLinenumber: 2675
    functionLinenumberEnd: 2692
    functionName: client_httpsend
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - failed_send_cb
    - http_do_bio
    - isc__nm_uvreq_put
    - client_send
    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:2701,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2702,1
    - Dst: failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2704,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2708,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2708,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2709,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2709,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2710,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2710,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2712,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isc/netmgr/http.c:2713,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:2715,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: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:2729,1
    - Dst: MAKE_NV2
      Src: /src/bind9/lib/isc/netmgr/http.c:2730,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:2731,1
    - Dst: MAKE_NV
      Src: /src/bind9/lib/isc/netmgr/http.c:2733,1
    - Dst: server_send_response
      Src: /src/bind9/lib/isc/netmgr/http.c:2737,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2742,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2744,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:2747,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/http.c:2748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 3
    argNames:
    - handle
    - sock
    - req
    argTypes:
    - isc_nmhandle_t*
    - isc_nmsocket_t*
    - isc__nm_uvreq_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2749
      start: 2694
    functionDepth: 5
    functionLinenumber: 2694
    functionLinenumberEnd: 2749
    functionName: server_httpsend
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_initnull
    - VALID_NMHANDLE
    - failed_send_cb
    - MAKE_NV
    - isc__nmsocket_closing
    - http_do_bio
    - INSIST
    - VALID_NMSOCK
    - MAKE_NV2
    - isc_tid
    - isc_buffer_add
    - snprintf
    - http_session_active
    - cb
    - isc__nm_uvreq_put
    - server_send_response
    - isc_buffer_init
    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:2755,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/http.c:2755,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2759,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2759,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2760,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:2760,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2764,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2764,1
    - Dst: client_httpsend
      Src: /src/bind9/lib/isc/netmgr/http.c:2768,1
    - Dst: server_httpsend
      Src: /src/bind9/lib/isc/netmgr/http.c:2770,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2772
      start: 2751
    functionDepth: 6
    functionLinenumber: 2751
    functionLinenumberEnd: 2772
    functionName: http_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - VALID_UVREQ
    - VALID_NMSOCK
    - client_httpsend
    - server_httpsend
    linkageType: ''
    returnType: void
    signature: void http_send_cb(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2780,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2780,1
    - Dst: http_session_active
      Src: /src/bind9/lib/isc/netmgr/http.c:2783,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/http.c:2784,1
    - Dst: get_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:2788,1
    - Dst: client_submit_request
      Src: /src/bind9/lib/isc/netmgr/http.c:2799,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:2801,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2805,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: 2807
      start: 2774
    functionDepth: 6
    functionLinenumber: 2774
    functionLinenumberEnd: 2807
    functionName: isc__nm_http_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - http_do_bio
    - get_http_cstream
    - put_http_cstream
    - http_session_active
    - cb
    - 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:2814,1
    - Dst: nghttp2_session_get_stream_user_data
      Src: /src/bind9/lib/isc/netmgr/http.c:2821,1
    - Dst: server_on_request_recv
      Src: /src/bind9/lib/isc/netmgr/http.c:2836,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: 2843
      start: 2809
    functionDepth: 6
    functionLinenumber: 2809
    functionLinenumberEnd: 2843
    functionName: server_on_frame_recv_callback
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - nghttp2_session_get_stream_user_data
    - server_on_request_recv
    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:2850,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:2852,1
    - Dst: nghttp2_session_callbacks_new
      Src: /src/bind9/lib/isc/netmgr/http.c:2852,1
    - Dst: nghttp2_session_callbacks_set_on_data_chunk_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2854,1
    - Dst: nghttp2_session_callbacks_set_on_stream_close_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2857,1
    - Dst: nghttp2_session_callbacks_set_on_header_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2860,1
    - Dst: nghttp2_session_callbacks_set_on_begin_headers_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2863,1
    - Dst: nghttp2_session_callbacks_set_on_frame_recv_callback
      Src: /src/bind9/lib/isc/netmgr/http.c:2866,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/http.c:2869,1
    - Dst: nghttp2_session_server_new3
      Src: /src/bind9/lib/isc/netmgr/http.c:2869,1
    - Dst: nghttp2_session_callbacks_del
      Src: /src/bind9/lib/isc/netmgr/http.c:2873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2845
    functionDepth: 1
    functionLinenumber: 2845
    functionLinenumberEnd: 2874
    functionName: initialize_nghttp2_server_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - init_nghttp2_mem
    - nghttp2_session_callbacks_set_on_header_callback
    - nghttp2_session_callbacks_set_on_frame_recv_callback
    - RUNTIME_CHECK
    - nghttp2_session_callbacks_set_on_data_chunk_recv_callback
    - nghttp2_session_callbacks_set_on_stream_close_callback
    - nghttp2_session_callbacks_set_on_begin_headers_callback
    - nghttp2_session_callbacks_new
    - nghttp2_session_callbacks_del
    - nghttp2_session_server_new3
    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:2884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - session
    argTypes:
    - isc_nm_http_session_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2890
    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:2901,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - transphandle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2899
    functionDepth: 1
    functionLinenumber: 2899
    functionLinenumberEnd: 2902
    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:2909,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2909,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2910,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2910,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/http.c:2912,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2918,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:2918,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2919,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:2921,1
    - Dst: http_transpost_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/http.c:2923,1
    - Dst: new_session
      Src: /src/bind9/lib/isc/netmgr/http.c:2925,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/http.c:2927,1
    - Dst: initialize_nghttp2_server_session
      Src: /src/bind9/lib/isc/netmgr/http.c:2928,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2931,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:2932,1
    - Dst: server_send_connection_header
      Src: /src/bind9/lib/isc/netmgr/http.c:2933,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/http.c:2935,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:2938,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: 2940
      start: 2904
    functionDepth: 5
    functionLinenumber: 2904
    functionLinenumberEnd: 2940
    functionName: httplisten_acceptcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - initialize_nghttp2_server_session
    - http_do_bio
    - http_transpost_tcp_nodelay
    - isc__nm_closing
    - VALID_NMSOCK
    - isc__nmhandle_set_manual_timer
    - atomic_load_relaxed
    - isc__nmsocket_attach
    - new_session
    - server_send_connection_header
    - isc_nmhandle_attach
    - 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: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/http.c:2949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2951,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:2951,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2952,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/netmgr/http.c:2952,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:2953,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:2953,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/http.c:2955,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2956,1
    - Dst: http_initsocket
      Src: /src/bind9/lib/isc/netmgr/http.c:2957,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/http.c:2958,1
    - Dst: isc_nmsocket_set_max_streams
      Src: /src/bind9/lib/isc/netmgr/http.c:2961,1
    - Dst: atomic_store
      Src: /src/bind9/lib/isc/netmgr/http.c:2963,1
    - Dst: http_init_listener_endpoints
      Src: /src/bind9/lib/isc/netmgr/http.c:2964,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/http.c:2969,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/http.c:2973,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/http.c:2980,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/http.c:2984,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:2990,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/http.c:2991,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/http.c:2996,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3001,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 42
    argCount: 9
    argNames:
    - workers
    - iface
    - backlog
    - quota
    - ctx
    - eps
    - max_concurrent_streams
    - proxy_type
    - sockp
    argTypes:
    - 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: 3010
      start: 2942
    functionDepth: 1
    functionLinenumber: 2942
    functionLinenumberEnd: 3010
    functionName: isc_nm_listenhttp
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - isc_mempool_get
    - isc_nm_listentcp
    - INSIST
    - isc_nmsocket_set_max_streams
    - isc__networker_current
    - isc_nm_listenproxystream
    - isc__nmsocket_detach
    - ISC_LIST_EMPTY
    - isc_tid
    - isc_nm_listentls
    - atomic_init
    - UNREACHABLE
    - atomic_load
    - http_init_listener_endpoints
    - http_initsocket
    - isc__nmsocket_init
    - atomic_store
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenhttp(uint32_t workers, isc_sockaddr_t *iface,
      int backlog,\n\t\t  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:3015,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:3017,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3020,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isc/netmgr/http.c:3021,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/http.c:3022,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/http.c:3023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3027
      start: 3012
    functionDepth: 1
    functionLinenumber: 3012
    functionLinenumberEnd: 3027
    functionName: isc_nm_http_endpoints_new
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_INIT
    - atomic_init
    - isc_refcount_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:3034,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3036,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3036,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/isc/netmgr/http.c:3038,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3046,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/http.c:3047,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3048,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:3050,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/netmgr/http.c:3055,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - epsp
    argTypes:
    - isc_nm_http_endpoints_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3057
      start: 3029
    functionDepth: 1
    functionLinenumber: 3029
    functionLinenumberEnd: 3057
    functionName: isc_nm_http_endpoints_detach
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_HTTP_ENDPOINTS
    - isc_mem_put
    - isc_refcount_decrement
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - ISC_LIST_DEQUEUE
    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:3062,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3062,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3063,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/isc/netmgr/http.c:3065,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: 3068
      start: 3059
    functionDepth: 1
    functionLinenumber: 3059
    functionLinenumberEnd: 3068
    functionName: isc_nm_http_endpoints_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_HTTP_ENDPOINTS
    - isc_refcount_increment
    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:3073,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3073,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3079,1
    - Dst: strcmp
      Src: /src/bind9/lib/isc/netmgr/http.c:3080,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3081,1
    - Dst: VALID_HTTP_HANDLER
      Src: /src/bind9/lib/isc/netmgr/http.c:3081,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3082,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: 3088
      start: 3070
    functionDepth: 1
    functionLinenumber: 3070
    functionLinenumberEnd: 3088
    functionName: http_endpoints_find
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - strcmp
    - VALID_HTTP_ENDPOINTS
    - INSIST
    - VALID_HTTP_HANDLER
    - ISC_LIST_FOREACH
    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:3097,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3097,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3098,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isc/netmgr/http.c:3098,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3099,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3100,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/netmgr/http.c:3100,1
    - Dst: http_endpoints_find
      Src: /src/bind9/lib/isc/netmgr/http.c:3104,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:3105,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/netmgr/http.c:3109,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/http.c:3114,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: 3118
      start: 3090
    functionDepth: 2
    functionLinenumber: 3090
    functionLinenumberEnd: 3118
    functionName: isc_nm_http_endpoints_add
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - VALID_HTTP_ENDPOINTS
    - isc_mem_get
    - ISC_LIST_APPEND
    - http_endpoints_find
    - isc_mem_strdup
    - isc_nm_http_path_isvalid
    - 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:3122,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3123,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3124,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:3124,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/http.c:3126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3127
      start: 3120
    functionDepth: 1
    functionLinenumber: 3120
    functionLinenumberEnd: 3127
    functionName: isc__nm_http_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_stop
    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:3133,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3133,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:3145,1
    - Dst: http_do_bio
      Src: /src/bind9/lib/isc/netmgr/http.c:3147,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3149
      start: 3129
    functionDepth: 5
    functionLinenumber: 3129
    functionLinenumberEnd: 3149
    functionName: http_close_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - finish_http_session
    - http_do_bio
    - VALID_NMSOCK
    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:3154,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3154,1
    - Dst: http_close_direct
      Src: /src/bind9/lib/isc/netmgr/http.c:3156,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3158
      start: 3151
    functionDepth: 6
    functionLinenumber: 3151
    functionLinenumberEnd: 3158
    functionName: http_close_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_detach
    - VALID_NMSOCK
    - 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:3163,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3165,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/http.c:3165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3166,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:3171,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3173,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/http.c:3175,1
    - Dst: http_close_direct
      Src: /src/bind9/lib/isc/netmgr/http.c:3180,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/http.c:3181,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3185,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/http.c:3186,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3187
      start: 3160
    functionDepth: 6
    functionLinenumber: 3160
    functionLinenumberEnd: 3187
    functionName: isc__nm_http_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nm_httpsession_detach
    - http_close_direct
    - isc__nmsocket_attach
    - isc_tid
    - isc_async_run
    - isc__nmsocket_active
    - isc__nmsocket_prep_destroy
    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:3193,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3193,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3194,1
    - Dst: nghttp2_submit_rst_stream
      Src: /src/bind9/lib/isc/netmgr/http.c:3200,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:3203,1
    - Dst: server_call_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3204,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: 3205
      start: 3189
    functionDepth: 2
    functionLinenumber: 3189
    functionLinenumberEnd: 3205
    functionName: failed_httpstream_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - nghttp2_submit_rst_stream
    - REQUIRE
    - server_call_cb
    - INSIST
    - VALID_NMSOCK
    - 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:3210,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3211,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3213,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/http.c:3222,1
    - Dst: read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3223,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/http.c:3229,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/http.c:3231,1
    - Dst: put_http_cstream
      Src: /src/bind9/lib/isc/netmgr/http.c:3232,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: 3235
      start: 3207
    functionDepth: 4
    functionLinenumber: 3207
    functionLinenumberEnd: 3235
    functionName: client_call_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - read_cb
    - REQUIRE
    - VALID_HTTP2_SESSION
    - isc__nmsocket_timer_running
    - put_http_cstream
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    - ISC_LIST_DEQUEUE
    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:3240,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3241,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3243,1
    - Dst: failed_httpstream_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3244,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/http.c:3247,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/http.c:3248,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3253,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: 3255
      start: 3237
    functionDepth: 3
    functionLinenumber: 3237
    functionLinenumberEnd: 3255
    functionName: server_call_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_HTTP2_SESSION
    - isc__nmsocket_detach
    - failed_httpstream_read_cb
    - ISC_LIST_FOREACH
    - ISC_LIST_DEQUEUE
    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:3260,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/http.c:3266,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:3267,1
    - Dst: server_call_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/http.c:3270,1
    - Dst: finish_http_session
      Src: /src/bind9/lib/isc/netmgr/http.c:3274,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: 3276
      start: 3257
    functionDepth: 5
    functionLinenumber: 3257
    functionLinenumberEnd: 3276
    functionName: failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 3
    functionsReached:
    - client_call_failed_read_cb
    - finish_http_session
    - server_call_failed_read_cb
    - ISC_LIST_EMPTY
    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:3283,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3284,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3284,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3289,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3289,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3290,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - ttl
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3278
    functionDepth: 1
    functionLinenumber: 3278
    functionLinenumberEnd: 3293
    functionName: isc__nm_http_set_maxage
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - INSIST
    - VALID_NMSOCK
    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:3300,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3300,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3301,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3301,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3306,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3306,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/http.c:3312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3313
      start: 3295
    functionDepth: 1
    functionLinenumber: 3295
    functionLinenumberEnd: 3313
    functionName: isc__nm_http_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - INSIST
    - VALID_NMSOCK
    - 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:3320,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3320,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3321,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3321,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3322,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3340,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3340,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/http.c:3346,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3315
    functionDepth: 1
    functionLinenumber: 3315
    functionLinenumberEnd: 3347
    functionName: isc__nm_http_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - INSIST
    - isc_nm_verify_tls_peer_result_string
    - VALID_NMSOCK
    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:3351,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3352,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/http.c:3354,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3355
      start: 3349
    functionDepth: 1
    functionLinenumber: 3349
    functionLinenumberEnd: 3355
    functionName: isc__nm_http_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc_nmsocket_set_tlsctx
    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:3362,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3362,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3363,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/http.c:3371,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: 3373
      start: 3357
    functionDepth: 1
    functionLinenumber: 3357
    functionLinenumberEnd: 3373
    functionName: isc__nm_http_set_max_streams
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - 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:3383,1
    - Dst: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/http.c:3386,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:3388,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3390,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3391,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3394,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3380
    functionDepth: 2
    functionLinenumber: 3380
    functionLinenumberEnd: 3396
    functionName: http_set_endpoints_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc__networker_current
    - isc__nmsocket_detach
    - isc_tid
    - isc_nm_http_endpoints_detach
    - isc_nm_http_endpoints_attach
    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:3401,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3403,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3403,1
    - Dst: atomic_store
      Src: /src/bind9/lib/isc/netmgr/http.c:3405,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/http.c:3407,1
    - Dst: isc__networker_get
      Src: /src/bind9/lib/isc/netmgr/http.c:3408,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/http.c:3409,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3412,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3413,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/http.c:3415,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - listener
    - eps
    argTypes:
    - isc_nmsocket_t*
    - isc_nm_http_endpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3417
      start: 3398
    functionDepth: 2
    functionLinenumber: 3398
    functionLinenumberEnd: 3417
    functionName: isc_nm_http_set_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__networker_get
    - isc_mem_cget
    - VALID_HTTP_ENDPOINTS
    - VALID_NMSOCK
    - isc_loopmgr_nloops
    - isc__nmsocket_attach
    - isc_async_run
    - isc_nm_http_endpoints_attach
    - atomic_store
    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:3424,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3424,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3425,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3426,1
    - Dst: VALID_HTTP_ENDPOINTS
      Src: /src/bind9/lib/isc/netmgr/http.c:3426,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/http.c:3428,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3429,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/http.c:3432,1
    - Dst: isc_nm_http_endpoints_attach
      Src: /src/bind9/lib/isc/netmgr/http.c:3437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - listener
    - epset
    argTypes:
    - isc_nmsocket_t*
    - isc_nm_http_endpoints_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3440
      start: 3419
    functionDepth: 2
    functionLinenumber: 3419
    functionLinenumberEnd: 3440
    functionName: http_init_listener_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - VALID_HTTP_ENDPOINTS
    - INSIST
    - VALID_NMSOCK
    - isc_loopmgr_nloops
    - isc_nm_http_endpoints_attach
    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:3444,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3451,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/http.c:3454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3442
    functionDepth: 2
    functionLinenumber: 3442
    functionLinenumberEnd: 3458
    functionName: http_cleanup_listener_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_nm_http_endpoints_detach
    - REQUIRE
    - isc_mem_cput
    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:3463,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3463,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3465,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3468,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tid
    argTypes:
    - isc_nmsocket_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3470
      start: 3460
    functionDepth: 1
    functionLinenumber: 3460
    functionLinenumberEnd: 3470
    functionName: http_get_listener_endpoints
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:3513,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3527,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3540,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/netmgr/http.c:3542,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 4
    argNames:
    - mem
    - base64url
    - base64url_len
    - res_len
    argTypes:
    - isc_mem_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3547
      start: 3501
    functionDepth: 1
    functionLinenumber: 3501
    functionLinenumberEnd: 3547
    functionName: isc__nm_base64url_to_base64
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - isc_mem_free
    - isc_mem_allocate
    - SET_IF_NOT_NULL
    - INSIST
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isc/netmgr/http.c:3559,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3586,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/netmgr/http.c:3593,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 4
    argNames:
    - mem
    - base64
    - base64_len
    - res_len
    argTypes:
    - isc_mem_t*
    - char*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3598
      start: 3549
    functionDepth: 1
    functionLinenumber: 3549
    functionLinenumberEnd: 3598
    functionName: isc__nm_base64_to_base64url
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - isc_mem_free
    - isc_mem_allocate
    - SET_IF_NOT_NULL
    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:3602,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/http.c:3604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3609
      start: 3600
    functionDepth: 1
    functionLinenumber: 3600
    functionLinenumberEnd: 3609
    functionName: http_initsocket
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc_mem_get
    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:3620,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3626,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3630,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3635,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3638,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/http.c:3640,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isc/netmgr/http.c:3641,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3642,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/isc/netmgr/http.c:3643,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/http.c:3653,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/http.c:3656,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/http.c:3659,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3666
      start: 3611
    functionDepth: 4
    functionLinenumber: 3611
    functionLinenumberEnd: 3666
    functionName: isc__nm_http_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - isc_buffer_initnull
    - isc_mem_put
    - INSIST
    - isc__nm_httpsession_detach
    - isc_nm_http_endpoints_detach
    - isc_mem_free
    - isc_buffer_base
    - http_cleanup_listener_endpoints
    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:3672,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3672,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3673,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/http.c:3673,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3674,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3678,1
    - Dst: VALID_HTTP2_SESSION
      Src: /src/bind9/lib/isc/netmgr/http.c:3678,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3679,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/http.c:3679,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/http.c:3680,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3682
      start: 3668
    functionDepth: 1
    functionLinenumber: 3668
    functionLinenumberEnd: 3682
    functionName: isc__nm_http_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_cleartimeout
    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: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_settimeout
      Src: /src/bind9/lib/isc/netmgr/http.c:3696,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3684
    functionDepth: 1
    functionLinenumber: 3684
    functionLinenumberEnd: 3698
    functionName: isc__nm_http_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_settimeout
    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: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_keepalive
      Src: /src/bind9/lib/isc/netmgr/http.c:3713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3715
      start: 3700
    functionDepth: 1
    functionLinenumber: 3700
    functionLinenumberEnd: 3715
    functionName: isc__nmhandle_http_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_HTTP2_SESSION
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    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:3729,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3730,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3731,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isc/netmgr/http.c:3731,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isc/netmgr/http.c:3739,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/http.c:3750,1
    - Dst: ntohs
      Src: /src/bind9/lib/isc/netmgr/http.c:3752,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/isc/netmgr/http.c:3755,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/http.c:3773,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: 3776
      start: 3717
    functionDepth: 1
    functionLinenumber: 3717
    functionLinenumberEnd: 3776
    functionName: isc_nm_http_makeuri
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - inet_pton
    - INSIST
    - inet_ntop
    - snprintf
    - ntohs
    - isc_nm_http_path_isvalid
    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: 3810
      start: 3809
    functionDepth: 0
    functionLinenumber: 3809
    functionLinenumberEnd: 3810
    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: 3811
      start: 3810
    functionDepth: 0
    functionLinenumber: 3810
    functionLinenumberEnd: 3811
    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: 3812
      start: 3811
    functionDepth: 0
    functionLinenumber: 3811
    functionLinenumberEnd: 3812
    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: 3813
      start: 3812
    functionDepth: 0
    functionLinenumber: 3812
    functionLinenumberEnd: 3813
    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: 3814
      start: 3813
    functionDepth: 0
    functionLinenumber: 3813
    functionLinenumberEnd: 3814
    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: 3815
      start: 3814
    functionDepth: 0
    functionLinenumber: 3814
    functionLinenumberEnd: 3815
    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: 3816
      start: 3815
    functionDepth: 0
    functionLinenumber: 3815
    functionLinenumberEnd: 3816
    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:3825,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/http.c:3826,1
    - Dst: rule_query_string
      Src: /src/bind9/lib/isc/netmgr/http.c:3833,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - query_string
    - start
    - len
    argTypes:
    - char*
    - char**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3845
      start: 3820
    functionDepth: 1
    functionLinenumber: 3820
    functionLinenumberEnd: 3845
    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:3867,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3868,1
    - Dst: rule_key_value_pair
      Src: /src/bind9/lib/isc/netmgr/http.c:3871,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3875,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3879,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3881
      start: 3865
    functionDepth: 1
    functionLinenumber: 3865
    functionLinenumberEnd: 3881
    functionName: rule_query_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    - rule_key_value_pair
    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:3885,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3889,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3890,1
    - Dst: rule_value
      Src: /src/bind9/lib/isc/netmgr/http.c:3895,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netmgr/http.c:3898,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3908,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3909,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3913
      start: 3883
    functionDepth: 1
    functionLinenumber: 3883
    functionLinenumberEnd: 3913
    functionName: rule_key_value_pair
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - rule_key
    - ADVANCE
    - memcmp
    - MATCH
    - rule_value
    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:3917,1
    - Dst: MATCH_ALPHA
      Src: /src/bind9/lib/isc/netmgr/http.c:3917,1
    - Dst: GETP
      Src: /src/bind9/lib/isc/netmgr/http.c:3918,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3919,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3924,1
    - Dst: MATCH_ALNUM
      Src: /src/bind9/lib/isc/netmgr/http.c:3924,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3925,1
    - Dst: GETP
      Src: /src/bind9/lib/isc/netmgr/http.c:3928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3930
      start: 3915
    functionDepth: 1
    functionLinenumber: 3915
    functionLinenumberEnd: 3930
    functionName: rule_key
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - ADVANCE
    - MATCH_ALNUM
    - MATCH_ALPHA
    - 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:3934,1
    - Dst: rule_value_char
      Src: /src/bind9/lib/isc/netmgr/http.c:3935,1
    - Dst: rule_value_char
      Src: /src/bind9/lib/isc/netmgr/http.c:3940,1
    - Dst: GETP
      Src: /src/bind9/lib/isc/netmgr/http.c:3943,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3945
      start: 3932
    functionDepth: 1
    functionLinenumber: 3932
    functionLinenumberEnd: 3945
    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:3949,1
    - Dst: rule_percent_charcode
      Src: /src/bind9/lib/isc/netmgr/http.c:3953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3954
      start: 3947
    functionDepth: 1
    functionLinenumber: 3947
    functionLinenumberEnd: 3954
    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:3958,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3958,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3958,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3958,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:3959,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3961,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3965
      start: 3956
    functionDepth: 1
    functionLinenumber: 3956
    functionLinenumberEnd: 3965
    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:3969,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3970,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:3975,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3978,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:3980,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:3983,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_httpparser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3986
      start: 3967
    functionDepth: 1
    functionLinenumber: 3967
    functionLinenumberEnd: 3986
    functionName: rule_percent_charcode
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    - MATCH_XDIGIT
    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:4045,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4046,1
    - Dst: rule_loc_segments
      Src: /src/bind9/lib/isc/netmgr/http.c:4051,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4053,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4054,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 4043
    functionDepth: 1
    functionLinenumber: 4043
    functionLinenumberEnd: 4060
    functionName: rule_loc_path_absolute
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 0
    functionsReached:
    - MATCH
    - ADVANCE
    - rule_loc_segments
    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:4064,1
    - Dst: rule_loc_slash_segment
      Src: /src/bind9/lib/isc/netmgr/http.c:4068,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4073
      start: 4062
    functionDepth: 1
    functionLinenumber: 4062
    functionLinenumberEnd: 4073
    functionName: rule_loc_segments
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - rule_loc_segment_nz
    - rule_loc_slash_segment
    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:4077,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4078,1
    - Dst: rule_loc_segment
      Src: /src/bind9/lib/isc/netmgr/http.c:4083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4084
      start: 4075
    functionDepth: 1
    functionLinenumber: 4075
    functionLinenumberEnd: 4084
    functionName: rule_loc_slash_segment
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    - rule_loc_segment
    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:4088,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4093
      start: 4086
    functionDepth: 1
    functionLinenumber: 4086
    functionLinenumberEnd: 4093
    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:4097,1
    - Dst: rule_loc_pchar
      Src: /src/bind9/lib/isc/netmgr/http.c:4101,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4106
      start: 4095
    functionDepth: 1
    functionLinenumber: 4095
    functionLinenumberEnd: 4106
    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:4110,1
    - Dst: rule_loc_pct_encoded
      Src: /src/bind9/lib/isc/netmgr/http.c:4112,1
    - Dst: rule_loc_sub_delims
      Src: /src/bind9/lib/isc/netmgr/http.c:4114,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4116,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4116,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4117,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4122
      start: 4108
    functionDepth: 1
    functionLinenumber: 4108
    functionLinenumberEnd: 4122
    functionName: rule_loc_pchar
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 2
    functionsReached:
    - rule_loc_pct_encoded
    - rule_loc_unreserved
    - ADVANCE
    - MATCH
    - 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:4126,1
    - Dst: MATCH_DIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:4126,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4126,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4126,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4127,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4127,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4133
      start: 4124
    functionDepth: 1
    functionLinenumber: 4124
    functionLinenumberEnd: 4133
    functionName: rule_loc_unreserved
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    - MATCH_DIGIT
    - MATCH_ALPHA
    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:4137,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4140,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:4142,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4145,1
    - Dst: MATCH_XDIGIT
      Src: /src/bind9/lib/isc/netmgr/http.c:4147,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4150,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4153
      start: 4135
    functionDepth: 1
    functionLinenumber: 4135
    functionLinenumberEnd: 4153
    functionName: rule_loc_pct_encoded
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 1
    functionsReached:
    - MATCH
    - ADVANCE
    - MATCH_XDIGIT
    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:4157,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4157,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4157,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4157,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4157,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4158,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4158,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4158,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4158,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4158,1
    - Dst: MATCH
      Src: /src/bind9/lib/isc/netmgr/http.c:4159,1
    - Dst: ADVANCE
      Src: /src/bind9/lib/isc/netmgr/http.c:4161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - st
    argTypes:
    - isc_http_location_parser_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4166
      start: 4155
    functionDepth: 0
    functionLinenumber: 4155
    functionLinenumberEnd: 4166
    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:4172,1
    - Dst: rule_loc_path_absolute
      Src: /src/bind9/lib/isc/netmgr/http.c:4176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - path
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4177
      start: 4168
    functionDepth: 2
    functionLinenumber: 4168
    functionLinenumberEnd: 4177
    functionName: isc_nm_http_path_isvalid
    functionSourceFile: /src/bind9/lib/isc/netmgr/http.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - rule_loc_path_absolute
    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: 243
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 243
    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: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    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:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    functionName: isc__netmgr_ref
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__netmgr_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: 381
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 381
    functionName: isc__netmgr_unref
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__netmgr_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: 383
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 383
    functionName: isc__netmgr_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__netmgr_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: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: isc__netmgr_detach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr-int.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: isc__netmgr_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: 396
      start: 395
    functionDepth: 0
    functionLinenumber: 395
    functionLinenumberEnd: 396
    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: 1
    argNames:
    - sa_family
    argTypes:
    - 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:
    - isc__nm_socket
    - isc__nm_socket_reuse_lb
    - RUNTIME_CHECK
    - isc__nm_socket_disable_pmtud
    - isc__nm_socket_reuse
    - isc__nm_socket_v6only
    linkageType: ''
    returnType: uv_os_sock_t
    signature: uv_os_sock_t isc__nm_udp_lb_socket(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:109,1
    - Dst: uv_udp_init_ex
      Src: /src/bind9/lib/isc/netmgr/udp.c:114,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:115,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:116,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/udp.c:118,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:120,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:121,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:122,1
    - Dst: uv_udp_open
      Src: /src/bind9/lib/isc/netmgr/udp.c:124,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/udp.c:126,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:127,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:130,1
    - Dst: isc__nm_udp_freebind
      Src: /src/bind9/lib/isc/netmgr/udp.c:137,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:141,1
    - Dst: isc__nm_udp_freebind
      Src: /src/bind9/lib/isc/netmgr/udp.c:146,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:150,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/udp.c:159,1
    - Dst: uv_udp_recv_start
      Src: /src/bind9/lib/isc/netmgr/udp.c:161,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:164,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:173,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/udp.c:176,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 59
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 178
    functionName: start_udp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nm_socket_min_mtu
    - isc__nm_closesocket
    - VALID_NMSOCK
    - isc__nmsocket_attach
    - uv_timer_init
    - isc_tid
    - uv_udp_open
    - isc__nm_incstats
    - isc__nm_set_network_buffers
    - uv_udp_recv_start
    - isc__nm_udp_freebind
    - isc_uverr2result
    - uv_handle_set_data
    - uv_udp_init_ex
    - isc_barrier_wait
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void start_udp_child_job(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:183,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:186,1
    - Dst: isc__nm_udp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:192,1
    - Dst: dup
      Src: /src/bind9/lib/isc/netmgr/udp.c:194,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:196,1
    - Dst: start_udp_child_job
      Src: /src/bind9/lib/isc/netmgr/udp.c:199,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/udp.c:201,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 4
    argNames:
    - iface
    - sock
    - fd
    - tid
    argTypes:
    - isc_sockaddr_t*
    - isc_nmsocket_t*
    - uv_os_sock_t
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 203
    functionName: start_udp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__networker_get
    - dup
    - isc__nm_udp_lb_socket
    - INSIST
    - isc_async_run
    - start_udp_child_job
    - isc__nmsocket_init
    linkageType: ''
    returnType: void
    signature: "void start_udp_child(isc_sockaddr_t *iface, isc_nmsocket_t *sock,
      uv_os_sock_t fd,\n\t\tisc_tid_t tid)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:213,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:213,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:215,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:219,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:220,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:227,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/udp.c:229,1
    - Dst: isc__nmsocket_barrier_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:232,1
    - Dst: isc__nm_udp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:238,1
    - Dst: start_udp_child
      Src: /src/bind9/lib/isc/netmgr/udp.c:241,1
    - Dst: INSIST
      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: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/udp.c:249,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/udp.c:252,1
    - Dst: isc__nm_udp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/udp.c:269,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:270,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 5
    argNames:
    - workers
    - iface
    - cb
    - cbarg
    - sockp
    argTypes:
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_recv_cb_t
    - void*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 205
    functionDepth: 3
    functionLinenumber: 205
    functionLinenumberEnd: 279
    functionName: isc_nm_listenudp
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 8
    functionsReached:
    - isc__networker_get
    - REQUIRE
    - isc_mem_cget
    - isc__nm_udp_lb_socket
    - isc_nmsocket_close
    - INSIST
    - isc__nm_closing
    - isc__nm_closesocket
    - isc__nmsocket_barrier_init
    - start_udp_child
    - isc__nm_udp_stoplistening
    - isc_tid
    - isc_barrier_wait
    - isc_mempool_get
    - isc__nmsocket_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenudp(uint32_t workers, isc_sockaddr_t *iface,
      isc_nm_recv_cb_t cb,\n\t\t void *cbarg, isc_nmsocket_t **sockp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isc/netmgr/udp.c:290,1
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:290,1
    - Dst: bind
      Src: /src/bind9/lib/isc/netmgr/udp.c:296,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/udp.c:298,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/udp.c:299,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fdp
    argTypes:
    - uv_os_sock_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 305
    functionName: route_socket
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_socket
    - isc__nm_closesocket
    - bind
    - RETERR
    - 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:312,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:312,1
    - Dst: uv_udp_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:318,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:319,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:320,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:322,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:323,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:324,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:326,1
    - Dst: uv_udp_open
      Src: /src/bind9/lib/isc/netmgr/udp.c:330,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:332,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/udp.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 341
    functionName: route_connect_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uv_udp_init
    - isc__nm_closing
    - uv_timer_init
    - uv_udp_open
    - isc_tid
    - isc__nm_set_network_buffers
    - uv_handle_set_data
    - isc_uverr2result
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t route_connect_direct(isc_nmsocket_t *sock)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/udp.c:351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:354,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:354,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:356,1
    - Dst: RETERR
      Src: /src/bind9/lib/isc/netmgr/udp.c:360,1
    - Dst: route_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:360,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:362,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:363,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:371,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:374,1
    - Dst: route_connect_direct
      Src: /src/bind9/lib/isc/netmgr/udp.c:378,1
    - Dst: isc__nm_udp_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:381,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:384,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:386,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:390,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:391,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:392,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - cb
    - cbarg
    argTypes:
    - isc_nm_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 345
    functionDepth: 3
    functionLinenumber: 345
    functionLinenumberEnd: 396
    functionName: isc_nm_routeconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - UNUSED
    - isc__nm_closing
    - isc__nm_connectcb
    - isc__networker_current
    - route_connect_direct
    - isc__nmsocket_detach
    - isc_tid
    - RETERR
    - isc__nm_udp_close
    - isc__nmhandle_get
    - route_socket
    - isc_mempool_get
    - isc__nmsocket_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_nm_routeconnect(isc_nm_cb_t cb, void *cbarg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:404,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:404,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:405,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:405,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:406,1
    - Dst: isc__nm_udp_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:410,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:412,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/udp.c:413,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 414
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 414
    functionName: stop_udp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_udp_close
    - 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:418,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:418,1
    - Dst: stop_udp_child_job
      Src: /src/bind9/lib/isc/netmgr/udp.c:421,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/udp.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 425
    functionName: stop_udp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - REQUIRE
    - stop_udp_child_job
    - VALID_NMSOCK
    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:429,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:429,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:430,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:431,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:433,1
    - Dst: stop_udp_child
      Src: /src/bind9/lib/isc/netmgr/udp.c:442,1
    - Dst: stop_udp_child
      Src: /src/bind9/lib/isc/netmgr/udp.c:446,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 427
    functionDepth: 3
    functionLinenumber: 427
    functionLinenumberEnd: 451
    functionName: isc__nm_udp_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - stop_udp_child
    - isc_tid
    - 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:461,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:467,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:467,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:468,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:468,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:478,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:479,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/udp.c:483,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/udp.c:491,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:505,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:505,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:512,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:513,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/udp.c:520,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:521,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:532,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/udp.c:540,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/udp.c:543,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:544,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/udp.c:548,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:565,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:566,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:567,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:570,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:572,1
    - Dst: isc__nm_free_uvbuf
      Src: /src/bind9/lib/isc/netmgr/udp.c:600,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: 601
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 601
    functionName: isc__nm_udp_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - INSIST
    - isc__nmsocket_clearcb
    - isc__nm_get_read_req
    - RUNTIME_CHECK
    - isc__nm_stop_reading
    - isc_sockaddr_fromsockaddr
    - isc__nm_closing
    - atomic_load_relaxed
    - isc_tid
    - isc__nm_readcb
    - isc__nmsocket_active
    - isc__nmsocket_timer_stop
    - VALID_NMSOCK
    - isc__nm_free_uvbuf
    - uv_handle_get_data
    - isc__nm_failed_read_cb
    - isc_uverr2result
    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:606,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:609,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/udp.c:609,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:610,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/udp.c:610,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:614,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:614,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:615,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:615,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:618,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:619,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:619,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:624,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_udp_send_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 625
    functionName: udp_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_sendcb
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc__nm_failed_send_cb
    - isc__nm_incstats
    - isc_tid
    - uv_handle_get_data
    - isc_uverr2result
    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:631,1
    - Dst: atomic_exchange_relaxed
      Src: /src/bind9/lib/isc/netmgr/udp.c:632,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 629
    functionDepth: 1
    functionLinenumber: 629
    functionLinenumberEnd: 638
    functionName: can_log_udp_sends
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - atomic_exchange_relaxed
    - isc_stdtime_now
    linkageType: ''
    returnType: bool
    signature: bool can_log_udp_sends(void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:657,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:657,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:658,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:659,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:659,1
    - Dst: atomic_load
      Src: /src/bind9/lib/isc/netmgr/udp.c:662,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:674,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:678,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/udp.c:682,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:687,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:692,1
    - Dst: uv_udp_get_send_queue_size
      Src: /src/bind9/lib/isc/netmgr/udp.c:697,1
    - Dst: uv_udp_try_send
      Src: /src/bind9/lib/isc/netmgr/udp.c:704,1
    - Dst: can_log_udp_sends
      Src: /src/bind9/lib/isc/netmgr/udp.c:706,1
    - Dst: isc__netmgr_log
      Src: /src/bind9/lib/isc/netmgr/udp.c:707,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/udp.c:710,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:710,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:713,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:714,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:718,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:719,1
    - Dst: uv_udp_send
      Src: /src/bind9/lib/isc/netmgr/udp.c:723,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:726,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:727,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:733,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: 734
      start: 645
    functionDepth: 2
    functionLinenumber: 645
    functionLinenumberEnd: 734
    functionName: isc__nm_udp_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_closing
    - isc__nm_failed_send_cb
    - isc__nm_incstats
    - isc__nm_uvreq_get
    - RUNTIME_CHECK
    - uv_udp_send
    - isc_nmhandle_detach
    - uv_udp_get_send_queue_size
    - uv_udp_try_send
    - can_log_udp_sends
    - isc_result_totext
    - isc__nm_closing
    - isc_tid
    - atomic_load
    - isc__nm_sendcb
    - VALID_NMSOCK
    - isc_nmhandle_attach
    - isc_uverr2result
    - isc__netmgr_log
    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:743,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:744,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:745,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:747,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:748,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:749,1
    - Dst: uv_udp_open
      Src: /src/bind9/lib/isc/netmgr/udp.c:751,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:753,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:754,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:756,1
    - Dst: isc__nm_socket_reuse
      Src: /src/bind9/lib/isc/netmgr/udp.c:761,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/udp.c:762,1
    - Dst: uv_udp_bind
      Src: /src/bind9/lib/isc/netmgr/udp.c:772,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:775,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:776,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/udp.c:779,1
    - Dst: uv_udp_connect
      Src: /src/bind9/lib/isc/netmgr/udp.c:787,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:790,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/udp.c:791,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:793,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: 796
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 796
    functionName: udp_connect_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - uv_udp_init
    - RUNTIME_CHECK
    - uv_udp_bind
    - uv_udp_open
    - uv_timer_init
    - isc__nm_incstats
    - isc__nm_socket_reuse
    - isc__nm_set_network_buffers
    - uv_handle_set_data
    - isc_uverr2result
    - uv_udp_connect
    - 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: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/udp.c:805,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:808,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:809,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:811,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:812,1
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/udp.c:818,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:820,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:825,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/udp.c:826,1
    - Dst: isc__nm_socket_disable_pmtud
      Src: /src/bind9/lib/isc/netmgr/udp.c:836,1
    - Dst: isc__nm_socket_min_mtu
      Src: /src/bind9/lib/isc/netmgr/udp.c:838,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:841,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/udp.c:846,1
    - Dst: udp_connect_direct
      Src: /src/bind9/lib/isc/netmgr/udp.c:851,1
    - Dst: isc__nm_failed_connect_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:854,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:855,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:862,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 5
    argNames:
    - local
    - peer
    - cb
    - cbarg
    - timeout
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 864
      start: 798
    functionDepth: 2
    functionLinenumber: 798
    functionLinenumberEnd: 864
    functionName: isc_nm_udpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 8
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - isc__nm_socket_min_mtu
    - isc__nm_socket
    - udp_connect_direct
    - isc__nm_closing
    - isc__nm_connectcb
    - isc__networker_current
    - isc__nmsocket_detach
    - isc__nm_failed_connect_cb
    - isc__nm_socket_disable_pmtud
    - cb
    - isc__nmhandle_get
    - isc_mempool_get
    - isc__nmsocket_init
    linkageType: ''
    returnType: void
    signature: "void isc_nm_udpconnect(isc_sockaddr_t *local, isc_sockaddr_t *peer,
      isc_nm_cb_t cb,\n\t\t  void *cbarg, unsigned int timeout)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:869,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:869,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:870,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:871,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:871,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:882,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:883,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/udp.c:891,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:892,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:897,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:898,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: 901
      start: 866
    functionDepth: 1
    functionLinenumber: 866
    functionLinenumberEnd: 901
    functionName: isc__nm_udp_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - isc__nm_get_read_req
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_readcb
    - isc__nm_stop_reading
    - isc__nmsocket_clearcb
    - isc__nmsocket_prep_destroy
    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:908,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/udp.c:908,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:912,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:912,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:913,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:914,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:915,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:915,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:925,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/udp.c:930,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:935,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/udp.c:940,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:945,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: 946
      start: 903
    functionDepth: 1
    functionLinenumber: 903
    functionLinenumberEnd: 946
    functionName: isc__nm_udp_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_closing
    - isc__nmsocket_timer_restart
    - isc__nm_closing
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_failed_read_cb
    - isc__nm_start_reading
    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:950,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/udp.c:951,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:953,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:953,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:954,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:954,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:955,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:956,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/udp.c:960,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/udp.c:964,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:968,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 970
    functionName: udp_close_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc__nm_incstats
    - isc_tid
    - uv_handle_get_data
    - uv_handle_set_data
    - 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:974,1
    - Dst: VALID_NMSOCK
      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_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:976,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:977,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:981,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:982,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:983,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/udp.c:992,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/udp.c:993,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:994,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/udp.c:997,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/udp.c:998,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 999
    functionName: isc__nm_udp_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - uv_close
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_stop_reading
    - isc__nmsocket_clearcb
    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:1003,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/udp.c:1003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:1004,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/udp.c:1004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:1005,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/udp.c:1017,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/udp.c:1025,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:1031,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/udp.c:1037,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1039
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1039
    functionName: isc__nm_udp_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/udp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_failed_read_cb
    - 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__nmsocket_active
    - isc__nm_closing
    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_clearcb
    - isc_nmsocket_t*::connect_cb
    - 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:
    - tls_do_bio
    - REQUIRE
    - VALID_NMHANDLE
    - isc_buffer_setmctx
    - tls_try_shutdown
    - isc_mem_put
    - isc_buffer_length
    - INSIST
    - send_cb
    - VALID_NMSOCK
    - isc_buffer_invalidate
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_buffer_clearmctx
    - tls_failed_read_cb
    - isc_buffer_clear
    - isc_buffer_init
    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:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - isc__nm_get_read_req
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_detach
    - isc__nmsocket_timer_running
    - isc__nm_readcb
    - isc__nmsocket_clearcb
    - isc__nmhandle_get
    - tls_call_connect_cb
    - isc__nmsocket_prep_destroy
    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:
    - tls_do_bio
    - tls_failed_read_cb
    - inactive
    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:
    - tls_do_bio
    - REQUIRE
    - isc__nmsocket_detach
    - VALID_NMSOCK
    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:
    - INSIST
    - isc_buffer_add
    - isc_buffer_remainingregion
    - isc_buffer_setmctx
    - BIO_pending
    - RUNTIME_CHECK
    - isc__nmsocket_attach
    - isc_buffer_init
    - VALID_NMHANDLE
    - tls_try_shutdown
    - isc__nm_closing
    - BIO_read_ex
    - cb
    - tls_keep_client_tls_session
    - inactive
    - isc_mem_get
    - isc_buffer_remaininglength
    - isc_buffer_reserve
    - isc_nm_send
    - isc_buffer_base
    - isc_nmhandle_attach
    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:
    - tls_send_outgoing
    - SSL_get_shutdown
    linkageType: ''
    returnType: int
    signature: "int tls_process_outgoing(isc_nmsocket_t *sock, bool finish,\n\t\t
      \    isc__nm_uvreq_t *send_data)"
  - BBCount: 6
    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
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:495,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - sock
    - presult
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 449
    functionDepth: 3
    functionLinenumber: 449
    functionLinenumberEnd: 499
    functionName: tls_try_handshake
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - SSL_is_init_finished
    - INSIST
    - isc__nm_closing
    - tls_read_stop
    - SET_IF_NOT_NULL
    - isc_nmhandle_detach
    - isc__nmsocket_log_tls_session_reuse
    - SSL_do_handshake
    - isc__nmhandle_get
    - tls_call_connect_cb
    - isc_nmsocket_t*::accept_cb
    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:511,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 516
    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:527,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:527,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:528,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:528,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:549,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:552,1
    - Dst: SSL_set_accept_state
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:554,1
    - Dst: SSL_set_connect_state
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:556,1
    - Dst: tls_try_handshake
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:559,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:560,1
    - Dst: SSL_is_init_finished
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:560,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:561,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:566,1
    - Dst: BIO_write_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:567,1
    - Dst: tls_try_handshake
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:584,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:594,1
    - Dst: SSL_is_init_finished
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:594,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:601,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:602,1
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:604,1
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:607,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:623,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:628,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:630,1
    - Dst: SSL_write_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:635,1
    - Dst: SSL_write_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:642,1
    - Dst: isc__nm_uvreq_t*::cb::send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:654,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:667,1
    - Dst: SSL_read_ex
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:668,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:676,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:676,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:677,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:721,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:734,1
    - Dst: SSL_get_error
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:738,1
    - Dst: tls_process_outgoing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:762,1
    - Dst: tls_try_to_close_unused_socket
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:770,1
    - Dst: async_tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:778,1
    - Dst: tls_try_to_close_unused_socket
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:782,1
    - Dst: tls_read_start
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:794,1
    - Dst: tls_read_start
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:800,1
    - Dst: tls_error_to_result
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:803,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:814,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:817,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: 818
      start: 518
    functionDepth: 4
    functionLinenumber: 518
    functionLinenumberEnd: 818
    functionName: tls_do_bio
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - memmove
    - SSL_get_shutdown
    - INSIST
    - ERR_clear_error
    - SSL_get_error
    - tls_error_to_result
    - SSL_is_init_finished
    - tls_try_handshake
    - isc__nmsocket_timer_restart
    - isc_nmsocket_t*::recv_cb
    - tls_failed_read_cb
    - isc_result_totext
    - VALID_NMHANDLE
    - isc__nm_uvreq_t*::cb::send
    - SSL_set_connect_state
    - tls_try_to_close_unused_socket
    - SSL_set_accept_state
    - BIO_write_ex
    - isc_tid
    - SSL_write_ex
    - async_tls_do_bio
    - SSL_read_ex
    - tls_read_start
    - isc__nmsocket_timer_stop
    - VALID_NMSOCK
    - tls_process_outgoing
    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:825,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:825,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:826,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:826,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:827,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:827,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:830,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:832,1
    - Dst: tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:833,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:837,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:838,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: 839
      start: 820
    functionDepth: 5
    functionLinenumber: 820
    functionLinenumberEnd: 839
    functionName: tls_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - tls_do_bio
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_closing
    - VALID_NMSOCK
    - isc_tid
    - tls_failed_read_cb
    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:843,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:843,1
    - Dst: BIO_new
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:845,1
    - Dst: BIO_s_mem
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:845,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:847,1
    - Dst: BIO_new
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:850,1
    - Dst: BIO_s_mem
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:850,1
    - Dst: BIO_free_all
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:852,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:854,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:858,1
    - Dst: BIO_set_mem_eof_return
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:859,1
    - Dst: SSL_set_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:864,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:870,1
    - Dst: SSL_set_tlsext_host_name
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:871,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:879,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - sock
    - server
    argTypes:
    - isc_nmsocket_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 841
    functionDepth: 2
    functionLinenumber: 841
    functionLinenumberEnd: 882
    functionName: initialize_tls
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - BIO_new
    - REQUIRE
    - INSIST
    - BIO_free_all
    - BIO_set_mem_eof_return
    - isc_tls_free
    - SSL_set_tlsext_host_name
    - isc_tid
    - BIO_s_mem
    - SSL_set_bio
    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:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - tlssock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 884
    functionDepth: 1
    functionLinenumber: 884
    functionLinenumberEnd: 893
    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:907,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:907,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:908,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:908,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:909,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:909,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:910,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:912,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:914,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:918,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:922,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:923,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:925,1
    - Dst: tls_get_listener_tlsctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:928,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:928,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:929,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:930,1
    - Dst: isc_tls_create
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:931,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:934,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:935,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:936,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:942,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:943,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:944,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:945,1
    - Dst: initialize_tls
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:953,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:954,1
    - Dst: tls_try_to_enable_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:957,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:959,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:960,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 42
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 895
    functionDepth: 5
    functionLinenumber: 895
    functionLinenumberEnd: 962
    functionName: tlslisten_acceptcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_closing
    - isc__nmhandle_set_manual_timer
    - tls_get_listener_tlsctx
    - isc_mempool_get
    - isc__nmsocket_init
    - RUNTIME_CHECK
    - isc__nmsocket_attach
    - initialize_tls
    - tls_do_bio
    - VALID_NMHANDLE
    - isc_tlsctx_free
    - isc__nm_closing
    - isc_tlsctx_attach
    - atomic_load_relaxed
    - isc_tid
    - isc_nmhandle_peeraddr
    - tls_try_to_enable_tcp_nodelay
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    - isc_tls_create
    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: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:972,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:974,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:974,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:976,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:983,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:985,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:986,1
    - Dst: tls_init_listener_tlsctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:989,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:997,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1001,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1007,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1012,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1017,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1020,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1021,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1022,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1023,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 9
    argNames:
    - workers
    - iface
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - sslctx
    - proxy
    - sockp
    argTypes:
    - 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: 1031
      start: 964
    functionDepth: 2
    functionLinenumber: 964
    functionLinenumberEnd: 1031
    functionName: isc_nm_listentls
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_nm_listentcp
    - tls_init_listener_tlsctx
    - INSIST
    - isc__nm_closing
    - isc_sockaddr_getport
    - isc__networker_current
    - isc_nm_listenproxystream
    - isc__nmsocket_detach
    - isc__nmsocket_attach
    - isc_tid
    - isc_mempool_get
    - isc__nmsocket_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listentls(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:1037,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1037,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1041,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1041,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1042,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1042,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1044,1
    - Dst: isc__nm_uvreq_t*::cb::send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1045,1
    - Dst: inactive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1047,1
    - Dst: isc__nm_uvreq_t*::cb::send
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1048,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1052,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1054,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1033
    functionDepth: 5
    functionLinenumber: 1033
    functionLinenumberEnd: 1056
    functionName: tls_send_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - tls_do_bio
    - REQUIRE
    - isc__nm_uvreq_t*::cb::send
    - isc__nm_closing
    - VALID_UVREQ
    - VALID_NMSOCK
    - inactive
    - isc_tid
    - isc__nm_uvreq_put
    linkageType: ''
    returnType: void
    signature: void tls_send_direct(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1064,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1064,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1065,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1065,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1069,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1071,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1072,1
    - Dst: htons
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1078,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1081,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: 1082
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1082
    functionName: tls_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - isc_job_run
    - VALID_NMSOCK
    - isc_nmhandle_attach
    - htons
    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: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: 3
    functionLinenumber: 1084
    functionLinenumberEnd: 1088
    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:1093,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: 1094
      start: 1090
    functionDepth: 3
    functionLinenumber: 1090
    functionLinenumberEnd: 1094
    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:1100,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1103,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1105,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1105,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1107,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1108,1
    - Dst: inactive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1110,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1111,1
    - Dst: async_tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1119,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: 1120
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1120
    functionName: isc__nm_tls_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_closing
    - inactive
    - VALID_NMSOCK
    - isc_tid
    - cb
    - 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:1129,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1129,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1131,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1122
    functionDepth: 1
    functionLinenumber: 1122
    functionLinenumberEnd: 1135
    functionName: tls_read_start
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc_nm_read
    - isc__nmsocket_timer_start
    - 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:1141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1143
    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:1147,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1148,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1148,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1153,1
    - Dst: tls_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1145
    functionDepth: 2
    functionLinenumber: 1145
    functionLinenumberEnd: 1157
    functionName: isc__nm_tls_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_stop
    - tls_read_stop
    - VALID_NMSOCK
    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:1161,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1164,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1166,1
    - Dst: tls_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1174,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1176,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1177,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1178,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1179,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1183,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1194
      start: 1159
    functionDepth: 2
    functionLinenumber: 1159
    functionLinenumberEnd: 1194
    functionName: isc__nm_tls_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - tls_read_stop
    - VALID_NMSOCK
    - isc_nm_read_stop
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_tid
    - isc_nmhandle_close
    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:1198,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1198,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1200,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1201,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1204
    functionName: isc__nm_tls_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_stop
    linkageType: ''
    returnType: void
    signature: void isc__nm_tls_stoplistening(isc_nmsocket_t *sock)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1217,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1219,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1220,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1224,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1225,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1229,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1232,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1236,1
    - Dst: isc_tlsctx_client_session_cache_getctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1236,1
    - Dst: isc_tlsctx_client_session_cache_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1238,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1243,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1247,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 10
    argNames:
    - local
    - peer
    - connect_cb
    - connect_cbarg
    - ctx
    - sni_hostname
    - client_sess_cache
    - timeout
    - proxy
    - proxy_info
    argTypes:
    - 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: 1250
      start: 1209
    functionDepth: 2
    functionLinenumber: 1209
    functionLinenumberEnd: 1250
    functionName: isc_nm_tlsconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 3
    functionsReached:
    - isc_nm_proxystreamconnect
    - INSIST
    - isc__nm_closing
    - isc__networker_current
    - connect_cb
    - isc_tlsctx_attach
    - isc_mem_strdup
    - isc_tlsctx_client_session_cache_attach
    - isc_nm_tcpconnect
    - isc_tlsctx_client_session_cache_getctx
    - isc_mempool_get
    - isc__nmsocket_init
    linkageType: ''
    returnType: void
    signature: "void isc_nm_tlsconnect(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:1258,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1258,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1266,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1266,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1268,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1269,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1270,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1273,1
    - Dst: isc_tls_create
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1281,1
    - Dst: initialize_tls
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1287,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1291,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1292,1
    - Dst: isc_tlsctx_client_session_cache_reuse_sockaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1296,1
    - Dst: tls_try_to_enable_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1307,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1309,1
    - Dst: tls_do_bio
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1310,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1313,1
    - Dst: tls_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1315,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1316,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1317,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: 1318
      start: 1252
    functionDepth: 7
    functionLinenumber: 1252
    functionLinenumberEnd: 1318
    functionName: tcp_connected
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_closing
    - INSIST
    - isc__nmhandle_set_manual_timer
    - isc__nmhandle_get
    - tls_call_connect_cb
    - isc_nmhandle_detach
    - initialize_tls
    - tls_do_bio
    - VALID_NMHANDLE
    - isc__nm_closing
    - isc_nmhandle_peeraddr
    - isc_tlsctx_client_session_cache_reuse_sockaddr
    - tls_try_to_enable_tcp_nodelay
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    - 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:1326,1
    - Dst: tls_cleanup_listener_tlsctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1328,1
    - Dst: tls_try_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1335,1
    - Dst: tls_keep_client_tls_session
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1336,1
    - Dst: isc_tls_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1337,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1343,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1346,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1350,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1351,1
    - Dst: isc_buffer_clearmctx
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1356,1
    - Dst: isc_buffer_invalidate
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1357,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1358,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1370,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1372
      start: 1320
    functionDepth: 6
    functionLinenumber: 1320
    functionLinenumberEnd: 1372
    functionName: isc__nm_tls_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_tlsctx_free
    - tls_try_shutdown
    - isc_mem_put
    - INSIST
    - tls_cleanup_listener_tlsctx
    - isc_buffer_invalidate
    - isc__nmsocket_detach
    - isc_tls_free
    - isc_buffer_clearmctx
    - isc_mem_free
    - isc_tlsctx_client_session_cache_detach
    - tls_keep_client_tls_session
    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:1378,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1379,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1380,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1384,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1384,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1387
    functionName: isc__nm_tls_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_cleartimeout
    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:1393,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1394,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1395,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1399,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1399,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1400,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1402
    functionName: isc__nm_tls_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_settimeout
    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:1408,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1409,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1410,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1414,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1414,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1416,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1404
    functionDepth: 1
    functionLinenumber: 1404
    functionLinenumberEnd: 1418
    functionName: isc__nmhandle_tls_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    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:1425,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1425,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1426,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1426,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1427,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1431,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1431,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1435
      start: 1420
    functionDepth: 1
    functionLinenumber: 1420
    functionLinenumberEnd: 1435
    functionName: isc__nmhandle_tls_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - 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:1439,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1439,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1440,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1443,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1443,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1444,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1444,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1445,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1447
      start: 1437
    functionDepth: 1
    functionLinenumber: 1437
    functionLinenumberEnd: 1447
    functionName: isc__nmsocket_tls_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_reset
    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:1451,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1452,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1455,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1455,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1456,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1456,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1461
    functionName: isc__nmsocket_tls_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    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:1465,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1466,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1469,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1469,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1470,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1470,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1473
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1473
    functionName: isc__nmsocket_tls_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_restart
    - INSIST
    - VALID_NMSOCK
    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:1477,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1477,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1478,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1481,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1482,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1482,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1485
      start: 1475
    functionDepth: 1
    functionLinenumber: 1475
    functionLinenumberEnd: 1485
    functionName: isc__nmsocket_tls_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_stop
    - INSIST
    - VALID_NMSOCK
    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:1491,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1491,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1492,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1492,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1493,1
    - Dst: isc_tls_verify_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1501
      start: 1487
    functionDepth: 2
    functionLinenumber: 1487
    functionLinenumberEnd: 1501
    functionName: isc__nm_tls_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - 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:1507,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1507,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1508,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1510,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1511,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1513,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1518,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - listener
    - ctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1521
      start: 1503
    functionDepth: 2
    functionLinenumber: 1503
    functionLinenumberEnd: 1521
    functionName: tls_init_listener_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - INSIST
    - VALID_NMSOCK
    - isc_loopmgr_nloops
    - isc_tlsctx_attach
    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:1525,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1525,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1532,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1534,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1523
    functionDepth: 2
    functionLinenumber: 1523
    functionLinenumberEnd: 1538
    functionName: tls_cleanup_listener_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_tlsctx_free
    - VALID_NMSOCK
    - isc_mem_cput
    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:1542,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1542,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tid
    argTypes:
    - isc_nmsocket_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1550
      start: 1540
    functionDepth: 1
    functionLinenumber: 1540
    functionLinenumberEnd: 1550
    functionName: tls_get_listener_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    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:1555,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1557,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1558,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: 1559
      start: 1552
    functionDepth: 2
    functionLinenumber: 1552
    functionLinenumberEnd: 1559
    functionName: isc__nm_async_tls_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_tlsctx_free
    - isc_tlsctx_attach
    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:1567,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1567,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1571,1
    - Dst: isc_tlsctx_client_session_cache_keep_sockaddr
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1572,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1577
      start: 1561
    functionDepth: 7
    functionLinenumber: 1561
    functionLinenumberEnd: 1577
    functionName: tls_keep_client_tls_session
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 2
    functionsReached:
    - isc_tid
    - REQUIRE
    - isc_tlsctx_client_session_cache_keep_sockaddr
    - INSIST
    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:1582,1
    - Dst: SSL_get_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1583,1
    - Dst: SSL_shutdown
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1584,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - tls
    - force
    argTypes:
    - isc_tls_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1586
      start: 1579
    functionDepth: 0
    functionLinenumber: 1579
    functionLinenumberEnd: 1586
    functionName: tls_try_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 3
    functionsReached:
    - SSL_shutdown
    - SSL_get_shutdown
    - SSL_set_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:1592,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1592,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1594,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1594,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1595,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1596,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - handle
    - manual
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1588
    functionDepth: 1
    functionLinenumber: 1588
    functionLinenumberEnd: 1599
    functionName: isc__nmhandle_tls_set_manual_timer
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    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:1607,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1607,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1609,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1609,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1610,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1611,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1611,1
    - Dst: isc_tls_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1613,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: 1614
      start: 1601
    functionDepth: 2
    functionLinenumber: 1601
    functionLinenumberEnd: 1614
    functionName: isc__nmhandle_tls_get_selected_alpn
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_tid
    - isc_tls_get_selected_alpn
    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:1621,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1621,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1622,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1623,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1627,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1627,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/tlsstream.c:1632,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1616
    functionDepth: 1
    functionLinenumber: 1616
    functionLinenumberEnd: 1641
    functionName: isc__nmhandle_tls_set_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/tlsstream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_set_tcp_nodelay
    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: 24
      start: 22
    functionDepth: 0
    functionLinenumber: 22
    functionLinenumberEnd: 24
    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: 27
      start: 25
    functionDepth: 0
    functionLinenumber: 25
    functionLinenumberEnd: 27
    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:34,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:35,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:42,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:49,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:57,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:58,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:63,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:64,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: 67
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 67
    functionName: socket_freebind
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setsockopt_on
    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:75,1
    - Dst: uv_udp_bind
      Src: /src/bind9/lib/isc/netmgr/socket.c:80,1
    - Dst: socket_freebind
      Src: /src/bind9/lib/isc/netmgr/socket.c:82,1
    - Dst: uv_udp_bind
      Src: /src/bind9/lib/isc/netmgr/socket.c:90,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: 94
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 94
    functionName: isc__nm_udp_freebind
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 1
    functionsReached:
    - uv_udp_bind
    - socket_freebind
    - uv_fileno
    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:103,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/socket.c:113,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: 119
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 119
    functionName: tcp_bind_now
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - uv_tcp_bind
    - uv_tcp_getsockname
    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:127,1
    - Dst: tcp_bind_now
      Src: /src/bind9/lib/isc/netmgr/socket.c:132,1
    - Dst: socket_freebind
      Src: /src/bind9/lib/isc/netmgr/socket.c:134,1
    - Dst: tcp_bind_now
      Src: /src/bind9/lib/isc/netmgr/socket.c:142,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: 146
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: isc__nm_tcp_freebind
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - tcp_bind_now
    - socket_freebind
    - uv_fileno
    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:150,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/socket.c:152,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: 157
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 157
    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:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - uv_os_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 162
    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:179,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:184,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - val
    argTypes:
    - uv_os_sock_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 192
    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:207,1
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:219,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - fd
    argTypes:
    - uv_os_sock_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 222
    functionName: isc__nm_socket_reuse_lb
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - setsockopt_on
    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:231,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:237,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:245,1
    - Dst: setsockopt_off
      Src: /src/bind9/lib/isc/netmgr/socket.c:249,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:255,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:263,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: 270
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 270
    functionName: isc__nm_socket_disable_pmtud
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - setsockopt_off
    - 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:279,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:285,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: 289
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 289
    functionName: isc__nm_socket_v6only
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 1
    functionsReached:
    - UNUSED
    - setsockopt_on
    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:300,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:308,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - fd
    - timeout_ms
    argTypes:
    - uv_os_sock_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 291
    functionDepth: 0
    functionLinenumber: 291
    functionLinenumberEnd: 313
    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:321,1
    - Dst: setsockopt_off
      Src: /src/bind9/lib/isc/netmgr/socket.c:323,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - fd
    - value
    argTypes:
    - uv_os_sock_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 335
    functionName: isc__nm_socket_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - setsockopt_off
    - setsockopt_on
    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:340,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:348,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fd
    - size
    argTypes:
    - uv_os_sock_t
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 352
    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:360,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:364,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/socket.c:370,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: 374
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 374
    functionName: isc__nm_socket_min_mtu
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 2
    functionsReached:
    - UNUSED
    - setsockopt
    - setsockopt_on
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: setsockopt_on
      Src: /src/bind9/lib/isc/netmgr/socket.c:387,1
    - Dst: isc_os_kernel
      Src: /src/bind9/lib/isc/netmgr/socket.c:401,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/socket.c:414,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/isc/netmgr/socket.c:441,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/socket.c:444,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/socket.c:445,1
    - Dst: setsockopt
      Src: /src/bind9/lib/isc/netmgr/socket.c:448,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 2
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    argTypes:
    - uv_os_sock_t
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 455
    functionName: isc__nm_socket_max_port_range
    functionSourceFile: /src/bind9/lib/isc/netmgr/socket.c
    functionUses: 0
    functionsReached:
    - isc_os_kernel
    - setsockopt
    - isc_random_uniform
    - INSIST
    - setsockopt_on
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__nm_socket_max_port_range(uv_os_sock_t fd ISC_ATTR_UNUSED,\n\t\t\t
      \     sa_family_t af ISC_ATTR_UNUSED)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/isc/netmgr/tcp.c:46,1
    - Dst: atomic_exchange_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 53
    functionName: can_log_tcp_quota
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - atomic_exchange_relaxed
    - isc_stdtime_now
    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:80,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/tcp.c:82,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/tcp.c:93,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/tcp.c:96,1
    - Dst: snprintf
      Src: /src/bind9/lib/isc/netmgr/tcp.c:101,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tcp.c:102,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:105,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: 108
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 108
    functionName: tcp_dbg_log
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - snprintf
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - isc_sockaddr_format
    - isc_result_totext
    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:116,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:117,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tcp.c:117,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:119,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:119,1
    - Dst: isc__nm_socket_connectiontimeout
      Src: /src/bind9/lib/isc/netmgr/tcp.c:126,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:127,1
    - Dst: uv_tcp_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:129,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:130,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:131,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:133,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:134,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:135,1
    - Dst: uv_tcp_open
      Src: /src/bind9/lib/isc/netmgr/tcp.c:137,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:139,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:140,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:141,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:143,1
    - Dst: uv_tcp_bind
      Src: /src/bind9/lib/isc/netmgr/tcp.c:146,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:148,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:149,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/tcp.c:153,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: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 168
    functionName: tcp_connect_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uv_tcp_bind
    - isc__nm_closesocket
    - VALID_UVREQ
    - VALID_NMSOCK
    - RUNTIME_CHECK
    - uv_timer_init
    - isc__nm_incstats
    - isc_tid
    - isc__nm_set_network_buffers
    - uv_tcp_connect
    - isc__nmsocket_timer_start
    - uv_tcp_open
    - uv_handle_set_data
    - uv_tcp_init
    - isc_uverr2result
    - isc__nm_socket_connectiontimeout
    - 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:
    - REQUIRE
    - isc__nmsocket_closing
    - INSIST
    - uv_tcp_getpeername
    - isc__nm_incstats
    - RUNTIME_CHECK
    - uv_tcp_connect
    - isc_sockaddr_fromsockaddr
    - VALID_NMHANDLE
    - VALID_UVREQ
    - isc__nm_closing
    - isc__nm_failed_connect_cb
    - isc_tid
    - uv_handle_set_data
    - isc__nmsocket_timer_stop
    - isc__nm_connectcb
    - VALID_NMSOCK
    - uv_handle_get_data
    - isc_uverr2result
    linkageType: ''
    returnType: void
    signature: void tcp_connect_cb(uv_connect_t *uvreq, int status)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/tcp.c:258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:262,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:264,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:265,1
    - Dst: isc__nm_socket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:271,1
    - Dst: connect_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:273,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:277,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:278,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:284,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:289,1
    - Dst: isc__nm_socket_min_mtu
      Src: /src/bind9/lib/isc/netmgr/tcp.c:291,1
    - Dst: isc__nm_socket_tcp_maxseg
      Src: /src/bind9/lib/isc/netmgr/tcp.c:292,1
    - Dst: isc__nm_socket_max_port_range
      Src: /src/bind9/lib/isc/netmgr/tcp.c:293,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:295,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:295,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tcp.c:299,1
    - Dst: strerror
      Src: /src/bind9/lib/isc/netmgr/tcp.c:300,1
    - Dst: tcp_connect_direct
      Src: /src/bind9/lib/isc/netmgr/tcp.c:305,1
    - Dst: isc__nm_tcp_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:308,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:309,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:315,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 38
    argCount: 5
    argNames:
    - local
    - peer
    - connect_cb
    - connect_cbarg
    - timeout
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 316
    functionName: isc_nm_tcpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc__nm_socket_min_mtu
    - ISC_LOG_DEBUG
    - isc__nmhandle_get
    - isc_mempool_get
    - isc__nmsocket_init
    - isc__nm_uvreq_get
    - isc__nm_tcp_close
    - connect_cb
    - tcp_connect_direct
    - strerror
    - isc_result_totext
    - isc__nm_socket
    - isc__nm_closing
    - isc__nmsocket_log
    - isc__nm_connectcb
    - isc__nm_socket_tcp_maxseg
    - isc__networker_current
    - isc__nmsocket_detach
    - isc__nm_socket_max_port_range
    linkageType: ''
    returnType: void
    signature: "void isc_nm_tcpconnect(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:323,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:324,1
    - Dst: isc__nm_socket_v6only
      Src: /src/bind9/lib/isc/netmgr/tcp.c:326,1
    - Dst: isc__nm_socket_reuse
      Src: /src/bind9/lib/isc/netmgr/tcp.c:330,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:331,1
    - Dst: isc__nm_socket_reuse_lb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:334,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - sa_family
    argTypes:
    - sa_family_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 318
    functionDepth: 3
    functionLinenumber: 318
    functionLinenumberEnd: 339
    functionName: isc__nm_tcp_lb_socket
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_socket
    - isc__nm_socket_reuse_lb
    - RUNTIME_CHECK
    - isc__nm_socket_reuse
    - isc__nm_socket_v6only
    linkageType: ''
    returnType: uv_os_sock_t
    signature: uv_os_sock_t isc__nm_tcp_lb_socket(sa_family_t sa_family)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:345,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:345,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:346,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:346,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:347,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:348,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:348,1
    - Dst: isc__nm_socket_min_mtu
      Src: /src/bind9/lib/isc/netmgr/tcp.c:356,1
    - Dst: isc__nm_socket_tcp_maxseg
      Src: /src/bind9/lib/isc/netmgr/tcp.c:357,1
    - Dst: uv_tcp_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: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:363,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:365,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:366,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:367,1
    - Dst: uv_tcp_open
      Src: /src/bind9/lib/isc/netmgr/tcp.c:369,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:371,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:372,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:375,1
    - Dst: isc__nm_tcp_freebind
      Src: /src/bind9/lib/isc/netmgr/tcp.c:382,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:385,1
    - Dst: isc__nm_tcp_freebind
      Src: /src/bind9/lib/isc/netmgr/tcp.c:389,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:392,1
    - Dst: isc__nm_set_network_buffers
      Src: /src/bind9/lib/isc/netmgr/tcp.c:401,1
    - Dst: uv_listen
      Src: /src/bind9/lib/isc/netmgr/tcp.c:407,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:410,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tcp.c:411,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:411,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:412,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/tcp.c:417,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/tcp.c:424,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:441,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/tcp.c:444,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 77
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 446
    functionName: start_tcp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nm_socket_min_mtu
    - isc__nm_incstats
    - uv_tcp_open
    - uv_tcp_init
    - isc_barrier_wait
    - isc__nm_tcp_freebind
    - isc__nmsocket_attach
    - uv_timer_init
    - isc__nm_set_network_buffers
    - uv_tcp_getsockname
    - isc_result_totext
    - isc_sockaddr_fromsockaddr
    - isc__nm_closesocket
    - isc_tid
    - uv_handle_set_data
    - isc__nmsocket_log
    - isc__nm_socket_tcp_maxseg
    - VALID_NMSOCK
    - uv_listen
    - isc_uverr2result
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void start_tcp_child_job(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:452,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:454,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/tcp.c:465,1
    - Dst: isc__nm_tcp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:466,1
    - Dst: dup
      Src: /src/bind9/lib/isc/netmgr/tcp.c:468,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:470,1
    - Dst: start_tcp_child_job
      Src: /src/bind9/lib/isc/netmgr/tcp.c:473,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/tcp.c:475,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - iface
    - sock
    - fd
    - tid
    argTypes:
    - isc_sockaddr_t*
    - isc_nmsocket_t*
    - uv_os_sock_t
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 448
    functionDepth: 4
    functionLinenumber: 448
    functionLinenumberEnd: 477
    functionName: start_tcp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__networker_get
    - UNUSED
    - dup
    - REQUIRE
    - isc__nm_tcp_lb_socket
    - start_tcp_child_job
    - isc_async_run
    - isc__nmsocket_init
    linkageType: ''
    returnType: void
    signature: "void start_tcp_child(isc_sockaddr_t *iface, isc_nmsocket_t *sock,
      uv_os_sock_t fd,\n\t\tisc_tid_t tid)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:488,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:488,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:493,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:495,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:496,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/tcp.c:501,1
    - Dst: isc__nmsocket_barrier_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:504,1
    - Dst: isc__nm_tcp_lb_socket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:512,1
    - Dst: start_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:515,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tcp.c:517,1
    - Dst: start_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:520,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/tcp.c:523,1
    - Dst: isc__nm_closesocket
      Src: /src/bind9/lib/isc/netmgr/tcp.c:526,1
    - Dst: isc__nm_tcp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/tcp.c:543,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:544,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 7
    argNames:
    - workers
    - iface
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - sockp
    argTypes:
    - uint32_t
    - isc_sockaddr_t*
    - isc_nm_accept_cb_t
    - void*
    - int
    - isc_quota_t*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 479
    functionDepth: 5
    functionLinenumber: 479
    functionLinenumberEnd: 553
    functionName: isc_nm_listentcp
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 5
    functionsReached:
    - isc__networker_get
    - REQUIRE
    - isc_mem_cget
    - isc_nmsocket_close
    - INSIST
    - isc__nm_closesocket
    - isc__nmsocket_barrier_init
    - start_tcp_child
    - isc__nm_tcp_lb_socket
    - isc_tid
    - isc_barrier_wait
    - isc_mempool_get
    - isc__nm_tcp_stoplistening
    - isc__nmsocket_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listentcp(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:557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:560,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:563,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:564,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:569,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:569,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:570,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:570,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:572,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:578,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:579,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:581,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:583,1
    - Dst: isc_quota_acquire_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:586,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/isc/netmgr/tcp.c:590,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:591,1
    - Dst: accept_connection
      Src: /src/bind9/lib/isc/netmgr/tcp.c:596,1
    - Dst: isc__nm_accept_connection_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:598,1
    - Dst: can_log_tcp_quota
      Src: /src/bind9/lib/isc/netmgr/tcp.c:598,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - server
    - status
    argTypes:
    - uv_stream_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 555
    functionDepth: 4
    functionLinenumber: 555
    functionLinenumberEnd: 599
    functionName: tcp_connection_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_closing
    - VALID_NMSOCK
    - tcp_dbg_log
    - isc__nmsocket_attach
    - isc__nm_incstats
    - isc_tid
    - isc_time_monotonic
    - accept_connection
    - isc__nm_accept_connection_log
    - can_log_tcp_quota
    - uv_handle_get_data
    - isc_mempool_get
    - isc_quota_acquire_cb
    - isc_uverr2result
    - isc__nmsocket_init
    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:605,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:605,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:606,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:606,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:607,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:608,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:609,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:621,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:622,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:623,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:626,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:627,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:629,1
    - Dst: isc_barrier_wait
      Src: /src/bind9/lib/isc/netmgr/tcp.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 601
    functionDepth: 1
    functionLinenumber: 601
    functionLinenumberEnd: 631
    functionName: stop_tcp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - uv_close
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_stop_reading
    - isc__nmsocket_clearcb
    - 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:635,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:635,1
    - Dst: stop_tcp_child_job
      Src: /src/bind9/lib/isc/netmgr/tcp.c:638,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/tcp.c:640,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 633
    functionDepth: 2
    functionLinenumber: 633
    functionLinenumberEnd: 642
    functionName: stop_tcp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - REQUIRE
    - VALID_NMSOCK
    - stop_tcp_child_job
    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:646,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:647,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:648,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:648,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:649,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:650,1
    - Dst: stop_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:659,1
    - Dst: stop_tcp_child
      Src: /src/bind9/lib/isc/netmgr/tcp.c:663,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 669
      start: 644
    functionDepth: 3
    functionLinenumber: 644
    functionLinenumberEnd: 669
    functionName: isc__nm_tcp_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc_tid
    - stop_tcp_child
    - 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:673,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:676,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:676,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:677,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:677,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:678,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:679,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:680,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:684,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 687
    functionName: tcp_stop_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc__nm_incstats
    - isc_tid
    - uv_handle_get_data
    - uv_handle_set_data
    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:692,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:692,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:693,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:695,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:696,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/tcp.c:700,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:701,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:702,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:705,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: 706
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 706
    functionName: isc__nm_tcp_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - isc__nm_get_read_req
    - VALID_NMSOCK
    - isc__nm_readcb
    - isc__nm_stop_reading
    - isc__nmsocket_clearcb
    - isc__nmsocket_prep_destroy
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:713,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:713,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:714,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:714,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:718,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:719,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:728,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:729,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:732,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/netmgr/tcp.c:733,1
    - Dst: CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:737,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:743,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:748,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 3
    argNames:
    - handle
    - cb
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_nm_recv_cb_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 708
    functionDepth: 2
    functionLinenumber: 708
    functionLinenumberEnd: 749
    functionName: isc__nm_tcp_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_closing
    - VALID_NMSOCK
    - isc__nm_tcp_failed_read_cb
    - atomic_load_relaxed
    - isc__nmsocket_timer_start
    - isc__nm_start_reading
    - CHECK
    - CLEANUP
    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:753,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:753,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:754,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:754,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:759,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:761,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 751
    functionDepth: 1
    functionLinenumber: 751
    functionLinenumberEnd: 765
    functionName: isc__nm_tcp_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_stop
    - VALID_NMSOCK
    - isc__nm_stop_reading
    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:769,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:772,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:772,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:773,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:773,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:774,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:776,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:777,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:783,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:786,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:786,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/tcp.c:792,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:805,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:806,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:809,1
    - Dst: uv_stream_get_write_queue_size
      Src: /src/bind9/lib/isc/netmgr/tcp.c:820,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:823,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:824,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:829,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/tcp.c:831,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/tcp.c:836,1
    - Dst: isc__nm_free_uvbuf
      Src: /src/bind9/lib/isc/netmgr/tcp.c:849,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 3
    argNames:
    - stream
    - nread
    - buf
    argTypes:
    - uv_stream_t*
    - ssize_t
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 850
      start: 767
    functionDepth: 2
    functionLinenumber: 767
    functionLinenumberEnd: 850
    functionName: isc__nm_tcp_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uv_is_active
    - isc__nmsocket_closing
    - isc__nm_get_read_req
    - isc__nmsocket_timer_restart
    - VALID_NMSOCK
    - isc__nm_tcp_failed_read_cb
    - isc__nm_free_uvbuf
    - atomic_load_relaxed
    - isc__nm_incstats
    - isc_tid
    - isc__nm_readcb
    - ISC_LOG_DEBUG
    - uv_handle_get_data
    - isc__nm_stop_reading
    - uv_stream_get_write_queue_size
    - isc_uverr2result
    - isc__nmsocket_log
    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:860,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:860,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:861,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:861,1
    - Dst: accept_connection
      Src: /src/bind9/lib/isc/netmgr/tcp.c:863,1
    - Dst: isc__nm_accept_connection_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:864,1
    - Dst: can_log_tcp_quota
      Src: /src/bind9/lib/isc/netmgr/tcp.c:864,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:865,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 855
    functionDepth: 2
    functionLinenumber: 855
    functionLinenumberEnd: 866
    functionName: tcpaccept_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - accept_connection
    - isc_tid
    - can_log_tcp_quota
    - isc__nm_accept_connection_log
    linkageType: ''
    returnType: void
    signature: void tcpaccept_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:873,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:873,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:879,1
    - Dst: accept_connection
      Src: /src/bind9/lib/isc/netmgr/tcp.c:880,1
    - Dst: isc__nm_accept_connection_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:881,1
    - Dst: can_log_tcp_quota
      Src: /src/bind9/lib/isc/netmgr/tcp.c:882,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:884,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/tcp.c:885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 868
    functionDepth: 2
    functionLinenumber: 868
    functionLinenumberEnd: 887
    functionName: quota_accept_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_attach
    - accept_connection
    - isc_tid
    - isc_async_run
    - can_log_tcp_quota
    - isc__nm_accept_connection_log
    linkageType: ''
    returnType: void
    signature: void quota_accept_cb(void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:897,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:897,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:898,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:899,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:899,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:906,1
    - Dst: uv_tcp_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:908,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:909,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:910,1
    - Dst: uv_timer_init
      Src: /src/bind9/lib/isc/netmgr/tcp.c:912,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:913,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:914,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:917,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:924,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/netmgr/tcp.c:925,1
    - Dst: uv_accept
      Src: /src/bind9/lib/isc/netmgr/tcp.c:928,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:931,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/isc/netmgr/tcp.c:939,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/netmgr/tcp.c:949,1
    - Dst: uv_tcp_getpeername
      Src: /src/bind9/lib/isc/netmgr/tcp.c:956,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:959,1
    - Dst: CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:963,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/tcp.c:963,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/tcp.c:965,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:968,1
    - Dst: CHECK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:972,1
    - Dst: isc_sockaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/tcp.c:972,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:974,1
    - Dst: isc_nmsocket_t*::accept_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:976,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:978,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:984,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:986,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:992,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:997,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1007,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1009,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1012,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1014,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1016,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 73
    argCount: 1
    argNames:
    - csock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 889
    functionDepth: 4
    functionLinenumber: 889
    functionLinenumberEnd: 1019
    functionName: accept_connection
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc__nmsocket_closing
    - uv_tcp_getpeername
    - isc__nm_incstats
    - isc__nmhandle_get
    - uv_tcp_init
    - isc_nmsocket_t*::accept_cb
    - isc_nmhandle_detach
    - tcp_dbg_log
    - uv_timer_init
    - isc_time_monotonic
    - uv_accept
    - uv_tcp_getsockname
    - isc_sockaddr_fromsockaddr
    - isc_result_totext
    - atomic_load_relaxed
    - isc_tid
    - CHECK
    - uv_handle_set_data
    - isc__nmsocket_prep_destroy
    - isc__nmsocket_log
    - CLEANUP
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_uverr2result
    - UV_RUNTIME_CHECK
    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:1024,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1024,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1025,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1025,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1031,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1032,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1032,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1034,1
    - Dst: htons
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1036,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1041,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1049,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1050,1
    - Dst: tcp_send_direct
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1053,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1055,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1056,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: 1060
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1060
    functionName: tcp_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - atomic_load_relaxed
    - isc__nm_failed_send_cb
    - tcp_send_direct
    - isc_tid
    - isc__nm_incstats
    - isc_nmhandle_attach
    - htons
    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:1065,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: 1066
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1066
    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:1071,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: 1072
      start: 1068
    functionDepth: 2
    functionLinenumber: 1068
    functionLinenumberEnd: 1072
    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:1077,1
    - Dst: uv_stream_get_write_queue_size
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1088,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1090,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1091,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1095,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1074
    functionDepth: 1
    functionLinenumber: 1074
    functionLinenumberEnd: 1099
    functionName: tcp_maybe_restart_reading
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - uv_is_active
    - ISC_LOG_DEBUG
    - uv_stream_get_write_queue_size
    - isc__nmsocket_log
    - isc__nm_start_reading
    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:1106,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1107,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1107,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1111,1
    - Dst: isc_nm_timer_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1112,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1115,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1116,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1116,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1124,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1125,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1130,1
    - Dst: tcp_maybe_restart_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1131,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - req
    - status
    argTypes:
    - uv_write_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1101
    functionDepth: 2
    functionLinenumber: 1101
    functionLinenumberEnd: 1132
    functionName: tcp_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nm_sendcb
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc__nmsocket_reset
    - isc_nm_timer_stop
    - isc__nm_incstats
    - isc__nm_failed_send_cb
    - tcp_maybe_restart_reading
    - isc__nm_start_reading
    - isc_uverr2result
    - isc_nm_timer_detach
    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:1136,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1137,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1138,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1139,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1146,1
    - Dst: uv_try_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1155,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1159,1
    - Dst: tcp_maybe_restart_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1160,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1166,1
    - Dst: uv_try_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1175,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1179,1
    - Dst: tcp_maybe_restart_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1180,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1192,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1198,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1201,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1201,1
    - Dst: uv_write
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1208,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1211,1
    - Dst: isc_nm_timer_create
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1214,1
    - Dst: isc_nm_timer_start
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1217,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: 1221
      start: 1134
    functionDepth: 2
    functionLinenumber: 1134
    functionLinenumberEnd: 1221
    functionName: tcp_send_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__nm_sendcb
    - isc__nmsocket_closing
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc_nm_timer_start
    - isc_nm_timer_create
    - tcp_maybe_restart_reading
    - isc_tid
    - ISC_LOG_DEBUG
    - uv_write
    - isc__nm_stop_reading
    - uv_try_write
    - isc_uverr2result
    - isc__nmsocket_log
    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:1225,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1226,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1226,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1228,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1233,1
    - Dst: isc__nm_decstats
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1237,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1238,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1240,1
    - Dst: tcp_dbg_log
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1243,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1245,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1246
      start: 1223
    functionDepth: 4
    functionLinenumber: 1223
    functionLinenumberEnd: 1246
    functionName: tcp_close_sock
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nm_decstats
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_quota_release
    - tcp_dbg_log
    - isc__nm_incstats
    - isc_tid
    - 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:1250,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1251,1
    - Dst: tcp_close_sock
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1248
    functionDepth: 5
    functionLinenumber: 1248
    functionLinenumberEnd: 1254
    functionName: tcp_close_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - uv_handle_set_data
    - tcp_close_sock
    - 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:1258,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1259,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1260,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1261,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1263,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1273,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1277,1
    - Dst: isc__nm_stop_reading
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1278,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1280,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1283,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1284,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1289,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1290,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1293
      start: 1256
    functionDepth: 1
    functionLinenumber: 1256
    functionLinenumberEnd: 1293
    functionName: isc__nm_tcp_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - uv_close
    - uv_is_closing
    - VALID_NMSOCK
    - isc_tid
    - isc__nmsocket_active
    - isc__nm_stop_reading
    - isc__nmsocket_clearcb
    - uv_handle_set_data
    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:1297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1299,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1299,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1301,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1301,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1303,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1295
    functionDepth: 1
    functionLinenumber: 1295
    functionLinenumberEnd: 1305
    functionName: tcp_close_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_tid
    - uv_handle_get_data
    - 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:1309,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1309,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1310,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1310,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1311,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1322,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1326,1
    - Dst: uv_close
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1327,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1333,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1339,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1345,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1307
    functionDepth: 1
    functionLinenumber: 1307
    functionLinenumberEnd: 1347
    functionName: isc__nm_tcp_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - uv_close
    - VALID_NMSOCK
    - isc__nmsocket_attach
    - isc_tid
    - isc__nm_failed_read_cb
    - 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:1353,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1355,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1357,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1357,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1358,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/tcp.c:1358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - manual
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1361
    functionName: isc__nmhandle_tcp_set_manual_timer
    functionSourceFile: /src/bind9/lib/isc/netmgr/tcp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - uv_is_active
    - VALID_NMSOCK
    - isc_tid
    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:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_mem_get
    - VALID_NMSOCK
    - uv_timer_init
    - UV_RUNTIME_CHECK
    - isc_nmhandle_attach
    - uv_handle_set_data
    - isc_refcount_init
    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:
    - REQUIRE
    - isc_refcount_increment
    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:
    - REQUIRE
    - VALID_NMHANDLE
    - uv_close
    - VALID_NMSOCK
    - isc_refcount_decrement
    - uv_timer_stop
    - 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:
    - REQUIRE
    - isc_nm_timer_t*::cb
    - 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:
    - REQUIRE
    - isc__nm_get_read_req
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_readcb
    - proxyudp_stop_reading
    - isc__nmsocket_clearcb
    - isc__nmsocket_prep_destroy
    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__nm_valid_proxy_addresses
    - INSIST
    - isc_nmsocket_t*::recv_cb
    - isc__nm_proxyudp_failed_read_cb
    - isc_sockaddr_pf
    - isc__nm_received_proxy_header_log
    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_loopmgr_nloops
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:225,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_mem_cget
    - isc_nm_getinitialtimeout
    - INSIST
    - isc_loopmgr_nloops
    - isc_buffer_allocate
    - isc_mempool_get
    - isc__nmsocket_init
    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:
    - REQUIRE
    - INSIST
    - isc__nmsocket_timer_running
    - isc__nmhandle_get
    - isc__nmsocket_clearcb
    - isc_nmhandle_detach
    - proxyudp_try_close_unused
    - VALID_NMHANDLE
    - isc_proxy2_header_handle_directly
    - isc__nm_closing
    - isc_tid
    - isc_nmhandle_peeraddr
    - proxyudp_stop_reading
    - recv_cb
    - proxyudp_closing
    - VALID_NMSOCK
    - isc__nm_proxyudp_failed_read_cb
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    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__networker_current
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:325,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:326,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:328,1
    - Dst: proxyudp_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:332,1
    - Dst: proxyudp_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:339,1
    - Dst: isc__networker_get
      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: 29
    argCount: 5
    argNames:
    - workers
    - iface
    - cb
    - cbarg
    - sockp
    argTypes:
    - 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:
    - REQUIRE
    - isc__networker_get
    - isc_nm_listenudp
    - isc__nm_closing
    - isc__networker_current
    - isc__nmsocket_detach
    - isc__nmsocket_attach
    - isc_tid
    - proxyudp_sock_new
    - stop_proxyudp_child
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenproxyudp(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_clearcb
    - isc_nmsocket_t*::connect_cb
    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:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - proxyudp_call_connect_cb
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_tid
    - isc_nmhandle_peeraddr
    - isc__nmhandle_get
    - isc_nmhandle_attach
    - proxyudp_try_close_unused
    - isc_nmhandle_localaddr
    linkageType: ''
    returnType: void
    signature: void proxyudp_connect_cb(isc_nmhandle_t *handle, isc_result_t result,
      void *cbarg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:449,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:451,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:452,1
    - Dst: proxyudp_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:456,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:463,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:467,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:472,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:478,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:480,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 6
    argNames:
    - local
    - peer
    - cb
    - cbarg
    - timeout
    - proxy_info
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - isc_nm_cb_t
    - void*
    - unsigned int
    - isc_nm_proxyheader_info_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 443
    functionDepth: 4
    functionLinenumber: 443
    functionLinenumberEnd: 481
    functionName: isc_nm_proxyudpconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 2
    functionsReached:
    - isc_buffer_putmem
    - isc__nm_closing
    - RUNTIME_CHECK
    - isc__networker_current
    - cb
    - proxyudp_sock_new
    - isc_nm_udpconnect
    - isc_proxy2_make_header
    linkageType: ''
    returnType: void
    signature: "void isc_nm_proxyudpconnect(isc_sockaddr_t *local, isc_sockaddr_t
      *peer,\n\t\t       isc_nm_cb_t cb, void *cbarg, 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:496,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:496,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:497,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:497,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:502,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:502,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:503,1
    - Dst: proxyudp_stop_reading
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:506,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:507,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:511,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:512,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:513,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 486
    functionDepth: 2
    functionLinenumber: 486
    functionLinenumberEnd: 514
    functionName: stop_proxyudp_child_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_tid
    - 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:518,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:518,1
    - Dst: stop_proxyudp_child_job
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:521,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 526
    functionName: stop_proxyudp_child
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 1
    functionsReached:
    - stop_proxyudp_child_job
    - REQUIRE
    - VALID_NMSOCK
    - isc_async_run
    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:530,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:530,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:531,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:532,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:534,1
    - Dst: stop_proxyudp_child
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:539,1
    - Dst: stop_proxyudp_child
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:542,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 528
    functionDepth: 4
    functionLinenumber: 528
    functionLinenumberEnd: 543
    functionName: isc__nm_proxyudp_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - stop_proxyudp_child
    - VALID_NMSOCK
    - isc__nmsocket_stop
    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:548,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 545
    functionDepth: 3
    functionLinenumber: 545
    functionLinenumberEnd: 550
    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:557,1
    - Dst: proxyudp_clear_proxy_header_data
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:561,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:564,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.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_proxyudp_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - INSIST
    - proxyudp_put_send_req
    - proxyudp_clear_proxy_header_data
    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:580,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:580,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:581,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:581,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:582,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:586,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:586,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/proxyudp.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: 1
    functionLinenumber: 576
    functionLinenumberEnd: 589
    functionName: isc__nmhandle_proxyudp_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_cleartimeout
    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:595,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:595,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:596,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:596,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:597,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:601,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:601,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/proxyudp.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: 1
    functionLinenumber: 591
    functionLinenumberEnd: 604
    functionName: isc__nmhandle_proxyudp_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_settimeout
    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:611,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:611,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:612,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:612,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:613,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:617,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:617,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 621
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 621
    functionName: isc__nmhandle_proxyudp_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - 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:625,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:625,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:626,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:629,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:630,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:630,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:631,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 623
    functionDepth: 1
    functionLinenumber: 623
    functionLinenumberEnd: 635
    functionName: isc__nmsocket_proxyudp_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    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:639,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:639,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:640,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:643,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:644,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:644,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: isc__nmsocket_proxyudp_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_restart
    - INSIST
    - VALID_NMSOCK
    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:651,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:652,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:655,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:655,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:656,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:656,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 649
    functionDepth: 1
    functionLinenumber: 649
    functionLinenumberEnd: 659
    functionName: isc__nmsocket_proxyudp_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_stop
    - INSIST
    - VALID_NMSOCK
    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:663,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:663,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:664,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:665,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:665,1
    - Dst: proxyudp_stop_reading
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:673,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:676,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:677,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:681,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 687
    functionName: isc__nm_proxyudp_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_tid
    - proxyudp_stop_reading
    - isc_nmhandle_close
    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:693,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:693,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:695,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:695,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:696,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:697,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:698,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:698,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:704,1
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:705,1
    - Dst: proxyudp_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: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:713,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: 714
      start: 689
    functionDepth: 3
    functionLinenumber: 689
    functionLinenumberEnd: 714
    functionName: isc__nm_proxyudp_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_nm_read
    - isc__nm_closing
    - proxyudp_closing
    - VALID_NMSOCK
    - isc_tid
    - isc__nm_proxyudp_failed_read_cb
    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:731,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:738,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:742,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:743,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:745,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:748,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:752,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:757,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:759,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: 766
      start: 716
    functionDepth: 3
    functionLinenumber: 716
    functionLinenumberEnd: 766
    functionName: proxyudp_get_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_mem_get
    - isc_buffer_putmem
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_nmhandle_attach
    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:773,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:782,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:793,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:797,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: 798
      start: 768
    functionDepth: 3
    functionLinenumber: 768
    functionLinenumberEnd: 798
    functionName: proxyudp_put_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 1
    functionsReached:
    - isc_buffer_clear
    - isc_nmhandle_detach
    - isc_mem_put
    - isc_buffer_free
    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:809,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:809,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:810,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:810,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:811,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:811,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:812,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:812,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:818,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:819,1
    - Dst: proxyudp_put_send_req
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:822,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:823,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:824,1
    - Dst: proxyudp_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:831,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:832,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: 833
      start: 800
    functionDepth: 4
    functionLinenumber: 800
    functionLinenumberEnd: 833
    functionName: proxyudp_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc__nmsocket_attach
    - proxyudp_put_send_req
    - isc_tid
    - cb
    - isc_nmhandle_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:842,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:842,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:843,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:843,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:847,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:849,1
    - Dst: proxyudp_closing
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:851,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:856,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:857,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:861,1
    - Dst: proxyudp_get_send_req
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:865,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:870,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:871,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxyudp.c:874,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: 877
      start: 835
    functionDepth: 4
    functionLinenumber: 835
    functionLinenumberEnd: 877
    functionName: isc__nm_proxyudp_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxyudp.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_closing
    - proxyudp_closing
    - VALID_NMSOCK
    - isc__nm_failed_send_cb
    - isc_nm_send
    - proxyudp_get_send_req
    - isc_buffer_usedregion
    - isc_nmhandle_attach
    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:123,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:124,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:126,1
    - Dst: uv_walk
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:128,1
    - Dst: isc__networker_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: networker_teardown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - isc__networker_detach
    - ISC_LOG_DEBUG
    - uv_walk
    - isc__netmgr_log
    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:
    - ISC_ATTR_UNUSED
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 141
    functionName: netmgr_teardown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - atomic_compare_exchange_strong_acq_rel
    - ISC_LOG_DEBUG
    - isc__netmgr_log
    linkageType: ''
    returnType: void
    signature: void netmgr_teardown(void *arg ISC_ATTR_UNUSED)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: uv_version
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:161,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:162,1
    - Dst: uv_version_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:165,1
    - Dst: uv_version
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:169,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:170,1
    - Dst: uv_version_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:173,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:176,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:189,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:190,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:191,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:192,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:204,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:205,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:206,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:207,1
    - Dst: atomic_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:208,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:210,1
    - Dst: isc_loopmgr_teardown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:213,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:218,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:222,1
    - Dst: isc__netmgr_ref
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:227,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:229,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_mempool_create
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:236,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:238,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:240,1
    - Dst: isc_loop_teardown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:241,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:242,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:250,1
    - Dst: isc_netmgr_portrange
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:251,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:253,1
    - Dst: isc_netmgr_portrange
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:254,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 48
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 255
    functionName: isc_netmgr_create
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - uv_version
    - isc_mem_cget
    - FATAL_ERROR
    - isc_mem_get
    - isc_loop_attach
    - isc_netmgr_portrange
    - isc_loopmgr_nloops
    - isc_loop_get
    - uv_version_string
    - isc_loop_teardown
    - isc_loopmgr_teardown
    - isc_mempool_create
    - atomic_init
    - isc_mempool_setfreemax
    - isc__netmgr_ref
    - isc_net_getportrange
    - isc_refcount_init
    linkageType: ''
    returnType: void
    signature: void isc_netmgr_create(isc_mem_t *mctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:262,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:262,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:264,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:269,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:272,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - netmgr
    argTypes:
    - isc__netmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 260
    functionDepth: 2
    functionLinenumber: 260
    functionLinenumberEnd: 275
    functionName: netmgr_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mem_cput
    - VALID_NM
    - isc_mem_putanddetach
    - isc_stats_detach
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void netmgr_destroy(isc__netmgr_t *netmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc__netmgr_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 286
    functionName: isc_netmgr_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - isc__netmgr_detach
    linkageType: ''
    returnType: void
    signature: void isc_netmgr_destroy(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:290,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:290,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:292,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - maxudp
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 293
    functionName: isc_nm_maxudp
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_maxudp(uint32_t maxudp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:297,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:298,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:298,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:299,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:299,1
    - Dst: isc__nmhandle_tls_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:307,1
    - Dst: isc__nmhandle_streamdns_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:310,1
    - Dst: isc__nmhandle_proxystream_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:313,1
    - Dst: isc__nmhandle_proxyudp_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:317,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:320,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 25
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 295
    functionDepth: 2
    functionLinenumber: 295
    functionLinenumberEnd: 323
    functionName: isc_nmhandle_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 13
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmhandle_streamdns_setwritetimeout
    - VALID_NMSOCK
    - isc__nmhandle_proxyudp_setwritetimeout
    - isc_tid
    - isc__nmhandle_tls_setwritetimeout
    - UNREACHABLE
    - isc__nmhandle_proxystream_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:327,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:327,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 330
    functionName: isc_nm_setinitialtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setinitialtimeout(uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:334,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:334,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:336,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 337
    functionName: isc_nm_setprimariestimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setprimariestimeout(uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:341,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:341,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 344
    functionName: isc_nm_setidletimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setidletimeout(uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:348,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:348,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 351
    functionName: isc_nm_setkeepalivetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setkeepalivetimeout(uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:355,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:355,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - timeout_ms
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 358
    functionName: isc_nm_setadvertisedtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: void isc_nm_setadvertisedtimeout(uint32_t timeout_ms)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:363,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:363,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:365,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:366,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:367,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - recv_tcp
    - send_tcp
    - recv_udp
    - send_udp
    argTypes:
    - int32_t
    - int32_t
    - int32_t
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 360
    functionDepth: 1
    functionLinenumber: 360
    functionLinenumberEnd: 369
    functionName: isc_nm_setnetbuffers
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    linkageType: ''
    returnType: void
    signature: "void isc_nm_setnetbuffers(int32_t recv_tcp, int32_t send_tcp, int32_t
      recv_udp,\n\t\t     int32_t send_udp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:373,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 376
    functionName: isc_nm_getloadbalancesockets
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: bool
    signature: bool isc_nm_getloadbalancesockets(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:380,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - enabled
    argTypes:
    - ISC_ATTR_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 385
    functionName: isc_nm_setloadbalancesockets
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: void
    signature: void isc_nm_setloadbalancesockets(ISC_ATTR_UNUSED bool enabled)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:389,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:389,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 387
    functionDepth: 1
    functionLinenumber: 387
    functionLinenumberEnd: 392
    functionName: isc_nm_getinitialtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - atomic_load_relaxed
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getinitialtimeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:396,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:396,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: isc_nm_getprimariestimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - atomic_load_relaxed
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getprimariestimeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:403,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:403,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    functionName: isc_nm_getidletimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - atomic_load_relaxed
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getidletimeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:410,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:410,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 413
    functionName: isc_nm_getkeepalivetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - atomic_load_relaxed
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getkeepalivetimeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:417,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:417,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 420
    functionName: isc_nm_getadvertisedtimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - atomic_load_relaxed
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t isc_nm_getadvertisedtimeout(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:424,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 427
    functionName: isc__nmsocket_active
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    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:431,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:432,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:438,1
    - Dst: NETMGR_TRACE_LOG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:443,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:445,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:447,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - sock
    - FLARG
    argTypes:
    - isc_nmsocket_t*
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 429
    functionDepth: 1
    functionLinenumber: 429
    functionLinenumberEnd: 450
    functionName: isc___nmsocket_attach
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - VALID_NMSOCK
    - isc_refcount_current
    - NETMGR_TRACE_LOG
    - isc_refcount_increment0
    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:459,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:459,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:460,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:460,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:464,1
    - Dst: isc__nm_decstats
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:466,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:468,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:477,1
    - Dst: nmsocket_cleanup
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:478,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:484,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:492,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:496,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:499,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:500,1
    - Dst: nmhandle_free
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:501,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:504,1
    - Dst: isc__nm_tls_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:507,1
    - Dst: isc__nm_http_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:509,1
    - Dst: isc__nm_streamdns_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:511,1
    - Dst: isc__nm_proxystream_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:512,1
    - Dst: isc__nm_proxyudp_cleanup_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:513,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:516,1
    - Dst: isc_barrier_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:524,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:524,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:526,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:528,1
    - Dst: isc__networker_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:531,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 455
    functionDepth: 7
    functionLinenumber: 455
    functionLinenumberEnd: 532
    functionName: nmsocket_cleanup
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__nm_decstats
    - ISC_LIST_UNLINK
    - INSIST
    - isc_refcount_decrementz
    - nmsocket_cleanup
    - isc_mempool_put
    - isc_barrier_destroy
    - isc__nm_proxystream_cleanup_data
    - isc_nmhandle_detach
    - isc__nm_http_cleanup_data
    - ISC_LIST_DEQUEUE
    - isc_tid
    - isc__networker_detach
    - isc__nmsocket_active
    - nmhandle_free
    - isc_refcount_destroy
    - isc_mem_cput
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - ISC_LIST_FOREACH
    - isc__nm_proxyudp_cleanup_data
    - isc__nm_streamdns_cleanup_data
    - isc__nm_tls_cleanup_data
    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:536,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 550
    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:690,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:691,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:691,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:692,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 1
    argNames:
    - sockp
    argTypes:
    - isc_nmsocket_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 701
    functionName: isc_nmsocket_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - isc__nmsocket_detach
    - VALID_NMSOCK
    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:709,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:710,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:734,1
    - Dst: isc_backtrace
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:738,1
    - Dst: isc__networker_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:741,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:761,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:776,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:783,1
    - Dst: NETMGR_TRACE_LOG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:785,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:787,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:791,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: 792
      start: 703
    functionDepth: 1
    functionLinenumber: 703
    functionLinenumberEnd: 792
    functionName: isc___nmsocket_init
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__networker_attach
    - isc_refcount_current
    - ISC_LIST_APPEND
    - isc__nm_incstats
    - isc_backtrace
    - NETMGR_TRACE_LOG
    - UNREACHABLE
    - isc_refcount_init
    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:796,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:796,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:797,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 794
    functionDepth: 1
    functionLinenumber: 794
    functionLinenumberEnd: 805
    functionName: isc__nmsocket_clearcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 13
    functionsReached:
    - isc_tid
    - REQUIRE
    - VALID_NMSOCK
    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:809,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:809,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sock
    - buf
    argTypes:
    - isc_nmsocket_t*
    - uv_buf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 807
    functionDepth: 1
    functionLinenumber: 807
    functionLinenumberEnd: 814
    functionName: isc__nm_free_uvbuf
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    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:818,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 816
    functionDepth: 1
    functionLinenumber: 816
    functionLinenumberEnd: 829
    functionName: alloc_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_refcount_init
    - isc_mem_get
    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:834,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:836,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:840,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:841,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:841,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:845,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:845,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 848
    functionName: dequeue_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - VALID_NMHANDLE
    - INSIST
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ISC_LIST_DEQUEUE
    - 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:853,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:853,1
    - Dst: dequeue_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:855,1
    - Dst: alloc_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:857,1
    - Dst: NETMGR_TRACE_LOG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:860,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:862,1
    - Dst: isc___nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:864,1
    - Dst: isc_backtrace
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:867,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:882,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:895,1
    - Dst: isc__nm_httpsession_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:913,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: 919
      start: 850
    functionDepth: 2
    functionLinenumber: 850
    functionLinenumberEnd: 919
    functionName: isc___nmhandle_get
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - alloc_handle
    - INSIST
    - VALID_NMSOCK
    - isc_refcount_current
    - ISC_LIST_APPEND
    - dequeue_handle
    - NETMGR_TRACE_LOG
    - isc___nmsocket_attach
    - isc_backtrace
    - isc__nm_httpsession_attach
    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:923,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:923,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 930
    functionName: isc_nmhandle_is_stream
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    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:937,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:940,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - handle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 941
      start: 932
    functionDepth: 1
    functionLinenumber: 932
    functionLinenumberEnd: 941
    functionName: nmhandle_free
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - isc_nmhandle_t*::dofree
    - isc_mem_put
    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:949,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:955,1
    - Dst: nmhandle_free
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:957,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:961,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 962
      start: 943
    functionDepth: 2
    functionLinenumber: 943
    functionLinenumberEnd: 962
    functionName: nmhandle__destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - nmhandle_free
    - isc__nmsocket_detach
    - ISC_LIST_APPEND
    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:969,1
    - Dst: nmhandle__destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 972
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 972
    functionName: isc__nm_closehandle_job
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_nmsocket_t*::closehandle_cb
    - nmhandle__destroy
    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:979,1
    - Dst: isc__nm_httpsession_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:984,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:994,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:997,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:998,1
    - Dst: nmhandle__destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1002,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1011,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 974
    functionDepth: 4
    functionLinenumber: 974
    functionLinenumberEnd: 1013
    functionName: nmhandle_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_job_run
    - INSIST
    - isc_nmhandle_t*::doreset
    - isc__nm_httpsession_detach
    - isc_nmhandle_detach
    - nmhandle__destroy
    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:1023,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1023,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1026
    functionName: isc_nmhandle_getdata
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    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:1031,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1031,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: 1036
      start: 1028
    functionDepth: 1
    functionLinenumber: 1028
    functionLinenumberEnd: 1036
    functionName: isc_nmhandle_setdata
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    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:1041,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1041,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1042,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1042,1
    - Dst: isc__nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1045,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1047,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: 1049
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1049
    functionName: isc__nm_failed_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc__nm_sendcb
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc__nm_uvreq_put
    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:1054,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1054,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1055,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1055,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1056,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1056,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1057,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1058,1
    - Dst: isc__nm_incstats
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1062,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1064,1
    - Dst: uv_handle_set_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1065,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1067,1
    - Dst: isc__nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1068,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1070,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: 1071
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1071
    functionName: isc__nm_failed_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - VALID_UVREQ
    - isc__nm_connectcb
    - VALID_NMSOCK
    - isc__nm_incstats
    - isc_tid
    - isc__nmsocket_clearcb
    - uv_handle_set_data
    - isc__nmsocket_prep_destroy
    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:1075,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1075,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1076,1
    - Dst: isc__nm_udp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1079,1
    - Dst: isc__nm_tcp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1082,1
    - Dst: isc__nm_tls_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1085,1
    - Dst: isc__nm_streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1088,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1091,1
    - Dst: isc__nm_proxyudp_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1094,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1097,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: 1099
      start: 1073
    functionDepth: 5
    functionLinenumber: 1073
    functionLinenumberEnd: 1099
    functionName: isc__nm_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc__nm_tls_failed_read_cb
    - isc__nm_tcp_failed_read_cb
    - VALID_NMSOCK
    - isc__nm_streamdns_failed_read_cb
    - isc__nm_proxyudp_failed_read_cb
    - isc__nm_proxystream_failed_read_cb
    - isc__nm_udp_failed_read_cb
    - UNREACHABLE
    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:1103,1
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1104,1
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1105,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1107,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1107,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1108,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1109,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1110,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1111,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1118,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1121
    functionName: isc__nmsocket_connecttimeout_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_stop
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc_tid
    - uv_handle_get_data
    - isc__nmsocket_shutdown
    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:1146,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1147,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: 1148
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1148
    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:1155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1156,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1157,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1157,1
    - Dst: isc__nm_start_reading
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1161,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - data
    - eresult
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1163
      start: 1150
    functionDepth: 1
    functionLinenumber: 1150
    functionLinenumberEnd: 1163
    functionName: isc__nmsocket_writetimeout_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc__nmsocket_reset
    - isc__nm_start_reading
    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:1167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1169,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1170,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1170,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1173,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1176,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1177,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1180,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1181,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1182,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1185,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - timer
    argTypes:
    - uv_timer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1165
    functionDepth: 6
    functionLinenumber: 1165
    functionLinenumberEnd: 1187
    functionName: isc__nmsocket_readtimeout_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nm_get_read_req
    - isc__nm_failed_read_cb
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    - isc_tid
    - isc__nm_readcb
    - uv_timer_stop
    - uv_handle_get_data
    - isc__nmsocket_clearcb
    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:1191,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1191,1
    - Dst: isc__nmsocket_tls_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1195,1
    - Dst: isc__nmsocket_streamdns_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1198,1
    - Dst: isc__nmsocket_proxystream_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1201,1
    - Dst: isc__nmsocket_proxyudp_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1204,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1210,1
    - Dst: uv_timer_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1221,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1224,1
    - Dst: uv_timer_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1233,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1236,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 34
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1238
      start: 1189
    functionDepth: 2
    functionLinenumber: 1189
    functionLinenumberEnd: 1238
    functionName: isc__nmsocket_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - uv_is_closing
    - VALID_NMSOCK
    - isc__nmsocket_proxyudp_timer_restart
    - isc__nmsocket_proxystream_timer_restart
    - isc__nmsocket_tls_timer_restart
    - isc__nmsocket_streamdns_timer_restart
    - uv_timer_start
    - UV_RUNTIME_CHECK
    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:1242,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1242,1
    - Dst: isc__nmsocket_tls_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1246,1
    - Dst: isc__nmsocket_streamdns_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1248,1
    - Dst: isc__nmsocket_proxystream_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1250,1
    - Dst: isc__nmsocket_proxyudp_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1252,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1258
      start: 1240
    functionDepth: 2
    functionLinenumber: 1240
    functionLinenumberEnd: 1258
    functionName: isc__nmsocket_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - isc__nmsocket_proxystream_timer_running
    - uv_is_active
    - VALID_NMSOCK
    - isc__nmsocket_proxyudp_timer_running
    - isc__nmsocket_tls_timer_running
    - isc__nmsocket_streamdns_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:1262,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1262,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1264,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1268,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1260
    functionDepth: 3
    functionLinenumber: 1260
    functionLinenumberEnd: 1269
    functionName: isc__nmsocket_timer_start
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_running
    - VALID_NMSOCK
    - isc__nmsocket_timer_restart
    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:1275,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1275,1
    - Dst: isc__nmsocket_tls_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1279,1
    - Dst: isc__nmsocket_streamdns_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1282,1
    - Dst: isc__nmsocket_proxystream_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1285,1
    - Dst: isc__nmsocket_proxyudp_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1288,1
    - Dst: uv_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1296,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1298
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1298
    functionName: isc__nmsocket_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_proxystream_timer_stop
    - isc__nmsocket_proxyudp_timer_stop
    - isc__nmsocket_tls_timer_stop
    - uv_timer_stop
    - isc__nmsocket_streamdns_timer_stop
    - 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:1304,1
    - Dst: isc_nmhandle__attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1313,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1316,1
    - Dst: isc_nmhandle__attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1321,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1324,1
    - Dst: isc_nmhandle__attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1330,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1333,1
    - Dst: isc___nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1336,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 2
    argNames:
    - sock
    - sockaddr
    argTypes:
    - isc_nmsocket_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1300
    functionDepth: 3
    functionLinenumber: 1300
    functionLinenumberEnd: 1343
    functionName: isc___nm_get_read_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_get
    - isc_nmhandle__attach
    - isc___nmhandle_get
    - isc_nmhandle_attach
    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:1353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1356,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1356,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1362,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1365,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1366,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1379,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: 1383
      start: 1351
    functionDepth: 1
    functionLinenumber: 1351
    functionLinenumberEnd: 1383
    functionName: isc__nm_alloc_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - INSIST
    - VALID_NMSOCK
    - uv_handle_get_data
    - UNREACHABLE
    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:1390,1
    - Dst: uv_udp_recv_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1396,1
    - Dst: uv_read_start
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1400,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1404,1
    - Dst: isc_uverr2result
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1385
    functionDepth: 1
    functionLinenumber: 1385
    functionLinenumberEnd: 1411
    functionName: isc__nm_start_reading
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - uv_is_active
    - uv_read_start
    - uv_udp_recv_start
    - UNREACHABLE
    - isc_uverr2result
    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:1417,1
    - Dst: uv_udp_recv_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1423,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1424,1
    - Dst: uv_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1427,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1428,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1431,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1433
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1433
    functionName: isc__nm_stop_reading
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - uv_is_active
    - uv_read_stop
    - UNREACHABLE
    - uv_udp_recv_stop
    - 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: 1438
      start: 1435
    functionDepth: 0
    functionLinenumber: 1435
    functionLinenumberEnd: 1438
    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:1443,1
    - Dst: isc__nmsocket_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1440
    functionDepth: 2
    functionLinenumber: 1440
    functionLinenumberEnd: 1445
    functionName: isc__nmsocket_closing
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 15
    functionsReached:
    - isc__nmsocket_active
    - isc__nm_closing
    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:1449,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1450,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1450,1
    - Dst: isc__nm_http_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1455,1
    - Dst: isc__nm_tls_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1459,1
    - Dst: isc__nmhandle_streamdns_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1462,1
    - Dst: isc__nmhandle_proxystream_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1465,1
    - Dst: isc__nmhandle_proxyudp_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1468,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1473,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1477
      start: 1447
    functionDepth: 3
    functionLinenumber: 1447
    functionLinenumberEnd: 1477
    functionName: isc_nmhandle_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - uv_is_active
    - isc__nmsocket_timer_stop
    - VALID_NMSOCK
    - isc__nmhandle_proxystream_cleartimeout
    - isc__nmhandle_proxyudp_cleartimeout
    - isc__nm_http_cleartimeout
    - isc__nm_tls_cleartimeout
    - isc__nmhandle_streamdns_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:1481,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1482,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1482,1
    - Dst: isc__nm_http_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1487,1
    - Dst: isc__nm_tls_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1491,1
    - Dst: isc__nmhandle_streamdns_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1494,1
    - Dst: isc__nmhandle_proxystream_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1497,1
    - Dst: isc__nmhandle_proxyudp_settimeout
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1500,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1504,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1479
    functionDepth: 3
    functionLinenumber: 1479
    functionLinenumberEnd: 1506
    functionName: isc_nmhandle_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 11
    functionsReached:
    - isc__nm_tls_settimeout
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_restart
    - isc__nmhandle_proxyudp_settimeout
    - VALID_NMSOCK
    - isc__nm_http_settimeout
    - isc__nmhandle_streamdns_settimeout
    - isc__nmhandle_proxystream_settimeout
    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:1512,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1512,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1513,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1513,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1517,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1517,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1523,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1524,1
    - Dst: isc__nmhandle_streamdns_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1527,1
    - Dst: isc__nmhandle_tls_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1530,1
    - Dst: isc__nmhandle_http_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1534,1
    - Dst: isc__nmhandle_proxystream_keepalive
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1538,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1546
      start: 1508
    functionDepth: 2
    functionLinenumber: 1508
    functionLinenumberEnd: 1546
    functionName: isc_nmhandle_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmhandle_streamdns_keepalive
    - VALID_NMSOCK
    - isc__nmhandle_tls_keepalive
    - atomic_load_relaxed
    - isc_tid
    - isc__nmhandle_proxystream_keepalive
    - isc__nmhandle_http_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:1550,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1551,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1551,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1548
    functionDepth: 3
    functionLinenumber: 1548
    functionLinenumberEnd: 1554
    functionName: isc_nmhandle_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_timer_running
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    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:1558,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1558,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1561
      start: 1556
    functionDepth: 1
    functionLinenumber: 1556
    functionLinenumberEnd: 1561
    functionName: isc_nmhandle_peeraddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 13
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    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:1567,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1567,1
    - Dst: uv_tcp_getsockname
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1574,1
    - Dst: uv_udp_getsockname
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1580,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1589,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1599,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1604
      start: 1563
    functionDepth: 1
    functionLinenumber: 1563
    functionLinenumberEnd: 1604
    functionName: isc_nmhandle_localaddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - uv_udp_getsockname
    - isc_nmhandle_localaddr
    - uv_tcp_getsockname
    - UNREACHABLE
    linkageType: ''
    returnType: isc_sockaddr_t
    signature: isc_sockaddr_t isc_nmhandle_localaddr(isc_nmhandle_t *handle)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1660,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1660,1
    - Dst: isc__nm_udp_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1665,1
    - Dst: isc__nm_tcp_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1668,1
    - Dst: isc__nm_streamdns_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1671,1
    - Dst: isc__nm_tls_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1674,1
    - Dst: isc__nm_http_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1678,1
    - Dst: isc__nm_proxystream_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1682,1
    - Dst: isc__nm_proxyudp_send
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1685,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1688,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: 1690
      start: 1657
    functionDepth: 5
    functionLinenumber: 1657
    functionLinenumberEnd: 1690
    functionName: isc_nm_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 24
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_proxyudp_send
    - isc__nm_http_send
    - isc__nm_streamdns_send
    - isc__nm_udp_send
    - isc__nm_proxystream_send
    - UNREACHABLE
    - isc__nm_tcp_send
    - isc__nm_tls_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:1695,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1695,1
    - Dst: isc__nm_tcp_senddns
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1699,1
    - Dst: isc__nm_tls_senddns
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1702,1
    - Dst: isc__nm_proxystream_senddns
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1705,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1708,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: 1710
      start: 1692
    functionDepth: 4
    functionLinenumber: 1692
    functionLinenumberEnd: 1710
    functionName: isc__nm_senddns
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_proxystream_senddns
    - isc__nm_tls_senddns
    - UNREACHABLE
    - 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:1714,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1714,1
    - Dst: isc__nm_udp_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1718,1
    - Dst: isc__nm_tcp_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1721,1
    - Dst: isc__nm_streamdns_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1724,1
    - Dst: isc__nm_tls_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1727,1
    - Dst: isc__nm_http_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1731,1
    - Dst: isc__nm_proxystream_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1735,1
    - Dst: isc__nm_proxyudp_read
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1738,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1741,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: 1743
      start: 1712
    functionDepth: 7
    functionLinenumber: 1712
    functionLinenumberEnd: 1743
    functionName: isc_nm_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 23
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_streamdns_read
    - isc__nm_proxystream_read
    - isc__nm_tls_read
    - isc__nm_tcp_read
    - isc__nm_udp_read
    - isc__nm_http_read
    - isc__nm_proxyudp_read
    - UNREACHABLE
    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:1749,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1750,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1750,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1751,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1751,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1753,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1753,1
    - Dst: isc__nm_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1760,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1763,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1766,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1745
    functionDepth: 6
    functionLinenumber: 1745
    functionLinenumberEnd: 1767
    functionName: cancelread_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_nmhandle_detach
    - isc_tid
    - isc__nm_failed_read_cb
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: void cancelread_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1771,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1771,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1772,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1772,1
    - Dst: isc_nmhandle_ref
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1775,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1777
      start: 1769
    functionDepth: 2
    functionLinenumber: 1769
    functionLinenumberEnd: 1777
    functionName: isc_nm_cancelread
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_nmhandle_ref
    - VALID_NMSOCK
    - isc_async_run
    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:1781,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1781,1
    - Dst: isc__nm_tcp_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1787,1
    - Dst: isc__nm_tls_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1790,1
    - Dst: isc__nm_proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1793,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1796,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1779
    functionDepth: 3
    functionLinenumber: 1779
    functionLinenumberEnd: 1798
    functionName: isc_nm_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_tls_read_stop
    - isc__nm_tcp_read_stop
    - isc__nm_proxystream_read_stop
    - UNREACHABLE
    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:1802,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1802,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1803,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1803,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1805,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1807
      start: 1800
    functionDepth: 2
    functionLinenumber: 1800
    functionLinenumberEnd: 1807
    functionName: isc_nmhandle_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nmsocket_clearcb
    - isc__nmsocket_prep_destroy
    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:1811,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1811,1
    - Dst: isc__nm_udp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1815,1
    - Dst: isc__nm_tcp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1818,1
    - Dst: isc__nm_streamdns_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1821,1
    - Dst: isc__nm_tls_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1824,1
    - Dst: isc__nm_http_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1828,1
    - Dst: isc__nm_proxystream_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1832,1
    - Dst: isc__nm_proxyudp_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1835,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1838,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1809
    functionDepth: 5
    functionLinenumber: 1809
    functionLinenumberEnd: 1840
    functionName: isc_nm_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - isc__nm_http_stoplistening
    - REQUIRE
    - isc__nm_proxystream_stoplistening
    - isc__nm_udp_stoplistening
    - VALID_NMSOCK
    - isc__nm_tls_stoplistening
    - isc__nm_streamdns_stoplistening
    - isc__nm_tcp_stoplistening
    - UNREACHABLE
    - isc__nm_proxyudp_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:1844,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1844,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1845,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1845,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1847,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1852,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1856,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1857,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1864,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1867
      start: 1842
    functionDepth: 6
    functionLinenumber: 1842
    functionLinenumberEnd: 1867
    functionName: isc__nmsocket_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_tid
    - isc_nm_stoplistening
    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:1871,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1872,1
    - Dst: isc_barrier_init
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - listener
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1869
    functionDepth: 1
    functionLinenumber: 1869
    functionLinenumberEnd: 1875
    functionName: isc__nmsocket_barrier_init
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_barrier_init
    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:1881,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1877
    functionDepth: 1
    functionLinenumber: 1877
    functionLinenumberEnd: 1883
    functionName: isc___nm_connectcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_uvreq_t*::cb::connect
    - isc__nm_uvreq_put
    linkageType: ''
    returnType: void
    signature: void isc___nm_connectcb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1888,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1888,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1889,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1889,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1890,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1890,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1891,1
    - Dst: isc___nm_connectcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1896,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1900,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: 1901
      start: 1885
    functionDepth: 2
    functionLinenumber: 1885
    functionLinenumberEnd: 1901
    functionName: isc__nm_connectcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_job_run
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc___nm_connectcb
    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:1910,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1903
    functionDepth: 1
    functionLinenumber: 1903
    functionLinenumberEnd: 1913
    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:1918,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1918,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1919,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1919,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1920,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1920,1
    - Dst: isc___nm_readcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1925,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1929,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: 1930
      start: 1915
    functionDepth: 2
    functionLinenumber: 1915
    functionLinenumberEnd: 1930
    functionName: isc__nm_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_job_run
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc___nm_readcb
    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:1936,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1937,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1938
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1938
    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:1943,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1943,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1944,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1944,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1945,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1945,1
    - Dst: isc___nm_sendcb
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1950,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1954,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: 1955
      start: 1940
    functionDepth: 2
    functionLinenumber: 1940
    functionLinenumberEnd: 1955
    functionName: isc__nm_sendcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_job_run
    - VALID_UVREQ
    - VALID_NMSOCK
    - isc___nm_sendcb
    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:1959,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1961,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1957
    functionDepth: 1
    functionLinenumber: 1957
    functionLinenumberEnd: 1963
    functionName: reset_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_shutdown
    - isc__nmsocket_detach
    - 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:1967,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1967,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1974,1
    - Dst: isc__nmsocket_tls_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1977,1
    - Dst: isc__nmsocket_streamdns_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1980,1
    - Dst: isc__nmsocket_proxystream_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1983,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1986,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1990,1
    - Dst: uv_is_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1991,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1997,1
    - Dst: uv_tcp_close_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:1998,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2001,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2002,1
    - Dst: uv_strerror
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2004,1
    - Dst: reset_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2005,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2008,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2010
      start: 1965
    functionDepth: 2
    functionLinenumber: 1965
    functionLinenumberEnd: 2010
    functionName: isc__nmsocket_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - uv_is_active
    - isc__nmsocket_proxystream_reset
    - isc__nmsocket_tls_reset
    - uv_is_closing
    - VALID_NMSOCK
    - isc__nmsocket_attach
    - isc_log_write
    - uv_strerror
    - isc__nmsocket_streamdns_reset
    - ISC_LOG_DEBUG
    - reset_shutdown
    - uv_tcp_close_reset
    - isc__nmsocket_shutdown
    - UNREACHABLE
    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:2014,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2014,1
    - Dst: isc__nm_udp_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2017,1
    - Dst: isc__nm_tcp_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2020,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2028
      start: 2012
    functionDepth: 2
    functionLinenumber: 2012
    functionLinenumberEnd: 2028
    functionName: isc__nmsocket_shutdown
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - isc__nm_udp_shutdown
    - REQUIRE
    - isc__nm_tcp_shutdown
    - VALID_NMSOCK
    - UNREACHABLE
    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:2033,1
    - Dst: uv_is_closing
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2035,1
    - Dst: uv_handle_get_data
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2039,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2043,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2050,1
    - Dst: isc__nmsocket_shutdown
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2055,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - handle
    - arg
    argTypes:
    - uv_handle_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2030
    functionDepth: 3
    functionLinenumber: 2030
    functionLinenumberEnd: 2062
    functionName: shutdown_walk_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - uv_is_closing
    - isc__nmsocket_reset
    - uv_handle_get_data
    - isc__nmsocket_shutdown
    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:2066,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2066,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2067,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2068,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2068,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2070,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - stats
    argTypes:
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2071
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2071
    functionName: isc_nm_setstats
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_stats_ncounters
    - VALID_NM
    - isc_stats_attach
    linkageType: ''
    returnType: void
    signature: void isc_nm_setstats(isc_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2075,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2075,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2076,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2079,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: 2081
      start: 2073
    functionDepth: 2
    functionLinenumber: 2073
    functionLinenumberEnd: 2081
    functionName: isc__nm_incstats
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc_stats_increment
    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:2085,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2085,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2086,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2089,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: 2091
      start: 2083
    functionDepth: 2
    functionLinenumber: 2083
    functionLinenumberEnd: 2091
    functionName: isc__nm_decstats
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_stats_decrement
    - VALID_NMSOCK
    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:2097,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2110,1
    - Dst: socket
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2117,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2119,1
    - Dst: bind
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2122,1
    - Dst: close
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2124,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2125,1
    - Dst: close
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2128,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - addr
    - type
    argTypes:
    - isc_sockaddr_t*
    - isc_socktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2093
    functionDepth: 2
    functionLinenumber: 2093
    functionLinenumberEnd: 2130
    functionName: isc_nm_checkaddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - close
    - bind
    - isc_sockaddr_pf
    - socket
    - 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:2158,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:2164,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2166,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2169,1
    - Dst: uv_recv_buffer_size
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2173,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2174,1
    - Dst: uv_send_buffer_size
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2178,1
    - Dst: UV_RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2179,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - handle
    argTypes:
    - uv_handle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2181
      start: 2150
    functionDepth: 1
    functionLinenumber: 2150
    functionLinenumberEnd: 2181
    functionName: isc__nm_set_network_buffers
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 5
    functionsReached:
    - uv_send_buffer_size
    - atomic_load_relaxed
    - UNREACHABLE
    - uv_recv_buffer_size
    - UV_RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void isc__nm_set_network_buffers(uv_handle_t *handle)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2187,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2188,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2200,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2201,1
    - Dst: isc__nm_http_bad_request
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2205,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2209,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2183
    functionDepth: 6
    functionLinenumber: 2183
    functionLinenumberEnd: 2212
    functionName: isc_nm_bad_request
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_http_bad_request
    - VALID_NMSOCK
    - isc__nmsocket_reset
    - UNREACHABLE
    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:2219,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2220,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2220,1
    - Dst: isc__nm_streamdns_xfr_checkperm
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2226,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2233
      start: 2214
    functionDepth: 1
    functionLinenumber: 2214
    functionLinenumberEnd: 2233
    functionName: isc_nm_xfr_checkperm
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__nm_streamdns_xfr_checkperm
    - VALID_NMHANDLE
    - VALID_NMSOCK
    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:2237,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2237,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2238,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2235
    functionDepth: 1
    functionLinenumber: 2235
    functionLinenumberEnd: 2241
    functionName: isc_nm_is_http_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    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:2256,1
    - Dst: isc__nm_httpsession_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2257,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2266,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2243
    functionDepth: 2
    functionLinenumber: 2243
    functionLinenumberEnd: 2270
    functionName: get_proxy_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - isc__nm_httpsession_handle
    - get_proxy_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:2274,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2274,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2275,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2275,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2272
    functionDepth: 3
    functionLinenumber: 2272
    functionLinenumberEnd: 2278
    functionName: isc_nm_is_proxy_handle
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - get_proxy_handle
    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:2283,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2284,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2284,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2290,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2280
    functionDepth: 3
    functionLinenumber: 2280
    functionLinenumberEnd: 2296
    functionName: isc_nm_is_proxy_unspec
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - get_proxy_handle
    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:2302,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2302,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2304,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2306,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2309,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2309,1
    - Dst: isc_nmhandle_is_stream
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2311,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2312,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2314,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2319
      start: 2298
    functionDepth: 3
    functionLinenumber: 2298
    functionLinenumberEnd: 2319
    functionName: isc_nmhandle_real_peeraddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_nmhandle_is_stream
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_peeraddr
    - get_proxy_handle
    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:2325,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2325,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2327,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2329,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2332,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2332,1
    - Dst: isc_nmhandle_is_stream
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2334,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2335,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2337,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2342
      start: 2321
    functionDepth: 3
    functionLinenumber: 2321
    functionLinenumberEnd: 2342
    functionName: isc_nmhandle_real_localaddr
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_nmhandle_is_stream
    - INSIST
    - VALID_NMSOCK
    - get_proxy_handle
    - isc_nmhandle_localaddr
    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:2361,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2374,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2375,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2377,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2378,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2380,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2380,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2380,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2382,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:2388,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2393,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2397,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2402,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2344
    functionDepth: 2
    functionLinenumber: 2344
    functionLinenumberEnd: 2406
    functionName: isc__nm_valid_proxy_addresses
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - INSIST
    - isc_sockaddr_getport
    - isc_netaddr_fromin6
    - isc_netaddr_fromsockaddr
    - isc_sockaddr_pf
    - isc_netaddr_equal
    - isc_netaddr_fromin
    - UNREACHABLE
    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:2412,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2412,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2413,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2413,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2414,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2417,1
    - Dst: isc__nm_http_set_maxage
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2424,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - handle
    - ttl
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2408
    functionDepth: 2
    functionLinenumber: 2408
    functionLinenumberEnd: 2439
    functionName: isc_nm_set_maxage
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc__nm_http_set_maxage
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - UNREACHABLE
    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:2443,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2443,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2444,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2447
      start: 2441
    functionDepth: 1
    functionLinenumber: 2441
    functionLinenumberEnd: 2447
    functionName: isc_nm_socket_type
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    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:2453,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2453,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2454,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2454,1
    - Dst: get_proxy_handle
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2456,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2449
    functionDepth: 3
    functionLinenumber: 2449
    functionLinenumberEnd: 2467
    functionName: isc_nmhandle_proxy_type
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - get_proxy_handle
    - 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:2471,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2471,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2472,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2472,1
    - Dst: isc__nm_http_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2479,1
    - Dst: isc__nm_streamdns_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2482,1
    - Dst: isc__nm_proxystream_has_encryption
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2484,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2490
      start: 2469
    functionDepth: 2
    functionLinenumber: 2469
    functionLinenumberEnd: 2490
    functionName: isc_nm_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nm_streamdns_has_encryption
    - isc__nm_http_has_encryption
    - isc__nm_proxystream_has_encryption
    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:2496,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2496,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2497,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2497,1
    - Dst: isc__nm_tls_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2502,1
    - Dst: isc__nm_proxystream_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2505,1
    - Dst: isc__nm_http_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2510,1
    - Dst: isc__nm_streamdns_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2514,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2521
      start: 2492
    functionDepth: 3
    functionLinenumber: 2492
    functionLinenumberEnd: 2521
    functionName: isc_nm_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nm_http_verify_tls_peer_result_string
    - isc__nm_streamdns_verify_tls_peer_result_string
    - VALID_NMSOCK
    - isc__nm_tls_verify_tls_peer_result_string
    - 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:2531,1
    - Dst: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2534,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2536,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2538,1
    - Dst: isc__nm_async_tls_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2540,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2542,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2544
      start: 2528
    functionDepth: 3
    functionLinenumber: 2528
    functionLinenumberEnd: 2544
    functionName: settlsctx_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_tlsctx_free
    - isc_mem_put
    - isc__networker_current
    - isc__nmsocket_detach
    - isc_tid
    - isc__nm_async_tls_set_tlsctx
    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:2548,1
    - Dst: isc__networker_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2551,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2552,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2555,1
    - Dst: isc_tlsctx_attach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2556,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2558,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2560
      start: 2546
    functionDepth: 2
    functionLinenumber: 2546
    functionLinenumberEnd: 2560
    functionName: set_tlsctx_workers
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__networker_get
    - isc_mem_cget
    - isc_loopmgr_nloops
    - isc_tlsctx_attach
    - isc__nmsocket_attach
    - isc_async_run
    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:2564,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2564,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2565,1
    - Dst: isc__nm_http_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2576,1
    - Dst: set_tlsctx_workers
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2580,1
    - Dst: isc__nm_streamdns_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2583,1
    - Dst: isc__nm_proxystream_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2586,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2589,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2592
      start: 2562
    functionDepth: 3
    functionLinenumber: 2562
    functionLinenumberEnd: 2592
    functionName: isc_nmsocket_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nm_streamdns_set_tlsctx
    - isc__nm_http_set_tlsctx
    - set_tlsctx_workers
    - isc__nm_proxystream_set_tlsctx
    - UNREACHABLE
    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:2597,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2597,1
    - Dst: isc__nm_http_set_max_streams
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2601,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - listener
    - max_streams
    argTypes:
    - isc_nmsocket_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2609
      start: 2594
    functionDepth: 2
    functionLinenumber: 2594
    functionLinenumberEnd: 2609
    functionName: isc_nmsocket_set_max_streams
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc__nm_http_set_max_streams
    - UNUSED
    - VALID_NMSOCK
    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:2613,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2617,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2619,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2623,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2624,1
    - Dst: isc__nmsocket_log
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2625,1
    - Dst: SSL_is_server
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2626,1
    - Dst: SSL_session_reused
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2627,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - sock
    - tls
    argTypes:
    - isc_nmsocket_t*
    - isc_tls_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2629
      start: 2611
    functionDepth: 3
    functionLinenumber: 2611
    functionLinenumberEnd: 2629
    functionName: isc__nmsocket_log_tls_session_reuse
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - SSL_session_reused
    - SSL_is_server
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - isc_sockaddr_format
    - isc__nmsocket_log
    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:2633,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2633,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2636,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2638,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2640,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2641,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2643,1
    - Dst: isc__netmgr_unref
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - worker
    argTypes:
    - isc__networker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2631
    functionDepth: 1
    functionLinenumber: 2631
    functionLinenumberEnd: 2647
    functionName: isc__networker_destroy
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - isc_mempool_destroy
    - isc_loop_detach
    - isc__netmgr_log
    - isc__netmgr_unref
    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: 2
    argNames:
    - level
    - fmt
    argTypes:
    - 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:
    - vsnprintf
    - va_start
    - isc_log_write
    - isc_log_wouldlog
    - va_end
    linkageType: ''
    returnType: void
    signature: void isc__netmgr_log(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: 10
    functionsReached:
    - vsnprintf
    - va_start
    - isc_log_write
    - isc_log_wouldlog
    - va_end
    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:
    - vsnprintf
    - va_start
    - isc_log_wouldlog
    - va_end
    - isc__nmsocket_log
    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:
    - isc_nmhandle_real_localaddr
    - isc_nmhandle_real_peeraddr
    - isc_nmhandle_is_stream
    - snprintf
    - isc_log_write
    - isc_log_wouldlog
    - ISC_LOG_DEBUG
    - isc_nm_has_encryption
    - isc_sockaddr_format
    - UNREACHABLE
    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:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc__nmhandle_proxystream_set_manual_timer
    - isc__nmhandle_tcp_set_manual_timer
    - isc__nmhandle_tls_set_manual_timer
    - UNREACHABLE
    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:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmhandle_proxystream_get_selected_alpn
    - VALID_NMSOCK
    - isc__nmhandle_tls_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:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmhandle_proxystream_set_tcp_nodelay
    - isc__nmhandle_tls_set_tcp_nodelay
    - VALID_NMSOCK
    - RUNTIME_CHECK
    - isc__nm_socket_tcp_nodelay
    - UNREACHABLE
    - uv_fileno
    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:
    - REQUIRE
    - VALID_NMSOCK
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2906,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2906,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2904
    functionDepth: 1
    functionLinenumber: 2904
    functionLinenumberEnd: 2908
    functionName: isc__networker_current
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 11
    functionsReached:
    - isc_tid
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: isc__networker_t
    signature: 'isc__networker_t *

      isc__networker_current(void)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2912,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - tid
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2910
    functionDepth: 1
    functionLinenumber: 2910
    functionLinenumberEnd: 2914
    functionName: isc__networker_get
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - VALID_NM
    linkageType: ''
    returnType: isc__networker_t
    signature: 'isc__networker_t *

      isc__networker_get(uint32_t tid)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2918,1
    - Dst: VALID_NM
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2918,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2921,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2922,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2925,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2926,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2929,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - af
    - low
    - high
    argTypes:
    - sa_family_t
    - in_port_t
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2931
      start: 2916
    functionDepth: 1
    functionLinenumber: 2916
    functionLinenumberEnd: 2931
    functionName: isc_netmgr_portrange
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NM
    - atomic_store_relaxed
    - INSIST
    linkageType: ''
    returnType: void
    signature: void isc_netmgr_portrange(sa_family_t af, in_port_t low, in_port_t
      high)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2971,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_nmsocket_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2939
    functionDepth: 1
    functionLinenumber: 2939
    functionLinenumberEnd: 2973
    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:2977,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2978,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2979,1
    - Dst: isc_backtrace_symbols_fd
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2980,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2983
      start: 2975
    functionDepth: 1
    functionLinenumber: 2975
    functionLinenumberEnd: 2983
    functionName: nmhandle_dump
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - fprintf
    - isc_refcount_current
    - isc_backtrace_symbols_fd
    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:2987,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2988,1
    - Dst: nmsocket_type_totext
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2990,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2991,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2992,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:2996,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3001,1
    - Dst: isc_backtrace_symbols_fd
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3002,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3004,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3006,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3009,1
    - Dst: nmhandle_dump
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3012,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3016
      start: 2985
    functionDepth: 2
    functionLinenumber: 2985
    functionLinenumberEnd: 3016
    functionName: nmsocket_dump
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - nmsocket_type_totext
    - fprintf
    - isc_refcount_current
    - isc_backtrace_symbols_fd
    - nmhandle_dump
    - 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:3022,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3024,1
    - Dst: nmsocket_dump
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3027,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - worker
    argTypes:
    - isc__networker_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3029
      start: 3018
    functionDepth: 3
    functionLinenumber: 3018
    functionLinenumberEnd: 3029
    functionName: isc__nm_dump_active
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - fprintf
    - ISC_LIST_FOREACH
    - nmsocket_dump
    linkageType: ''
    returnType: void
    signature: void isc__nm_dump_active(isc__networker_t *worker)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc__networker_get
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3034,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3036,1
    - Dst: fprintf
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3037,1
    - Dst: isc__nm_dump_active
      Src: /src/bind9/lib/isc/netmgr/netmgr.c:3038,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3031
    functionDepth: 4
    functionLinenumber: 3031
    functionLinenumberEnd: 3041
    functionName: isc__nm_dump_active_manager
    functionSourceFile: /src/bind9/lib/isc/netmgr/netmgr.c
    functionUses: 0
    functionsReached:
    - isc__nm_dump_active
    - isc__networker_get
    - ISC_LIST_EMPTY
    - fprintf
    linkageType: ''
    returnType: void
    signature: void isc__nm_dump_active_manager(void)
  - 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:
    - proxystream_failed_read_cb
    - isc__nmsocket_timer_stop
    - isc__nm_valid_proxy_addresses
    - INSIST
    - proxystream_try_close_unused
    - isc__nmhandle_set_manual_timer
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc__nmhandle_get
    - isc_sockaddr_pf
    - proxystream_read_stop
    - isc__nm_received_proxy_header_log
    - isc_nmsocket_t*::accept_cb
    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_nm_getinitialtimeout
    - INSIST
    - isc_proxy2_handler_new
    - isc_buffer_allocate
    - isc_mempool_get
    - isc__nmsocket_init
    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__nmsocket_closing
    - isc__nmsocket_timer_restart
    - INSIST
    - isc__nm_closing
    - VALID_NMSOCK
    - isc__nmhandle_set_manual_timer
    - isc__nmsocket_attach
    - isc_tid
    - isc_nmhandle_peeraddr
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    - proxystream_sock_new
    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__networker_current
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:324,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:325,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:327,1
    - Dst: proxystream_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:331,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:337,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:341,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 8
    argNames:
    - workers
    - iface
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - tlsctx
    - sockp
    argTypes:
    - 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: 359
      start: 315
    functionDepth: 6
    functionLinenumber: 315
    functionLinenumberEnd: 359
    functionName: isc_nm_listenproxystream
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_nm_listentcp
    - isc__nm_closing
    - isc__networker_current
    - isc__nmsocket_detach
    - isc_tid
    - isc_nm_listentls
    - proxystream_sock_new
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenproxystream(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:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 361
    functionDepth: 1
    functionLinenumber: 361
    functionLinenumberEnd: 367
    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:381,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:383,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: 385
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 385
    functionName: proxystream_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_clearcb
    - isc_nmsocket_t*::connect_cb
    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:393,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:394,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:394,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:399,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:403,1
    - Dst: proxystream_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:404,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:405,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:407,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: 408
      start: 387
    functionDepth: 3
    functionLinenumber: 387
    functionLinenumberEnd: 408
    functionName: proxystream_send_header_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - proxystream_call_connect_cb
    - isc__nm_closing
    - proxystream_try_close_unused
    - VALID_NMSOCK
    - isc_nmhandle_detach
    - isc__nmhandle_get
    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:417,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:417,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:419,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:425,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:425,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:427,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:428,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:429,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:432,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:437,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:441,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:443,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:445,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:449,1
    - Dst: proxystream_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:451,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:452,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:453,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: 454
      start: 410
    functionDepth: 6
    functionLinenumber: 410
    functionLinenumberEnd: 454
    functionName: proxystream_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_closing
    - INSIST
    - isc__nm_closing
    - proxystream_try_close_unused
    - VALID_NMSOCK
    - proxystream_call_connect_cb
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_nm_send
    - isc_tid
    - isc_buffer_usedregion
    - isc_nmhandle_peeraddr
    - isc__nmhandle_get
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    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__networker_current
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:464,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:466,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:467,1
    - Dst: proxystream_sock_new
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:471,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:478,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:482,1
    - Dst: isc_proxy2_make_header
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:487,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:493,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:496,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:499,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 9
    argNames:
    - local
    - peer
    - cb
    - cbarg
    - timeout
    - tlsctx
    - sni_hostname
    - client_sess_cache
    - proxy_info
    argTypes:
    - 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: 503
      start: 456
    functionDepth: 5
    functionLinenumber: 456
    functionLinenumberEnd: 503
    functionName: isc_nm_proxystreamconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 4
    functionsReached:
    - isc_buffer_putmem
    - isc__nm_closing
    - RUNTIME_CHECK
    - isc__networker_current
    - isc_nm_tlsconnect
    - isc_nm_tcpconnect
    - cb
    - isc_proxy2_make_header
    - proxystream_sock_new
    linkageType: ''
    returnType: void
    signature: "void isc_nm_proxystreamconnect(isc_sockaddr_t *local, isc_sockaddr_t
      *peer,\n\t\t\t  isc_nm_cb_t cb, void *cbarg, unsigned int timeout,\n\t\t\t  isc_tlsctx_t
      *tlsctx, 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:509,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:510,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 511
    functionName: proxystream_failed_read_cb_async
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - proxystream_failed_read_cb
    - isc__nm_uvreq_put
    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:516,1
    - Dst: proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:519,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:521,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:524,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: 527
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 527
    functionName: isc__nm_proxystream_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc__nm_uvreq_get
    - proxystream_read_stop
    - proxystream_failed_read_cb
    - isc_job_run
    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:531,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:531,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:532,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:533,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 7
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: isc__nm_proxystream_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_stop
    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:541,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:543,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 538
    functionDepth: 3
    functionLinenumber: 538
    functionLinenumberEnd: 545
    functionName: proxystream_clear_proxy_header_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_proxy2_handler_free
    - isc_buffer_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:553,1
    - Dst: proxystream_put_send_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:558,1
    - Dst: proxystream_clear_proxy_header_data
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:564,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 547
    functionDepth: 4
    functionLinenumber: 547
    functionLinenumberEnd: 569
    functionName: isc__nm_proxystream_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - proxystream_clear_proxy_header_data
    - isc__nmsocket_detach
    - proxystream_put_send_req
    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:575,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:576,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:576,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:577,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:581,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:581,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:582,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 571
    functionDepth: 4
    functionLinenumber: 571
    functionLinenumberEnd: 584
    functionName: isc__nmhandle_proxystream_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_cleartimeout
    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:590,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:590,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:591,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:591,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:592,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:596,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:596,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:597,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 586
    functionDepth: 4
    functionLinenumber: 586
    functionLinenumberEnd: 599
    functionName: isc__nmhandle_proxystream_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_settimeout
    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:605,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:605,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:606,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:606,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:607,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:611,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:611,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:613,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 615
      start: 601
    functionDepth: 3
    functionLinenumber: 601
    functionLinenumberEnd: 615
    functionName: isc__nmhandle_proxystream_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    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:622,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:623,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:623,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:624,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:628,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:628,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - write_timeout
    argTypes:
    - isc_nmhandle_t*
    - uint64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 617
    functionDepth: 3
    functionLinenumber: 617
    functionLinenumberEnd: 632
    functionName: isc__nmhandle_proxystream_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - 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:636,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:636,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:637,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:640,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:640,1
    - 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: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:642,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 634
    functionDepth: 3
    functionLinenumber: 634
    functionLinenumberEnd: 644
    functionName: isc__nmsocket_proxystream_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_reset
    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:648,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:648,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:649,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:652,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:652,1
    - 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: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:654,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 646
    functionDepth: 3
    functionLinenumber: 646
    functionLinenumberEnd: 658
    functionName: isc__nmsocket_proxystream_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    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:662,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:662,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:663,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:666,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:666,1
    - 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: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:668,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 670
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 670
    functionName: isc__nmsocket_proxystream_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_restart
    - INSIST
    - VALID_NMSOCK
    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:674,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:675,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:678,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:678,1
    - 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: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:680,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 3
    functionLinenumber: 672
    functionLinenumberEnd: 682
    functionName: isc__nmsocket_proxystream_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_stop
    - INSIST
    - VALID_NMSOCK
    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:689,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:689,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:690,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:690,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:691,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:695,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:695,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:697,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - manual
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 684
    functionDepth: 3
    functionLinenumber: 684
    functionLinenumberEnd: 699
    functionName: isc__nmhandle_proxystream_set_manual_timer
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - isc__nmhandle_set_manual_timer
    - VALID_NMSOCK
    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:707,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:707,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:708,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:708,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:709,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:713,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:713,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:715,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 701
    functionDepth: 3
    functionLinenumber: 701
    functionLinenumberEnd: 719
    functionName: isc__nmhandle_proxystream_set_tcp_nodelay
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_set_tcp_nodelay
    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:729,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:729,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:731,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 721
    functionDepth: 8
    functionLinenumber: 721
    functionLinenumberEnd: 733
    functionName: proxystream_read_start
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - VALID_NMHANDLE
    - isc_nm_read
    - 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:743,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:743,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 747
      start: 735
    functionDepth: 4
    functionLinenumber: 735
    functionLinenumberEnd: 747
    functionName: proxystream_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 3
    functionsReached:
    - VALID_NMHANDLE
    - isc_nm_read_stop
    - INSIST
    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:751,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:751,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:752,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:753,1
    - Dst: proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 749
    functionDepth: 5
    functionLinenumber: 749
    functionLinenumberEnd: 757
    functionName: isc__nm_proxystream_read_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - 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:761,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:761,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:762,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:763,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:763,1
    - Dst: proxystream_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:771,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:772,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:775,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:776,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:777,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 759
    functionDepth: 5
    functionLinenumber: 759
    functionLinenumberEnd: 787
    functionName: isc__nm_proxystream_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - VALID_NMSOCK
    - isc_nm_read_stop
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_tid
    - isc_nmhandle_close
    - 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:791,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:793,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 794
      start: 789
    functionDepth: 3
    functionLinenumber: 789
    functionLinenumberEnd: 794
    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:798,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:798,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:799,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:803,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:804,1
    - Dst: proxystream_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:805,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:806,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:807,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:809,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:813,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:816,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:823,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:824,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:827,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:832,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:834,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:839,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:840,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:841,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:844,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - sock
    - result
    argTypes:
    - isc_nmsocket_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 845
    functionName: proxystream_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - isc__nm_get_read_req
    - proxystream_call_connect_cb
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_detach
    - isc__nmsocket_timer_running
    - isc__nm_readcb
    - isc__nmhandle_get
    - isc__nmsocket_clearcb
    - isc__nmsocket_prep_destroy
    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:852,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:852,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:853,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:853,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:854,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:854,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:859,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:862,1
    - Dst: proxystream_handle_incoming_header_data
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:869,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:873,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:876,1
    - Dst: proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:880,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: 881
      start: 847
    functionDepth: 10
    functionLinenumber: 847
    functionLinenumberEnd: 881
    functionName: proxystream_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - proxystream_failed_read_cb
    - isc__nmsocket_closing
    - isc__nm_closing
    - proxystream_try_close_unused
    - VALID_NMSOCK
    - isc_nmsocket_t*::recv_cb
    - proxystream_handle_incoming_header_data
    - isc_tid
    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:889,1
    - Dst: VALID_UVREQ
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:889,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:893,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:893,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:894,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:894,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:898,1
    - Dst: proxystream_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:900,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:908,1
    - Dst: isc__nm_uvreq_t*::cb::recv
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:910,1
    - Dst: proxystream_read_start
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:913,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:916,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 883
    functionDepth: 9
    functionLinenumber: 883
    functionLinenumberEnd: 920
    functionName: proxystream_read_extra_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - proxystream_read_start
    - REQUIRE
    - proxystream_closing
    - isc__nm_closing
    - VALID_UVREQ
    - VALID_NMSOCK
    - INSIST
    - isc_tid
    - isc__nm_uvreq_put
    - isc__nm_proxystream_failed_read_cb
    - isc__nm_uvreq_t*::cb::recv
    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:928,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:928,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:930,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:930,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:931,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:932,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:933,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:933,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:939,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:940,1
    - Dst: proxystream_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:943,1
    - Dst: isc__nm_proxystream_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:944,1
    - Dst: isc_proxy2_handler_extra
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:951,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:954,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:955,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:962,1
    - Dst: proxystream_read_start
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:967,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: 968
      start: 922
    functionDepth: 9
    functionLinenumber: 922
    functionLinenumberEnd: 968
    functionName: isc__nm_proxystream_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - isc_proxy2_handler_extra
    - isc_job_run
    - proxystream_read_start
    - proxystream_closing
    - isc__nm_closing
    - VALID_NMSOCK
    - isc_tid
    - isc_nmhandle_attach
    - isc__nm_proxystream_failed_read_cb
    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:985,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:992,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: 997
      start: 970
    functionDepth: 1
    functionLinenumber: 970
    functionLinenumberEnd: 997
    functionName: proxystream_get_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_attach
    - isc_mem_get
    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:1009,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1020,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: 1021
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1021
    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:1031,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1031,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1032,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1032,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1033,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1033,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1034,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1034,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1040,1
    - Dst: proxystream_put_send_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1042,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1043,1
    - Dst: proxystream_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1044,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1045,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: 1046
      start: 1023
    functionDepth: 2
    functionLinenumber: 1023
    functionLinenumberEnd: 1046
    functionName: proxystream_send_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - proxystream_try_close_unused
    - VALID_NMSOCK
    - isc_nmhandle_detach
    - isc_tid
    - proxystream_put_send_req
    - cb
    - isc_nmhandle_attach
    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:1056,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1056,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1057,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1057,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1061,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1063,1
    - Dst: proxystream_closing
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1066,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1072,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1073,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1077,1
    - Dst: proxystream_get_send_req
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1081,1
    - Dst: isc__nm_senddns
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1084,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1087,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: 1090
      start: 1048
    functionDepth: 6
    functionLinenumber: 1048
    functionLinenumberEnd: 1090
    functionName: proxystream_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - proxystream_closing
    - isc__nm_closing
    - VALID_NMSOCK
    - proxystream_get_send_req
    - isc__nm_senddns
    - isc__nm_failed_send_cb
    - isc_nm_send
    - isc_nmhandle_attach
    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:1095,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: 1096
      start: 1092
    functionDepth: 7
    functionLinenumber: 1092
    functionLinenumberEnd: 1096
    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:1101,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: 1102
      start: 1098
    functionDepth: 7
    functionLinenumber: 1098
    functionLinenumberEnd: 1102
    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:1106,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1106,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1107,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1110,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1110,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1111,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1113
      start: 1104
    functionDepth: 4
    functionLinenumber: 1104
    functionLinenumberEnd: 1113
    functionName: isc__nm_proxystream_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - INSIST
    - isc_nmsocket_set_tlsctx
    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:1119,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1120,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1120,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1121,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1125,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1125,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1115
    functionDepth: 3
    functionLinenumber: 1115
    functionLinenumberEnd: 1130
    functionName: isc__nm_proxystream_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - 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:1136,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1137,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1138,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1142,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1142,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1132
    functionDepth: 4
    functionLinenumber: 1132
    functionLinenumberEnd: 1147
    functionName: isc__nm_proxystream_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - isc_nm_verify_tls_peer_result_string
    - VALID_NMSOCK
    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:1155,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1157,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1159,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1159,1
    - Dst: isc__nmhandle_get_selected_alpn
      Src: /src/bind9/lib/isc/netmgr/proxystream.c:1161,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: 1162
      start: 1149
    functionDepth: 4
    functionLinenumber: 1149
    functionLinenumberEnd: 1162
    functionName: isc__nmhandle_proxystream_get_selected_alpn
    functionSourceFile: /src/bind9/lib/isc/netmgr/proxystream.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_tid
    - isc__nmhandle_get_selected_alpn
    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:103,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - transphandle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 99
    functionDepth: 8
    functionLinenumber: 99
    functionLinenumberEnd: 105
    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:109,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:112,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:113,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:114,1
    - Dst: isc__nmsocket_timer_start
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:115,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - sock
    - transphandle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 9
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: streamdns_readmore
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_resumeread
    - INSIST
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - isc__nmsocket_timer_start
    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:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - sock
    - transphandle
    argTypes:
    - isc_nmsocket_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 125
    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:132,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:150,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:152,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:154,1
    - Dst: isc_nmsocket_t*::recv_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:165,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:167,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:170,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:182,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:184,1
    - Dst: streamdns_pauseread
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:186,1
    - Dst: streamdns_readmore
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:192,1
    - Dst: streamdns_pauseread
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:197,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:198,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:199,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    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: 204
      start: 127
    functionDepth: 10
    functionLinenumber: 127
    functionLinenumberEnd: 204
    functionName: streamdns_on_complete_dnsmessage
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_pauseread
    - isc__nmsocket_timer_stop
    - INSIST
    - isc_nmsocket_t*::recv_cb
    - isc_nmhandle_detach
    - isc__nmsocket_attach
    - streamdns_closing
    - isc_async_run
    - isc_dnsstream_assembler_remaininglength
    - isc__nmhandle_get
    - 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:226,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:235,1
    - Dst: streamdns_readmore
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:243,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:247,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: 249
      start: 212
    functionDepth: 11
    functionLinenumber: 212
    functionLinenumberEnd: 249
    functionName: streamdns_on_dnsmessage_data_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_on_complete_dnsmessage
    - streamdns_failed_read_cb
    - UNREACHABLE
    - 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:262,1
    - Dst: streamdns_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:263,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: 264
      start: 251
    functionDepth: 6
    functionLinenumber: 251
    functionLinenumberEnd: 264
    functionName: streamdns_handle_incoming_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_try_close_unused
    - isc_dnsstream_assembler_incoming
    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:270,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:273,1
    - Dst: isc__nmsocket_init
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:274,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:277,1
    - Dst: isc_dnsstream_assembler_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:280,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: 286
      start: 266
    functionDepth: 3
    functionLinenumber: 266
    functionLinenumberEnd: 286
    functionName: streamdns_sock_new
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nm_getinitialtimeout
    - INSIST
    - isc_dnsstream_assembler_new
    - isc_mempool_get
    - isc__nmsocket_init
    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:292,1
    - Dst: isc_nmsocket_t*::connect_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:293,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:295,1
    - Dst: streamdns_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:299,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: 300
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 300
    functionName: streamdns_call_connect_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc__nmsocket_clearcb
    - streamdns_try_close_unused
    - isc_nmsocket_t*::connect_cb
    - 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:308,1
    - Dst: memcmp
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:310,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: 315
      start: 302
    functionDepth: 4
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: streamdns_save_alpn_status
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc__nmhandle_get_selected_alpn
    - memcmp
    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:323,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:323,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:325,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:348,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:348,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:350,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:351,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:352,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:357,1
    - Dst: streamdns_save_alpn_status
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:362,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:363,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:364,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:365,1
    - Dst: streamdns_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:366,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:367,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:376,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:376,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:378,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:380,1
    - Dst: streamdns_call_connect_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:382,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:383,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:384,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: 385
      start: 317
    functionDepth: 5
    functionLinenumber: 317
    functionLinenumberEnd: 385
    functionName: streamdns_transport_connected
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_closing
    - streamdns_save_alpn_status
    - INSIST
    - isc_nm_verify_tls_peer_result_string
    - VALID_NMSOCK
    - isc__nmhandle_set_manual_timer
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - streamdns_call_connect_cb
    - isc_tid
    - isc_nmhandle_set_tcp_nodelay
    - isc_nmhandle_peeraddr
    - isc__nmhandle_get
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    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: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:395,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:397,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:398,1
    - Dst: streamdns_sock_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:402,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:411,1
    - Dst: isc_nm_tcpconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:412,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:416,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:424,1
    - Dst: isc_nm_tlsconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:429,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:436,1
    - Dst: isc_nm_proxystreamconnect
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:437,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:443,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 10
    argNames:
    - local
    - peer
    - cb
    - cbarg
    - timeout
    - tlsctx
    - sni_hostname
    - client_sess_cache
    - proxy_type
    - proxy_info
    argTypes:
    - 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: 445
      start: 387
    functionDepth: 6
    functionLinenumber: 387
    functionLinenumberEnd: 445
    functionName: isc_nm_streamdnsconnect
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 9
    functionsReached:
    - isc_nm_proxystreamconnect
    - INSIST
    - isc__nm_closing
    - streamdns_sock_new
    - isc__networker_current
    - isc_nm_tlsconnect
    - isc_nm_tcpconnect
    - cb
    - UNREACHABLE
    linkageType: ''
    returnType: void
    signature: "void isc_nm_streamdnsconnect(isc_sockaddr_t *local, isc_sockaddr_t
      *peer,\n\t\t\tisc_nm_cb_t cb, void *cbarg, unsigned int timeout,\n\t\t\tisc_tlsctx_t
      *tlsctx, const 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:451,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:452,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:458,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:458,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:460,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:460,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:462,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 463
    functionName: isc__nmsocket_streamdns_timer_running
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    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:469,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:469,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:470,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:476,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:476,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:478,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:478,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 465
    functionDepth: 3
    functionLinenumber: 465
    functionLinenumberEnd: 481
    functionName: isc__nmsocket_streamdns_timer_stop
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_stop
    - INSIST
    - VALID_NMSOCK
    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:487,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:487,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:488,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:494,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:494,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:496,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:496,1
    - Dst: isc__nmsocket_timer_restart
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 499
      start: 483
    functionDepth: 3
    functionLinenumber: 483
    functionLinenumberEnd: 499
    functionName: isc__nmsocket_streamdns_timer_restart
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc__nmsocket_timer_restart
    - INSIST
    - VALID_NMSOCK
    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:504,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:504,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:505,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:514,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:515,1
    - Dst: isc__nmsocket_timer_running
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:518,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:523,1
    - Dst: isc_dnsstream_assembler_clear
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:528,1
    - Dst: isc__nm_get_read_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:535,1
    - Dst: isc__nmsocket_clearcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:536,1
    - Dst: isc__nm_readcb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:537,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:542,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: 543
      start: 501
    functionDepth: 3
    functionLinenumber: 501
    functionLinenumberEnd: 543
    functionName: streamdns_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc__nm_get_read_req
    - VALID_NMSOCK
    - isc__nmsocket_timer_running
    - isc__nm_readcb
    - isc_dnsstream_assembler_clear
    - isc__nmsocket_clearcb
    - isc__nmsocket_prep_destroy
    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:548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:549,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:551,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: 552
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 552
    functionName: isc__nm_streamdns_failed_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - streamdns_failed_read_cb
    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:559,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:559,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:560,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:560,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:561,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:561,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:564,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:566,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:567,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:571,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: 573
      start: 554
    functionDepth: 7
    functionLinenumber: 554
    functionLinenumberEnd: 573
    functionName: streamdns_readcb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - streamdns_failed_read_cb
    - isc_tid
    - streamdns_closing
    - streamdns_handle_incoming_data
    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:584,1
    - Dst: isc__nmsocket_prep_destroy
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:586,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 588
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 588
    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:604,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:611,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: 616
      start: 590
    functionDepth: 1
    functionLinenumber: 590
    functionLinenumberEnd: 616
    functionName: streamdns_get_send_req
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_attach
    - isc_mem_get
    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:628,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:639,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: 640
      start: 618
    functionDepth: 1
    functionLinenumber: 618
    functionLinenumberEnd: 640
    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:650,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:650,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:651,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:652,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:652,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:653,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:653,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:659,1
    - Dst: streamdns_put_send_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:661,1
    - Dst: cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:662,1
    - Dst: streamdns_try_close_unused
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:663,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:664,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: 665
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 665
    functionName: streamdns_writecb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_try_close_unused
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - isc_nmhandle_detach
    - streamdns_put_send_req
    - isc_tid
    - cb
    - isc_nmhandle_attach
    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:669,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:669,1
    - Dst: isc__nmsocket_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:672,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 667
    functionDepth: 3
    functionLinenumber: 667
    functionLinenumberEnd: 673
    functionName: streamdns_closing
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 2
    functionsReached:
    - isc__nmsocket_closing
    - isc__nm_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:679,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:679,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:680,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:680,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:681,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:683,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:693,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 675
    functionDepth: 7
    functionLinenumber: 675
    functionLinenumberEnd: 694
    functionName: streamdns_resume_processing
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc_tid
    - streamdns_closing
    - streamdns_handle_incoming_data
    linkageType: ''
    returnType: void
    signature: void streamdns_resume_processing(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: streamdns_resume_processing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:700,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:702,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 703
      start: 696
    functionDepth: 8
    functionLinenumber: 696
    functionLinenumberEnd: 703
    functionName: async_streamdns_resume_processing
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - streamdns_resume_processing
    - isc__nmsocket_detach
    linkageType: ''
    returnType: void
    signature: void async_streamdns_resume_processing(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:712,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:712,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:713,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:713,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:715,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:721,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:721,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:722,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:724,1
    - Dst: streamdns_sock_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:725,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:730,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:732,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:736,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:737,1
    - Dst: streamdns_save_alpn_status
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:740,1
    - Dst: isc__nmhandle_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:742,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:743,1
    - Dst: isc_nmsocket_t*::accept_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:744,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:747,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:748,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:749,1
    - Dst: isc__nmhandle_set_manual_timer
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:755,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:757,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:757,1
    - Dst: isc_nmhandle_set_tcp_nodelay
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:758,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:759,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: 765
      start: 705
    functionDepth: 7
    functionLinenumber: 705
    functionLinenumberEnd: 765
    functionName: streamdns_accept_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - streamdns_save_alpn_status
    - INSIST
    - isc__nmhandle_set_manual_timer
    - isc__nmhandle_get
    - isc_nmsocket_t*::accept_cb
    - streamdns_sock_new
    - isc_nmhandle_detach
    - isc__nmsocket_attach
    - VALID_NMHANDLE
    - isc_nm_getinitialtimeout
    - isc__nm_closing
    - isc_tid
    - isc_nmhandle_set_tcp_nodelay
    - isc_nmhandle_peeraddr
    - streamdns_handle_incoming_data
    - VALID_NMSOCK
    - isc__nmsocket_detach
    - isc_nmhandle_settimeout
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    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: isc__networker_current
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:775,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:777,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:777,1
    - Dst: isc__nm_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:779,1
    - Dst: streamdns_sock_new
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:783,1
    - Dst: isc_nm_listentcp
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:793,1
    - Dst: isc_nm_listentls
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:797,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:805,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:815,1
    - Dst: isc_nm_listenproxystream
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:816,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:821,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:826,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:831,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:837,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:839,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 11
    argNames:
    - workers
    - iface
    - recv_cb
    - recv_cbarg
    - accept_cb
    - accept_cbarg
    - backlog
    - quota
    - tlsctx
    - proxy_type
    - sockp
    argTypes:
    - 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: 844
      start: 767
    functionDepth: 7
    functionLinenumber: 767
    functionLinenumberEnd: 844
    functionName: isc_nm_listenstreamdns
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - isc_nm_listentcp
    - INSIST
    - isc__nm_closing
    - streamdns_sock_new
    - isc_sockaddr_getport
    - isc__networker_current
    - isc_nm_listenproxystream
    - isc__nmsocket_detach
    - isc__nmsocket_attach
    - isc_tid
    - isc_nm_listentls
    - UNREACHABLE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_nm_listenstreamdns(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:850,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:851,1
    - Dst: streamdns_put_send_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:854,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:862,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:869,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:876,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 846
    functionDepth: 3
    functionLinenumber: 846
    functionLinenumberEnd: 882
    functionName: isc__nm_streamdns_cleanup_data
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc_dnsstream_assembler_free
    - isc__nmsocket_detach
    - 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:888,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:888,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:889,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:889,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:891,1
    - Dst: streamdns_failed_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:892,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:900,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:900,1
    - Dst: streamdns_handle_incoming_data
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:901,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:903,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 904
      start: 884
    functionDepth: 7
    functionLinenumber: 884
    functionLinenumberEnd: 904
    functionName: streamdns_read_cb
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - streamdns_failed_read_cb
    - isc__nmsocket_detach
    - isc_tid
    - streamdns_closing
    - streamdns_handle_incoming_data
    linkageType: ''
    returnType: void
    signature: void streamdns_read_cb(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:912,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:912,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:914,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:914,1
    - Dst: REQUIRE
      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: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:917,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:919,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:925,1
    - Dst: isc_dnsstream_assembler_result
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:933,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:936,1
    - Dst: streamdns_read_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:937,1
    - Dst: isc__nmsocket_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:952,1
    - Dst: isc_job_run
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:953,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: 954
      start: 906
    functionDepth: 8
    functionLinenumber: 906
    functionLinenumberEnd: 954
    functionName: isc__nm_streamdns_read
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - isc_job_run
    - VALID_NMSOCK
    - isc__nmsocket_attach
    - isc_tid
    - streamdns_closing
    - isc_dnsstream_assembler_result
    - streamdns_read_cb
    - isc_nmhandle_attach
    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:965,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:965,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:966,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:966,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:967,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:971,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:972,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:972,1
    - Dst: isc__nm_uvreq_get
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:974,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:975,1
    - Dst: streamdns_closing
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:981,1
    - Dst: isc__nm_failed_send_cb
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:982,1
    - Dst: streamdns_get_send_req
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:992,1
    - Dst: isc__nm_senddns
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:995,1
    - Dst: isc__nm_uvreq_put
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:998,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: 999
      start: 956
    functionDepth: 5
    functionLinenumber: 956
    functionLinenumberEnd: 999
    functionName: isc__nm_streamdns_send
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - isc__nm_uvreq_get
    - REQUIRE
    - VALID_NMHANDLE
    - VALID_NMSOCK
    - streamdns_get_send_req
    - isc__nm_senddns
    - isc__nm_failed_send_cb
    - isc_tid
    - streamdns_closing
    - isc__nm_uvreq_put
    - isc_nmhandle_attach
    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:1003,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1004,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1004,1
    - Dst: isc__nmsocket_timer_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1008,1
    - Dst: isc_nm_read_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1009,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1010,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1011,1
    - Dst: isc__nmsocket_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1015,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1019,1
    - Dst: isc_dnsstream_assembler_clear
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1023,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 1001
    functionDepth: 4
    functionLinenumber: 1001
    functionLinenumberEnd: 1026
    functionName: streamdns_close_direct
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc__nmsocket_timer_stop
    - VALID_NMSOCK
    - isc_nm_read_stop
    - isc__nmsocket_detach
    - isc_nmhandle_detach
    - isc_tid
    - isc_dnsstream_assembler_clear
    - isc_nmhandle_close
    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:1030,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1030,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1031,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1032,1
    - Dst: isc_tid
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1032,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1033,1
    - Dst: streamdns_close_direct
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1028
    functionDepth: 5
    functionLinenumber: 1028
    functionLinenumberEnd: 1038
    functionName: isc__nm_streamdns_close
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - REQUIRE
    - VALID_NMSOCK
    - streamdns_close_direct
    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:1042,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1042,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1043,1
    - Dst: isc__nmsocket_stop
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1040
    functionDepth: 7
    functionLinenumber: 1040
    functionLinenumberEnd: 1046
    functionName: isc__nm_streamdns_stoplistening
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc__nmsocket_stop
    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:1052,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1053,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1053,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1054,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1058,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1058,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1048
    functionDepth: 4
    functionLinenumber: 1048
    functionLinenumberEnd: 1061
    functionName: isc__nmhandle_streamdns_cleartimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_cleartimeout
    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:1067,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1067,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1068,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1068,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1069,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1073,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1073,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1076
      start: 1063
    functionDepth: 4
    functionLinenumber: 1063
    functionLinenumberEnd: 1076
    functionName: isc__nmhandle_streamdns_settimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_settimeout
    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:1082,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1082,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1083,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1083,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1084,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1088,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1088,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1089,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - value
    argTypes:
    - isc_nmhandle_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1078
    functionDepth: 3
    functionLinenumber: 1078
    functionLinenumberEnd: 1091
    functionName: isc__nmhandle_streamdns_keepalive
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc_nmhandle_keepalive
    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:1098,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1098,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1099,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1099,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1100,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1104,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1104,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - handle
    - timeout
    argTypes:
    - isc_nmhandle_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1093
    functionDepth: 3
    functionLinenumber: 1093
    functionLinenumberEnd: 1107
    functionName: isc__nmhandle_streamdns_setwritetimeout
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - 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:1113,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1114,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1115,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1119,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1119,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1109
    functionDepth: 3
    functionLinenumber: 1109
    functionLinenumberEnd: 1124
    functionName: isc__nm_streamdns_has_encryption
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - 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:1130,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1131,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1131,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1132,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1136,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1136,1
    - Dst: isc_nm_verify_tls_peer_result_string
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1137,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - handle
    argTypes:
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1126
    functionDepth: 4
    functionLinenumber: 1126
    functionLinenumberEnd: 1143
    functionName: isc__nm_streamdns_verify_tls_peer_result_string
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - isc_nm_verify_tls_peer_result_string
    - VALID_NMSOCK
    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:1147,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1148,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1151,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1151,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - listener
    - tlsctx
    argTypes:
    - isc_nmsocket_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1154
      start: 1145
    functionDepth: 4
    functionLinenumber: 1145
    functionLinenumberEnd: 1154
    functionName: isc__nm_streamdns_set_tlsctx
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - INSIST
    - isc_nmsocket_set_tlsctx
    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:1160,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1161,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1174
    functionName: isc__nm_streamdns_xfr_checkperm
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMSOCK
    - isc_nm_has_encryption
    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:1178,1
    - Dst: VALID_NMSOCK
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1179,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1185,1
    - Dst: VALID_NMHANDLE
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1185,1
    - Dst: isc__nmsocket_reset
      Src: /src/bind9/lib/isc/netmgr/streamdns.c:1186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sock
    argTypes:
    - isc_nmsocket_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1176
    functionDepth: 3
    functionLinenumber: 1176
    functionLinenumberEnd: 1187
    functionName: isc__nmsocket_streamdns_reset
    functionSourceFile: /src/bind9/lib/isc/netmgr/streamdns.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_NMHANDLE
    - INSIST
    - VALID_NMSOCK
    - isc__nmsocket_reset
    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:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 30
    functionName: OSSL_WRAP_ERROR
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_WRAP_ERROR(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - curve
    - ','
    - nid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 77
    functionName: P_CURVE_IMPL
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P_CURVE_IMPL(curve, nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:86,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:88,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bn
    - buf
    - size
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: BN_bn2bin_fixed
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - BN_bn2bin
    - INSIST
    linkageType: ''
    returnType: int
    signature: int BN_bn2bin_fixed(const BIGNUM *bn, unsigned char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:101,1
    - Dst: BN_GENCB_get_arg
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:103,1
    - Dst: fptr
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:105,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - p
    - n
    - cb
    argTypes:
    - int
    - int
    - BN_GENCB*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 108
    functionName: rsa_keygen_progress_cb
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - fptr
    - BN_GENCB_get_arg
    linkageType: ''
    returnType: int
    signature: int rsa_keygen_progress_cb(int p, int n, BN_GENCB *cb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:116,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:118,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:118,1
    - Dst: EC_KEY_generate_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:121,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:122,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:122,1
    - Dst: EC_KEY_set_conv_form
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:125,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:127,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:129,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:129,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:132,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:133,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:133,1
    - Dst: EC_KEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:141,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:142,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - pkeyp
    - nid
    argTypes:
    - EVP_PKEY**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 144
    functionName: generate_ec_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_EC_KEY
    - EC_KEY_free
    - EVP_PKEY_new
    - EC_KEY_new_by_curve_name
    - EC_KEY_generate_key
    - EC_KEY_set_conv_form
    - EVP_PKEY_free
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generate_ec_key(EVP_PKEY **pkeyp, const int nid)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:152,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:154,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:154,1
    - Dst: EC_KEY_get0_group
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:157,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:159,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:159,1
    - Dst: EC_GROUP_get_curve_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - pkey
    - nid
    argTypes:
    - EVP_PKEY*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 169
    functionName: validate_ec_pkey
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - EC_GROUP_get_curve_name
    - EVP_PKEY_get0_EC_KEY
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_ec_pkey(EVP_PKEY *pkey, const int nid)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:180,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:182,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:182,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:186,1
    - Dst: o2i_ECPublicKey
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:189,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:190,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:190,1
    - Dst: EC_KEY_check_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:193,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:194,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:194,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:197,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:199,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:199,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:202,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:203,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:203,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:211,1
    - Dst: EC_KEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:212,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 3
    argNames:
    - region
    - pkeyp
    - nid
    argTypes:
    - isc_region_t
    - EVP_PKEY**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 214
    functionName: load_ec_public_from_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_set1_EC_KEY
    - EC_KEY_free
    - memmove
    - EC_KEY_check_key
    - EVP_PKEY_new
    - EC_KEY_new_by_curve_name
    - EVP_PKEY_free
    - o2i_ECPublicKey
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_ec_public_from_region(isc_region_t region, EVP_PKEY
      **pkeyp,\n\t\t\t   const int nid)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: EC_KEY_new_by_curve_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:226,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:228,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:228,1
    - Dst: EC_KEY_get0_group
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:231,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:233,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:233,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:236,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:238,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:238,1
    - Dst: EC_KEY_set_private_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:241,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:242,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:242,1
    - Dst: EC_POINT_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:250,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:252,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:252,1
    - Dst: EC_POINT_mul
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:255,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:256,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:256,1
    - Dst: EC_KEY_set_public_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:259,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:260,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:260,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:263,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:265,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:265,1
    - Dst: EVP_PKEY_set1_EC_KEY
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:268,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:269,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:269,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:277,1
    - Dst: EC_POINT_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:278,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:279,1
    - Dst: EC_KEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 43
    argCount: 3
    argNames:
    - region
    - pkeyp
    - nid
    argTypes:
    - isc_region_t
    - EVP_PKEY**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 282
    functionName: load_ec_secret_from_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - EVP_PKEY_set1_EC_KEY
    - EC_KEY_free
    - EC_POINT_mul
    - EC_KEY_set_private_key
    - EVP_PKEY_new
    - EC_POINT_new
    - EC_POINT_free
    - EC_KEY_set_public_key
    - BN_clear_free
    - BN_bin2bn
    - EC_KEY_new_by_curve_name
    - EVP_PKEY_free
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_ec_secret_from_region(isc_region_t region, EVP_PKEY
      **pkeyp,\n\t\t\t   const int nid)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:293,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:295,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:295,1
    - Dst: EC_KEY_get0_group
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:298,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:300,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:300,1
    - Dst: EC_KEY_get0_public_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:303,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:305,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:305,1
    - Dst: EC_POINT_point2oct
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:308,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:311,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:311,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:314,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - pkey
    - pub
    argTypes:
    - EVP_PKEY*
    - isc_region_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 284
    functionDepth: 1
    functionLinenumber: 284
    functionLinenumberEnd: 320
    functionName: ec_public_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_group
    - EC_POINT_point2oct
    - memmove
    - EVP_PKEY_get0_EC_KEY
    - EC_KEY_get0_public_key
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ec_public_region(EVP_PKEY *pkey, isc_region_t pub)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get0_EC_KEY
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:328,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:330,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:330,1
    - Dst: EC_KEY_get0_private_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:333,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:335,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:335,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - pkey
    - pub
    argTypes:
    - EVP_PKEY*
    - isc_region_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 344
    functionName: ec_secret_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - EC_KEY_get0_private_key
    - EVP_PKEY_get0_EC_KEY
    - BN_bn2bin_fixed
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ec_secret_region(EVP_PKEY *pkey, isc_region_t pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:351,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - hash
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 355
    functionName: isc_ossl_wrap_ecdsa_set_deterministic
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ossl_wrap_ecdsa_set_deterministic(EVP_PKEY_CTX *pctx,
      const char *hash)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: BN_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:366,1
    - Dst: BN_set_bit
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:369,1
    - Dst: BN_set_bit
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:370,1
    - Dst: RSA_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:372,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:374,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:374,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:377,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:379,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:379,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:382,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:383,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:383,1
    - Dst: BN_GENCB_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:387,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:389,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:389,1
    - Dst: BN_GENCB_set
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:392,1
    - Dst: RSA_generate_key_ex
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:395,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:396,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:396,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:403,1
    - Dst: RSA_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:404,1
    - Dst: BN_GENCB_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:405,1
    - Dst: BN_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:406,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 35
    argCount: 2
    argNames:
    - bit_size
    - pkeyp
    argTypes:
    - size_t
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 408
    functionName: isc_ossl_wrap_generate_rsa_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - BN_new
    - BN_free
    - BN_GENCB_free
    - BN_GENCB_new
    - RSA_free
    - EVP_PKEY_new
    - RSA_new
    - EVP_PKEY_set1_RSA
    - BN_set_bit
    - RSA_generate_key_ex
    - EVP_PKEY_free
    - OSSL_WRAP_ERROR
    - CLEANUP
    - BN_GENCB_set
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_generate_rsa_key(void (*callback)(int),
      size_t bit_size,\n\t\t\t       EVP_PKEY **pkeyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:413,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:414,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:416,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:417,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - uri
    - bit_size
    - pkeyp
    argTypes:
    - char*
    - size_t
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 420
    functionName: isc_ossl_wrap_generate_pkcs11_rsa_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_generate_pkcs11_rsa_key(char *uri, size_t
      bit_size,\n\t\t\t\t      EVP_PKEY **pkeyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:424,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:425,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:427,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:428,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - uri
    - pkeyp
    argTypes:
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 430
    functionName: isc_ossl_wrap_generate_pkcs11_ed25519_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ossl_wrap_generate_pkcs11_ed25519_key(char *uri, EVP_PKEY
      **pkeyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:434,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:435,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:437,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - uri
    - pkeyp
    argTypes:
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 440
    functionName: isc_ossl_wrap_generate_pkcs11_ed448_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ossl_wrap_generate_pkcs11_ed448_key(char *uri, EVP_PKEY
      **pkeyp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:447,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:449,1
    - Dst: RSA_get0_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:452,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:454,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - limit
    argTypes:
    - EVP_PKEY*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 461
    functionName: isc_ossl_wrap_rsa_key_bits_leq
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RSA_get0_key
    - BN_num_bits
    - EVP_PKEY_get0_RSA
    linkageType: ''
    returnType: bool
    signature: bool isc_ossl_wrap_rsa_key_bits_leq(EVP_PKEY *pkey, size_t limit)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:469,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:470,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:472,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:474,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:474,1
    - Dst: RSA_get0_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:477,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pkey
    - c
    argTypes:
    - EVP_PKEY*
    - isc_ossl_wrap_rsa_components_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 483
    functionName: isc_ossl_wrap_rsa_public_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RSA_get0_key
    - EVP_PKEY_get0_RSA
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_rsa_public_components(EVP_PKEY *pkey,\n\t\t\t\t
      \   isc_ossl_wrap_rsa_components_t *c)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:491,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:492,1
    - Dst: EVP_PKEY_get0_RSA
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:495,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:497,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:497,1
    - Dst: RSA_get0_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:504,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:506,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:506,1
    - Dst: RSA_get0_factors
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:509,1
    - Dst: RSA_get0_crt_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:510,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 2
    argNames:
    - pkey
    - c
    argTypes:
    - EVP_PKEY*
    - isc_ossl_wrap_rsa_components_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 518
    functionName: isc_ossl_wrap_rsa_secret_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RSA_get0_key
    - EVP_PKEY_get0_RSA
    - RSA_get0_factors
    - RSA_get0_crt_params
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_rsa_secret_components(EVP_PKEY *pkey,\n\t\t\t\t
      \   isc_ossl_wrap_rsa_components_t *c)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:527,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:528,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:529,1
    - Dst: RSA_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:531,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:533,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:533,1
    - Dst: RSA_set0_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:536,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:537,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:537,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:543,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:545,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:545,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:548,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:549,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:549,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:557,1
    - Dst: RSA_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:558,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 28
    argCount: 2
    argNames:
    - c
    - pkeyp
    argTypes:
    - isc_ossl_wrap_rsa_components_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 560
    functionName: isc_ossl_wrap_load_rsa_public_from_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RSA_free
    - EVP_PKEY_new
    - RSA_new
    - EVP_PKEY_set1_RSA
    - RSA_set0_key
    - EVP_PKEY_free
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_load_rsa_public_from_components(isc_ossl_wrap_rsa_components_t
      *c,\n\t\t\t\t\t      EVP_PKEY **pkeyp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:569,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:570,1
    - Dst: RSA_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:574,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:576,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:576,1
    - Dst: RSA_set0_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:579,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:580,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:580,1
    - Dst: RSA_set0_factors
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:588,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:589,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:589,1
    - Dst: RSA_set0_crt_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:597,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:598,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:598,1
    - Dst: EVP_PKEY_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:605,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:607,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:607,1
    - Dst: EVP_PKEY_set1_RSA
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:610,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:611,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:611,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:619,1
    - Dst: RSA_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:620,1
    - Dst: isc_ossl_wrap_rsa_components_cleanup
      Src: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c:621,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 45
    argCount: 2
    argNames:
    - c
    - pkeyp
    argTypes:
    - isc_ossl_wrap_rsa_components_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 623
    functionName: isc_ossl_wrap_load_rsa_secret_from_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
    functionUses: 0
    functionsReached:
    - RSA_set0_crt_params
    - REQUIRE
    - RSA_free
    - RSA_set0_factors
    - EVP_PKEY_new
    - RSA_new
    - EVP_PKEY_set1_RSA
    - isc_ossl_wrap_rsa_components_cleanup
    - RSA_set0_key
    - EVP_PKEY_free
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_load_rsa_secret_from_components(isc_ossl_wrap_rsa_components_t
      *c,\n\t\t\t\t\t      EVP_PKEY **pkeyp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fn
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 37
    functionName: OSSL_WRAP_ERROR
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: OSSL_WRAP_ERROR(fn)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - curve
    - ','
    - nid
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 87
    functionName: P_CURVE_IMPL
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: P_CURVE_IMPL(curve, nid)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:124,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:126,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - bn
    - buf
    - size
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 132
    functionName: BN_bn2bin_fixed
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 1
    functionsReached:
    - BN_num_bytes
    - BN_bn2bin
    - INSIST
    linkageType: ''
    returnType: void
    signature: void BN_bn2bin_fixed(const BIGNUM *bn, unsigned char *buf, int size)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_get_app_data
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:138,1
    - Dst: EVP_PKEY_CTX_get_keygen_info
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:140,1
    - Dst: fptr
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - ctx
    argTypes:
    - EVP_PKEY_CTX*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 144
    functionName: rsa_keygen_progress_cb
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - fptr
    - EVP_PKEY_CTX_get_keygen_info
    - EVP_PKEY_CTX_get_app_data
    linkageType: ''
    returnType: int
    signature: int rsa_keygen_progress_cb(EVP_PKEY_CTX *ctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:151,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:153,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:153,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:156,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:157,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:157,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:160,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:161,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:161,1
    - Dst: EVP_PKEY_generate
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:172,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:173,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:173,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:179,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - pkeyp
    - params
    argTypes:
    - EVP_PKEY**
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 146
    functionDepth: 1
    functionLinenumber: 146
    functionLinenumberEnd: 181
    functionName: generate_ec_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_free
    - EVP_PKEY_keygen_init
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_CTX_set_params
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generate_ec_key(EVP_PKEY **pkeyp, const OSSL_PARAM *const
      params)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:189,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:190,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:193,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:194,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:199,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:201,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:201,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:204,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:205,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:205,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:208,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:209,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:209,1
    - Dst: EVP_PKEY_CTX_set_ec_paramgen_curve_nid
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:218,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:219,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:219,1
    - Dst: EVP_PKEY_generate
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:231,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:232,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:232,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:238,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 3
    argNames:
    - uri
    - pkeyp
    - nid
    argTypes:
    - char*
    - EVP_PKEY**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 240
    functionName: generate_pkcs11_ec_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_free
    - INSIST
    - EVP_PKEY_keygen_init
    - strlen
    - OSSL_WRAP_ERROR
    - OSSL_PARAM_utf8_string
    - EVP_PKEY_CTX_set_ec_paramgen_curve_nid
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_name
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generate_pkcs11_ec_key(char *uri, EVP_PKEY **pkeyp, int
      nid)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:248,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:249,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:252,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:253,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:258,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:260,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:260,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:263,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:264,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:264,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:267,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:268,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:268,1
    - Dst: EVP_PKEY_generate
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:271,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:272,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:272,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - uri
    - pkeyp
    - keytype
    argTypes:
    - char*
    - EVP_PKEY**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 280
    functionName: generate_pkcs11_eddsa_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_free
    - INSIST
    - EVP_PKEY_keygen_init
    - strlen
    - OSSL_WRAP_ERROR
    - OSSL_PARAM_utf8_string
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_name
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generate_pkcs11_eddsa_key(char *uri, EVP_PKEY **pkeyp,
      const char *keytype)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:284,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:285,1
    - Dst: generate_pkcs11_eddsa_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - uri
    - pkeyp
    argTypes:
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 287
    functionName: isc_ossl_wrap_generate_pkcs11_ed25519_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generate_pkcs11_eddsa_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ossl_wrap_generate_pkcs11_ed25519_key(char *uri, EVP_PKEY
      **pkeyp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:291,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:292,1
    - Dst: generate_pkcs11_eddsa_key
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:293,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - uri
    - pkeyp
    argTypes:
    - char*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 289
    functionDepth: 2
    functionLinenumber: 289
    functionLinenumberEnd: 294
    functionName: isc_ossl_wrap_generate_pkcs11_ed448_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generate_pkcs11_eddsa_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ossl_wrap_generate_pkcs11_ed448_key(char *uri, EVP_PKEY
      **pkeyp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_group_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:302,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:303,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:303,1
    - Dst: strncmp
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pkey
    - curve_params
    argTypes:
    - EVP_PKEY*
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 314
    functionName: validate_ec_pkey
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - strncmp
    - OSSL_WRAP_ERROR
    - CLEANUP
    - EVP_PKEY_get_group_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_ec_pkey(EVP_PKEY *pkey, const OSSL_PARAM *const
      curve_params)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_octet_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:324,1
    - Dst: memmove
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:330,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:332,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:334,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:334,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:337,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:338,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:338,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:341,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:342,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:342,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 3
    argNames:
    - region
    - pkeyp
    - curve_params
    argTypes:
    - isc_region_t
    - EVP_PKEY**
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 350
    functionName: load_ec_public_from_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - memmove
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_octet_string
    - EVP_PKEY_fromdata
    - EVP_PKEY_fromdata_init
    - EVP_PKEY_CTX_new_from_name
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_ec_public_from_region(isc_region_t region, EVP_PKEY
      **pkeyp,\n\t\t\t   const OSSL_PARAM *const curve_params)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: EC_GROUP_new_from_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:370,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:372,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:372,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:375,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:377,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:377,1
    - Dst: EC_POINT_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:380,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:382,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:382,1
    - Dst: EC_POINT_mul
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:385,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:386,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:386,1
    - Dst: EC_POINT_point2oct
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:389,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:393,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:393,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:396,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:398,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:398,1
    - Dst: OSSL_PARAM_BLD_push_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:401,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:405,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:405,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:408,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:410,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:410,1
    - Dst: OSSL_PARAM_BLD_push_octet_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:413,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:416,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:416,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:419,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:421,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:421,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:424,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:426,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:426,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:429,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:430,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:430,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:433,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:434,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:434,1
    - Dst: OSSL_PARAM_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:440,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:441,1
    - Dst: EC_POINT_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:442,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:443,1
    - Dst: EC_GROUP_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:444,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:445,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 57
    argCount: 3
    argNames:
    - region
    - pkeyp
    - curve_params
    argTypes:
    - isc_region_t
    - EVP_PKEY**
    - OSSL_PARAM*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 352
    functionDepth: 1
    functionLinenumber: 352
    functionLinenumberEnd: 447
    functionName: load_ec_secret_from_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_BLD_free
    - OSSL_PARAM_BLD_push_utf8_string
    - EVP_PKEY_CTX_free
    - EC_POINT_mul
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_fromdata_init
    - BN_clear_free
    - OSSL_PARAM_BLD_push_BN
    - EVP_PKEY_CTX_new_from_name
    - EC_POINT_new
    - EC_POINT_point2oct
    - EC_GROUP_new_from_params
    - EC_GROUP_free
    - OSSL_PARAM_BLD_push_octet_string
    - EVP_PKEY_fromdata
    - BN_bin2bn
    - CLEANUP
    - OSSL_PARAM_free
    - OSSL_PARAM_BLD_new
    - EC_POINT_free
    - OSSL_WRAP_ERROR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t load_ec_secret_from_region(isc_region_t region, EVP_PKEY
      **pkeyp,\n\t\t\t   const OSSL_PARAM *const curve_params)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:455,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:456,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:456,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:459,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:460,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:460,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:463,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:464,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:469,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - pkey
    - pub
    argTypes:
    - EVP_PKEY*
    - isc_region_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 449
    functionDepth: 1
    functionLinenumber: 449
    functionLinenumberEnd: 472
    functionName: ec_public_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bn_param
    - BN_clear_free
    - BN_bn2bin_fixed
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ec_public_region(EVP_PKEY *pkey, isc_region_t pub)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:479,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:480,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:480,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:483,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:488,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pkey
    - sec
    argTypes:
    - EVP_PKEY*
    - isc_region_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 474
    functionDepth: 1
    functionLinenumber: 474
    functionLinenumberEnd: 490
    functionName: ec_secret_region
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bn_param
    - BN_clear_free
    - BN_bn2bin_fixed
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ec_secret_region(EVP_PKEY *pkey, isc_region_t sec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: OSSL_PARAM_construct_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:500,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:500,1
    - Dst: OSSL_PARAM_construct_uint
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:501,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:505,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:507,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:508,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:508,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - hash
    argTypes:
    - EVP_PKEY_CTX*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 495
    functionDepth: 1
    functionLinenumber: 495
    functionLinenumberEnd: 515
    functionName: isc_ossl_wrap_ecdsa_set_deterministic
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - OSSL_PARAM_construct_uint
    - REQUIRE
    - OSSL_PARAM_construct_utf8_string
    - UNCONST
    - EVP_PKEY_CTX_set_params
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ossl_wrap_ecdsa_set_deterministic(EVP_PKEY_CTX *pctx,
      const char *hash)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:524,1
    - Dst: OSSL_PARAM_uint
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:530,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:531,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:535,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:537,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:537,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:540,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:541,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:541,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:544,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:545,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:545,1
    - Dst: EVP_PKEY_CTX_set_app_data
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:549,1
    - Dst: EVP_PKEY_CTX_set_cb
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:550,1
    - Dst: EVP_PKEY_generate
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:561,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:562,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:562,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:568,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - bit_size
    - pkeyp
    argTypes:
    - size_t
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 517
    functionDepth: 1
    functionLinenumber: 517
    functionLinenumberEnd: 570
    functionName: isc_ossl_wrap_generate_rsa_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_PKEY_CTX_set_app_data
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_uint
    - EVP_PKEY_keygen_init
    - OSSL_PARAM_size_t
    - OSSL_WRAP_ERROR
    - EVP_PKEY_CTX_set_cb
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_name
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_generate_rsa_key(void (*callback)(int),
      size_t bit_size,\n\t\t\t       EVP_PKEY **pkeyp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:580,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:581,1
    - Dst: strlen
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:583,1
    - Dst: INSIST
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:584,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:588,1
    - Dst: OSSL_PARAM_utf8_string
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:589,1
    - Dst: OSSL_PARAM_size_t
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:591,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:595,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:597,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:597,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:600,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:602,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:602,1
    - Dst: EVP_PKEY_CTX_set_params
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:605,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:607,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:607,1
    - Dst: EVP_PKEY_generate
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:618,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:620,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:620,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:626,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 3
    argNames:
    - uri
    - bit_size
    - pkeyp
    argTypes:
    - char*
    - size_t
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 628
    functionName: isc_ossl_wrap_generate_pkcs11_rsa_key
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_PKEY_generate
    - EVP_PKEY_CTX_free
    - INSIST
    - EVP_PKEY_keygen_init
    - strlen
    - OSSL_PARAM_size_t
    - OSSL_PARAM_utf8_string
    - OSSL_WRAP_ERROR
    - EVP_PKEY_CTX_set_params
    - EVP_PKEY_CTX_new_from_name
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_generate_pkcs11_rsa_key(char *uri, size_t
      bit_size,\n\t\t\t\t      EVP_PKEY **pkeyp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:633,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:634,1
    - Dst: BN_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:635,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - pkey
    - limit
    argTypes:
    - EVP_PKEY*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 630
    functionDepth: 0
    functionLinenumber: 630
    functionLinenumberEnd: 640
    functionName: isc_ossl_wrap_rsa_key_bits_leq
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bn_param
    - BN_num_bits
    - BN_free
    linkageType: ''
    returnType: bool
    signature: bool isc_ossl_wrap_rsa_key_bits_leq(EVP_PKEY *pkey, size_t limit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:647,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:648,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:652,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:653,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:653,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:656,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:657,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:657,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pkey
    - c
    argTypes:
    - EVP_PKEY*
    - isc_ossl_wrap_rsa_components_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 642
    functionDepth: 1
    functionLinenumber: 642
    functionLinenumberEnd: 664
    functionName: isc_ossl_wrap_rsa_public_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bn_param
    - REQUIRE
    - OSSL_WRAP_ERROR
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_rsa_public_components(EVP_PKEY *pkey,\n\t\t\t\t
      \   isc_ossl_wrap_rsa_components_t *c)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:669,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:670,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:685,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:686,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:687,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:688,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:690,1
    - Dst: EVP_PKEY_get_bn_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:692,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:695,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 2
    argNames:
    - pkey
    - c
    argTypes:
    - EVP_PKEY*
    - isc_ossl_wrap_rsa_components_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 698
    functionName: isc_ossl_wrap_rsa_secret_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_get_bn_param
    - REQUIRE
    - ERR_clear_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_rsa_secret_components(EVP_PKEY *pkey,\n\t\t\t\t
      \   isc_ossl_wrap_rsa_components_t *c)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:711,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:713,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:715,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:715,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:718,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:719,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:719,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:722,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:723,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:723,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:726,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:728,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:728,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:731,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:733,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:733,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:736,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:737,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:737,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:740,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:741,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:741,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:747,1
    - Dst: OSSL_PARAM_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:748,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:749,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 2
    argNames:
    - c
    - pkeyp
    argTypes:
    - isc_ossl_wrap_rsa_components_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 700
    functionDepth: 1
    functionLinenumber: 700
    functionLinenumberEnd: 751
    functionName: isc_ossl_wrap_load_rsa_public_from_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - OSSL_WRAP_ERROR
    - CLEANUP
    - OSSL_PARAM_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_load_rsa_public_from_components(isc_ossl_wrap_rsa_components_t
      *c,\n\t\t\t\t\t      EVP_PKEY **pkeyp)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:761,1
    - Dst: OSSL_PARAM_BLD_new
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:763,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:765,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:765,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:768,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:769,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:769,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:772,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:773,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:773,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:777,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:779,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:779,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:783,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:785,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:785,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:789,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:791,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:791,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:795,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:798,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:798,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:802,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:805,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:805,1
    - Dst: OSSL_PARAM_BLD_push_BN
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:809,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:812,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:812,1
    - Dst: OSSL_PARAM_BLD_to_param
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:815,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:817,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:817,1
    - Dst: EVP_PKEY_CTX_new_from_name
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:820,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:822,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:822,1
    - Dst: EVP_PKEY_fromdata_init
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:825,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:826,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:826,1
    - Dst: EVP_PKEY_fromdata
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:829,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:830,1
    - Dst: OSSL_WRAP_ERROR
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:830,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:836,1
    - Dst: OSSL_PARAM_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:837,1
    - Dst: OSSL_PARAM_BLD_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl3.c:838,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 2
    argNames:
    - c
    - pkeyp
    argTypes:
    - isc_ossl_wrap_rsa_components_t*
    - EVP_PKEY**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 840
    functionName: isc_ossl_wrap_load_rsa_secret_from_components
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_PKEY_CTX_free
    - OSSL_PARAM_BLD_new
    - OSSL_PARAM_BLD_free
    - EVP_PKEY_CTX_new_from_name
    - EVP_PKEY_fromdata
    - OSSL_PARAM_BLD_to_param
    - EVP_PKEY_fromdata_init
    - OSSL_PARAM_BLD_push_BN
    - OSSL_WRAP_ERROR
    - CLEANUP
    - OSSL_PARAM_free
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc_ossl_wrap_load_rsa_secret_from_components(isc_ossl_wrap_rsa_components_t
      *c,\n\t\t\t\t\t      EVP_PKEY **pkeyp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:24,1
    - Dst: BN_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:36,1
    - Dst: BN_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:37,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:38,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:39,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:40,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:41,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:42,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - c
    argTypes:
    - isc_ossl_wrap_rsa_components_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 22
    functionDepth: 1
    functionLinenumber: 22
    functionLinenumberEnd: 46
    functionName: isc_ossl_wrap_rsa_components_cleanup
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl_common.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - BN_clear_free
    - BN_free
    linkageType: ''
    returnType: void
    signature: void isc_ossl_wrap_rsa_components_cleanup(isc_ossl_wrap_rsa_components_t
      *c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ERR_peek_error
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:51,1
    - Dst: ERR_GET_LIB
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:53,1
    - Dst: ERR_GET_REASON
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:55,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - fallback
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 78
    functionName: isc_ossl_wrap_toresult
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl_common.c
    functionUses: 0
    functionsReached:
    - ERR_GET_LIB
    - ERR_peek_error
    - ERR_GET_REASON
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isc_ossl_wrap_toresult(isc_result_t fallback)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_ossl_wrap_toresult
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:85,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:96,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:98,1
    - Dst: ERR_get_error_all
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:107,1
    - Dst: ERR_error_string_n
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:114,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:116,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/isc/ossl_wrap/ossl_common.c:122,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: 124
      start: 80
    functionDepth: 2
    functionLinenumber: 80
    functionLinenumberEnd: 124
    functionName: isc__ossl_wrap_logged_toresult
    functionSourceFile: /src/bind9/lib/isc/ossl_wrap/ossl_common.c
    functionUses: 0
    functionsReached:
    - ERR_error_string_n
    - isc_log_write
    - isc_ossl_wrap_toresult
    - ERR_clear_error
    - ERR_get_error_all
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t isc__ossl_wrap_logged_toresult(isc_logcategory_t category,\n\t\t\t
      \      isc_logmodule_t module, const char *funcname,\n\t\t\t       isc_result_t
      fallback, const char *file,\n\t\t\t       int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:26,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:27,1
    - Dst: isc_statsmulti_create
      Src: /src/bind9/lib/ns/stats.c:29,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/ns/stats.c:30,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 3
    argNames:
    - mctx
    - statsp
    - hwstatsp
    argTypes:
    - isc_mem_t*
    - isc_statsmulti_t**
    - isc_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 23
    functionDepth: 2
    functionLinenumber: 23
    functionLinenumberEnd: 31
    functionName: ns_stats_create
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_statsmulti_create
    - isc_stats_create
    linkageType: ''
    returnType: void
    signature: "void ns_stats_create(isc_mem_t *mctx, isc_statsmulti_t **statsp,\n\t\tisc_stats_t
      **hwstatsp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:38,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/lib/ns/stats.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_statsmulti_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 41
    functionName: ns_stats_increment
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_statsmulti_increment
    linkageType: ''
    returnType: void
    signature: void ns_stats_increment(isc_statsmulti_t *stats, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:45,1
    - Dst: isc_statsmulti_decrement
      Src: /src/bind9/lib/ns/stats.c:47,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_statsmulti_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 48
    functionName: ns_stats_decrement
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_statsmulti_decrement
    linkageType: ''
    returnType: void
    signature: void ns_stats_decrement(isc_statsmulti_t *stats, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:53,1
    - Dst: isc_stats_update_if_greater
      Src: /src/bind9/lib/ns/stats.c:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - hwstats
    - counter
    - value
    argTypes:
    - isc_stats_t*
    - isc_statscounter_t
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 56
    functionName: ns_stats_update_if_greater
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stats_update_if_greater
    linkageType: ''
    returnType: void
    signature: "void ns_stats_update_if_greater(isc_stats_t *hwstats, 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:60,1
    - Dst: isc_statsmulti_get_counter
      Src: /src/bind9/lib/ns/stats.c:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - isc_statsmulti_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 2
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: ns_stats_get_counter
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_statsmulti_get_counter
    linkageType: ''
    returnType: isc_statscounter_t
    signature: isc_statscounter_t ns_stats_get_counter(isc_statsmulti_t *stats, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:67,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/ns/stats.c:69,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hwstats
    - counter
    argTypes:
    - isc_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 65
    functionDepth: 2
    functionLinenumber: 65
    functionLinenumberEnd: 70
    functionName: ns_stats_get_highwater
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_stats_get_counter
    linkageType: ''
    returnType: isc_statscounter_t
    signature: isc_statscounter_t ns_stats_get_highwater(isc_stats_t *hwstats, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/stats.c:74,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/ns/stats.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hwstats
    - counter
    argTypes:
    - isc_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 77
    functionName: ns_stats_reset_highwater
    functionSourceFile: /src/bind9/lib/ns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_stats_set
    linkageType: ''
    returnType: void
    signature: void ns_stats_reset_highwater(isc_stats_t *hwstats, 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_tlsctx_enable_http2server_alpn
    - REQUIRE
    - INSIST
    - isc_tlsctx_session_tickets
    - isc_tlsctx_enable_dot_server_alpn
    - isc_tlsctx_prefer_server_ciphers
    - isc_tlsctx_cache_attach
    - ISC_LINK_INIT
    - isc_tlsctx_cache_find
    - isc_tlsctx_load_dhparams
    - RUNTIME_CHECK
    - isc_tlsctx_set_cipherlist
    - isc_tlsctx_free
    - isc_tls_cert_store_create
    - isc_log_write
    - isc_tls_cert_store_free
    - isc_tlsctx_createserver
    - isc_tlsctx_set_random_session_id_context
    - isc_tlsctx_load_client_ca_names
    - isc_tlsctx_set_protocols
    - isc_mem_get
    - isc_tlsctx_cache_add
    - isc_tlsctx_set_cipher_suites
    - isc_tlsctx_enable_peer_verification
    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:
    - REQUIRE
    - listenelt_create
    - 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:
    - isc_mem_put
    - INSIST
    - isc_tlsctx_cache_detach
    - isc_mem_free
    - dns_acl_detach
    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:
    - REQUIRE
    - ISC_LIST_INIT
    - isc_mem_get
    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: 244
    functionsReached:
    - isc_mem_put
    - ISC_LIST_FOREACH
    - ns_listenelt_destroy
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: strchr
      Src: /src/bind9/lib/ns/hooks.c:58,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/hooks.c:62,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/hooks.c:67,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/ns/hooks.c:72,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 4
    argNames:
    - src
    - dst
    - dstsize
    - appendext
    argTypes:
    - char*
    - char*
    - size_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 78
    functionName: plugin_expandpath
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 2
    functionsReached:
    - snprintf
    - strchr
    - isc_errno_toresult
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t plugin_expandpath(const char *src, char *dst, size_t dstsize,
      bool appendext)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/ns/hooks.c:84,1
    - Dst: plugin_expandpath
      Src: /src/bind9/lib/ns/hooks.c:84,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/ns/hooks.c:86,1
    - Dst: plugin_expandpath
      Src: /src/bind9/lib/ns/hooks.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - src
    - dst
    - dstsize
    argTypes:
    - char*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: ns_plugin_expandpath
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 2
    functionsReached:
    - isc_file_exists
    - RETERR
    - plugin_expandpath
    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:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:100,1
    - Dst: uv_dlsym
      Src: /src/bind9/lib/ns/hooks.c:102,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/ns/hooks.c:104,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:108,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: 119
      start: 93
    functionDepth: 2
    functionLinenumber: 93
    functionLinenumberEnd: 119
    functionName: load_symbol
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - isc_log_write
    - REQUIRE
    - uv_dlsym
    - uv_dlerror
    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:132,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:134,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/ns/hooks.c:136,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/hooks.c:139,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/hooks.c:141,1
    - Dst: uv_dlopen
      Src: /src/bind9/lib/ns/hooks.c:143,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/ns/hooks.c:145,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:149,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/hooks.c:153,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:156,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:156,1
    - Dst: version_func
      Src: /src/bind9/lib/ns/hooks.c:159,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:163,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/hooks.c:167,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:170,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:170,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:172,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:172,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:174,1
    - Dst: load_symbol
      Src: /src/bind9/lib/ns/hooks.c:174,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:182,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/hooks.c:184,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:186,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: 189
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 189
    functionName: load_plugin
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - uv_dlopen
    - CLEANUP
    - version_func
    - unload_plugin
    - isc_mem_get
    - uv_dlerror
    - isc_mem_strdup
    - isc_log_write
    - CHECK
    - load_symbol
    - ISC_LINK_INIT
    - isc_result_totext
    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:195,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:200,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/hooks.c:201,1
    - Dst: ns_plugin_t*::destroy_func
      Src: /src/bind9/lib/ns/hooks.c:205,1
    - Dst: uv_dlclose
      Src: /src/bind9/lib/ns/hooks.c:208,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/hooks.c:209,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/hooks.c:210,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pluginp
    argTypes:
    - ns_plugin_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 211
    functionName: unload_plugin
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - uv_dlclose
    - ns_plugin_t*::destroy_func
    - isc_log_write
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void unload_plugin(ns_plugin_t **pluginp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:220,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:221,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:223,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:226,1
    - Dst: load_plugin
      Src: /src/bind9/lib/ns/hooks.c:226,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/hooks.c:228,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/hooks.c:231,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:233,1
    - Dst: ns_plugin_t*::check_func
      Src: /src/bind9/lib/ns/hooks.c:233,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:235,1
    - Dst: ns_plugin_t*::register_func
      Src: /src/bind9/lib/ns/hooks.c:235,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/hooks.c:239,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:243,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 8
    argNames:
    - modpath
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - hookdata
    argTypes:
    - char*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_hook_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 247
    functionName: ns_plugin_register
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - unload_plugin
    - INSIST
    - ISC_LIST_APPEND
    - isc_log_write
    - ns_plugin_t*::register_func
    - ns_plugin_t*::check_func
    - CHECK
    - 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 *aclctx, ns_hook_data_t *hookdata)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/ns/hooks.c:256,1
    - Dst: load_plugin
      Src: /src/bind9/lib/ns/hooks.c:256,1
    - Dst: ns_plugin_t*::check_func
      Src: /src/bind9/lib/ns/hooks.c:258,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 8
    argNames:
    - modpath
    - parameters
    - cfg
    - cfg_file
    - cfg_line
    - mctx
    - aclctx
    - ctx
    argTypes:
    - char*
    - char*
    - void*
    - char*
    - unsigned long
    - isc_mem_t*
    - void*
    - ns_pluginctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 267
    functionName: ns_plugin_check
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 0
    functionsReached:
    - unload_plugin
    - load_plugin
    - ns_plugin_t*::check_func
    - CHECK
    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 *aclctx, const ns_pluginctx_t *ctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/hooks.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - hooktable
    argTypes:
    - ns_hooktable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    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:282,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:284,1
    - Dst: ns_hooktable_init
      Src: /src/bind9/lib/ns/hooks.c:286,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - mctx
    - tablep
    argTypes:
    - isc_mem_t*
    - ns_hooktable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 289
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 289
    functionName: ns_hooktable_create
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 8
    functionsReached:
    - ns_hooktable_init
    - REQUIRE
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void ns_hooktable_create(isc_mem_t *mctx, ns_hooktable_t **tablep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:296,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/hooks.c:302,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/hooks.c:303,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/hooks.c:305,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/hooks.c:311,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - mctx
    - tablep
    argTypes:
    - isc_mem_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 291
    functionDepth: 1
    functionLinenumber: 291
    functionLinenumberEnd: 312
    functionName: ns_hooktable_free
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_mem_putanddetach
    - 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:319,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:320,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:321,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/hooks.c:322,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:324,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/hooks.c:329,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/hooks.c:331,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/hooks.c:332,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: 333
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 333
    functionName: ns_hook_add
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 11
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_APPEND
    - ISC_LINK_INIT
    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:339,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/hooks.c:341,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/hooks.c:343,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mctx
    - listp
    argTypes:
    - isc_mem_t*
    - ns_plugins_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 346
    functionName: ns_plugins_create
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ISC_LIST_INIT
    - isc_mem_get
    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:352,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/hooks.c:357,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/hooks.c:358,1
    - Dst: unload_plugin
      Src: /src/bind9/lib/ns/hooks.c:359,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/hooks.c:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - mctx
    - listp
    argTypes:
    - isc_mem_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 363
    functionName: ns_plugins_free
    functionSourceFile: /src/bind9/lib/ns/hooks.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - unload_plugin
    - 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: 5
    argNames:
    - (
    - code
    - ','
    - msg
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 103
    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: 108
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 108
    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: 132
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 132
    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: 137
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 137
    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: 163
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 163
    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: 168
      start: 163
    functionDepth: 0
    functionLinenumber: 163
    functionLinenumberEnd: 168
    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: 182
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 182
    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: 188
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 188
    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:270,1
    - Dst: va_start
      Src: /src/bind9/lib/ns/update.c:274,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/ns/update.c:275,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/update.c:276,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:279,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:279,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:281,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/ns/update.c:281,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:284,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:289,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: 292
      start: 258
    functionDepth: 2
    functionLinenumber: 258
    functionLinenumberEnd: 292
    functionName: update_log
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - dns_name_format
    - vsnprintf
    - va_start
    - ns_client_log
    - isc_log_wouldlog
    - dns_rdataclass_format
    - va_end
    - dns_zone_getclass
    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:296,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: 297
      start: 294
    functionDepth: 0
    functionLinenumber: 294
    functionLinenumberEnd: 297
    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:304,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/update.c:307,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/update.c:309,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: 312
      start: 302
    functionDepth: 3
    functionLinenumber: 302
    functionLinenumberEnd: 312
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ns_stats_increment
    - isc_stats_increment
    - dns_zone_getrequeststats
    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:327,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/update.c:330,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:334,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:335,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:338,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:343,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:344,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:348,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: 353
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 353
    functionName: checkqueryacl
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - ns_client_checkaclsilent
    - dns_acl_isnone
    - ns_client_log
    - dns_rdataclass_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:381,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/update.c:384,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/update.c:386,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:394,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:395,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:400,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:401,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:404,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: 408
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: checkupdateacl
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - ns_client_checkaclsilent
    - ns_client_log
    - dns_rdataclass_format
    - ISC_LOG_DEBUG
    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:427,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:428,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/ns/update.c:433,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:434,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/update.c:436,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:443,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: 449
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 449
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - dns_diff_init
    - dns_diff_apply
    - dns_diff_appendminimal
    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:462,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:463,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:464,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:464,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:469,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: 471
      start: 458
    functionDepth: 1
    functionLinenumber: 458
    functionLinenumberEnd: 471
    functionName: do_diff
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - CHECK
    - 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:479,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:480,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: 481
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 481
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:532,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/update.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - rdataset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 537
    functionName: foreach_node_rr_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_rdataset_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t foreach_node_rr_action(void *data, dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:532,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/update.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 535
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - RETERR
    - 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:556,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:562,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/update.c:563,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:564,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/update.c:567,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/ns/update.c:576,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/update.c:583,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:587,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/ns/update.c:592,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:595,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: 598
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 598
    functionName: foreach_rrset
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_db_findnodeext
    - dns_clientinfomethods_init
    - dns_rdataset_disassociate
    - dns_db_closeversion
    - dns_clientinfo_init
    - dns_db_currentversion
    - dns_rdatasetiter_current
    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:583,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:587,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 591
    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:614,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: 615
      start: 608
    functionDepth: 0
    functionLinenumber: 608
    functionLinenumberEnd: 615
    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:638,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:644,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/update.c:645,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:646,1
    - Dst: foreach_node_rr
      Src: /src/bind9/lib/ns/update.c:649,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/ns/update.c:657,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/update.c:659,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:668,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:669,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/update.c:682,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/update.c:683,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/ns/update.c:684,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:689,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:699,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:701,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: 704
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 704
    functionName: foreach_rr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_findnsec3node
    - dns_name_copy
    - dns_db_detachnode
    - dns_rdataset_getownercase
    - dns_rdataset_init
    - foreach_node_rr
    - dns_db_findnodeext
    - dns_db_findrdataset
    - dns_clientinfomethods_init
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - dns_db_closeversion
    - dns_clientinfo_init
    - dns_rdataset_current
    - dns_db_currentversion
    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:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 687
    functionDepth: 1
    functionLinenumber: 687
    functionLinenumberEnd: 695
    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:722,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 718
    functionDepth: 0
    functionLinenumber: 718
    functionLinenumberEnd: 727
    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:734,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 0
    functionLinenumber: 732
    functionLinenumberEnd: 737
    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:767,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: 770
      start: 763
    functionDepth: 0
    functionLinenumber: 763
    functionLinenumberEnd: 770
    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:777,1
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/lib/ns/update.c:779,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 775
    functionDepth: 1
    functionLinenumber: 775
    functionLinenumberEnd: 784
    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:798,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: 800
      start: 794
    functionDepth: 0
    functionLinenumber: 794
    functionLinenumberEnd: 800
    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:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 811
    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:820,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: 821
      start: 816
    functionDepth: 0
    functionLinenumber: 816
    functionLinenumberEnd: 821
    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:829,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:830,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 832
    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:841,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: 843
      start: 837
    functionDepth: 0
    functionLinenumber: 837
    functionLinenumberEnd: 843
    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:903,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/update.c:904,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:908,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:910,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:911,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:915,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:916,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:919,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:927,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:929,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 28
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 873
    functionDepth: 1
    functionLinenumber: 873
    functionLinenumberEnd: 935
    functionName: ssu_checkrule
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_rdataset_init
    - dns_rdataset_clone
    - dns_ssutable_checkrules
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    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:908,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:910,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:911,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:915,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:916,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:919,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 926
      start: 906
    functionDepth: 1
    functionLinenumber: 906
    functionLinenumberEnd: 926
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_ssutable_checkrules
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: foreach_rrset
      Src: /src/bind9/lib/ns/update.c:951,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: 953
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 953
    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:965,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:966,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:972,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:973,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:977,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 982
    functionName: ssu_checkrr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_ssutable_checkrules
    - dns_rdata_tostruct
    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:1003,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/ns/update.c:1003,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1004,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:1006,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: 1007
      start: 999
    functionDepth: 1
    functionLinenumber: 999
    functionLinenumberEnd: 1007
    functionName: temp_append
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - REQUIRE
    - ISC_LIST_APPEND
    - DNS_DIFF_VALID
    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:1021,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1023,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1024,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1024,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:1025,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1028,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1029,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - dns_difftuple_t*
    - dns_difftuple_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1015
    functionDepth: 1
    functionLinenumber: 1015
    functionLinenumberEnd: 1035
    functionName: temp_check_rrset
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_casecompare
    - dns_name_equal
    - ISC_LIST_NEXT
    - INSIST
    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:1049,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:1057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1059
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:1080,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1087,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/update.c:1090,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/ns/update.c:1095,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1097,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1101,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1106,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/update.c:1115,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/ns/update.c:1116,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1118,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1119,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:1129,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:1130,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1134,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1135,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:1139,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:1140,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:1144,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:1145,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1148,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/ns/update.c:1148,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1155,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1158,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:1159,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:1160,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1165,1
    - Dst: temp_check_rrset
      Src: /src/bind9/lib/ns/update.c:1165,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1165,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1166,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/ns/update.c:1173,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/ns/update.c:1174,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:1175,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1180,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1181,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1182,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:1183,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1184,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:1188,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:1191,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 65
    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: 1193
      start: 1071
    functionDepth: 2
    functionLinenumber: 1071
    functionLinenumberEnd: 1193
    functionName: temp_check
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - ISC_LIST_UNLINK
    - dns_rdataset_init
    - dns_rdata_covers
    - dns_rdataset_disassociate
    - ISC_LIST_NEXT
    - dns_rdatatype_issig
    - dns_name_equal
    - dns_db_findrdataset
    - ISC_LIST_HEAD
    - temp_check_rrset
    - dns_rdataset_current
    - CHECK
    - dns_diff_clear
    - dns_db_detachnode
    - dns_diff_sort
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - temp_append
    - dns_db_findnode
    - dns_diff_init
    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:1144,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1142
    functionDepth: 2
    functionLinenumber: 1142
    functionLinenumberEnd: 1146
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - temp_append
    - 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:1223,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: 1231
      start: 1221
    functionDepth: 0
    functionLinenumber: 1221
    functionLinenumberEnd: 1231
    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:1238,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: 1243
      start: 1236
    functionDepth: 0
    functionLinenumber: 1236
    functionLinenumberEnd: 1243
    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:1250,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/update.c:1251,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: 1253
      start: 1248
    functionDepth: 0
    functionLinenumber: 1248
    functionLinenumberEnd: 1253
    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:1265,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: 1266
      start: 1258
    functionDepth: 1
    functionLinenumber: 1258
    functionLinenumberEnd: 1266
    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:1305,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1306,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1307,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1308,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1326,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:1327,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1335,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:1341,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 39
    argCount: 2
    argNames:
    - update_rr
    - db_rr
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1280
    functionDepth: 1
    functionLinenumber: 1280
    functionLinenumberEnd: 1348
    functionName: replaces_p
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - memcmp
    - dns_rdata_tostruct
    - INSIST
    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:1358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1353
    functionDepth: 0
    functionLinenumber: 1353
    functionLinenumberEnd: 1365
    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:1385,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: 1386
      start: 1374
    functionDepth: 0
    functionLinenumber: 1374
    functionLinenumberEnd: 1386
    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:1399,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:1410,1
    - Dst: replaces_p
      Src: /src/bind9/lib/ns/update.c:1420,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1421,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/ns/update.c:1423,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1432,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/ns/update.c:1434,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:1436,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/ns/update.c:1439,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1390
    functionDepth: 2
    functionLinenumber: 1390
    functionLinenumberEnd: 1444
    functionName: add_rr_prepare_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_name_caseequal
    - dns_rdata_casecompare
    - replaces_p
    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:1463,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1464,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1465,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1465,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/update.c:1468,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1469,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:1470,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1471,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/update.c:1471,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 5
    argNames:
    - name
    - rdata
    - covers
    - ttl
    - update_class
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    - dns_rdatatype_t*
    - dns_ttl_t*
    - dns_rdataclass_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1458
    functionDepth: 1
    functionLinenumber: 1458
    functionLinenumberEnd: 1474
    functionName: get_current_rr
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_rdataset_next
    - dns_rdataset_first
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: "void get_current_rr(dns_name_t *name, dns_rdata_t *rdata, dns_rdatatype_t
      *covers,\n\t       dns_ttl_t *ttl, dns_rdataclass_t *update_class)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1496,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/ns/update.c:1496,1
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/ns/update.c:1497,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/update.c:1500,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/lib/ns/update.c:1501,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/ns/update.c:1502,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1503,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:1503,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1504,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:1504,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/update.c:1509,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/update.c:1512,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: 1515
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1515
    functionName: update_soa_serial
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - dns_db_createsoatuple
    - dns_difftuple_free
    - dns_soa_setserial
    - dns_difftuple_copy
    - CHECK
    - dns_update_soaserial
    - dns_soa_getserial
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/update.c:1543,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/update.c:1545,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/ns/update.c:1545,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/ns/update.c:1547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - db
    - ver
    - update_rdata
    - ok
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdata_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1537
    functionDepth: 1
    functionLinenumber: 1537
    functionLinenumberEnd: 1554
    functionName: check_soa_increment
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - DNS_SERIAL_GE
    - dns_db_getsoaserial
    - RETERR
    - dns_soa_getserial
    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:1578,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/update.c:1578,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/update.c:1579,1
    - Dst: dns_zone_getssutable
      Src: /src/bind9/lib/ns/update.c:1580,1
    - Dst: dns_zone_getoptions
      Src: /src/bind9/lib/ns/update.c:1581,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:1582,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1585,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/ns/update.c:1585,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1592,1
    - Dst: checkqueryacl
      Src: /src/bind9/lib/ns/update.c:1592,1
    - Dst: dns_zone_getqueryacl
      Src: /src/bind9/lib/ns/update.c:1592,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:1593,1
    - Dst: dns_zone_getupdateacl
      Src: /src/bind9/lib/ns/update.c:1594,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1600,1
    - Dst: checkupdateacl
      Src: /src/bind9/lib/ns/update.c:1600,1
    - Dst: dns_zone_getupdateacl
      Src: /src/bind9/lib/ns/update.c:1600,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:1601,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1603,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1604,1
    - Dst: checkupdateacl
      Src: /src/bind9/lib/ns/update.c:1604,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:1605,1
    - Dst: dns_zone_getupdatedisabled
      Src: /src/bind9/lib/ns/update.c:1608,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1609,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/ns/update.c:1620,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:1630,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:1631,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:1633,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1634,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1642,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1643,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/ns/update.c:1645,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:1647,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/lib/ns/update.c:1653,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1656,1
    - Dst: FAILNT
      Src: /src/bind9/lib/ns/update.c:1657,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1663,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1666,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1669,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1670,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1673,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:1676,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1685,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1688,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1691,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1693,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/update.c:1707,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1718,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1719,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1727,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1728,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1743,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:1746,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1750,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1757,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:1757,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1759,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1761,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1765,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1770,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1772,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1776,1
    - Dst: dns_ssurule_max
      Src: /src/bind9/lib/ns/update.c:1779,1
    - Dst: ssu_checkall
      Src: /src/bind9/lib/ns/update.c:1782,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1785,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1787,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1795,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/lib/ns/update.c:1797,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1799,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1801,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/update.c:1802,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:1804,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/update.c:1807,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/update.c:1811,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/update.c:1812,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/update.c:1817,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:1818,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/ns/update.c:1818,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:1822,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/update.c:1823,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/update.c:1827,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/ns/update.c:1831,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 136
    argCount: 2
    argNames:
    - client
    - zone
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1835
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1835
    functionName: send_update
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 4
    functionsReached:
    - ns_stats_increment
    - dns_zone_getqueryacl
    - INSIST
    - dns_db_origin
    - checkqueryacl
    - dns_zone_getssutable
    - MOVE_OWNERSHIP
    - TCPCLIENT
    - dns_db_currentversion
    - dns_zone_getloop
    - FAILC
    - isc_mem_cget
    - update_log
    - RUNTIME_CHECK
    - dns_ssurule_max
    - ssu_checkall
    - dns_zone_getupdatedisabled
    - isc_quota_acquire
    - checkupdateacl
    - dns_zone_getoptions
    - FAILNT
    - dns_name_issubdomain
    - dns_zone_getorigin
    - get_current_rr
    - dns_zone_getclass
    - isc_result_totext
    - dns_rdata_tostruct
    - dns_db_detach
    - dns_name_equal
    - isc_netaddr_fromsockaddr
    - dns_db_closeversion
    - CHECK
    - dns_rdata_checksvcb
    - dns_zone_getdb
    - dns_ssutable_detach
    - CLEANUP
    - isc_mem_cput
    - dns_zone_getupdateacl
    - foreach_rr
    - isc_mem_get
    - rr_exists
    - dns_rdatatype_ismeta
    - dns_ssutable_checkrules
    - isc_async_run
    - dns_zone_checknames
    - isc_nmhandle_attach
    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:1630,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:1631,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:1633,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1634,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1642,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1643,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/ns/update.c:1645,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:1647,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/lib/ns/update.c:1653,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1656,1
    - Dst: FAILNT
      Src: /src/bind9/lib/ns/update.c:1657,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1663,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1666,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/update.c:1669,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1670,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:1673,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:1676,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1685,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1688,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1691,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1693,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/update.c:1707,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1718,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1719,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:1727,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:1728,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1743,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:1746,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1750,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1757,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:1757,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1759,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1761,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1765,1
    - Dst: dns_ssutable_checkrules
      Src: /src/bind9/lib/ns/update.c:1770,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1772,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1776,1
    - Dst: dns_ssurule_max
      Src: /src/bind9/lib/ns/update.c:1779,1
    - Dst: ssu_checkall
      Src: /src/bind9/lib/ns/update.c:1782,1
    - Dst: TCPCLIENT
      Src: /src/bind9/lib/ns/update.c:1785,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1787,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 90
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1625
    functionDepth: 2
    functionLinenumber: 1625
    functionLinenumberEnd: 1793
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - INSIST
    - TCPCLIENT
    - FAILC
    - update_log
    - RUNTIME_CHECK
    - dns_ssurule_max
    - ssu_checkall
    - FAILNT
    - isc_result_totext
    - dns_rdata_tostruct
    - get_current_rr
    - dns_name_issubdomain
    - dns_name_equal
    - isc_netaddr_fromsockaddr
    - dns_rdata_checksvcb
    - CHECK
    - CLEANUP
    - foreach_rr
    - rr_exists
    - dns_rdatatype_ismeta
    - dns_ssutable_checkrules
    - dns_zone_checknames
    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:1841,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/update.c:1843,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:1846,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/update.c:1847,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:1848,1
    - Dst: dns_result_torcode
      Src: /src/bind9/lib/ns/update.c:1852,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/update.c:1853,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:1854,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1855
      start: 1837
    functionDepth: 2
    functionLinenumber: 1837
    functionLinenumberEnd: 1855
    functionName: respond
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 3
    functionsReached:
    - dns_result_torcode
    - dns_message_reply
    - ns_client_send
    - isc_nmhandle_detach
    - isc_log_write
    - ns_client_drop
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void respond(ns_client_t *client, isc_result_t result)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/update.c:1870,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:1876,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1877,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1884,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:1885,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1887,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1889,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1890,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:1895,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1896,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/update.c:1900,1
    - Dst: FAILN
      Src: /src/bind9/lib/ns/update.c:1903,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/lib/ns/update.c:1911,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:1913,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/ns/update.c:1914,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:1915,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/update.c:1918,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1925,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/ns/update.c:1926,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1927,1
    - Dst: send_update
      Src: /src/bind9/lib/ns/update.c:1927,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/ns/update.c:1931,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1932,1
    - Dst: send_forward
      Src: /src/bind9/lib/ns/update.c:1932,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:1935,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:1941,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/update.c:1950,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:1951,1
    - Dst: respond
      Src: /src/bind9/lib/ns/update.c:1953,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:1957,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 3
    argNames:
    - client
    - handle
    - sigresult
    argTypes:
    - ns_client_t*
    - isc_nmhandle_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1857
    functionDepth: 1
    functionLinenumber: 1857
    functionLinenumberEnd: 1959
    functionName: ns_update_start
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - FAILN
    - send_update
    - ns_client_drop
    - FAILC
    - isc_nmhandle_detach
    - ISC_LIST_NEXT
    - inc_stats
    - dns_zone_getraw
    - dns_view_findzone
    - send_forward
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - CHECK
    - dns_message_clonebuffer
    - respond
    - dns_zone_attach
    - isc_nmhandle_attach
    - dns_zone_gettype
    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:1973,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:1975,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1983,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:1983,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:1986,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/update.c:1986,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:1990,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:1990,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:1997,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:1998,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:1999,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: 2002
      start: 1967
    functionDepth: 1
    functionLinenumber: 1967
    functionLinenumberEnd: 2002
    functionName: remove_orphaned_ds
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_name_equal
    - dns_db_origin
    - rrset_exists
    - ISC_LIST_FOREACH
    - dns_diff_init
    - CHECK
    - dns_diff_appendminimal
    - delete_if
    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:2025,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/update.c:2026,1
    - Dst: dns_zone_getoptions
      Src: /src/bind9/lib/ns/update.c:2027,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2029,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2036,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:2037,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2042,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2043,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/update.c:2046,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:2048,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:2049,1
    - Dst: inet_pton
      Src: /src/bind9/lib/ns/update.c:2051,1
    - Dst: inet_pton
      Src: /src/bind9/lib/ns/update.c:2052,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2059,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:2061,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2064,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:2067,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/ns/update.c:2076,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/ns/update.c:2083,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2092,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2098,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2103,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2104,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: 2111
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2111
    functionName: check_mx
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - inet_pton
    - dns_rdata_init
    - dns_name_format
    - update_log
    - RUNTIME_CHECK
    - dns_db_find
    - strlen
    - dns_zone_getoptions
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    - strlcpy
    - dns_rdata_tostruct
    - isc_result_totext
    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:2120,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/ns/update.c:2122,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/ns/update.c:2124,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2131,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:2133,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2144,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:2145,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:2150,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:2155,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: 2158
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2158
    functionName: rr_exists
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 2
    functionsReached:
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - dns_rdataset_current
    - dns_rdata_casecompare
    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:2144,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/ns/update.c:2145,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2149
      start: 2142
    functionDepth: 1
    functionLinenumber: 2142
    functionLinenumberEnd: 2149
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_casecompare
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/update.c:2169,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/update.c:2171,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/update.c:2171,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:2172,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2177,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2181,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2182,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2182,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/update.c:2191,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/update.c:2198,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2203,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/update.c:2210,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/ns/update.c:2211,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2216,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2216,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/update.c:2231,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/update.c:2233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 54
    argCount: 4
    argNames:
    - db
    - ver
    - privatetype
    - iterationsp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2160
    functionDepth: 1
    functionLinenumber: 2160
    functionLinenumberEnd: 2235
    functionName: get_iterations
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - dns_nsec3param_fromprivate
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - RETERR
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:2181,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2182,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2189
      start: 2179
    functionDepth: 1
    functionLinenumber: 2179
    functionLinenumberEnd: 2189
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - CHECK
    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:2210,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/ns/update.c:2211,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2216,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/update.c:2216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2223
      start: 2205
    functionDepth: 1
    functionLinenumber: 2205
    functionLinenumberEnd: 2223
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - dns_rdata_tostruct
    - dns_rdataset_current
    - CHECK
    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:2246,1
    - Dst: dns_zone_check_dnskey_nsec3
      Src: /src/bind9/lib/ns/update.c:2249,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2250,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:2252,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2256,1
    - Dst: get_iterations
      Src: /src/bind9/lib/ns/update.c:2256,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/ns/update.c:2257,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2258,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:2260,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    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: 2265
      start: 2241
    functionDepth: 2
    functionLinenumber: 2241
    functionLinenumberEnd: 2265
    functionName: check_dnssec
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - dns_nsec3_maxiterations
    - update_log
    - get_iterations
    - dns_zone_getprivatetype
    - CHECK
    - dns_zone_check_dnskey_nsec3
    - CLEANUP
    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:2280,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/ns/update.c:2281,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2285,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/update.c:2285,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2288,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2293,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2295,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2299,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2300,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2307,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2324,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:2330,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2333,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2335,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2339,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2346,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2353,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2354,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2355,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2357,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2368,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2381,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2383,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2383,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2384,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:2385,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2394,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2415,1
    - Dst: memcmp
      Src: /src/bind9/lib/ns/update.c:2424,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2427,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2430,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/update.c:2431,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2432,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/ns/update.c:2439,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/ns/update.c:2452,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2460,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2460,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2463,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2466,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2466,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2475,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2475,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2478,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2481,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2481,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2488,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2489,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2491,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2491,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2492,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:2493,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/update.c:2494,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2496,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2500,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2504,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/update.c:2506,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/ns/update.c:2510,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2515,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2515,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2518,1
    - Dst: rr_exists
      Src: /src/bind9/lib/ns/update.c:2518,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2522,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2524,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2524,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2526,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2528,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2528,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2529,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/ns/update.c:2530,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/update.c:2531,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2536,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: 2538
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2538
    functionName: add_nsec3param_records
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - dns_difftuple_create
    - ISC_LOG_DEBUG
    - dns_diff_appendminimal
    - update_log
    - memcmp
    - ISC_LIST_NEXT
    - dns_nsec3param_toprivate
    - dns_zone_getorigin
    - dns_name_equal
    - dns_rdata_reset
    - ISC_LIST_HEAD
    - CHECK
    - dns_diff_clear
    - do_one_tuple
    - rr_exists
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    - dns_diff_init
    - dns_zone_getprivatetype
    - dns_nsec_nseconly
    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:2546,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2554,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2559,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2561,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/update.c:2576,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/update.c:2577,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/update.c:2583,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/ns/update.c:2586,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2588,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/ns/update.c:2588,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2593,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: 2595
      start: 2540
    functionDepth: 1
    functionLinenumber: 2540
    functionLinenumberEnd: 2595
    functionName: rollback_private
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - ISC_LIST_UNLINK
    - dns_name_equal
    - dns_db_origin
    - dns_difftuple_create
    - ISC_LIST_FOREACH
    - dns_diff_init
    - CHECK
    - dns_diff_clear
    - ISC_LIST_PREPEND
    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:2602,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/ns/update.c:2606,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/update.c:2608,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: 2610
      start: 2597
    functionDepth: 1
    functionLinenumber: 2597
    functionLinenumberEnd: 2610
    functionName: isdnssec
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_db_issecure
    - dns_private_chains
    linkageType: ''
    returnType: bool
    signature: bool isdnssec(dns_db_t *db, dns_dbversion_t *ver, dns_rdatatype_t privatetype)
  - BBCount: 76
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/ns/update.c:2635,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2641,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2642,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2644,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/update.c:2644,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/update.c:2645,1
    - Dst: dns_zone_getoptions
      Src: /src/bind9/lib/ns/update.c:2646,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2648,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/ns/update.c:2648,1
    - Dst: dns_zone_israw
      Src: /src/bind9/lib/ns/update.c:2650,1
    - Dst: dns_zone_issecure
      Src: /src/bind9/lib/ns/update.c:2650,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/ns/update.c:2651,1
    - Dst: dns_zone_israw
      Src: /src/bind9/lib/ns/update.c:2651,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/update.c:2657,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2658,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/ns/update.c:2658,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2670,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2673,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:2677,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2678,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2684,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2689,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2689,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2691,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2697,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2697,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2701,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2710,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2715,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2715,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2717,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2723,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2723,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2727,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:2735,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2737,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/update.c:2745,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/ns/update.c:2752,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/update.c:2754,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/update.c:2758,1
    - Dst: temp_check
      Src: /src/bind9/lib/ns/update.c:2759,1
    - Dst: FAILNT
      Src: /src/bind9/lib/ns/update.c:2761,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2767,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2772,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2782,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2784,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2795,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2797,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/ns/update.c:2804,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2808,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2810,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2817,1
    - Dst: cname_incompatible_rrset_exists
      Src: /src/bind9/lib/ns/update.c:2817,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2820,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2827,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2827,1
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/lib/ns/update.c:2830,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2832,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2841,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2841,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2845,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2851,1
    - Dst: check_soa_increment
      Src: /src/bind9/lib/ns/update.c:2851,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2854,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/update.c:2864,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2865,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2869,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2871,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2879,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2894,1
    - Dst: dns_name_internalwildcard
      Src: /src/bind9/lib/ns/update.c:2903,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2906,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2907,1
    - Dst: dns_zone_getmaxttl
      Src: /src/bind9/lib/ns/update.c:2914,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2917,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2927,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:2927,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2930,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:2940,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2948,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2949,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/update.c:2951,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/ns/update.c:2952,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:2954,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/update.c:2957,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:2960,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:2961,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:2963,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2965,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2982,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2983,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2984,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:2984,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2989,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2990,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:2992,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:2995,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3000,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3001,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/ns/update.c:3004,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3008,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3012,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3020,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3022,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3024,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3030,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3031,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3031,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3037,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3037,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3043,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3047,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3052,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3055,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3057,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3060,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3065,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3065,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3077,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3079,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3087,1
    - Dst: rr_count
      Src: /src/bind9/lib/ns/update.c:3087,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3091,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/ns/update.c:3102,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3104,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/ns/update.c:3104,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3110,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3113,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3122,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3123,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3125,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3127,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3127,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3137,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3138,1
    - Dst: check_dnssec
      Src: /src/bind9/lib/ns/update.c:3138,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3141,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3143,1
    - Dst: dns_zone_nscheck
      Src: /src/bind9/lib/ns/update.c:3143,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3145,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:3148,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3151,1
    - Dst: dns_zone_cdscheck
      Src: /src/bind9/lib/ns/update.c:3152,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3154,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:3157,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3159,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/update.c:3167,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3177,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/ns/update.c:3177,1
    - Dst: dns_zone_getserialupdatemethod
      Src: /src/bind9/lib/ns/update.c:3179,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3182,1
    - Dst: check_mx
      Src: /src/bind9/lib/ns/update.c:3182,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3184,1
    - Dst: remove_orphaned_ds
      Src: /src/bind9/lib/ns/update.c:3184,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3186,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:3186,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3189,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:3189,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3192,1
    - Dst: rollback_private
      Src: /src/bind9/lib/ns/update.c:3192,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3194,1
    - Dst: add_nsec3param_records
      Src: /src/bind9/lib/ns/update.c:3194,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3203,1
    - Dst: dns_nsec3param_deletechains
      Src: /src/bind9/lib/ns/update.c:3203,1
    - Dst: isdnssec
      Src: /src/bind9/lib/ns/update.c:3205,1
    - Dst: dns_zone_getsigvalidityinterval
      Src: /src/bind9/lib/ns/update.c:3208,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/ns/update.c:3212,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3216,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3218,1
    - Dst: dns_zone_getmaxrecords
      Src: /src/bind9/lib/ns/update.c:3223,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/ns/update.c:3225,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3227,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/update.c:3231,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/lib/ns/update.c:3235,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3237,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/ns/update.c:3241,1
    - Dst: FAILS
      Src: /src/bind9/lib/ns/update.c:3244,1
    - Dst: dns_journal_write_transaction
      Src: /src/bind9/lib/ns/update.c:3247,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/ns/update.c:3249,1
    - Dst: FAILS
      Src: /src/bind9/lib/ns/update.c:3250,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/ns/update.c:3253,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3261,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3264,1
    - Dst: dns_zone_markdirty
      Src: /src/bind9/lib/ns/update.c:3269,1
    - Dst: dns_zone_notify
      Src: /src/bind9/lib/ns/update.c:3274,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3276,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3277,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3287,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3288,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3292,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3293,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/update.c:3296,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/update.c:3300,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/update.c:3304,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/ns/update.c:3308,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:3313,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3316,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:3317,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 349
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3318
      start: 2612
    functionDepth: 3
    functionLinenumber: 2612
    functionLinenumberEnd: 3318
    functionName: update_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_buffer_usedlength
    - dns_zone_getjournal
    - dns_db_currentversion
    - update_log
    - update_one_rr
    - dns_zone_israw
    - dns_zone_getoptions
    - rr_count
    - dns_update_signatures
    - get_current_rr
    - dns_zone_dnskey_inuse
    - ISC_LIST_HEAD
    - check_soa_increment
    - isc_mem_cput
    - name_exists
    - dns_diff_sort
    - PREREQFAILN
    - isdnssec
    - dns_db_origin
    - temp_check
    - delete_if
    - check_dnssec
    - dns_journal_open
    - dns_zone_notify
    - dns_zone_markdirty
    - dns_name_issubdomain
    - dns_zone_getsigvalidityinterval
    - dns_rdatatype_format
    - ISC_LIST_EMPTY
    - CHECK
    - update_soa_serial
    - dns_zone_getmaxttl
    - dns_name_internalwildcard
    - dns_diff_init
    - dns_zone_getprivatetype
    - dns_db_newversion
    - dns_rdata_totext
    - do_diff
    - dns_zone_getserialupdatemethod
    - strlen
    - dns_zone_getmaxrecords
    - FAILC
    - FAILNT
    - dns_nsec3param_deletechains
    - dns_db_detach
    - dns_name_equal
    - check_mx
    - rrset_exists
    - dns_rdatatype_atcname
    - dns_zone_getdb
    - dns_diff_clear
    - dns_ssutable_detach
    - CLEANUP
    - dns_zone_nscheck
    - remove_orphaned_ds
    - isc_async_run
    - dns_rdatatype_iskeymaterial
    - dns_journal_write_transaction
    - dns_journal_destroy
    - dns_zone_cdscheck
    - dns_rdatatype_atparent
    - rollback_private
    - dns_name_format
    - dns_zone_issecure
    - snprintf
    - add_nsec3param_records
    - isc_buffer_init
    - dns_zone_getclass
    - isc_result_totext
    - PREREQFAILC
    - dns_name_iswildcard
    - dns_db_closeversion
    - isc_log_wouldlog
    - dns_db_getsize
    - FAILS
    - cname_incompatible_rrset_exists
    - PREREQFAILNT
    - dns_zone_getkasp
    - foreach_rr
    - temp_append
    - dns_fixedname_initname
    linkageType: ''
    returnType: void
    signature: void update_action(void *arg)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2670,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2673,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/update.c:2677,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2678,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2684,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2689,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2689,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2691,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2697,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2697,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2701,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2710,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2715,1
    - Dst: name_exists
      Src: /src/bind9/lib/ns/update.c:2715,1
    - Dst: PREREQFAILN
      Src: /src/bind9/lib/ns/update.c:2717,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2723,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2723,1
    - Dst: PREREQFAILNT
      Src: /src/bind9/lib/ns/update.c:2727,1
    - Dst: temp_append
      Src: /src/bind9/lib/ns/update.c:2735,1
    - Dst: PREREQFAILC
      Src: /src/bind9/lib/ns/update.c:2737,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2739
      start: 2664
    functionDepth: 2
    functionLinenumber: 2664
    functionLinenumberEnd: 2739
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - PREREQFAILNT
    - get_current_rr
    - name_exists
    - PREREQFAILC
    - PREREQFAILN
    - rrset_exists
    - temp_append
    - CHECK
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(request, DNS_SECTION_PREREQUISITE, name)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:2782,1
    - Dst: get_current_rr
      Src: /src/bind9/lib/ns/update.c:2784,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2795,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2797,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/ns/update.c:2804,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2808,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2810,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2817,1
    - Dst: cname_incompatible_rrset_exists
      Src: /src/bind9/lib/ns/update.c:2817,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2820,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2827,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2827,1
    - Dst: dns_rdatatype_atcname
      Src: /src/bind9/lib/ns/update.c:2830,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2832,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2841,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/ns/update.c:2841,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2845,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2851,1
    - Dst: check_soa_increment
      Src: /src/bind9/lib/ns/update.c:2851,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2854,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/update.c:2864,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:2865,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2869,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2871,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2879,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2894,1
    - Dst: dns_name_internalwildcard
      Src: /src/bind9/lib/ns/update.c:2903,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2906,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2907,1
    - Dst: dns_zone_getmaxttl
      Src: /src/bind9/lib/ns/update.c:2914,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2917,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2927,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:2927,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2930,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:2940,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:2948,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:2949,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/update.c:2951,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/ns/update.c:2952,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:2954,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/update.c:2957,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:2960,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/update.c:2961,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/update.c:2963,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:2965,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2982,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/ns/update.c:2983,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:2984,1
    - Dst: foreach_rr
      Src: /src/bind9/lib/ns/update.c:2984,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2989,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:2990,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:2992,1
    - Dst: do_diff
      Src: /src/bind9/lib/ns/update.c:2995,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3000,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/ns/update.c:3001,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/ns/update.c:3004,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3008,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3012,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3020,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3022,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3024,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3030,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3031,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3031,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3037,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3037,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3043,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3047,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/update.c:3052,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3055,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3057,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3060,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3065,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3065,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/update.c:3077,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3079,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3087,1
    - Dst: rr_count
      Src: /src/bind9/lib/ns/update.c:3087,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3091,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/ns/update.c:3102,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3104,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/ns/update.c:3104,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3110,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3113,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3122,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/update.c:3123,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3125,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/update.c:3127,1
    - Dst: delete_if
      Src: /src/bind9/lib/ns/update.c:3127,1
    CyclomaticComplexity: 64
    EdgeCount: 64
    ICount: 175
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 2775
    functionDepth: 2
    functionLinenumber: 2775
    functionLinenumberEnd: 3130
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_buffer_usedlength
    - dns_rdata_totext
    - do_diff
    - strlen
    - delete_if
    - dns_rdatatype_atparent
    - update_log
    - dns_name_format
    - update_one_rr
    - snprintf
    - rr_count
    - isc_buffer_init
    - isc_result_totext
    - get_current_rr
    - dns_name_equal
    - dns_rdatatype_format
    - dns_zone_dnskey_inuse
    - dns_name_iswildcard
    - rrset_exists
    - check_soa_increment
    - isc_log_wouldlog
    - CHECK
    - dns_rdatatype_atcname
    - dns_diff_clear
    - cname_incompatible_rrset_exists
    - dns_zone_getmaxttl
    - dns_name_internalwildcard
    - foreach_rr
    - dns_diff_init
    - dns_rdatatype_iskeymaterial
    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:3325,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3329,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3332,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3335,1
    - Dst: respond
      Src: /src/bind9/lib/ns/update.c:3339,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3341,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:3343,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/update.c:3345,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3347
      start: 3320
    functionDepth: 2
    functionLinenumber: 3320
    functionLinenumberEnd: 3347
    functionName: updatedone_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - isc_mem_put
    - isc_quota_release
    - isc_nmhandle_detach
    - respond
    - inc_stats
    linkageType: ''
    returnType: void
    signature: void updatedone_action(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: respond
      Src: /src/bind9/lib/ns/update.c:3357,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3359,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/update.c:3360,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3362
      start: 3352
    functionDepth: 2
    functionLinenumber: 3352
    functionLinenumberEnd: 3362
    functionName: forward_fail
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_quota_release
    - isc_nmhandle_detach
    - respond
    linkageType: ''
    returnType: void
    signature: void forward_fail(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/update.c:3371,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3372,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3373,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3376,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3377,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:3380,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: 3381
      start: 3364
    functionDepth: 2
    functionLinenumber: 3364
    functionLinenumberEnd: 3381
    functionName: forward_callback
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - inc_stats
    - dns_zone_detach
    - 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:3388,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/ns/update.c:3389,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3391,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/update.c:3392,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3393,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/update.c:3394,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3383
    functionDepth: 2
    functionLinenumber: 3383
    functionLinenumberEnd: 3395
    functionName: forward_done
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_quota_release
    - isc_nmhandle_detach
    - ns_client_sendraw
    - 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:3404,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3407,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3408,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/update.c:3409,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/update.c:3411,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3413
      start: 3397
    functionDepth: 2
    functionLinenumber: 3397
    functionLinenumberEnd: 3413
    functionName: forward_action
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - inc_stats
    - dns_zone_detach
    - dns_zone_forwardupdate
    linkageType: ''
    returnType: void
    signature: void forward_action(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/ns/update.c:3422,1
    - Dst: checkupdateacl
      Src: /src/bind9/lib/ns/update.c:3422,1
    - Dst: dns_zone_getforwardacl
      Src: /src/bind9/lib/ns/update.c:3422,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:3423,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/lib/ns/update.c:3426,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/update.c:3429,1
    - Dst: update_log
      Src: /src/bind9/lib/ns/update.c:3431,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/update.c:3433,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/update.c:3434,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/update.c:3439,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/update.c:3446,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/update.c:3446,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/update.c:3447,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/ns/update.c:3447,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/update.c:3450,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/update.c:3454,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/update.c:3455,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/ns/update.c:3455,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - client
    - zone
    argTypes:
    - ns_client_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3458
      start: 3415
    functionDepth: 3
    functionLinenumber: 3415
    functionLinenumberEnd: 3458
    functionName: send_forward
    functionSourceFile: /src/bind9/lib/ns/update.c
    functionUses: 1
    functionsReached:
    - dns_zone_getorigin
    - ns_stats_increment
    - update_log
    - isc_mem_get
    - dns_name_format
    - isc_quota_acquire
    - isc_quota_release
    - checkupdateacl
    - ns_client_log
    - isc_async_run
    - RETERR
    - dns_rdataclass_format
    - isc_nmhandle_attach
    - dns_zone_getclass
    - dns_zone_getloop
    - dns_zone_getforwardacl
    - isc_result_totext
    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: 98
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 98
    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: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    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: 111
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 111
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    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: 115
      start: 114
    functionDepth: 0
    functionLinenumber: 114
    functionLinenumberEnd: 115
    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: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    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: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    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: 128
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 128
    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: 130
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 130
    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: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    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: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    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: 137
      start: 136
    functionDepth: 0
    functionLinenumber: 136
    functionLinenumberEnd: 137
    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: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    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: 142
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 142
    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: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    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: 148
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 148
    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: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    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: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    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: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    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:162,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:165,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:167,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:169,1
    - Dst: isc_thread_self
      Src: /src/bind9/lib/ns/query.c:173,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:177,1
    - Dst: isc_thread_self
      Src: /src/bind9/lib/ns/query.c:180,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - client
    - level
    - message
    argTypes:
    - ns_client_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 159
    functionDepth: 2
    functionLinenumber: 159
    functionLinenumberEnd: 182
    functionName: client_trace
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_thread_self
    - dns_name_format
    - dns_rdatatype_format
    - isc_log_write
    - 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: 184
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 184
    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: 185
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 185
    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: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    functionName: PENDINGOK
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: PENDINGOK(x)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/query.c:199,1
    - Dst: atomic_exchange_relaxed
      Src: /src/bind9/lib/ns/query.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 206
    functionName: can_log_rpznotready
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - atomic_exchange_relaxed
    - isc_stdtime_now
    linkageType: ''
    returnType: bool
    signature: bool can_log_rpznotready(void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:248,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:254,1
    - Dst: func
      Src: /src/bind9/lib/ns/query.c:256,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/query.c:258,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 4
    argNames:
    - id
    - qctx
    - result
    - hooktab
    argTypes:
    - uint8_t
    - query_ctx_t*
    - isc_result_t*
    - ns_hooktable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 244
    functionDepth: 1
    functionLinenumber: 244
    functionLinenumberEnd: 269
    functionName: ns__query_callhook
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - INSIST
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - UNREACHABLE
    - func
    linkageType: ''
    returnType: ns_hookresult_t
    signature: "ns_hookresult_t ns__query_callhook(uint8_t id, query_ctx_t *qctx,
      isc_result_t *result,\n\t\t   ns_hooktable_t *hooktab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:274,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:281,1
    - Dst: func
      Src: /src/bind9/lib/ns/query.c:283,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/query.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - id
    - qctx
    - hooktab
    argTypes:
    - uint8_t
    - query_ctx_t*
    - ns_hooktable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 271
    functionDepth: 1
    functionLinenumber: 271
    functionLinenumberEnd: 286
    functionName: ns__query_callhook_noreturn
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - ISC_LIST_HEAD
    - INSIST
    - func
    linkageType: ''
    returnType: void
    signature: "void ns__query_callhook_noreturn(uint8_t id, query_ctx_t *qctx,\n\t\t\t
      \   ns_hooktable_t *hooktab)"
  - 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: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 320
    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: 344
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 344
    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:552,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/query.c:559,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/query.c:562,1
    - Dst: dns_zone_getrcvquerystats
      Src: /src/bind9/lib/ns/query.c:571,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:573,1
    - Dst: dns_rdatatypestats_increment
      Src: /src/bind9/lib/ns/query.c:576,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - client
    - counter
    argTypes:
    - ns_client_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 544
    functionDepth: 3
    functionLinenumber: 544
    functionLinenumberEnd: 580
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - ns_stats_increment
    - dns_rdatatypestats_increment
    - ISC_LIST_HEAD
    - dns_zone_getrcvquerystats
    - isc_stats_increment
    - dns_zone_getrequeststats
    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:589,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:590,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:590,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:594,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:596,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:599,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:601,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:602,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:605,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:608,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:610,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:611,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:612,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:613,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:615,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: 616
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 616
    functionName: ns_client_log_flags
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTRECURSION
    - TCP
    - snprintf
    - HAVECOOKIE
    - WANTCOOKIE
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_buffer_putstr
    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:622,1
    - Dst: dns_ecs_format
      Src: /src/bind9/lib/ns/query.c:623,1
    - Dst: strlcat
      Src: /src/bind9/lib/ns/query.c:624,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: 625
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 625
    functionName: ns_client_log_ecs
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - strlcat
    - dns_ecs_format
    - 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:639,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:643,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:644,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:646,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:647,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/ns/query.c:648,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:649,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/ns/query.c:650,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:652,1
    - Dst: ns_client_log_ecs
      Src: /src/bind9/lib/ns/query.c:653,1
    - Dst: ns_client_log_flags
      Src: /src/bind9/lib/ns/query.c:656,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - client
    - rcode
    argTypes:
    - ns_client_t*
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 627
    functionDepth: 3
    functionLinenumber: 627
    functionLinenumberEnd: 665
    functionName: log_response
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - HAVEECS
    - dns_rcode_totext
    - isc_netaddr_format
    - dns_name_format
    - dns_rdatatype_format
    - ns_client_log_ecs
    - ns_client_log
    - dns_rdataclass_format
    - isc_log_wouldlog
    - ns_client_log_flags
    - isc_buffer_putuint8
    - isc_buffer_init
    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:672,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:674,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:679,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:696,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/query.c:697,1
    - Dst: log_response
      Src: /src/bind9/lib/ns/query.c:700,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:703,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 704
      start: 667
    functionDepth: 4
    functionLinenumber: 667
    functionLinenumberEnd: 704
    functionName: query_send
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_client_send
    - isc_nmhandle_detach
    - ISC_LIST_EMPTY
    - log_response
    - inc_stats
    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:708,1
    - Dst: dns_result_torcode
      Src: /src/bind9/lib/ns/query.c:711,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:714,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:715,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:718,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:721,1
    - Dst: log_queryerror
      Src: /src/bind9/lib/ns/query.c:729,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/query.c:731,1
    - Dst: log_response
      Src: /src/bind9/lib/ns/query.c:736,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:739,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: 740
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 740
    functionName: query_error
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - log_queryerror
    - ns_client_error
    - dns_result_torcode
    - isc_nmhandle_detach
    - ISC_LOG_DEBUG
    - log_response
    - inc_stats
    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:745,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:747,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:749,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/query.c:751,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:752,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 753
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 753
    functionName: query_next
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_detach
    - inc_stats
    - ns_client_drop
    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:759,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:765,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client
    - everything
    argTypes:
    - ns_client_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 771
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 771
    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:775,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:775,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:777,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/ns/query.c:781,1
    - Dst: ns_client_t*::query::hookasyncctx::cancel
      Src: /src/bind9/lib/ns/query.c:786,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:789,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 790
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 790
    functionName: ns_query_cancel
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - LOCK
    - NS_CLIENT_VALID
    - ns_client_t*::query::hookasyncctx::cancel
    - UNLOCK
    - dns_resolver_cancelfetch
    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:798,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:798,1
    - Dst: ns_query_cancel
      Src: /src/bind9/lib/ns/query.c:803,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:808,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/query.c:809,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:810,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/ns/query.c:811,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:814,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:817,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:820,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:824,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:827,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/query.c:830,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:835,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:836,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:839,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:841,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:844,1
    - Dst: query_freefreeversions
      Src: /src/bind9/lib/ns/query.c:847,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:849,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/query.c:850,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:851,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/query.c:852,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:860,1
    - Dst: rpz_st_clear
      Src: /src/bind9/lib/ns/query.c:868,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:870,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/ns/query.c:875,1
    - Dst: recparam_update
      Src: /src/bind9/lib/ns/query.c:885,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 71
    argCount: 2
    argNames:
    - client
    - everything
    argTypes:
    - ns_client_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 889
      start: 792
    functionDepth: 3
    functionLinenumber: 792
    functionLinenumberEnd: 889
    functionName: query_reset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_freefreeversions
    - ISC_LIST_UNLINK
    - dns_zone_detach
    - isc_mem_put
    - isc_counter_detach
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - ISC_LIST_INITANDAPPEND
    - ns_client_putrdataset
    - rpz_st_clear
    - ISC_LIST_NEXT
    - CTRACE
    - recparam_update
    - dns_db_detach
    - dns_db_closeversion
    - dns_message_puttempname
    - ns_query_cancel
    - isc_mem_cput
    - dns_db_detachnode
    - ISC_LIST_FOREACH
    - isc_buffer_free
    linkageType: ''
    returnType: void
    signature: void query_reset(ns_client_t *client, bool everything)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_gethooktable
      Src: /src/bind9/lib/ns/query.c:900,1
    - Dst: CALL_HOOK_NORETURN
      Src: /src/bind9/lib/ns/query.c:903,1
    - Dst: query_reset
      Src: /src/bind9/lib/ns/query.c:905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 906
      start: 891
    functionDepth: 4
    functionLinenumber: 891
    functionLinenumberEnd: 906
    functionName: query_cleanup
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_reset
    - dns_zone_gethooktable
    - CALL_HOOK_NORETURN
    linkageType: ''
    returnType: void
    signature: void query_cleanup(ns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_counter_create
      Src: /src/bind9/lib/ns/query.c:914,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 908
    functionDepth: 2
    functionLinenumber: 908
    functionLinenumberEnd: 918
    functionName: maybe_init_fetch_counter
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_counter_create
    linkageType: ''
    returnType: void
    signature: void maybe_init_fetch_counter(ns_client_t *client)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:922,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:922,1
    - Dst: query_reset
      Src: /src/bind9/lib/ns/query.c:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 925
      start: 920
    functionDepth: 4
    functionLinenumber: 920
    functionLinenumberEnd: 925
    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:929,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:929,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:933,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:934,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/query.c:935,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/query.c:941,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:943,1
    - Dst: query_reset
      Src: /src/bind9/lib/ns/query.c:944,1
    - Dst: ns_client_newdbversion
      Src: /src/bind9/lib/ns/query.c:945,1
    - Dst: ns_client_newnamebuf
      Src: /src/bind9/lib/ns/query.c:946,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 947
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 947
    functionName: ns_query_init
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_reset
    - REQUIRE
    - isc_mutex_init
    - ns_client_newdbversion
    - ns_client_newnamebuf
    - NS_CLIENT_VALID
    - ISC_LIST_INIT
    - dns_fixedname_initname
    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:985,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:988,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:992,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1002,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1002,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:1004,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1007,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1009,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:1019,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:1022,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1025,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: 1042
      start: 965
    functionDepth: 2
    functionLinenumber: 965
    functionLinenumberEnd: 1042
    functionName: query_checkcacheaccess
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_client_aclmsg
    - ns_client_checkaclsilent
    - dns_ede_add
    - NS_CLIENT_ACLMSGSIZE
    - ns_client_log
    - ISC_LOG_DEBUG
    - 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:1053,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1054,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:1059,1
    - Dst: query_checkcacheaccess
      Src: /src/bind9/lib/ns/query.c:1060,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:1071,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:1071,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:1082,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:1083,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1099,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1101,1
    - Dst: dns_zone_getqueryacl
      Src: /src/bind9/lib/ns/query.c:1115,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:1138,1
    - Dst: NS_CLIENT_ACLMSGSIZE
      Src: /src/bind9/lib/ns/query.c:1140,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1142,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1142,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:1143,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1146,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1148,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/query.c:1152,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1155,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:1158,1
    - Dst: dns_zone_getqueryonacl
      Src: /src/bind9/lib/ns/query.c:1180,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:1185,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:1188,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1191,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/ns/query.c:1206,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: 1208
      start: 1044
    functionDepth: 3
    functionLinenumber: 1044
    functionLinenumberEnd: 1208
    functionName: query_validatezonedb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_getqueryacl
    - ns_client_aclmsg
    - WANTRECURSION
    - ns_client_checkaclsilent
    - dns_ede_add
    - SET_IF_NOT_NULL
    - NS_CLIENT_ACLMSGSIZE
    - ns_client_log
    - isc_log_wouldlog
    - ISC_LOG_DEBUG
    - query_checkcacheaccess
    - CTRACE
    - ns_client_findversion
    - RECURSIONOK
    - dns_zone_getqueryonacl
    - dns_zone_gettype
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1221,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1222,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/query.c:1232,1
    - Dst: dns_zone_isexpired
      Src: /src/bind9/lib/ns/query.c:1238,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/query.c:1243,1
    - Dst: query_validatezonedb
      Src: /src/bind9/lib/ns/query.c:1250,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:1268,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1271,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 43
    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: 1275
      start: 1210
    functionDepth: 4
    functionLinenumber: 1210
    functionLinenumberEnd: 1275
    functionName: query_getzonedb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_view_findzone
    - query_validatezonedb
    - dns_zone_detach
    - dns_db_detach
    - dns_zone_isexpired
    - dns_zone_getdb
    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:1296,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/query.c:1300,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/query.c:1302,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1307,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/ns/query.c:1312,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1316,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1317,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1320,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:1328,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:1329,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:1330,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:1331,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1338,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1340,1
    - Dst: dns_rpz_policy2str
      Src: /src/bind9/lib/ns/query.c:1341,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: 1343
      start: 1277
    functionDepth: 3
    functionLinenumber: 1277
    functionLinenumberEnd: 1343
    functionName: rpz_log_rewrite
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_stats_increment
    - INSIST
    - dns_name_format
    - dns_rdatatype_format
    - dns_rpz_type2str
    - ISC_LIST_HEAD
    - DNS_RPZ_ZBIT
    - isc_stats_increment
    - ns_client_log
    - dns_rdataclass_format
    - dns_zone_getrequeststats
    - 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:1355,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1368,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1371,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1379,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1383,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1389,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:1392,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: 1393
      start: 1345
    functionDepth: 2
    functionLinenumber: 1345
    functionLinenumberEnd: 1393
    functionName: rpz_log_fail_helper
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_rpz_type2str
    - ns_client_log
    - isc_log_wouldlog
    - isc_result_totext
    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:1398,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: 1400
      start: 1395
    functionDepth: 3
    functionLinenumber: 1395
    functionLinenumberEnd: 1400
    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:1413,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1413,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:1416,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:1426,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1428,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:1430,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:1431,1
    - Dst: dns_rpz_type2str
      Src: /src/bind9/lib/ns/query.c:1434,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:1440,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: 1443
      start: 1405
    functionDepth: 5
    functionLinenumber: 1405
    functionLinenumberEnd: 1443
    functionName: rpz_getdb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - CTRACE
    - dns_name_format
    - dns_rpz_type2str
    - rpz_log_fail
    - ns_client_log
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - query_getzonedb
    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:1456,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:1458,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:1462,1
    - Dst: query_checkcacheaccess
      Src: /src/bind9/lib/ns/query.c:1464,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1466,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: 1476
      start: 1449
    functionDepth: 3
    functionLinenumber: 1449
    functionLinenumberEnd: 1476
    functionName: query_getcachedb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - dns_db_detach
    - USECACHE
    - 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:1488,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:1491,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:1495,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:1500,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/query.c:1500,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:1508,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:1514,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:1515,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:1516,1
    - Dst: dns_view_searchdlz
      Src: /src/bind9/lib/ns/query.c:1519,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:1529,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1537,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1545,1
    - Dst: query_getcachedb
      Src: /src/bind9/lib/ns/query.c:1570,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: 1576
      start: 1478
    functionDepth: 5
    functionLinenumber: 1478
    functionLinenumberEnd: 1576
    functionName: query_getdb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - REQUIRE
    - dns_clientinfo_setecs
    - dns_db_detach
    - dns_zone_detach
    - query_getcachedb
    - dns_view_searchdlz
    - ISC_LIST_EMPTY
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    - ns_client_findversion
    - dns_name_countlabels
    - query_getzonedb
    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:1585,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1585,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:1590,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1596,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1596,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:1607,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/ns/query.c:1612,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1614,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1614,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: 1616
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1616
    functionName: query_isduplicate
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_message_findname
    - RUNTIME_CHECK
    - SET_IF_NOT_NULL
    - ISC_LOG_DEBUG
    - CTRACE
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:1652,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:1653,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:1660,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:1664,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:1666,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:1669,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:1678,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:1679,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    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: 1685
      start: 1641
    functionDepth: 1
    functionLinenumber: 1641
    functionLinenumberEnd: 1685
    functionName: query_additionalauthfind
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_issecure
    - dns_db_findext
    - dns_rdataset_cleanup
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1728,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:1733,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1736,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1736,1
    - Dst: query_additionalauthfind
      Src: /src/bind9/lib/ns/query.c:1738,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:1742,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1749,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/query.c:1751,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:1751,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:1753,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1755,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1755,1
    - Dst: query_additionalauthfind
      Src: /src/bind9/lib/ns/query.c:1757,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1763,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    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: 1773
      start: 1707
    functionDepth: 5
    functionLinenumber: 1707
    functionLinenumberEnd: 1773
    functionName: query_additionalauth
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_attach
    - dns_db_detach
    - dns_zone_detach
    - query_additionalauthfind
    - ISC_LOG_DEBUG
    - RETERR
    - CTRACE
    - ns_client_findversion
    - RECURSIONOK
    - query_getzonedb
    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: 52
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1797,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:1797,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:1798,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:1800,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/ns/query.c:1800,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:1804,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:1804,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:1806,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:1807,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:1824,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:1825,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1826,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:1827,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1828,1
    - Dst: query_additionalauth
      Src: /src/bind9/lib/ns/query.c:1844,1
    - Dst: query_getcachedb
      Src: /src/bind9/lib/ns/query.c:1859,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1870,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:1874,1
    - Dst: dns_cache_updatestats
      Src: /src/bind9/lib/ns/query.c:1880,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:1881,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:1882,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:1888,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:1889,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:1891,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:1893,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:1918,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:1918,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:1922,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:1927,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:1930,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:1945,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1950,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:1951,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1959,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:1960,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:1963,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:1964,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:1969,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:1979,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:1981,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:1994,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:1996,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:1999,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:2000,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2001,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:2003,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:2006,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2012,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2013,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:2019,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:2020,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:2023,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:2026,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2027,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2028,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:2029,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2034,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2041,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2044,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2046,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2049,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2051,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2053,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2054,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:2058,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:2062,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2068,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2069,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:2076,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:2077,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:2080,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:2084,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2085,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2086,1
    - Dst: query_isduplicate
      Src: /src/bind9/lib/ns/query.c:2087,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2093,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2100,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2103,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2105,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2115,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2115,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:2129,1
    - Dst: dns_rdatatype_followadditional
      Src: /src/bind9/lib/ns/query.c:2138,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/ns/query.c:2142,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2155,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2155,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2156,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2158,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2161,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2164,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2167,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2170,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2170,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 238
    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: 2172
      start: 1775
    functionDepth: 6
    functionLinenumber: 1775
    functionLinenumberEnd: 2172
    functionName: query_additional_cb
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - REQUIRE
    - dns_rdatatype_followadditional
    - INSIST
    - query_getcachedb
    - dns_db_origin
    - ns_client_getnamebuf
    - dns_rdataset_additionaldata
    - NS_CLIENT_VALID
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - ns_client_putrdataset
    - ns_client_newrdataset
    - DNS_TRUST_GLUE
    - dns_db_findext
    - query_additionalauth
    - dns_rdataset_isassociated
    - ns_client_newname
    - dns_rdatatype_isdnssec
    - CTRACE
    - dns_name_issubdomain
    - dns_db_detach
    - ns_client_releasename
    - dns_db_findrdataset
    - dns_rdataset_clone
    - dns_clientinfomethods_init
    - query_isduplicate
    - DNS_TRUST_PENDING
    - validate
    - dns_cache_updatestats
    - dns_message_addname
    - dns_db_detachnode
    - dns_db_attach
    - ns_client_keepname
    - dns_rdataset_cleanup
    - ISC_LIST_APPEND
    - ns_client_findversion
    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:2179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - name
    - rdataset
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2180
      start: 2177
    functionDepth: 1
    functionLinenumber: 2177
    functionLinenumberEnd: 2180
    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:2190,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/query.c:2192,1
    - Dst: dns_order_find
      Src: /src/bind9/lib/ns/query.c:2195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - qctx
    - name
    - rdataset
    argTypes:
    - query_ctx_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2207
      start: 2185
    functionDepth: 1
    functionLinenumber: 2185
    functionLinenumberEnd: 2207
    functionName: query_setorder
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - ISC_LOG_DEBUG
    - dns_order_find
    - 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:2218,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2218,1
    - Dst: NOADDITIONAL
      Src: /src/bind9/lib/ns/query.c:2220,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:2228,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:2232,1
    - Dst: dns_db_addglue
      Src: /src/bind9/lib/ns/query.c:2237,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/ns/query.c:2249,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2251,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2251,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: 2252
      start: 2212
    functionDepth: 1
    functionLinenumber: 2212
    functionLinenumberEnd: 2252
    functionName: query_additional
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - NOADDITIONAL
    - dns_rdataset_additionaldata
    - ISC_LOG_DEBUG
    - dns_db_iszone
    - CTRACE
    - ns_client_findversion
    - dns_db_addglue
    linkageType: ''
    returnType: void
    signature: "void query_additional(query_ctx_t *qctx, dns_name_t *name,\n\t\t dns_rdataset_t
      *rdataset)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - 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: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2266,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:2282,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2289,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2289,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2292,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:2303,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:2305,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:2309,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:2311,1
    - Dst: query_addtoname
      Src: /src/bind9/lib/ns/query.c:2325,1
    - Dst: query_setorder
      Src: /src/bind9/lib/ns/query.c:2326,1
    - Dst: query_additional
      Src: /src/bind9/lib/ns/query.c:2327,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2335,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:2339,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2343,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    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: 2344
      start: 2254
    functionDepth: 2
    functionLinenumber: 2254
    functionLinenumberEnd: 2344
    functionName: query_addrrset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - query_addtoname
    - dns_rdataset_isassociated
    - ns_client_releasename
    - ns_client_keepname
    - dns_message_findname
    - RUNTIME_CHECK
    - ISC_LIST_APPEND
    - query_additional
    - ISC_LOG_DEBUG
    - CTRACE
    - query_setorder
    - dns_message_addname
    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:2362,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:2363,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/query.c:2368,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/query.c:2373,1
    - Dst: dns_rdataset_trimttl
      Src: /src/bind9/lib/ns/query.c:2374,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/ns/query.c:2377,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/ns/query.c:2379,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2381,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: 2382
      start: 2350
    functionDepth: 1
    functionLinenumber: 2350
    functionLinenumberEnd: 2382
    functionName: mark_secure
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - isc_stdtime_now
    - dns_db_findnodeext
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    - dns_rdataset_trimttl
    - dns_db_addrdataset
    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:2400,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:2401,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2403,1
    - Dst: dns_db_findnodeext
      Src: /src/bind9/lib/ns/query.c:2404,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:2410,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2413,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:2422,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:2424,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2427,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:2430,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:2436,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:2437,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2438,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/ns/query.c:2441,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/ns/query.c:2445,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/ns/query.c:2446,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/ns/query.c:2450,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: 2459
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2459
    functionName: get_key
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_dnssec_keyfromrdata
    - dns_dnssec_iszonekey
    - dns_rdataset_isassociated
    - dns_rdataset_next
    - dns_rdataset_first
    - dns_db_findrdataset
    - dns_db_findnodeext
    - dst_algorithm_fromdata
    - dns_rdata_toregion
    - dns_clientinfomethods_init
    - dst_region_computeid
    - dns_rdataset_current
    - dns_clientinfo_init
    - dns_rdata_tostruct
    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:2468,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/ns/query.c:2471,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: 2481
      start: 2461
    functionDepth: 1
    functionLinenumber: 2461
    functionLinenumberEnd: 2481
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:2494,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:2500,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:2501,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:2502,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/ns/query.c:2503,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2510,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:2513,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/lib/ns/query.c:2514,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2515,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/ns/query.c:2516,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2517,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:2518,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:2520,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/query.c:2521,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:2524,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:2527,1
    - Dst: get_key
      Src: /src/bind9/lib/ns/query.c:2529,1
    - Dst: verify
      Src: /src/bind9/lib/ns/query.c:2532,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2533,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2534,1
    - Dst: mark_secure
      Src: /src/bind9/lib/ns/query.c:2535,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2539,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2541,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    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: 2544
      start: 2486
    functionDepth: 2
    functionLinenumber: 2486
    functionLinenumberEnd: 2544
    functionName: validate
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 26
    functionsReached:
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - dst_algorithm_totext
    - dns_resolver_algorithm_supported
    - dns_rdataset_isassociated
    - RUNTIME_CHECK
    - isc_buffer_putuint8
    - mark_secure
    - dst_key_free
    - isc_buffer_init
    - dns_name_issubdomain
    - dns_rdata_tostruct
    - verify
    - dns_rdataset_current
    - isc_buffer_putstr
    - get_key
    - dns_name_totext
    - dns_ede_add
    - dns_rdataset_cleanup
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:2500,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:2501,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:2502,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/ns/query.c:2503,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/ns/query.c:2510,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:2513,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/lib/ns/query.c:2514,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2515,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/ns/query.c:2516,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/query.c:2517,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/query.c:2518,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:2520,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/query.c:2521,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:2524,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:2527,1
    - Dst: get_key
      Src: /src/bind9/lib/ns/query.c:2529,1
    - Dst: verify
      Src: /src/bind9/lib/ns/query.c:2532,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2533,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:2534,1
    - Dst: mark_secure
      Src: /src/bind9/lib/ns/query.c:2535,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/ns/query.c:2539,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2541,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2498
    functionDepth: 2
    functionLinenumber: 2498
    functionLinenumberEnd: 2542
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - dst_algorithm_totext
    - dns_resolver_algorithm_supported
    - RUNTIME_CHECK
    - isc_buffer_putuint8
    - mark_secure
    - dst_key_free
    - isc_buffer_init
    - dns_name_issubdomain
    - dns_rdata_tostruct
    - verify
    - dns_rdataset_current
    - isc_buffer_putstr
    - get_key
    - dns_name_totext
    - dns_ede_add
    - dns_rdataset_cleanup
    - dst_algorithm_fromdata
    - isc_buffer_base
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(sigrdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2549,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2551,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - client
    - rdataset
    argTypes:
    - ns_client_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2553
      start: 2546
    functionDepth: 1
    functionLinenumber: 2546
    functionLinenumberEnd: 2553
    functionName: fixrdataset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_cleanup
    - ns_client_newrdataset
    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:2559,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:2560,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: 2562
      start: 2555
    functionDepth: 1
    functionLinenumber: 2555
    functionLinenumberEnd: 2562
    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:2568,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2568,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:2571,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2574,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2577,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2580,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2583,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/ns/query.c:2586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - client
    - frespp
    argTypes:
    - ns_client_t*
    - dns_fetchresponse_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2587
      start: 2564
    functionDepth: 1
    functionLinenumber: 2564
    functionLinenumberEnd: 2587
    functionName: free_fresp
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_detach
    - dns_resolver_freefresp
    - ISC_LOG_DEBUG
    - CTRACE
    - dns_resolver_destroyfetch
    - ns_client_putrdataset
    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:2593,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/query.c:2607,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/query.c:2614,1
    - Dst: isc_stats_update_if_greater
      Src: /src/bind9/lib/ns/query.c:2617,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 2
    argNames:
    - client
    - soft_limit
    argTypes:
    - ns_client_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2621
      start: 2589
    functionDepth: 2
    functionLinenumber: 2589
    functionLinenumberEnd: 2621
    functionName: recursionquotatype_attach
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_quota_acquire
    - isc_quota_release
    - isc_stats_update_if_greater
    - isc_stats_increment
    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:2625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2623
    functionDepth: 3
    functionLinenumber: 2623
    functionLinenumberEnd: 2626
    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:2630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2631
      start: 2628
    functionDepth: 3
    functionLinenumber: 2628
    functionLinenumberEnd: 2631
    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:2635,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/ns/query.c:2636,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2633
    functionDepth: 2
    functionLinenumber: 2633
    functionLinenumberEnd: 2638
    functionName: recursionquotatype_detach
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_stats_decrement
    - isc_quota_release
    linkageType: ''
    returnType: void
    signature: void recursionquotatype_detach(ns_client_t *client)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:2673,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:2674,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:2676,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/query.c:2687,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/query.c:2688,1
    - Dst: qctx_init
      Src: /src/bind9/lib/ns/query.c:2690,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:2692,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:2693,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:2694,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:2695,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:2698,1
    - Dst: qctx_prepare_buffers
      Src: /src/bind9/lib/ns/query.c:2698,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:2704,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:2705,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2711,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2713,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:2716,1
    - Dst: qctx_deinit
      Src: /src/bind9/lib/ns/query.c:2717,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 45
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2719
      start: 2640
    functionDepth: 3
    functionLinenumber: 2640
    functionLinenumberEnd: 2719
    functionName: stale_refresh_aftermath
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_clientinfo_setecs
    - dns_db_detachnode
    - isc_time_now
    - HAVEECS
    - dns_db_attach
    - dns_db_findext
    - dns_db_detach
    - dns_rdatatype_format
    - dns_name_format
    - qctx_init
    - qctx_deinit
    - ns_client_log
    - dns_clientinfomethods_init
    - dns_clientinfo_init
    - qctx_prepare_buffers
    - CHECK
    - qctx_freedata
    - isc_time_seconds
    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:2729,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:2729,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2731,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2731,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:2737,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:2739,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:2742,1
    - Dst: stale_refresh_aftermath
      Src: /src/bind9/lib/ns/query.c:2746,1
    - Dst: recursionquotatype_detach
      Src: /src/bind9/lib/ns/query.c:2749,1
    - Dst: free_fresp
      Src: /src/bind9/lib/ns/query.c:2750,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:2751,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: 2752
      start: 2721
    functionDepth: 4
    functionLinenumber: 2721
    functionLinenumberEnd: 2752
    functionName: cleanup_after_fetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - free_fresp
    - isc_nmhandle_detach
    - LOCK
    - NS_CLIENT_VALID
    - stale_refresh_aftermath
    - ISC_LOG_DEBUG
    - CTRACE
    - UNLOCK
    - recursionquotatype_detach
    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:2756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2754
    functionDepth: 5
    functionLinenumber: 2754
    functionLinenumberEnd: 2757
    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:2761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2762
      start: 2759
    functionDepth: 5
    functionLinenumber: 2759
    functionLinenumberEnd: 2762
    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:2766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2767
      start: 2764
    functionDepth: 5
    functionLinenumber: 2764
    functionLinenumberEnd: 2767
    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:2788,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2793,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:2795,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:2815,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:2821,1
    - Dst: maybe_init_fetch_counter
      Src: /src/bind9/lib/ns/query.c:2822,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/ns/query.c:2823,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2829,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:2830,1
    - Dst: recursionquotatype_detach
      Src: /src/bind9/lib/ns/query.c:2831,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    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: 2833
      start: 2777
    functionDepth: 4
    functionLinenumber: 2777
    functionLinenumberEnd: 2833
    functionName: fetch_and_forget
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_resolver_createfetch
    - recursionquotatype_attach_hard
    - TCP
    - maybe_init_fetch_counter
    - isc_nmhandle_detach
    - ns_client_putrdataset
    - isc_nmhandle_attach
    - recursionquotatype_detach
    - UNREACHABLE
    - ns_client_newrdataset
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2838,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2838,1
    - Dst: STALE_WINDOW
      Src: /src/bind9/lib/ns/query.c:2844,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:2847,1
    - Dst: FETCH_RECTYPE_STALE_REFRESH
      Src: /src/bind9/lib/ns/query.c:2850,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:2859,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:2860,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:2861,1
    - Dst: fetch_and_forget
      Src: /src/bind9/lib/ns/query.c:2872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 14
    argCount: 3
    argNames:
    - client
    - qname
    - rdataset
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2874
      start: 2835
    functionDepth: 5
    functionLinenumber: 2835
    functionLinenumberEnd: 2874
    functionName: query_stale_refresh
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - STALE
    - dns_name_format
    - dns_rdatatype_format
    - STALE_WINDOW
    - isc_log_write
    - fetch_and_forget
    - ISC_LOG_DEBUG
    - CTRACE
    - FETCH_RECTYPE_STALE_REFRESH
    linkageType: ''
    returnType: void
    signature: "void query_stale_refresh(ns_client_t *client, dns_name_t *qname,\n\t\t
      \   dns_rdataset_t *rdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: query_stale_refresh
      Src: /src/bind9/lib/ns/query.c:2885,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2886
      start: 2876
    functionDepth: 6
    functionLinenumber: 2876
    functionLinenumberEnd: 2886
    functionName: query_stale_refresh_ncache
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - query_stale_refresh
    linkageType: ''
    returnType: void
    signature: void query_stale_refresh_ncache(ns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - 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: FETCH_RECTYPE_PREFETCH
      Src: /src/bind9/lib/ns/query.c:2893,1
    - Dst: query_stale_refresh
      Src: /src/bind9/lib/ns/query.c:2899,1
    - Dst: fetch_and_forget
      Src: /src/bind9/lib/ns/query.c:2903,1
    - Dst: dns_rdataset_clearprefetch
      Src: /src/bind9/lib/ns/query.c:2905,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/query.c:2906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - client
    - qname
    - rdataset
    argTypes:
    - ns_client_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2910
      start: 2888
    functionDepth: 6
    functionLinenumber: 2888
    functionLinenumberEnd: 2910
    functionName: query_prefetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ns_stats_increment
    - FETCH_RECTYPE_PREFETCH
    - dns_rdataset_clearprefetch
    - fetch_and_forget
    - ISC_LOG_DEBUG
    - CTRACE
    - query_stale_refresh
    linkageType: ''
    returnType: void
    signature: "void query_prefetch(ns_client_t *client, dns_name_t *qname,\n\t       dns_rdataset_t
      *rdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2916,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:2917,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:2920,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:2923,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2926,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    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: 2928
      start: 2912
    functionDepth: 1
    functionLinenumber: 2912
    functionLinenumberEnd: 2928
    functionName: rpz_clean
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_detachnode
    - dns_db_detach
    - dns_zone_detach
    - dns_rdataset_cleanup
    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:2932,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - st
    argTypes:
    - dns_rpz_st_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2934
      start: 2930
    functionDepth: 2
    functionLinenumber: 2930
    functionLinenumberEnd: 2934
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2938,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:2940,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2940,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:2943,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:2945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - client
    - rdatasetp
    argTypes:
    - ns_client_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2948
      start: 2936
    functionDepth: 1
    functionLinenumber: 2936
    functionLinenumberEnd: 2948
    functionName: rpz_ready
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_cleanup
    - ISC_LOG_DEBUG
    - CTRACE
    - ns_client_newrdataset
    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:2954,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:2954,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2957,1
    - Dst: rpz_match_clear
      Src: /src/bind9/lib/ns/query.c:2959,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:2961,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2963,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2966,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:2969,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2971,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:2974,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2979
      start: 2950
    functionDepth: 3
    functionLinenumber: 2950
    functionLinenumberEnd: 2979
    functionName: rpz_st_clear
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - rpz_clean
    - rpz_match_clear
    - ISC_LOG_DEBUG
    - CTRACE
    - ns_client_putrdataset
    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:2987,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:2988,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:3021,1
    - Dst: DNS_RPZ_ZMASK
      Src: /src/bind9/lib/ns/query.c:3034,1
    - Dst: DNS_RPZ_ZMASK
      Src: /src/bind9/lib/ns/query.c:3036,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:3043,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: 3048
      start: 2981
    functionDepth: 1
    functionLinenumber: 2981
    functionLinenumberEnd: 3048
    functionName: rpz_get_zbits
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RPZ_ZMASK
    - UNREACHABLE
    - RECURSIONOK
    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:3052,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3052,1
    - Dst: FETCH_RECTYPE_RPZ
      Src: /src/bind9/lib/ns/query.c:3054,1
    - Dst: fetch_and_forget
      Src: /src/bind9/lib/ns/query.c:3058,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: 3059
      start: 3050
    functionDepth: 5
    functionLinenumber: 3050
    functionLinenumberEnd: 3059
    functionName: query_rpzfetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - FETCH_RECTYPE_RPZ
    - ISC_LOG_DEBUG
    - fetch_and_forget
    - CTRACE
    linkageType: ''
    returnType: void
    signature: void query_rpzfetch(ns_client_t *client, dns_name_t *qname, dns_rdatatype_t
      type)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3074,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3079,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3079,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3083,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3084,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:3084,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3085,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:3086,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3088,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:3090,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3092,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3095,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3096,1
    - Dst: rpz_ready
      Src: /src/bind9/lib/ns/query.c:3104,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:3115,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:3119,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3122,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:3129,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:3130,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3131,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:3134,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3142,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:3143,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3144,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3153,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3155,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:3167,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:3168,1
    - Dst: query_rpzfetch
      Src: /src/bind9/lib/ns/query.c:3175,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 74
    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: 3180
      start: 3065
    functionDepth: 6
    functionLinenumber: 3065
    functionLinenumberEnd: 3180
    functionName: rpz_rrset_find
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_zone_detach
    - INSIST
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - ns_client_putrdataset
    - ns_query_recurse
    - dns_rdataset_isassociated
    - dns_db_findext
    - CTRACE
    - dns_name_equal
    - rpz_clean
    - rpz_log_fail
    - rpz_ready
    - dns_clientinfomethods_init
    - USECACHE
    - query_getdb
    - dns_db_attach
    - dns_fixedname_initname
    - 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:3193,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3193,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:3218,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:3225,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:3226,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:3229,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:3231,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3235,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3240,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3248,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: 3254
      start: 3186
    functionDepth: 4
    functionLinenumber: 3186
    functionLinenumberEnd: 3254
    functionName: rpz_get_p_name
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - dns_name_concatenate
    - INSIST
    - rpz_log_fail
    - dns_name_getlabelsequence
    - ISC_LOG_DEBUG
    - CTRACE
    - UNREACHABLE
    - dns_name_countlabels
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:3280,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3282,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3282,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:3284,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:3285,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3291,1
    - Dst: rpz_ready
      Src: /src/bind9/lib/ns/query.c:3292,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3294,1
    - Dst: rpz_getdb
      Src: /src/bind9/lib/ns/query.c:3298,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3302,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3304,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/ns/query.c:3314,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3317,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3319,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:3324,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:3327,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3331,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:3335,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3342,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/ns/query.c:3344,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:3350,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:3351,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:3353,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:3356,1
    - Dst: dns_rpz_decode_cname
      Src: /src/bind9/lib/ns/query.c:3368,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3401,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3403,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 78
    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: 3406
      start: 3267
    functionDepth: 6
    functionLinenumber: 3267
    functionLinenumberEnd: 3406
    functionName: rpz_find_p
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_allrdatasets
    - ISC_LOG_DEBUG
    - dns_rpz_decode_cname
    - dns_rdataset_disassociate
    - dns_clientinfo_init
    - dns_rdatasetiter_current
    - dns_db_findext
    - dns_rdatatype_issig
    - CTRACE
    - rpz_clean
    - dns_rdatasetiter_destroy
    - ISC_LIST_EMPTY
    - rpz_log_fail
    - dns_clientinfomethods_init
    - rpz_ready
    - rpz_getdb
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_fixedname_initname
    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:3327,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3332
      start: 3326
    functionDepth: 1
    functionLinenumber: 3326
    functionLinenumberEnd: 3332
    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:3335,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:3342,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3343
      start: 3334
    functionDepth: 1
    functionLinenumber: 3334
    functionLinenumberEnd: 3343
    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:3416,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:3420,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3423,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3424,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3425,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:3426,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3431,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3432,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3433,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:3434,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:3436,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:3438,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: 3439
      start: 3408
    functionDepth: 3
    functionLinenumber: 3408
    functionLinenumberEnd: 3439
    functionName: rpz_save_p
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_rdataset_isassociated
    - rpz_match_clear
    - ISC_MIN
    - MOVE_OWNERSHIP
    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:3462,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3462,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3467,1
    - Dst: dns_rpz_find_ip
      Src: /src/bind9/lib/ns/query.c:3474,1
    - Dst: DNS_RPZ_ZMASK
      Src: /src/bind9/lib/ns/query.c:3479,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3503,1
    - Dst: rpz_get_p_name
      Src: /src/bind9/lib/ns/query.c:3504,1
    - Dst: rpz_find_p
      Src: /src/bind9/lib/ns/query.c:3508,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3519,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3524,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/ns/query.c:3549,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3560,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3560,1
    - Dst: rpz_save_p
      Src: /src/bind9/lib/ns/query.c:3562,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:3572,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3577,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: 3579
      start: 3444
    functionDepth: 7
    functionLinenumber: 3444
    functionLinenumberEnd: 3579
    functionName: rpz_rewrite_ip
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_get_p_name
    - rpz_save_p
    - DNS_RPZ_ZMASK
    - dns_rpz_find_ip
    - rpz_clean
    - dns_name_rdatacompare
    - rpz_find_p
    - dns_fixedname_initname
    - ISC_LOG_DEBUG
    - rpz_log_rewrite
    - CTRACE
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3599,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3599,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:3602,1
    - Dst: rpz_rrset_find
      Src: /src/bind9/lib/ns/query.c:3610,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3632,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:3642,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3647,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:3669,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3672,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3673,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/ns/query.c:3674,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3677,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3678,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/ns/query.c:3679,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/query.c:3685,1
    - Dst: rpz_rewrite_ip
      Src: /src/bind9/lib/ns/query.c:3685,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    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: 3692
      start: 3585
    functionDepth: 8
    functionLinenumber: 3585
    functionLinenumberEnd: 3692
    functionName: rpz_rewrite_ip_rrset
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_get_zbits
    - rpz_rrset_find
    - memmove
    - INSIST
    - isc_netaddr_fromin6
    - rpz_log_fail
    - ISC_LOG_DEBUG
    - RETERR
    - dns_rdataset_current
    - CTRACE
    - rpz_rewrite_ip
    - isc_netaddr_fromin
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:3669,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3672,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3673,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/ns/query.c:3674,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:3677,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:3678,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/ns/query.c:3679,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/query.c:3685,1
    - Dst: rpz_rewrite_ip
      Src: /src/bind9/lib/ns/query.c:3685,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3687
      start: 3667
    functionDepth: 8
    functionLinenumber: 3667
    functionLinenumberEnd: 3687
    functionName: (*ip_rdatasetp)
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - isc_netaddr_fromin6
    - RETERR
    - dns_rdataset_current
    - rpz_rewrite_ip
    - isc_netaddr_fromin
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (*ip_rdatasetp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3708,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3708,1
    - Dst: rpz_rewrite_ip_rrset
      Src: /src/bind9/lib/ns/query.c:3722,1
    - Dst: rpz_rewrite_ip_rrset
      Src: /src/bind9/lib/ns/query.c:3739,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:3745,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:3747,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: 3749
      start: 3698
    functionDepth: 9
    functionLinenumber: 3698
    functionLinenumberEnd: 3749
    functionName: rpz_rewrite_ip_rrsets
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - rpz_rewrite_ip_rrset
    - ISC_LOG_DEBUG
    - CTRACE
    - ns_client_putrdataset
    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:3776,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3776,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:3781,1
    - Dst: dns_rpz_find_name
      Src: /src/bind9/lib/ns/query.c:3793,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3798,1
    - Dst: rpz_get_p_name
      Src: /src/bind9/lib/ns/query.c:3835,1
    - Dst: rpz_find_p
      Src: /src/bind9/lib/ns/query.c:3840,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3851,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3856,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/ns/query.c:3872,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3878,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3878,1
    - Dst: rpz_save_p
      Src: /src/bind9/lib/ns/query.c:3880,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3887,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:3894,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:3900,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: 3902
      start: 3758
    functionDepth: 7
    functionLinenumber: 3758
    functionLinenumberEnd: 3902
    functionName: rpz_rewrite_name
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_get_p_name
    - rpz_get_zbits
    - rpz_save_p
    - rpz_clean
    - rpz_find_p
    - dns_fixedname_initname
    - ISC_LOG_DEBUG
    - rpz_log_rewrite
    - CTRACE
    - dns_name_compare
    - dns_rpz_find_name
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3909,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3909,1
    - Dst: rpz_log_fail_helper
      Src: /src/bind9/lib/ns/query.c:3914,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:3917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    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: 3920
      start: 3904
    functionDepth: 3
    functionLinenumber: 3904
    functionLinenumberEnd: 3920
    functionName: rpz_rewrite_ns_skip
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - rpz_log_fail_helper
    - dns_rdataset_cleanup
    - ISC_LOG_DEBUG
    - CTRACE
    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: 71
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:3954,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:3954,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:3965,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/ns/query.c:3969,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:3971,1
    - Dst: rpz_ck_dnssec
      Src: /src/bind9/lib/ns/query.c:3972,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/ns/query.c:3974,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/ns/query.c:3980,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/ns/query.c:3981,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/ns/query.c:3983,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:3986,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:3991,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:3995,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:3996,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3997,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3998,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:3999,1
    - Dst: can_log_rpznotready
      Src: /src/bind9/lib/ns/query.c:4013,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:4014,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:4050,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:4060,1
    - Dst: rpz_log_fail
      Src: /src/bind9/lib/ns/query.c:4065,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4096,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:4100,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:4102,1
    - Dst: rpz_rewrite_ip
      Src: /src/bind9/lib/ns/query.c:4102,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:4114,1
    - Dst: rpz_rewrite_name
      Src: /src/bind9/lib/ns/query.c:4114,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4122,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4159,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:4161,1
    - Dst: rpz_rewrite_ip_rrsets
      Src: /src/bind9/lib/ns/query.c:4161,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4176,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4178,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:4184,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:4185,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:4185,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4192,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:4195,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:4196,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4200,1
    - Dst: rpz_rrset_find
      Src: /src/bind9/lib/ns/query.c:4203,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4208,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:4218,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4218,1
    - Dst: rpz_rewrite_ns_skip
      Src: /src/bind9/lib/ns/query.c:4235,1
    - Dst: rpz_rewrite_ns_skip
      Src: /src/bind9/lib/ns/query.c:4241,1
    - Dst: rpz_rewrite_ns_skip
      Src: /src/bind9/lib/ns/query.c:4246,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4261,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4262,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4263,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:4264,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:4269,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:4270,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:4271,1
    - Dst: rpz_rewrite_name
      Src: /src/bind9/lib/ns/query.c:4279,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:4284,1
    - Dst: rpz_rewrite_ip_rrsets
      Src: /src/bind9/lib/ns/query.c:4292,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:4295,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/query.c:4301,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4303,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4316,1
    - Dst: rpz_get_zbits
      Src: /src/bind9/lib/ns/query.c:4318,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:4344,1
    - Dst: rpz_match_clear
      Src: /src/bind9/lib/ns/query.c:4348,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4351,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:4355,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:4357,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 241
    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: 4361
      start: 3934
    functionDepth: 10
    functionLinenumber: 3934
    functionLinenumberEnd: 4361
    functionName: rpz_rewrite
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_next
    - dns_name_split
    - dns_rdata_freestruct
    - ISC_LOG_DEBUG
    - rpz_rewrite_ip_rrsets
    - rpz_rewrite_name
    - dns_rdataset_disassociate
    - memset
    - can_log_rpznotready
    - ns_client_putrdataset
    - rpz_get_zbits
    - RWLOCK
    - dns_rdataset_isassociated
    - RUNTIME_CHECK
    - CTRACE
    - dns_rdata_tostruct
    - rpz_rrset_find
    - dns_db_detach
    - dns_name_equal
    - rpz_clean
    - dns_rdataset_first
    - rpz_match_clear
    - dns_rdata_reset
    - isc_netaddr_fromsockaddr
    - atomic_load_acquire
    - rpz_log_fail
    - rpz_log_rewrite
    - dns_rdataset_current
    - CHECK
    - dns_fixedname_init
    - dns_name_clone
    - dns_name_countlabels
    - RWUNLOCK
    - isc_mem_get
    - rpz_rewrite_ns_skip
    - rpz_ck_dnssec
    - dns_fixedname_initname
    - dns_fixedname_name
    - RECURSIONOK
    - rpz_rewrite_ip
    - RECURSING
    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:4375,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4375,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4377,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4392,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4399,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4405,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4417,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:4418,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4420,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4422,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4423,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    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: 4428
      start: 4367
    functionDepth: 1
    functionLinenumber: 4367
    functionLinenumberEnd: 4428
    functionName: rpz_ck_dnssec
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - dns_rdataset_isassociated
    - dns_ncache_current
    - dns_rdatatype_isnsec
    - dns_rdataset_init
    - ISC_LOG_DEBUG
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - CTRACE
    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:4420,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4422,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4426
      start: 4419
    functionDepth: 1
    functionLinenumber: 4419
    functionLinenumberEnd: 4426
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_ncache_current
    - dns_rdatatype_isnsec
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:4479,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:4480,1
    - Dst: dns_ncache_getrdataset
      Src: /src/bind9/lib/ns/query.c:4481,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4488,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4489,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4490,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4491,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4492,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:4493,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:4494,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:4497,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4498,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4505,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: 4509
      start: 4470
    functionDepth: 1
    functionLinenumber: 4470
    functionLinenumberEnd: 4509
    functionName: warn_rfc1918
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dns_name_format
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_rdataset_init
    - ns_client_log
    - dns_rdataset_disassociate
    - dns_ncache_getrdataset
    - dns_rdataset_current
    - dns_rdata_tostruct
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: void warn_rfc1918(ns_client_t *client, dns_name_t *fname, dns_rdataset_t
      *rdataset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_getnsec3parameters
      Src: /src/bind9/lib/ns/query.c:4532,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:4538,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:4539,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4540,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:4541,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:4542,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:4552,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/ns/query.c:4553,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:4554,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:4561,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:4561,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4567,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4570,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4571,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4572,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4573,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4574,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:4575,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:4578,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:4578,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4580,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4581,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:4583,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4585,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4586,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4591,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:4599,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:4605,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4609,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 62
    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: 4612
      start: 4511
    functionDepth: 1
    functionLinenumber: 4511
    functionLinenumberEnd: 4612
    functionName: query_findclosestnsec3
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - INSIST
    - dns_db_origin
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - dns_name_init
    - dns_db_findext
    - dns_rdataset_isassociated
    - RUNTIME_CHECK
    - dns_db_getnsec3parameters
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - dns_rdataset_first
    - dns_rdata_reset
    - dns_name_getlabelsequence
    - dns_clientinfomethods_init
    - dns_rdataset_current
    - dns_name_clone
    - dns_fixedname_init
    - dns_name_countlabels
    - dns_nsec3_hashname
    - dns_rdataset_cleanup
    - ns_client_log
    - dns_fixedname_name
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:4623,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:4625,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/query.c:4625,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:4627,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:4627,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:4629,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:4629,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:4631,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:4632,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4633,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:4634,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4637,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - db
    - version
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4642
      start: 4614
    functionDepth: 1
    functionLinenumber: 4614
    functionLinenumberEnd: 4642
    functionName: dns64_ttl
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - ISC_MIN
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:4649,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4654,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4655,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4656,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:4657,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:4663,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4667,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4668,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:4673,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/ns/query.c:4674,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:4676,1
    - Dst: dns_dns64_aaaaok
      Src: /src/bind9/lib/ns/query.c:4677,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:4683,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/query.c:4689,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/query.c:4695,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: 4699
      start: 4644
    functionDepth: 2
    functionLinenumber: 4644
    functionLinenumberEnd: 4699
    functionName: dns64_aaaaok
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - isc_mem_cput
    - isc_mem_cget
    - dns_rdataset_isassociated
    - INSIST
    - ISC_LIST_HEAD
    - isc_netaddr_fromsockaddr
    - MOVE_OWNERSHIP
    - dns_dns64_aaaaok
    - dns_rdataset_count
    - RECURSIONOK
    linkageType: ''
    returnType: bool
    signature: "bool dns64_aaaaok(ns_client_t *client, dns_rdataset_t *rdataset,\n\t
      \    dns_rdataset_t *sigrdataset)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4724,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4724,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4730,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:4732,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:4733,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:4734,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4736,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:4736,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:4736,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4741,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4741,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4746,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4752,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4754,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4755,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/query.c:4764,1
    - Dst: dns_zone_getqueryacl
      Src: /src/bind9/lib/ns/query.c:4766,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/query.c:4771,1
    - Dst: ns_client_findversion
      Src: /src/bind9/lib/ns/query.c:4776,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4778,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:4785,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4789,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4790,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4793,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4795,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4797,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4801,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4801,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4802,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4803,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4804,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:4805,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4806,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4810,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4812,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/ns/query.c:4813,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:4814,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4815,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4816,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 77
    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: 4823
      start: 4709
    functionDepth: 1
    functionLinenumber: 4709
    functionLinenumberEnd: 4823
    functionName: redirect
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_zone_getqueryacl
    - dns_name_copy
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - dns_clientinfo_init
    - dns_rdataset_isassociated
    - dns_db_findext
    - dns_ncache_current
    - ns_client_checkaclsilent
    - dns_db_iszone
    - CTRACE
    - dns_clientinfo_setecs
    - dns_db_detach
    - dns_rdataset_clone
    - dns_clientinfomethods_init
    - dns_zone_getdb
    - dns_db_detachnode
    - dns_db_issecure
    - dns_db_attach
    - dns_rdatatype_isnsec
    - dns_rdataset_cleanup
    - dns_fixedname_initname
    - dns_db_attachnode
    - ns_client_findversion
    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:4752,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4754,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4755,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4760
      start: 4751
    functionDepth: 1
    functionLinenumber: 4751
    functionLinenumberEnd: 4760
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_ncache_current
    - dns_rdatatype_isnsec
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:4843,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4845,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4845,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:4853,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4857,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:4859,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:4860,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:4861,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4863,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:4863,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:4863,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:4868,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4868,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4873,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:4879,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4881,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4882,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:4891,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4892,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:4896,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:4897,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:4899,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4906,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:4909,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:4916,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:4922,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4926,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4927,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4933,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4935,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4937,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:4943,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4954,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4956,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4958,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:4962,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:4962,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:4966,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:4967,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:4972,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:4973,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:4975,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:4976,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:4977,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:4978,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4979,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4983,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4985,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/ns/query.c:4986,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:4987,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:4988,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:4989,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 106
    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: 4997
      start: 4825
    functionDepth: 6
    functionLinenumber: 4825
    functionLinenumberEnd: 4997
    functionName: redirect2
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_name_copy
    - dns_zone_detach
    - dns_name_split
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - dns_rdataset_disassociate
    - ns_query_recurse
    - dns_name_init
    - dns_rdataset_isassociated
    - dns_name_concatenate
    - dns_db_findext
    - dns_ncache_current
    - RUNTIME_CHECK
    - dns_db_iszone
    - CTRACE
    - dns_name_issubdomain
    - dns_clientinfo_setecs
    - dns_db_detach
    - dns_rdataset_clone
    - dns_name_getlabelsequence
    - dns_clientinfomethods_init
    - query_getdb
    - dns_name_countlabels
    - dns_db_detachnode
    - dns_db_issecure
    - dns_db_attach
    - dns_rdatatype_isnsec
    - dns_rdataset_cleanup
    - REDIRECT
    - dns_fixedname_initname
    - dns_db_attachnode
    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:4879,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:4881,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/ns/query.c:4882,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4887
      start: 4878
    functionDepth: 1
    functionLinenumber: 4878
    functionLinenumberEnd: 4887
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_ncache_current
    - dns_rdatatype_isnsec
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5010,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5011,1
    - Dst: memset
      Src: /src/bind9/lib/ns/query.c:5013,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/ns/query.c:5018,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5020,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5020,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:5035,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    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: 5038
      start: 5007
    functionDepth: 1
    functionLinenumber: 5007
    functionLinenumberEnd: 5038
    functionName: qctx_init
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_view_attach
    - ISC_LOG_DEBUG
    - CCTRACE
    - dns_rdatatype_issig
    - memset
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:5045,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:5046,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:5048,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5053
      start: 5043
    functionDepth: 1
    functionLinenumber: 5043
    functionLinenumberEnd: 5053
    functionName: qctx_clean
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_db_detach
    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:5061,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5065,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:5069,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:5073,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5074,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:5078,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5083,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5084,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:5085,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:5086,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5087,1
    - Dst: free_fresp
      Src: /src/bind9/lib/ns/query.c:5092,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5094
      start: 5058
    functionDepth: 2
    functionLinenumber: 5058
    functionLinenumberEnd: 5094
    functionName: qctx_freedata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_db_detachnode
    - dns_db_detach
    - dns_zone_detach
    - INSIST
    - ns_client_releasename
    - free_fresp
    - ns_client_putrdataset
    linkageType: ''
    returnType: void
    signature: void qctx_freedata(query_ctx_t *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:5101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - qctxp
    argTypes:
    - query_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5102
      start: 5096
    functionDepth: 1
    functionLinenumber: 5096
    functionLinenumberEnd: 5102
    functionName: qctx_destroy
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 5
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void qctx_destroy(query_ctx_t **qctxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_detach
      Src: /src/bind9/lib/ns/query.c:5107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5109
      start: 5104
    functionDepth: 1
    functionLinenumber: 5104
    functionLinenumberEnd: 5109
    functionName: qctx_deinit
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_view_detach
    linkageType: ''
    returnType: void
    signature: void qctx_deinit(query_ctx_t *qctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5120,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:5122,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5129,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5130,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5131,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5132,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5133,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5134,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5135,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5136,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5137,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5138,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5139,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5140,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5141,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5142,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5143,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5144,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5145,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5146,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/ns/query.c:5150,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - src
    - targetp
    argTypes:
    - query_ctx_t*
    - query_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5153
      start: 5118
    functionDepth: 1
    functionLinenumber: 5118
    functionLinenumberEnd: 5153
    functionName: qctx_save
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_view_attach
    - MOVE_OWNERSHIP
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void qctx_save(query_ctx_t *src, query_ctx_t **targetp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5166,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:5169,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:5172,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5181,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/query.c:5183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5185
      start: 5159
    functionDepth: 1
    functionLinenumber: 5159
    functionLinenumberEnd: 5185
    functionName: query_trace
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_name_format
    - snprintf
    - CCTRACE
    - ISC_LOG_DEBUG
    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:5203,1
    - Dst: query_trace
      Src: /src/bind9/lib/ns/query.c:5204,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:5206,1
    - Dst: ns__query_sfcache
      Src: /src/bind9/lib/ns/query.c:5211,1
    - Dst: ns__query_start
      Src: /src/bind9/lib/ns/query.c:5216,1
    - Dst: qctx_deinit
      Src: /src/bind9/lib/ns/query.c:5219,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - client
    - qtype
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5220
      start: 5198
    functionDepth: 2
    functionLinenumber: 5198
    functionLinenumberEnd: 5220
    functionName: query_setup
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ns__query_sfcache
    - qctx_init
    - qctx_deinit
    - CALL_HOOK
    - query_trace
    - ns__query_start
    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:5228,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - qctx
    - ndata
    argTypes:
    - query_ctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5239
      start: 5222
    functionDepth: 0
    functionLinenumber: 5222
    functionLinenumberEnd: 5239
    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:5252,1
    - Dst: get_root_key_sentinel_id
      Src: /src/bind9/lib/ns/query.c:5254,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:5263,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/ns/query.c:5267,1
    - Dst: get_root_key_sentinel_id
      Src: /src/bind9/lib/ns/query.c:5269,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:5278,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 17
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5282
      start: 5247
    functionDepth: 1
    functionLinenumber: 5247
    functionLinenumberEnd: 5282
    functionName: root_key_sentinel_detect
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - get_root_key_sentinel_id
    - ns_client_log
    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:5291,1
    - Dst: dns_name_israd
      Src: /src/bind9/lib/ns/query.c:5304,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/query.c:5305,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:5314,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:5314,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:5315,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:5322,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5326,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:5327,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:5330,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5334
      start: 5284
    functionDepth: 2
    functionLinenumber: 5284
    functionLinenumberEnd: 5334
    functionName: qctx_reportquery
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - dns_name_format
    - TCP
    - isc_log_write
    - HAVECOOKIE
    - dns_zone_getoptions
    - WANTCOOKIE
    - dns_rdataclass_format
    - isc_log_wouldlog
    - dns_name_israd
    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:5343,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/ns/query.c:5345,1
    - Dst: dns_zone_getrad
      Src: /src/bind9/lib/ns/query.c:5346,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/ns/query.c:5348,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5336
    functionDepth: 1
    functionLinenumber: 5336
    functionLinenumberEnd: 5352
    functionName: qctx_setrad
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_zone_getrad
    - dns_name_dup
    - dns_fixedname_initname
    - dns_name_dynamic
    linkageType: ''
    returnType: void
    signature: void qctx_setrad(query_ctx_t *qctx)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5366,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5366,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:5381,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:5388,1
    - Dst: BADCOOKIE
      Src: /src/bind9/lib/ns/query.c:5389,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:5390,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:5391,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5397,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:5403,1
    - Dst: NEEDTCP
      Src: /src/bind9/lib/ns/query.c:5403,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5407,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/ns/query.c:5411,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5419,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:5421,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:5422,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:5424,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5428,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5429,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:5437,1
    - Dst: root_key_sentinel_detect
      Src: /src/bind9/lib/ns/query.c:5440,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/query.c:5448,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:5449,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:5460,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:5464,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:5479,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:5488,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5490,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:5493,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5496,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5497,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:5498,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:5507,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:5510,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:5521,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5522,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5525,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5528,1
    - Dst: PARTIALANSWER
      Src: /src/bind9/lib/ns/query.c:5531,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5532,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5537,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5545,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5548,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5550,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:5562,1
    - Dst: qctx_reportquery
      Src: /src/bind9/lib/ns/query.c:5571,1
    - Dst: qctx_setrad
      Src: /src/bind9/lib/ns/query.c:5572,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/ns/query.c:5591,1
    - Dst: dns_zone_gethooktable
      Src: /src/bind9/lib/ns/query.c:5594,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:5595,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:5597,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/query.c:5604,1
    - Dst: isc_nmhandle_proxy_type
      Src: /src/bind9/lib/ns/query.c:5606,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:5609,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5609,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5610,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5614,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5615,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5618,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5624,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5625,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5628,1
    - Dst: isc_nmhandle_proxy_type
      Src: /src/bind9/lib/ns/query.c:5635,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5637,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5641,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5642,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5651,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/query.c:5656,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5657,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5665,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5672,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5675,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:5678,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:5689,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:5691,1
    CyclomaticComplexity: 61
    EdgeCount: 61
    ICount: 180
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5702
      start: 5361
    functionDepth: 6
    functionLinenumber: 5361
    functionLinenumberEnd: 5702
    functionName: ns__query_start
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 5
    functionsReached:
    - dns_zone_detach
    - PARTIALANSWER
    - INSIST
    - TCP
    - dns_rdata_checkowner
    - dns_zone_gethooktable
    - MOVE_OWNERSHIP
    - WANTCOOKIE
    - ISC_LOG_DEBUG
    - isc_nm_socket_type
    - ns_client_putrdataset
    - isc_nmhandle_proxy_type
    - query_getzonedb
    - dns_rdatatype_atparent
    - QUERY_ERROR
    - dns_name_format
    - WANTRECURSION
    - CALL_HOOK
    - RECURSIONOK
    - ns_query_done
    - CCTRACE
    - query_lookup
    - isc_nm_has_encryption
    - root_key_sentinel_detect
    - qctx_setrad
    - qctx_reportquery
    - inc_stats
    - dns_db_detach
    - dns_name_equal
    - dns_rdatatype_format
    - dns_view_staleanswerenabled
    - dns_rdataclass_format
    - NEEDTCP
    - query_getdb
    - UNREACHABLE
    - dns_db_attach
    - dns_ede_add
    - dns_zone_attach
    - ns_client_log
    - HAVECOOKIE
    - dns_rdatatype_isaddr
    - dns_zone_gettype
    - BADCOOKIE
    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:5712,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:5714,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:5715,1
    - Dst: qctx_deinit
      Src: /src/bind9/lib/ns/query.c:5716,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:5717,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:5718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5719
      start: 5704
    functionDepth: 7
    functionLinenumber: 5704
    functionLinenumberEnd: 5719
    functionName: async_restart
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - qctx_clean
    - qctx_deinit
    - qctx_destroy
    - ns__query_start
    - isc_nmhandle_detach
    - qctx_freedata
    linkageType: ''
    returnType: void
    signature: void async_restart(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5729,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5730,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:5731,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:5733,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:5734,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:5735,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:5737,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:5738,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - qctx
    - buffer
    argTypes:
    - query_ctx_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5742
      start: 5727
    functionDepth: 1
    functionLinenumber: 5727
    functionLinenumberEnd: 5742
    functionName: qctx_prepare_buffers
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - REQUIRE
    - ns_client_getnamebuf
    - ns_client_newname
    - ns_client_newrdataset
    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:5762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - result
    argTypes:
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5763
      start: 5748
    functionDepth: 1
    functionLinenumber: 5748
    functionLinenumberEnd: 5763
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:5788,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:5788,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:5790,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:5792,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:5793,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:5794,1
    - Dst: dns_clientinfo_setecs
      Src: /src/bind9/lib/ns/query.c:5795,1
    - Dst: qctx_prepare_buffers
      Src: /src/bind9/lib/ns/query.c:5801,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5803,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5804,1
    - Dst: dns_db_getservestalerefresh
      Src: /src/bind9/lib/ns/query.c:5828,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:5831,1
    - Dst: dns_name_istat
      Src: /src/bind9/lib/ns/query.c:5838,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:5843,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:5852,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:5853,1
    - Dst: dns_cache_updatestats
      Src: /src/bind9/lib/ns/query.c:5857,1
    - Dst: STALE_WINDOW
      Src: /src/bind9/lib/ns/query.c:5873,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:5885,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:5886,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:5886,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:5893,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:5895,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5897,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:5899,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:5900,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:5901,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:5912,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:5919,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:5924,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5926,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5933,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5934,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:5941,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:5947,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5950,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:5957,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:5958,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:5974,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:5975,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:5976,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:5979,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:5981,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:5982,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:5985,1
    - Dst: stale_client_answer
      Src: /src/bind9/lib/ns/query.c:5986,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:5992,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:5999,1
    - Dst: query_gotanswer
      Src: /src/bind9/lib/ns/query.c:6003,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 106
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6007
      start: 5770
    functionDepth: 3
    functionLinenumber: 5770
    functionLinenumberEnd: 6007
    functionName: query_lookup
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - dns_resolver_destroyfetch
    - dns_db_findext
    - QUERY_ERROR
    - dns_rdataset_isassociated
    - dns_name_format
    - CALL_HOOK
    - dns_db_getservestalerefresh
    - CCTRACE
    - query_lookup
    - inc_stats
    - isc_result_totext
    - dns_clientinfo_setecs
    - HAVEECS
    - STALE
    - dns_rdatatype_format
    - stale_client_answer
    - STALE_WINDOW
    - dns_view_staleanswerenabled
    - isc_log_write
    - dns_clientinfomethods_init
    - FETCH_RECTYPE_NORMAL
    - UNREACHABLE
    - qctx_freedata
    - dns_cache_updatestats
    - dns_db_attach
    - qctx_clean
    - dns_rdataset_cleanup
    - dns_ede_add
    - dns_name_istat
    - qctx_prepare_buffers
    - dns_rdataset_count
    - ns_query_done
    - query_gotanswer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_lookup(query_ctx_t *qctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6027,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:6027,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6028,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:6028,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6030,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6030,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:6044,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6045,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6045,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6046,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6047,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6051,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6051,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6052,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/query.c:6057,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/query.c:6058,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:6066,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6068,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6074,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:6076,1
    - Dst: HANDLE_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6076,1
    - Dst: qctx_init
      Src: /src/bind9/lib/ns/query.c:6086,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:6095,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6100,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:6101,1
    - Dst: query_trace
      Src: /src/bind9/lib/ns/query.c:6106,1
    - Dst: query_resume
      Src: /src/bind9/lib/ns/query.c:6108,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6111,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6113,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:6115,1
    - Dst: dns_resolver_logfetch
      Src: /src/bind9/lib/ns/query.c:6116,1
    - Dst: qctx_deinit
      Src: /src/bind9/lib/ns/query.c:6123,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:6124,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 46
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6125
      start: 6016
    functionDepth: 5
    functionLinenumber: 6016
    functionLinenumberEnd: 6125
    functionName: fetch_callback
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - HANDLE_RECTYPE_NORMAL
    - qctx_init
    - MOVE_OWNERSHIP
    - NS_CLIENT_VALID
    - ISC_LOG_DEBUG
    - dns_resolver_destroyfetch
    - UNLOCK
    - qctx_deinit
    - isc_nmhandle_detach
    - dns_resolver_logfetch
    - CTRACE
    - isc_time_seconds
    - isc_time_now
    - LOCK
    - query_error
    - isc_log_wouldlog
    - FETCH_RECTYPE_NORMAL
    - query_resume
    - qctx_freedata
    - release_recursionquota
    - query_trace
    - RECURSING
    linkageType: ''
    returnType: void
    signature: void fetch_callback(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6134,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:6138,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:6139,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: 6140
      start: 6131
    functionDepth: 1
    functionLinenumber: 6131
    functionLinenumberEnd: 6140
    functionName: recparam_match
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_equal
    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:6149,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:6156,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:6157,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:6163,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:6164,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: 6166
      start: 6146
    functionDepth: 1
    functionLinenumber: 6146
    functionLinenumberEnd: 6166
    functionName: recparam_update
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_fixedname_initname
    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:6171,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/ns/query.c:6172,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/ns/query.c:6176,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6177,1
    - Dst: isc_quota_getused
      Src: /src/bind9/lib/ns/query.c:6178,1
    - Dst: isc_quota_getsoft
      Src: /src/bind9/lib/ns/query.c:6179,1
    - Dst: isc_quota_getmax
      Src: /src/bind9/lib/ns/query.c:6179,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: 6180
      start: 6168
    functionDepth: 2
    functionLinenumber: 6168
    functionLinenumberEnd: 6180
    functionName: recursionquota_log
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_now
    - atomic_load_relaxed
    - atomic_store_relaxed
    - isc_quota_getsoft
    - ns_client_log
    - isc_quota_getused
    - isc_quota_getmax
    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:6191,1
    - Dst: recursionquota_log
      Src: /src/bind9/lib/ns/query.c:6194,1
    - Dst: ns_client_killoldestquery
      Src: /src/bind9/lib/ns/query.c:6198,1
    - Dst: recursionquota_log
      Src: /src/bind9/lib/ns/query.c:6203,1
    - Dst: ns_client_killoldestquery
      Src: /src/bind9/lib/ns/query.c:6206,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:6209,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/ns/query.c:6212,1
    - Dst: ns_client_recursing
      Src: /src/bind9/lib/ns/query.c:6213,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6216
      start: 6187
    functionDepth: 4
    functionLinenumber: 6187
    functionLinenumberEnd: 6216
    functionName: acquire_recursionquota
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_message_clonebuffer
    - recursionquota_log
    - recursionquotatype_attach_soft
    - ns_client_killoldestquery
    - ns_client_recursing
    - UNREACHABLE
    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:6223,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:6225,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/ns/query.c:6226,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:6227,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:6230,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6231
      start: 6221
    functionDepth: 3
    functionLinenumber: 6221
    functionLinenumberEnd: 6231
    functionName: release_recursionquota
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LINK_LINKED
    - LOCK
    - UNLOCK
    - recursionquotatype_detach
    linkageType: ''
    returnType: void
    signature: void release_recursionquota(ns_client_t *client)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6240,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6240,1
    - Dst: recparam_match
      Src: /src/bind9/lib/ns/query.c:6246,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6247,1
    - Dst: recparam_update
      Src: /src/bind9/lib/ns/query.c:6252,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:6255,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/query.c:6258,1
    - Dst: acquire_recursionquota
      Src: /src/bind9/lib/ns/query.c:6258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6263,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6263,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:6265,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:6267,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:6268,1
    - Dst: ns_client_settimeout
      Src: /src/bind9/lib/ns/query.c:6274,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:6277,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:6281,1
    - Dst: HANDLE_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6282,1
    - Dst: maybe_init_fetch_counter
      Src: /src/bind9/lib/ns/query.c:6283,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/ns/query.c:6284,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6289,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6291,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6293,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6295,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:6298,1
    - Dst: HANDLE_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6298,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 6
    argNames:
    - client
    - qtype
    - qname
    - qdomain
    - delegset
    - resuming
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_name_t*
    - dns_delegset_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6308
      start: 6233
    functionDepth: 5
    functionLinenumber: 6233
    functionLinenumberEnd: 6308
    functionName: ns_query_recurse
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - WANTDNSSEC
    - REQUIRE
    - dns_resolver_createfetch
    - HANDLE_RECTYPE_NORMAL
    - TCP
    - ISC_LOG_DEBUG
    - RETERR
    - ns_client_putrdataset
    - ns_client_newrdataset
    - recparam_match
    - isc_nmhandle_detach
    - CTRACE
    - inc_stats
    - recparam_update
    - ns_client_settimeout
    - acquire_recursionquota
    - FETCH_RECTYPE_NORMAL
    - maybe_init_fetch_counter
    - release_recursionquota
    - ns_client_log
    - isc_nmhandle_attach
    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_delegset_t *delegset,
      bool resuming)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:6324,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6326,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6326,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:6328,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6337,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6337,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6343,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:6346,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6349,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6353,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:6357,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6360,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6360,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6366,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6367,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6368,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6369,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6370,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:6374,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6376,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6379,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6380,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6385,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6385,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6387,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:6389,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:6391,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6394,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6394,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6397,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6399,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6400,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6402,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6403,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6404,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6411,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:6412,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:6414,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:6417,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6420,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6420,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6424,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6425,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6426,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6427,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6429,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:6431,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:6437,1
    - Dst: DNS64
      Src: /src/bind9/lib/ns/query.c:6439,1
    - Dst: DNS64EXCLUDE
      Src: /src/bind9/lib/ns/query.c:6444,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6456,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:6460,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:6461,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:6468,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:6469,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:6479,1
    - Dst: free_fresp
      Src: /src/bind9/lib/ns/query.c:6484,1
    - Dst: query_gotanswer
      Src: /src/bind9/lib/ns/query.c:6506,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 119
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6510
      start: 6314
    functionDepth: 2
    functionLinenumber: 6314
    functionLinenumberEnd: 6510
    functionName: query_resume
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - INSIST
    - free_fresp
    - ns_client_getnamebuf
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - ns_client_putrdataset
    - DNS64
    - dns_name_format
    - QUERY_ERROR
    - CALL_HOOK
    - ns_client_newname
    - snprintf
    - CCTRACE
    - dns_rdatatype_issig
    - dns_db_detach
    - dns_rdatatype_format
    - DNS64EXCLUDE
    - dns_db_detachnode
    - REDIRECT
    - ns_client_log
    - ns_query_done
    - query_gotanswer
    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:6520,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6520,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6522,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:6522,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/query.c:6524,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6526,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/query.c:6529,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/query.c:6530,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/query.c:6534,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:6535,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6537,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/query.c:6544,1
    - Dst: HANDLE_RECTYPE_HOOK
      Src: /src/bind9/lib/ns/query.c:6544,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:6554,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:6560,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:6561,1
    - Dst: query_setup
      Src: /src/bind9/lib/ns/query.c:6565,1
    - Dst: ns__query_start
      Src: /src/bind9/lib/ns/query.c:6568,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:6571,1
    - Dst: query_resume
      Src: /src/bind9/lib/ns/query.c:6575,1
    - Dst: query_gotanswer
      Src: /src/bind9/lib/ns/query.c:6578,1
    - Dst: query_respond_any
      Src: /src/bind9/lib/ns/query.c:6581,1
    - Dst: query_addanswer
      Src: /src/bind9/lib/ns/query.c:6584,1
    - Dst: query_notfound
      Src: /src/bind9/lib/ns/query.c:6587,1
    - Dst: query_prepare_delegation_response
      Src: /src/bind9/lib/ns/query.c:6590,1
    - Dst: query_zone_delegation
      Src: /src/bind9/lib/ns/query.c:6593,1
    - Dst: query_delegation
      Src: /src/bind9/lib/ns/query.c:6596,1
    - Dst: query_delegation_recurse
      Src: /src/bind9/lib/ns/query.c:6599,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:6602,1
    - Dst: query_nxdomain
      Src: /src/bind9/lib/ns/query.c:6605,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:6608,1
    - Dst: query_cname
      Src: /src/bind9/lib/ns/query.c:6611,1
    - Dst: query_dname
      Src: /src/bind9/lib/ns/query.c:6614,1
    - Dst: query_respond
      Src: /src/bind9/lib/ns/query.c:6617,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:6620,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:6624,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:6632,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:6636,1
    - Dst: ns_hookasync_t*::destroy
      Src: /src/bind9/lib/ns/query.c:6637,1
    - Dst: qctx_deinit
      Src: /src/bind9/lib/ns/query.c:6638,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:6639,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 97
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6640
      start: 6512
    functionDepth: 7
    functionLinenumber: 6512
    functionLinenumberEnd: 6640
    functionName: query_hookresume
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - query_respond_any
    - query_dname
    - isc_mem_put
    - INSIST
    - query_respond
    - query_nxdomain
    - ns__query_start
    - MOVE_OWNERSHIP
    - NS_CLIENT_VALID
    - ISC_LOG_DEBUG
    - query_notfound
    - UNLOCK
    - qctx_deinit
    - isc_nmhandle_detach
    - query_setup
    - query_lookup
    - query_delegation_recurse
    - CTRACE
    - HANDLE_RECTYPE_HOOK
    - query_prepresponse
    - isc_time_seconds
    - query_delegation
    - isc_time_now
    - query_cname
    - query_nodata
    - qctx_destroy
    - ns_hookasync_t*::destroy
    - LOCK
    - query_error
    - query_addanswer
    - query_resume
    - qctx_freedata
    - query_prepare_delegation_response
    - qctx_clean
    - query_zone_delegation
    - query_ncache
    - release_recursionquota
    - ns_query_done
    - query_gotanswer
    linkageType: ''
    returnType: void
    signature: void query_hookresume(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:6649,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6649,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6651,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:6651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6652,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:6653,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:6653,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:6655,1
    - Dst: acquire_recursionquota
      Src: /src/bind9/lib/ns/query.c:6655,1
    - Dst: qctx_save
      Src: /src/bind9/lib/ns/query.c:6657,1
    - Dst: runasync
      Src: /src/bind9/lib/ns/query.c:6658,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:6679,1
    - Dst: HANDLE_RECTYPE_HOOK
      Src: /src/bind9/lib/ns/query.c:6679,1
    - Dst: release_recursionquota
      Src: /src/bind9/lib/ns/query.c:6683,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:6690,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:6699,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:6700,1
    - Dst: qctx_deinit
      Src: /src/bind9/lib/ns/query.c:6701,1
    - Dst: qctx_destroy
      Src: /src/bind9/lib/ns/query.c:6702,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 3
    argNames:
    - qctx
    - runasync
    - arg
    argTypes:
    - query_ctx_t*
    - ns_query_starthookasync_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6705
      start: 6642
    functionDepth: 5
    functionLinenumber: 6642
    functionLinenumberEnd: 6705
    functionName: ns_query_hookasync
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - qctx_clean
    - qctx_deinit
    - qctx_destroy
    - release_recursionquota
    - acquire_recursionquota
    - NS_CLIENT_VALID
    - query_error
    - ISC_LOG_DEBUG
    - qctx_save
    - runasync
    - isc_nmhandle_attach
    - CTRACE
    - FETCH_RECTYPE_NORMAL
    - CHECK
    - HANDLE_RECTYPE_HOOK
    - qctx_freedata
    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:6722,1
    - Dst: dns_badcache_find
      Src: /src/bind9/lib/ns/query.c:6733,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/query.c:6736,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:6746,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6746,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6750,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:6752,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6754,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6755,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:6763,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:6765,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:6766,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6770
      start: 6714
    functionDepth: 2
    functionLinenumber: 6714
    functionLinenumberEnd: 6770
    functionName: ns__query_sfcache
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - QUERY_ERROR
    - dns_name_format
    - dns_badcache_find
    - dns_rdatatype_format
    - dns_ede_add
    - ns_client_log
    - ns_query_done
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - RECURSIONOK
    - isc_time_seconds
    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:6775,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:6781,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/ns/query.c:6782,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6786,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:6787,1
    - Dst: LIBNS_RRL_DROP
      Src: /src/bind9/lib/ns/query.c:6788,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: 6789
      start: 6772
    functionDepth: 3
    functionLinenumber: 6772
    functionLinenumberEnd: 6789
    functionName: query_trace_rrldrop
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - LIBNS_RRL_DROP
    - isc_netaddr_format
    - LIBNS_RRL_DROP_ENABLED
    - dns_name_format
    - isc_netaddr_fromsockaddr
    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:6812,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6814,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:6818,1
    - Dst: isc_result_toid
      Src: /src/bind9/lib/ns/query.c:6819,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/ns/query.c:6820,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:6821,1
    - Dst: HAVECOOKIE
      Src: /src/bind9/lib/ns/query.c:6830,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/ns/query.c:6831,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:6832,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:6834,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/query.c:6847,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:6854,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:6859,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:6867,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/ns/query.c:6868,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/ns/query.c:6869,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:6872,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:6876,1
    - Dst: dns_rrl
      Src: /src/bind9/lib/ns/query.c:6896,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:6898,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:6914,1
    - Dst: query_trace_rrldrop
      Src: /src/bind9/lib/ns/query.c:6924,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:6932,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:6934,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:6940,1
    - Dst: WANTCOOKIE
      Src: /src/bind9/lib/ns/query.c:6942,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 65
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6969
      start: 6794
    functionDepth: 4
    functionLinenumber: 6794
    functionLinenumberEnd: 6969
    functionName: query_checkrrl
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_db_origin
    - TCP
    - WANTCOOKIE
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - query_trace_rrldrop
    - dns_rdataset_isassociated
    - QUERY_ERROR
    - dns_ncache_current
    - dns_rrl
    - inc_stats
    - isc_result_toid
    - isc_log_wouldlog
    - dns_name_isabsolute
    - ns_client_log
    - HAVECOOKIE
    - dns_fixedname_initname
    - DNS_RDATASET_FOREACH
    - RECURSIONOK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_checkrrl(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:6976,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6979
      start: 6971
    functionDepth: 1
    functionLinenumber: 6971
    functionLinenumberEnd: 6979
    functionName: query_rpz_add_ede
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_ede_add
    linkageType: ''
    returnType: void
    signature: void query_rpz_add_ede(query_ctx_t *qctx)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:6988,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:6988,1
    - Dst: rpz_rewrite
      Src: /src/bind9/lib/ns/query.c:6990,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7004,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:7004,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7008,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7009,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7010,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7011,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7012,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:7013,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7018,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7029,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:7038,1
    - Dst: rpz_clean
      Src: /src/bind9/lib/ns/query.c:7039,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7041,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7043,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:7045,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7049,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7050,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7051,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:7052,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:7058,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7061,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7075,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7082,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7083,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:7111,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:7117,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:7125,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7126,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7127,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7128,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7129,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:7130,1
    - Dst: query_rpz_add_ede
      Src: /src/bind9/lib/ns/query.c:7132,1
    - Dst: query_rpzcname
      Src: /src/bind9/lib/ns/query.c:7133,1
    - Dst: query_rpz_add_ede
      Src: /src/bind9/lib/ns/query.c:7146,1
    - Dst: query_rpzcname
      Src: /src/bind9/lib/ns/query.c:7147,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:7156,1
    - Dst: query_rpz_add_ede
      Src: /src/bind9/lib/ns/query.c:7159,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7168,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7171,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 122
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7178
      start: 6984
    functionDepth: 11
    functionLinenumber: 6984
    functionLinenumberEnd: 7178
    functionName: query_checkrpz
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - INSIST
    - TCP
    - ISC_MIN
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - ns_client_putrdataset
    - query_addsoa
    - QUERY_ERROR
    - RUNTIME_CHECK
    - query_rpz_add_ede
    - CCTRACE
    - dns_rdata_tostruct
    - rpz_clean
    - dns_rdataset_first
    - query_rpzcname
    - dns_rdata_reset
    - rpz_rewrite
    - rpz_log_rewrite
    - dns_rdataset_current
    - UNREACHABLE
    - qctx_clean
    - dns_rdataset_cleanup
    - RECURSING
    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:7193,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:7197,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7197,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:7199,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/ns/query.c:7200,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:7201,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:7202,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7203,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:7204,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:7205,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7206,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:7207,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7207,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:7208,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:7216,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:7219,1
    - Dst: query_addcname
      Src: /src/bind9/lib/ns/query.c:7220,1
    - Dst: rpz_log_rewrite
      Src: /src/bind9/lib/ns/query.c:7222,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:7227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - qctx
    - cname
    argTypes:
    - query_ctx_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7237
      start: 7186
    functionDepth: 4
    functionLinenumber: 7186
    functionLinenumberEnd: 7237
    functionName: query_rpzcname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_name_concatenate
    - ns_client_keepname
    - dns_name_split
    - ns_client_qnamereplace
    - dns_name_iswildcard
    - dns_fixedname_name
    - ISC_LOG_DEBUG
    - rpz_log_rewrite
    - query_addcname
    - CTRACE
    - dns_fixedname_init
    - dns_name_countlabels
    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:7253,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/ns/query.c:7258,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7261,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7263,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:7267,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/ns/query.c:7268,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:7273,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7274,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7275,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7276,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7278,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7279,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7280,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7284,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7288,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7291,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 33
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7294
      start: 7245
    functionDepth: 1
    functionLinenumber: 7245
    functionLinenumberEnd: 7294
    functionName: has_ta
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_keytable_detach
    - dns_keytable_find
    - RUNTIME_CHECK
    - dns_keynode_dsset
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_view_getsecroots
    - dns_keynode_detach
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    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:7273,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7274,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7275,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7276,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/ns/query.c:7278,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/ns/query.c:7279,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7280,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7283
      start: 7269
    functionDepth: 1
    functionLinenumber: 7269
    functionLinenumberEnd: 7283
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_keytable_detach
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_keynode_detach
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: has_ta
      Src: /src/bind9/lib/ns/query.c:7329,1
    - Dst: has_ta
      Src: /src/bind9/lib/ns/query.c:7330,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 20
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7343
      start: 7299
    functionDepth: 2
    functionLinenumber: 7299
    functionLinenumberEnd: 7343
    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:7367,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:7368,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:7370,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:7371,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:7384,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/ns/query.c:7385,1
    - Dst: FETCH_RECTYPE_NORMAL
      Src: /src/bind9/lib/ns/query.c:7386,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7400
      start: 7349
    functionDepth: 6
    functionLinenumber: 7349
    functionLinenumberEnd: 7400
    functionName: query_usestale
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - qctx_clean
    - dns_view_staleanswerenabled
    - FETCH_RECTYPE_NORMAL
    - query_getdb
    - qctx_freedata
    - dns_resolver_destroyfetch
    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:7411,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7411,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7413,1
    - Dst: query_checkrrl
      Src: /src/bind9/lib/ns/query.c:7415,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7416,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:7419,1
    - Dst: query_checkrpz
      Src: /src/bind9/lib/ns/query.c:7420,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:7427,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7438,1
    - Dst: root_key_sentinel_return_servfail
      Src: /src/bind9/lib/ns/query.c:7447,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7452,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7453,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:7458,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7462,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:7464,1
    - Dst: query_notfound
      Src: /src/bind9/lib/ns/query.c:7467,1
    - Dst: query_delegation
      Src: /src/bind9/lib/ns/query.c:7470,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:7474,1
    - Dst: query_nxdomain
      Src: /src/bind9/lib/ns/query.c:7478,1
    - Dst: query_coveringnsec
      Src: /src/bind9/lib/ns/query.c:7481,1
    - Dst: query_redirect
      Src: /src/bind9/lib/ns/query.c:7484,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:7488,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:7491,1
    - Dst: query_cname
      Src: /src/bind9/lib/ns/query.c:7494,1
    - Dst: query_dname
      Src: /src/bind9/lib/ns/query.c:7497,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:7503,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:7505,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7506,1
    - Dst: query_usestale
      Src: /src/bind9/lib/ns/query.c:7507,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:7512,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7521,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7522,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 71
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7527
      start: 7407
    functionDepth: 12
    functionLinenumber: 7407
    functionLinenumberEnd: 7527
    functionName: query_gotanswer
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - query_dname
    - INSIST
    - query_usestale
    - query_nxdomain
    - ISC_LOG_DEBUG
    - query_notfound
    - query_checkrrl
    - query_checkrpz
    - QUERY_ERROR
    - CALL_HOOK
    - query_coveringnsec
    - snprintf
    - CCTRACE
    - query_lookup
    - query_redirect
    - query_delegation
    - query_prepresponse
    - isc_result_totext
    - query_cname
    - dns_name_equal
    - query_nodata
    - query_ncache
    - root_key_sentinel_return_servfail
    - ns_query_done
    - RECURSING
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_gotanswer(query_ctx_t *qctx, isc_result_t result)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:7537,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7537,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:7543,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:7544,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7545,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7546,1
    - Dst: dns_rdataset_getnoqname
      Src: /src/bind9/lib/ns/query.c:7548,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7549,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7551,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:7559,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:7560,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7564,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:7566,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7570,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:7572,1
    - Dst: dns_rdataset_getclosest
      Src: /src/bind9/lib/ns/query.c:7575,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7576,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7578,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7583,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7586,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:7589,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 44
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7591
      start: 7529
    functionDepth: 3
    functionLinenumber: 7529
    functionLinenumberEnd: 7591
    functionName: query_addnoqnameproof
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_getclosest
    - dns_rdataset_getnoqname
    - query_addrrset
    - ns_client_releasename
    - RUNTIME_CHECK
    - dns_rdataset_cleanup
    - ns_client_getnamebuf
    - ns_client_newname
    - ISC_LOG_DEBUG
    - CTRACE
    - ns_client_putrdataset
    - ns_client_newrdataset
    linkageType: ''
    returnType: void
    signature: void query_addnoqnameproof(query_ctx_t *qctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7605,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7605,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7607,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/ns/query.c:7609,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7612,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7614,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7615,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:7629,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/ns/query.c:7633,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:7651,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/ns/query.c:7652,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7658,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7660,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7661,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7663,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7665,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7665,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7667,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7668,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7673,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7673,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7675,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:7680,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7680,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:7693,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:7697,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:7701,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7709,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7715,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:7721,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7724,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7731,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7735,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7740,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/ns/query.c:7744,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7752,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:7756,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:7763,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7764,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:7772,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7773,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:7777,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:7780,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:7782,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:7787,1
    - Dst: query_sign_nodata
      Src: /src/bind9/lib/ns/query.c:7788,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:7794,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7797,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 89
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7801
      start: 7596
    functionDepth: 7
    functionLinenumber: 7596
    functionLinenumberEnd: 7801
    functionName: query_respond_any
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - NOQNAME
    - INSIST
    - TCP
    - query_addauth
    - dns_db_allrdatasets
    - ISC_MIN
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - ns_client_putrdataset
    - ns_client_newrdataset
    - QUERY_ERROR
    - dns_name_format
    - CALL_HOOK
    - ns_client_newname
    - ns_query_done
    - CCTRACE
    - dns_rdatatype_isdnssec
    - dns_rdatatype_issig
    - query_addnoqnameproof
    - dns_rdatasetiter_destroy
    - query_sign_nodata
    - dns_message_puttempname
    - dns_db_issecure
    - query_addrrset
    - ns_client_keepname
    - query_prefetch
    - ns_client_log
    - RECURSIONOK
    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:7633,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:7651,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/ns/query.c:7652,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7658,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7660,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7661,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7663,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7665,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7665,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7667,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:7668,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7673,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7673,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7675,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:7680,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7680,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:7693,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:7697,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:7701,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/query.c:7709,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7715,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:7721,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7724,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7731,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:7735,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7740,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7742
      start: 7632
    functionDepth: 7
    functionLinenumber: 7632
    functionLinenumberEnd: 7742
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_db_issecure
    - NOQNAME
    - query_addnoqnameproof
    - query_addrrset
    - INSIST
    - TCP
    - ISC_MIN
    - query_prefetch
    - dns_rdatatype_isdnssec
    - dns_rdatatype_issig
    - CCTRACE
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - ns_client_putrdataset
    - RECURSIONOK
    - dns_rdatasetiter_current
    - ns_client_newrdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7811,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7811,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/lib/ns/query.c:7821,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7824,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7825,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/lib/ns/query.c:7829,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/query.c:7830,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7839,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:7844,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7845,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:7847,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:7848,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:7849,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:7856,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7858
      start: 7807
    functionDepth: 2
    functionLinenumber: 7807
    functionLinenumberEnd: 7858
    functionName: query_getexpire
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_zone_detach
    - dns_rdataset_first
    - RUNTIME_CHECK
    - ISC_LOG_DEBUG
    - CCTRACE
    - dns_zone_getexpiretime
    - dns_rdataset_current
    - dns_zone_getraw
    - dns_zone_gettype
    - dns_rdata_tostruct
    - isc_time_seconds
    linkageType: ''
    returnType: void
    signature: void query_getexpire(query_ctx_t *qctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7866,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7866,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:7878,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/query.c:7884,1
    - Dst: dns_zone_getzoneversion
      Src: /src/bind9/lib/ns/query.c:7885,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/query.c:7887,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7898,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:7900,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/query.c:7902,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 25
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7909
      start: 7864
    functionDepth: 2
    functionLinenumber: 7864
    functionLinenumberEnd: 7909
    functionName: query_getzoneversion
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_zone_getzoneversion
    - memmove
    - INSIST
    - isc_mem_get
    - isc_buffer_usedlength
    - ISC_LOG_DEBUG
    - CCTRACE
    - dns_zone_gettype
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void query_getzoneversion(query_ctx_t *qctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:7919,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7919,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:7921,1
    - Dst: query_dns64
      Src: /src/bind9/lib/ns/query.c:7924,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/ns/query.c:7926,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/query.c:7927,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7933,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:7938,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7940,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:7944,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:7946,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:7950,1
    - Dst: query_filter64
      Src: /src/bind9/lib/ns/query.c:7953,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:7954,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/query.c:7955,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:7960,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:7961,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:7964,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:7967,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7975
      start: 7914
    functionDepth: 7
    functionLinenumber: 7914
    functionLinenumberEnd: 7975
    functionName: query_addanswer
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - isc_mem_cput
    - query_dns64
    - query_addrrset
    - dns_message_puttemprdataset
    - query_nodata
    - query_ncache
    - CALL_HOOK
    - query_prefetch
    - RECURSIONOK
    - ISC_LOG_DEBUG
    - CCTRACE
    - dns_rdataset_disassociate
    - query_filter64
    - ns_query_done
    - 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:7985,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:7985,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:7991,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:7994,1
    - Dst: dns64_aaaaok
      Src: /src/bind9/lib/ns/query.c:7996,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8002,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8004,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8005,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8006,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8010,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8021,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:8023,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8023,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8037,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:8038,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8047,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8050,1
    - Dst: query_getexpire
      Src: /src/bind9/lib/ns/query.c:8057,1
    - Dst: query_getzoneversion
      Src: /src/bind9/lib/ns/query.c:8062,1
    - Dst: query_addanswer
      Src: /src/bind9/lib/ns/query.c:8064,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:8069,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8081,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:8083,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8085,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 41
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8089
      start: 7981
    functionDepth: 8
    functionLinenumber: 7981
    functionLinenumberEnd: 8089
    functionName: query_respond
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - NOQNAME
    - query_getexpire
    - INSIST
    - dns_db_origin
    - query_addauth
    - query_getzoneversion
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - CALL_HOOK
    - CCTRACE
    - query_lookup
    - query_addnoqnameproof
    - dns_name_equal
    - ns_client_releasename
    - ISC_LIST_EMPTY
    - dns64_aaaaok
    - query_addanswer
    - dns_db_detachnode
    - dns_db_attach
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_respond(query_ctx_t *qctx)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8113,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8113,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:8118,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8126,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8126,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8129,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8137,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:8139,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:8143,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8145,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8157,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8158,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8163,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:8167,1
    - Dst: dns_dns64_apply
      Src: /src/bind9/lib/ns/query.c:8167,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/ns/query.c:8173,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:8177,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:8180,1
    - Dst: query_addtoname
      Src: /src/bind9/lib/ns/query.c:8183,1
    - Dst: query_setorder
      Src: /src/bind9/lib/ns/query.c:8184,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:8186,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8191,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8191,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 50
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8193
      start: 8091
    functionDepth: 2
    functionLinenumber: 8091
    functionLinenumberEnd: 8193
    functionName: query_dns64
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - query_addtoname
    - dns_rdataset_isassociated
    - ns_client_keepname
    - ns_client_releasename
    - dns_message_findname
    - RUNTIME_CHECK
    - ISC_MIN
    - dns_dns64_apply
    - CHECK
    - ISC_LOG_DEBUG
    - dns_rdataset_setownercase
    - CTRACE
    - RECURSIONOK
    - inc_stats
    - query_setorder
    - dns_message_addname
    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:8206,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8206,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8208,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8209,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:8210,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/ns/query.c:8213,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8221,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8221,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8224,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:8231,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8233,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/ns/query.c:8242,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/ns/query.c:8243,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/query.c:8244,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/ns/query.c:8245,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/ns/query.c:8252,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:8260,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8261,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/query.c:8262,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/ns/query.c:8263,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/query.c:8264,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/ns/query.c:8265,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/ns/query.c:8266,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:8268,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/query.c:8271,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/ns/query.c:8272,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8276,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:8278,1
    - Dst: query_addtoname
      Src: /src/bind9/lib/ns/query.c:8283,1
    - Dst: query_setorder
      Src: /src/bind9/lib/ns/query.c:8284,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/ns/query.c:8286,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/query.c:8288,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8292,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8295,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8295,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 67
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8296
      start: 8195
    functionDepth: 3
    functionLinenumber: 8195
    functionLinenumberEnd: 8296
    functionName: query_filter64
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - INSIST
    - isc_buffer_forward
    - dns_message_takebuffer
    - dns_message_gettemprdatalist
    - ISC_LOG_DEBUG
    - isc_buffer_remainingregion
    - dns_rdatalist_tordataset
    - query_addtoname
    - dns_message_findname
    - RUNTIME_CHECK
    - dns_rdata_fromregion
    - dns_rdataset_setownercase
    - CTRACE
    - dns_message_gettemprdata
    - isc_buffer_putmem
    - ns_client_releasename
    - dns_rdataset_current
    - query_setorder
    - dns_message_addname
    - ns_client_keepname
    - ISC_LIST_APPEND
    - DNS_RDATASET_FOREACH
    - isc_buffer_allocate
    - isc_buffer_free
    - dns_rdataset_count
    - dns_message_gettemprdataset
    linkageType: ''
    returnType: void
    signature: void query_filter64(query_ctx_t *qctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8307,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8307,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8309,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8311,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8314,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:8325,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:8326,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8328,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:8329,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:8338,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8345,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8346,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:8346,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8347,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8351,1
    - Dst: query_usestale
      Src: /src/bind9/lib/ns/query.c:8363,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8369,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:8371,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8373,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8376,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:8378,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8379,1
    - Dst: query_delegation
      Src: /src/bind9/lib/ns/query.c:8383,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8387
      start: 8303
    functionDepth: 7
    functionLinenumber: 8303
    functionLinenumberEnd: 8387
    functionName: query_notfound
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_db_attach
    - dns_db_detach
    - qctx_clean
    - dns_db_findext
    - INSIST
    - query_usestale
    - QUERY_ERROR
    - CALL_HOOK
    - REDIRECT
    - dns_clientinfomethods_init
    - ns_query_done
    - ISC_LOG_DEBUG
    - CCTRACE
    - query_lookup
    - dns_clientinfo_init
    - RECURSIONOK
    - ns_query_recurse
    - query_delegation
    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:8399,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:8405,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:8406,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8406,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/ns/query.c:8413,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8414,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8423,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8426,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8429,1
    - Dst: query_addds
      Src: /src/bind9/lib/ns/query.c:8435,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8441
      start: 8393
    functionDepth: 3
    functionLinenumber: 8393
    functionLinenumberEnd: 8441
    functionName: query_prepare_delegation_response
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - WANTDNSSEC
    - dns_db_attach
    - dns_db_detach
    - query_addds
    - query_addrrset
    - CALL_HOOK
    - dns_fixedname_name
    - dns_fixedname_init
    - ns_query_done
    - dns_db_iscache
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_prepare_delegation_response(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8453,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8459,1
    - Dst: query_getzonedb
      Src: /src/bind9/lib/ns/query.c:8466,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8471,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:8474,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8478,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8480,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8484,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8488,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8491,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:8494,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8497,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8498,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8499,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8502,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:8506,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8507,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:8509,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8520,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8521,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8522,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8523,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8524,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8525,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8526,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:8527,1
    - Dst: dns_view_staleanswerenabled
      Src: /src/bind9/lib/ns/query.c:8537,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8539,1
    - Dst: query_prepare_delegation_response
      Src: /src/bind9/lib/ns/query.c:8549,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 56
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8553
      start: 8449
    functionDepth: 5
    functionLinenumber: 8449
    functionLinenumberEnd: 8553
    functionName: query_zone_delegation
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_db_detachnode
    - dns_db_attach
    - dns_db_detach
    - dns_zone_detach
    - query_prepare_delegation_response
    - ns_client_releasename
    - ns_client_keepname
    - CALL_HOOK
    - dns_view_staleanswerenabled
    - MOVE_OWNERSHIP
    - query_lookup
    - USECACHE
    - RECURSIONOK
    - ns_client_putrdataset
    - dns_zone_gettype
    - query_getzonedb
    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:8567,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8567,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8569,1
    - Dst: query_zone_delegation
      Src: /src/bind9/lib/ns/query.c:8574,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:8578,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8580,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8597,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8606,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8608,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8612,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:8613,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8614,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8615,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8616,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8617,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8618,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8619,1
    - Dst: query_delegation_recurse
      Src: /src/bind9/lib/ns/query.c:8622,1
    - Dst: query_prepare_delegation_response
      Src: /src/bind9/lib/ns/query.c:8627,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8631
      start: 8563
    functionDepth: 6
    functionLinenumber: 8563
    functionLinenumberEnd: 8631
    functionName: query_delegation
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - dns_db_detachnode
    - query_prepare_delegation_response
    - dns_db_detach
    - query_zone_delegation
    - dns_name_equal
    - ns_client_releasename
    - CALL_HOOK
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - CCTRACE
    - query_delegation_recurse
    - ns_client_putrdataset
    - dns_name_issubdomain
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_delegation(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8642,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8642,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:8644,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8648,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:8658,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:8658,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/query.c:8660,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8664,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8670,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:8678,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/lib/ns/query.c:8681,1
    - Dst: dns_delegset_fromnsrdataset
      Src: /src/bind9/lib/ns/query.c:8685,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:8693,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/ns/query.c:8699,1
    - Dst: query_usestale
      Src: /src/bind9/lib/ns/query.c:8712,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8717,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:8719,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8722,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 45
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8726
      start: 8637
    functionDepth: 7
    functionLinenumber: 8637
    functionLinenumberEnd: 8726
    functionName: query_delegation_recurse
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_rdatatype_atparent
    - dns_delegset_fromnsrdataset
    - INSIST
    - query_usestale
    - QUERY_ERROR
    - CALL_HOOK
    - REDIRECT
    - dns_view_bestzonecut
    - ns_query_done
    - ISC_LOG_DEBUG
    - CCTRACE
    - dns_fixedname_initname
    - dns_delegset_detach
    - query_lookup
    - RECURSIONOK
    - ns_query_recurse
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_delegation_recurse(query_ctx_t *qctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:8742,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8742,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8747,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:8754,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:8755,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:8760,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:8767,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8774,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8775,1
    - Dst: MSG_SECTION_FOREACH
      Src: /src/bind9/lib/ns/query.c:8785,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/ns/query.c:8786,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8792,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/ns/query.c:8801,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:8807,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:8808,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:8809,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:8810,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:8811,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8812,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:8813,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8815,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8816,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8819,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:8825,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8825,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:8826,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8826,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:8827,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:8828,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8829,1
    - Dst: fixfname
      Src: /src/bind9/lib/ns/query.c:8830,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:8831,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:8832,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:8836,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:8836,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8839,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:8842,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8848,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8851,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8854,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 74
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8856
      start: 8731
    functionDepth: 3
    functionLinenumber: 8731
    functionLinenumberEnd: 8856
    functionName: query_addds
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - ns_client_getnamebuf
    - ISC_LOG_DEBUG
    - fixrdataset
    - ns_client_putrdataset
    - dns_message_findtype
    - ns_client_newrdataset
    - fixfname
    - dns_rdataset_isassociated
    - ns_client_newname
    - dns_db_iszone
    - CTRACE
    - MSG_SECTION_FOREACH
    - dns_name_equal
    - ns_client_releasename
    - dns_db_findrdataset
    - dns_name_getlabelsequence
    - query_findclosestnsec3
    - dns_fixedname_init
    - dns_name_countlabels
    - query_addrrset
    - dns_rdataset_cleanup
    - dns_fixedname_name
    linkageType: ''
    returnType: void
    signature: void query_addds(query_ctx_t *qctx)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:8865,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8865,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:8867,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8880,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:8883,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8885,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8887,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:8889,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:8890,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:8893,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:8900,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:8904,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:8925,1
    - Dst: dns64_ttl
      Src: /src/bind9/lib/ns/query.c:8932,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/query.c:8935,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8938,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:8940,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:8941,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:8942,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:8945,1
    - Dst: query_sign_nodata
      Src: /src/bind9/lib/ns/query.c:8949,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8955,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:8956,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/query.c:8958,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:8960,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8967,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 2
    argNames:
    - qctx
    - res
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8971
      start: 8861
    functionDepth: 4
    functionLinenumber: 8861
    functionLinenumberEnd: 8971
    functionName: query_nodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - dns_name_copy
    - ns_client_getnamebuf
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - ns_client_putrdataset
    - dns_rdataset_isassociated
    - CALL_HOOK
    - ns_client_newname
    - CCTRACE
    - query_lookup
    - query_prepresponse
    - ns_client_releasename
    - dns_rdataset_first
    - ISC_LIST_EMPTY
    - query_sign_nodata
    - UNREACHABLE
    - dns_message_addname
    - dns64_ttl
    - dns_db_detachnode
    - ns_client_keepname
    - ISC_LIST_APPEND
    - ns_query_done
    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:8980,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:8980,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:8986,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:8988,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:8989,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:8997,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:9000,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9009,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9010,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9021,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9026,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9027,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:9028,1
    - Dst: fixfname
      Src: /src/bind9/lib/ns/query.c:9035,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:9037,1
    - Dst: fixrdataset
      Src: /src/bind9/lib/ns/query.c:9038,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:9044,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9051,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:9052,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9055,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9061,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9068,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:9076,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:9078,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9079,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9086,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9087,1
    - Dst: query_addnxrrsetnsec
      Src: /src/bind9/lib/ns/query.c:9089,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9092,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 42
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9093
      start: 8976
    functionDepth: 3
    functionLinenumber: 8976
    functionLinenumberEnd: 9093
    functionName: query_sign_nodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - WANTDNSSEC
    - query_addnxrrsetnsec
    - ISC_LOG_DEBUG
    - fixrdataset
    - query_addsoa
    - fixfname
    - dns_rdataset_isassociated
    - QUERY_ERROR
    - CCTRACE
    - dns_name_equal
    - ns_client_releasename
    - dns_name_getlabelsequence
    - query_addwildcardproof
    - query_findclosestnsec3
    - dns_name_countlabels
    - query_addrrset
    - ns_client_keepname
    - dns_fixedname_initname
    - ns_query_done
    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:9105,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9108,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9114,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:9119,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/query.c:9123,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9124,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9125,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9126,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9128,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:9133,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9138,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9139,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:9141,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9143,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:9143,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9145,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9147
      start: 9095
    functionDepth: 3
    functionLinenumber: 9095
    functionLinenumberEnd: 9147
    functionName: query_addnxrrsetnsec
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_isassociated
    - query_addrrset
    - dns_rdata_init
    - INSIST
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_name_split
    - ns_client_getnamebuf
    - ns_client_newname
    - dns_name_concatenate
    - query_addwildcardproof
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void query_addnxrrsetnsec(query_ctx_t *qctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9158,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9158,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:9160,1
    - Dst: query_redirect
      Src: /src/bind9/lib/ns/query.c:9163,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9169,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9175,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9182,1
    - Dst: dns_zone_getzeronosoattl
      Src: /src/bind9/lib/ns/query.c:9198,1
    - Dst: query_addsoa
      Src: /src/bind9/lib/ns/query.c:9205,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:9207,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9208,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9212,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9216,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9217,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:9221,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9233,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 42
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9237
      start: 9152
    functionDepth: 3
    functionLinenumber: 9152
    functionLinenumberEnd: 9237
    functionName: query_nxdomain
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - WANTDNSSEC
    - dns_rdataset_isassociated
    - QUERY_ERROR
    - ns_client_keepname
    - ns_client_releasename
    - query_addrrset
    - CALL_HOOK
    - query_addsoa
    - ISC_LOG_DEBUG
    - CCTRACE
    - query_addwildcardproof
    - dns_zone_getzeronosoattl
    - ns_query_done
    - query_redirect
    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:9258,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9258,1
    - Dst: redirect
      Src: /src/bind9/lib/ns/query.c:9260,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9264,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:9265,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:9269,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:9273,1
    - Dst: redirect2
      Src: /src/bind9/lib/ns/query.c:9278,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9283,1
    - Dst: query_prepresponse
      Src: /src/bind9/lib/ns/query.c:9284,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9286,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:9288,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:9289,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:9290,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:9292,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:9294,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:9296,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9298,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9302,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:9306,1
    - Dst: query_ncache
      Src: /src/bind9/lib/ns/query.c:9310,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: 9316
      start: 9254
    functionDepth: 7
    functionLinenumber: 9254
    functionLinenumberEnd: 9316
    functionName: query_redirect
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - INSIST
    - query_nodata
    - query_ncache
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - CCTRACE
    - ns_query_done
    - redirect2
    - inc_stats
    - redirect
    - query_prepresponse
    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:9326,1
    - Dst: ns_client_logv
      Src: /src/bind9/lib/ns/query.c:9327,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/query.c:9329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - val
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9330
      start: 9321
    functionDepth: 1
    functionLinenumber: 9321
    functionLinenumberEnd: 9330
    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:9341,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:9342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:9343,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/query.c:9344,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:9346,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9347,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9348,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9349,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9350,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9352,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9353,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9354,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9355,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9357,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/ns/query.c:9360,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: 9364
      start: 9332
    functionDepth: 1
    functionLinenumber: 9332
    functionLinenumberEnd: 9364
    functionName: query_synthttl
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_first
    - RUNTIME_CHECK
    - ISC_MIN
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:9380,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9388,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9389,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9391,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9394,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9395,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9396,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9401,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9404,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9407,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9411,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9415,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9418,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: 9421
      start: 9369
    functionDepth: 3
    functionLinenumber: 9369
    functionLinenumberEnd: 9421
    functionName: query_synthnodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_name_copy
    - query_addrrset
    - ns_client_releasename
    - ns_client_keepname
    - ns_client_getnamebuf
    - ns_client_newname
    - query_synthttl
    - inc_stats
    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:9435,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9435,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9441,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9442,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9444,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9447,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9448,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9449,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9451,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9452,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9457,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9458,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9459,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9465,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9468,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9472,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9476,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9479,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9482,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9485,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: 9488
      start: 9427
    functionDepth: 3
    functionLinenumber: 9427
    functionLinenumberEnd: 9488
    functionName: query_synthwildcard
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_name_copy
    - query_addrrset
    - ns_client_releasename
    - ns_client_keepname
    - ns_client_getnamebuf
    - ns_client_newname
    - dns_rdataset_clone
    - ISC_LOG_DEBUG
    - CCTRACE
    - ns_client_putrdataset
    - inc_stats
    - ns_client_newrdataset
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/ns/query.c:9503,1
    - Dst: query_synthwildcard
      Src: /src/bind9/lib/ns/query.c:9503,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:9511,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:9513,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:9515,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:9519,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9520,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9521,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:9522,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9524,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:9525,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:9526,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9530,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:9532,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:9533,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:9535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - qctx
    - rdataset
    - sigrdataset
    argTypes:
    - query_ctx_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9540
      start: 9495
    functionDepth: 4
    functionLinenumber: 9495
    functionLinenumberEnd: 9540
    functionName: query_synthcnamewildcard
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - query_synthwildcard
    - dns_name_equal
    - dns_rdataset_first
    - RUNTIME_CHECK
    - ns_client_qnamereplace
    - WANTRECURSION
    - dns_rdata_reset
    - dns_rdata_freestruct
    - RETERR
    - dns_message_puttempname
    - dns_rdataset_current
    - dns_message_gettempname
    - dns_rdata_tostruct
    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:9560,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9560,1
    - Dst: query_synthttl
      Src: /src/bind9/lib/ns/query.c:9565,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9574,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:9575,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9577,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9580,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9581,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9582,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9587,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9590,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:9593,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9597,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:9600,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:9601,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9602,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9604,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9605,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9607,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/ns/query.c:9608,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:9613,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9618,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/query.c:9621,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9625,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9628,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9631,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: 9634
      start: 9549
    functionDepth: 3
    functionLinenumber: 9549
    functionLinenumberEnd: 9634
    functionName: query_synthnxdomainnodata
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_name_copy
    - query_addrrset
    - ns_client_keepname
    - ns_client_releasename
    - ns_client_getnamebuf
    - ns_client_newname
    - dns_rdataset_clone
    - ISC_LOG_DEBUG
    - CCTRACE
    - query_synthttl
    - ns_client_putrdataset
    - inc_stats
    - ns_client_newrdataset
    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:9646,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9647,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9648,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9650,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9651,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - signer
    - sigrdataset
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9658
      start: 9639
    functionDepth: 1
    functionLinenumber: 9639
    functionLinenumberEnd: 9658
    functionName: checksignames
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_name_equal
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_rdata_tostruct
    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:9646,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:9647,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:9648,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9650,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:9651,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:9652,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9655
      start: 9641
    functionDepth: 1
    functionLinenumber: 9641
    functionLinenumberEnd: 9655
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - dns_name_equal
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(sigrdataset)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9707,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9707,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:9709,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:9710,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/query.c:9711,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:9719,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9720,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/ns/query.c:9721,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/ns/query.c:9722,1
    - Dst: dns_view_sfd_find
      Src: /src/bind9/lib/ns/query.c:9724,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:9725,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9732,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9736,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9737,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9738,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:9739,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:9741,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:9742,1
    - Dst: checksignames
      Src: /src/bind9/lib/ns/query.c:9747,1
    - Dst: dns_nsec_requiredtypespresent
      Src: /src/bind9/lib/ns/query.c:9757,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/ns/query.c:9764,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:9776,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:9777,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:9781,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:9782,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9787,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9788,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:9793,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:9794,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:9794,1
    - Dst: query_synthnodata
      Src: /src/bind9/lib/ns/query.c:9799,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:9808,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:9809,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:9832,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:9833,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:9839,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:9840,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/ns/query.c:9854,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/ns/query.c:9857,1
    - Dst: query_synthwildcard
      Src: /src/bind9/lib/ns/query.c:9865,1
    - Dst: query_synthcnamewildcard
      Src: /src/bind9/lib/ns/query.c:9869,1
    - Dst: query_redirect
      Src: /src/bind9/lib/ns/query.c:9882,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:9891,1
    - Dst: checksignames
      Src: /src/bind9/lib/ns/query.c:9898,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:9905,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9908,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:9909,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:9914,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:9914,1
    - Dst: query_synthnxdomainnodata
      Src: /src/bind9/lib/ns/query.c:9918,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:9924,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:9925,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9927,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9930,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:9934,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:9936,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:9949,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:9952,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9954,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:9956,1
    - Dst: query_lookup
      Src: /src/bind9/lib/ns/query.c:9958,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:9961,1
    CyclomaticComplexity: 68
    EdgeCount: 68
    ICount: 174
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9962
      start: 9681
    functionDepth: 8
    functionLinenumber: 9681
    functionLinenumberEnd: 9962
    functionName: query_coveringnsec
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_view_sfd_find
    - dns_rdataset_init
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - ns_client_putrdataset
    - ns_client_newrdataset
    - dns_nsec_requiredtypespresent
    - dns_name_init
    - dns_rdatatype_atparent
    - dns_rdataset_isassociated
    - dns_db_findext
    - query_synthwildcard
    - RECURSIONOK
    - ns_query_done
    - CCTRACE
    - query_lookup
    - query_redirect
    - dns_name_issubdomain
    - STALE
    - dns_db_detach
    - ns_client_releasename
    - ISC_LIST_EMPTY
    - dns_name_getlabelsequence
    - dns_clientinfomethods_init
    - dns_name_clone
    - CHECK
    - query_synthnodata
    - dns_name_countlabels
    - query_synthnxdomainnodata
    - dns_db_detachnode
    - dns_db_attach
    - query_synthcnamewildcard
    - dns_rdataset_cleanup
    - dns_fixedname_initname
    - dns_rdatatype_isaddr
    - checksignames
    - dns_nsec_noexistnodata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_coveringnsec(query_ctx_t *qctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:9971,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:9972,1
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:9975,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:9975,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:9977,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:9993,1
    - Dst: warn_rfc1918
      Src: /src/bind9/lib/ns/query.c:9995,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:9999,1
    - Dst: query_stale_refresh_ncache
      Src: /src/bind9/lib/ns/query.c:10000,1
    - Dst: query_nodata
      Src: /src/bind9/lib/ns/query.c:10003,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 2
    argNames:
    - qctx
    - result
    argTypes:
    - query_ctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10007
      start: 9969
    functionDepth: 7
    functionLinenumber: 9969
    functionLinenumberEnd: 10007
    functionName: query_ncache
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - query_stale_refresh_ncache
    - INSIST
    - query_nodata
    - CALL_HOOK
    - warn_rfc1918
    - ISC_LOG_DEBUG
    - CCTRACE
    - RECURSIONOK
    - dns_name_countlabels
    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:10016,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10016,1
    - Dst: STALE
      Src: /src/bind9/lib/ns/query.c:10018,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:10019,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:10024,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10026,1
    - Dst: REDIRECT
      Src: /src/bind9/lib/ns/query.c:10026,1
    - Dst: ns_query_recurse
      Src: /src/bind9/lib/ns/query.c:10028,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10032,1
    - Dst: QUERY_ERROR
      Src: /src/bind9/lib/ns/query.c:10047,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10050,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10054
      start: 10012
    functionDepth: 6
    functionLinenumber: 10012
    functionLinenumberEnd: 10054
    functionName: query_zerottl_refetch
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - STALE
    - qctx_clean
    - INSIST
    - QUERY_ERROR
    - CALL_HOOK
    - REDIRECT
    - ns_query_done
    - ISC_LOG_DEBUG
    - CCTRACE
    - RECURSIONOK
    - ns_query_recurse
    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:10068,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10068,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10070,1
    - Dst: query_zerottl_refetch
      Src: /src/bind9/lib/ns/query.c:10072,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10087,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10091,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:10092,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10093,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10094,1
    - Dst: NOQNAME
      Src: /src/bind9/lib/ns/query.c:10098,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10098,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:10104,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:10105,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10108,1
    - Dst: query_addnoqnameproof
      Src: /src/bind9/lib/ns/query.c:10111,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10123,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:10125,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10127,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10128,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:10132,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:10133,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10134,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:10135,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10137,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:10139,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:10140,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:10142,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:10146,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10148,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10152
      start: 10059
    functionDepth: 7
    functionLinenumber: 10059
    functionLinenumberEnd: 10152
    functionName: query_cname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - WANTDNSSEC
    - dns_name_copy
    - NOQNAME
    - query_addauth
    - ns_client_qnamereplace
    - dns_rdata_freestruct
    - ISC_LOG_DEBUG
    - WANTRECURSION
    - RUNTIME_CHECK
    - CALL_HOOK
    - RECURSIONOK
    - CCTRACE
    - dns_message_gettempname
    - query_addnoqnameproof
    - dns_rdata_tostruct
    - dns_rdataset_first
    - dns_rdata_reset
    - dns_message_puttempname
    - dns_rdataset_current
    - dns_fixedname_init
    - query_zerottl_refetch
    - query_addrrset
    - query_prefetch
    - dns_fixedname_name
    - ns_query_done
    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:10171,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10171,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10173,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/ns/query.c:10180,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10182,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10194,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10198,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:10199,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10200,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10201,1
    - Dst: RECURSIONOK
      Src: /src/bind9/lib/ns/query.c:10205,1
    - Dst: query_prefetch
      Src: /src/bind9/lib/ns/query.c:10206,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10208,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10221,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:10223,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10225,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10226,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:10230,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:10231,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10232,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/ns/query.c:10233,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10235,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:10236,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10242,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:10243,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:10244,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:10245,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:10246,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:10247,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10248,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10259,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:10263,1
    - Dst: query_addcname
      Src: /src/bind9/lib/ns/query.c:10279,1
    - Dst: ns_client_qnamereplace
      Src: /src/bind9/lib/ns/query.c:10291,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:10294,1
    - Dst: query_addauth
      Src: /src/bind9/lib/ns/query.c:10299,1
    - Dst: ns_query_done
      Src: /src/bind9/lib/ns/query.c:10301,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 64
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10305
      start: 10157
    functionDepth: 7
    functionLinenumber: 10157
    functionLinenumberEnd: 10305
    functionName: query_dname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - WANTDNSSEC
    - dns_name_copy
    - INSIST
    - query_addauth
    - dns_name_split
    - ns_client_qnamereplace
    - dns_rdata_freestruct
    - ns_client_getnamebuf
    - ISC_LOG_DEBUG
    - dns_name_fullcompare
    - dns_name_concatenate
    - WANTRECURSION
    - RUNTIME_CHECK
    - CALL_HOOK
    - ns_client_newname
    - RECURSIONOK
    - CCTRACE
    - query_addcname
    - dns_message_gettempname
    - dns_rdata_tostruct
    - dns_rdataset_first
    - dns_rdata_reset
    - dns_message_puttempname
    - dns_rdataset_current
    - dns_fixedname_init
    - query_addrrset
    - ns_client_keepname
    - query_prefetch
    - dns_fixedname_initname
    - dns_fixedname_name
    - ns_query_done
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_dname(query_ctx_t *qctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10319,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10321,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/ns/query.c:10323,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/ns/query.c:10325,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/query.c:10327,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/ns/query.c:10333,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/query.c:10339,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/query.c:10340,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/ns/query.c:10342,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10344,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:10346,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/query.c:10347,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/query.c:10350,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 3
    argNames:
    - qctx
    - trust
    - ttl
    argTypes:
    - query_ctx_t*
    - dns_trust_t
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10352
      start: 10310
    functionDepth: 3
    functionLinenumber: 10310
    functionLinenumberEnd: 10352
    functionName: query_addcname
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - dns_message_gettemprdata
    - query_addrrset
    - dns_message_puttemprdataset
    - dns_rdataset_cleanup
    - dns_message_gettemprdatalist
    - dns_name_toregion
    - ISC_LIST_APPEND
    - dns_rdataset_setownercase
    - dns_message_puttempname
    - dns_message_gettempname
    - dns_rdatalist_tordataset
    - dns_message_gettemprdataset
    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:10363,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10363,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:10365,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10367,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/ns/query.c:10368,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10369,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10370,1
    - Dst: query_respond_any
      Src: /src/bind9/lib/ns/query.c:10375,1
    - Dst: query_zerottl_refetch
      Src: /src/bind9/lib/ns/query.c:10378,1
    - Dst: query_respond
      Src: /src/bind9/lib/ns/query.c:10383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10387
      start: 10359
    functionDepth: 9
    functionLinenumber: 10359
    functionLinenumberEnd: 10387
    functionName: query_prepresponse
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - WANTDNSSEC
    - dns_name_copy
    - query_respond_any
    - query_zerottl_refetch
    - query_respond
    - CALL_HOOK
    - dns_fixedname_name
    - ISC_LOG_DEBUG
    - CCTRACE
    - dns_fixedname_init
    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:10406,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10406,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10408,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10409,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10415,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:10415,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10423,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:10429,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:10429,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10431,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10432,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:10432,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10433,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/query.c:10439,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:10441,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10448,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10450,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10460,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:10468,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10469,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:10470,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:10471,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:10472,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10502,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10506,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10508,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10511,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10514,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: 10518
      start: 10394
    functionDepth: 3
    functionLinenumber: 10394
    functionLinenumberEnd: 10518
    functionName: query_addsoa
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - WANTDNSSEC
    - dns_db_getoriginnode
    - dns_db_origin
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - ns_client_putrdataset
    - ns_client_newrdataset
    - dns_rdataset_isassociated
    - dns_db_findext
    - RUNTIME_CHECK
    - CTRACE
    - dns_message_gettempname
    - dns_rdata_tostruct
    - ns_client_releasename
    - dns_rdataset_first
    - dns_db_findrdataset
    - dns_clientinfomethods_init
    - dns_rdataset_current
    - dns_name_clone
    - dns_db_detachnode
    - dns_db_issecure
    - query_addrrset
    - dns_fixedname_initname
    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:10535,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10535,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10541,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10543,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10544,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/query.c:10549,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:10550,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/ns/query.c:10550,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10551,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10553,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:10553,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10554,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/ns/query.c:10560,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/ns/query.c:10562,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10566,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10566,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10567,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10570,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10570,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10573,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10585,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10589,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10589,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10590,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10592,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10595,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10598,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10601,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10601,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10603
      start: 10523
    functionDepth: 3
    functionLinenumber: 10523
    functionLinenumberEnd: 10603
    functionName: query_addns
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_db_getoriginnode
    - dns_db_issecure
    - dns_db_detachnode
    - CTRACE
    - dns_name_clone
    - dns_db_origin
    - dns_db_findext
    - query_addrrset
    - ns_client_releasename
    - dns_db_findrdataset
    - dns_clientinfomethods_init
    - dns_fixedname_initname
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - dns_message_gettempname
    - ns_client_putrdataset
    - ns_client_newrdataset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t query_addns(query_ctx_t *qctx)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10626,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10626,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10628,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10629,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/query.c:10631,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/ns/query.c:10632,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:10638,1
    - Dst: query_getdb
      Src: /src/bind9/lib/ns/query.c:10638,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/query.c:10648,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10650,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10651,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:10652,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:10655,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:10659,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:10662,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:10672,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:10673,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10674,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10680,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10681,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10688,1
    - Dst: USECACHE
      Src: /src/bind9/lib/ns/query.c:10695,1
    - Dst: ns_client_keepname
      Src: /src/bind9/lib/ns/query.c:10696,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10697,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10698,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10699,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10700,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10701,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/query.c:10703,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10708,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10716,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10718,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10722,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10724,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10726,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10727,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10728,1
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/ns/query.c:10729,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:10737,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/ns/query.c:10738,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:10739,1
    - Dst: PENDINGOK
      Src: /src/bind9/lib/ns/query.c:10740,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:10745,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/ns/query.c:10746,1
    - Dst: validate
      Src: /src/bind9/lib/ns/query.c:10747,1
    - Dst: SECURE
      Src: /src/bind9/lib/ns/query.c:10748,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10748,1
    - Dst: SECURE
      Src: /src/bind9/lib/ns/query.c:10757,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10757,1
    - Dst: WANTAD
      Src: /src/bind9/lib/ns/query.c:10757,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:10768,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10769,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10772,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10777,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10780,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:10783,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10786,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10789,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/query.c:10792,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10795,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:10797,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/query.c:10799,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 115
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10801
      start: 10608
    functionDepth: 6
    functionLinenumber: 10608
    functionLinenumberEnd: 10801
    functionName: query_addbestns
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - WANTDNSSEC
    - dns_zone_detach
    - dns_name_split
    - ns_client_getnamebuf
    - MOVE_OWNERSHIP
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - ns_client_putrdataset
    - ns_client_newrdataset
    - dns_name_init
    - DNS_TRUST_GLUE
    - dns_db_findext
    - ns_client_newname
    - SECURE
    - CTRACE
    - dns_db_detach
    - ns_client_releasename
    - WANTAD
    - dns_clientinfomethods_init
    - USECACHE
    - dns_name_clone
    - CHECK
    - DNS_TRUST_PENDING
    - query_getdb
    - validate
    - dns_name_countlabels
    - PENDINGOK
    - dns_db_detachnode
    - dns_db_attach
    - query_addrrset
    - ns_client_keepname
    - dns_zone_gettype
    linkageType: ''
    returnType: void
    signature: void query_addbestns(query_ctx_t *qctx)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:10825,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:10825,1
    - Dst: dns_clientinfomethods_init
      Src: /src/bind9/lib/ns/query.c:10827,1
    - Dst: dns_clientinfo_init
      Src: /src/bind9/lib/ns/query.c:10828,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/ns/query.c:10837,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10885,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:10891,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:10892,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10893,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10894,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10896,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/ns/query.c:10900,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:10903,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/ns/query.c:10907,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10914,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10915,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10918,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:10921,1
    - Dst: dns_db_findext
      Src: /src/bind9/lib/ns/query.c:10925,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:10939,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:10942,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10946,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:10954,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:10955,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10959,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:10961,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:10965,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:10967,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:10973,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:10976,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:10977,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10981,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/ns/query.c:10983,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:10985,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:10988,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:10991,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:10994,1
    - Dst: ns_client_getnamebuf
      Src: /src/bind9/lib/ns/query.c:11005,1
    - Dst: ns_client_newname
      Src: /src/bind9/lib/ns/query.c:11006,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:11010,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:11012,1
    - Dst: ns_client_newrdataset
      Src: /src/bind9/lib/ns/query.c:11016,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/query.c:11018,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/query.c:11024,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:11024,1
    - Dst: query_findclosestnsec3
      Src: /src/bind9/lib/ns/query.c:11026,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/ns/query.c:11029,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:11032,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/query.c:11038,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/query.c:11041,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/ns/query.c:11042,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/query.c:11043,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/ns/query.c:11044,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/ns/query.c:11046,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/ns/query.c:11052,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:11057,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/ns/query.c:11059,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/ns/query.c:11061,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/ns/query.c:11066,1
    - Dst: query_addrrset
      Src: /src/bind9/lib/ns/query.c:11068,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11072,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11075,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:11078,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:11082,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11089,1
    - Dst: ns_client_putrdataset
      Src: /src/bind9/lib/ns/query.c:11092,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:11095,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 160
    argCount: 3
    argNames:
    - qctx
    - ispositive
    - nodata
    argTypes:
    - query_ctx_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11097
      start: 10803
    functionDepth: 3
    functionLinenumber: 10803
    functionLinenumberEnd: 11097
    functionName: query_addwildcardproof
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 3
    functionsReached:
    - dns_name_copy
    - dns_name_split
    - ns_client_getnamebuf
    - dns_rdata_freestruct
    - ISC_LOG_DEBUG
    - dns_clientinfo_init
    - ns_client_putrdataset
    - ns_client_newrdataset
    - dns_name_fullcompare
    - dns_db_findext
    - dns_rdataset_isassociated
    - dns_name_format
    - dns_name_concatenate
    - RUNTIME_CHECK
    - ns_client_newname
    - CTRACE
    - dns_rdata_tostruct
    - dns_name_equal
    - ns_client_releasename
    - dns_rdataset_first
    - dns_clientinfomethods_init
    - query_findclosestnsec3
    - dns_rdataset_current
    - CHECK
    - dns_name_countlabels
    - dns_db_detachnode
    - query_addrrset
    - dns_rdataset_cleanup
    - ns_client_log
    - dns_fixedname_initname
    - dns_fixedname_name
    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:11105,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:11105,1
    - Dst: NOAUTHORITY
      Src: /src/bind9/lib/ns/query.c:11110,1
    - Dst: query_addns
      Src: /src/bind9/lib/ns/query.c:11113,1
    - Dst: ns_client_releasename
      Src: /src/bind9/lib/ns/query.c:11119,1
    - Dst: query_addbestns
      Src: /src/bind9/lib/ns/query.c:11122,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/ns/query.c:11130,1
    - Dst: query_addwildcardproof
      Src: /src/bind9/lib/ns/query.c:11131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11133
      start: 11103
    functionDepth: 7
    functionLinenumber: 11103
    functionLinenumberEnd: 11133
    functionName: query_addauth
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 4
    functionsReached:
    - dns_db_issecure
    - ns_client_releasename
    - NOAUTHORITY
    - ISC_LOG_DEBUG
    - CCTRACE
    - query_addwildcardproof
    - query_addns
    - query_addbestns
    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:11145,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/ns/query.c:11147,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/query.c:11154,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:11155,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11157,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11159,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11161,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11163,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11172
      start: 11139
    functionDepth: 1
    functionLinenumber: 11139
    functionLinenumberEnd: 11172
    functionName: query_glueanswer
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_name_equal
    - ISC_LIST_EMPTY
    - ISC_LIST_FOREACH
    - dns_rdatatype_isaddr
    - ISC_LIST_PREPEND
    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:11154,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/query.c:11155,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11157,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11159,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/query.c:11161,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/ns/query.c:11163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11171
      start: 11153
    functionDepth: 1
    functionLinenumber: 11153
    functionLinenumberEnd: 11171
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_PREPEND
    - ISC_LIST_FOREACH
    - dns_name_equal
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(msg, section, name)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CCTRACE
      Src: /src/bind9/lib/ns/query.c:11180,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:11180,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:11182,1
    - Dst: rpz_match_clear
      Src: /src/bind9/lib/ns/query.c:11191,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:11195,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:11196,1
    - Dst: qctx_save
      Src: /src/bind9/lib/ns/query.c:11215,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:11216,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/ns/query.c:11218,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/query.c:11236,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:11238,1
    - Dst: PARTIALANSWER
      Src: /src/bind9/lib/ns/query.c:11245,1
    - Dst: WANTRECURSION
      Src: /src/bind9/lib/ns/query.c:11246,1
    - Dst: query_next
      Src: /src/bind9/lib/ns/query.c:11258,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11265,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11266,1
    - Dst: RECURSING
      Src: /src/bind9/lib/ns/query.c:11276,1
    - Dst: QUERY_STALETIMEOUT
      Src: /src/bind9/lib/ns/query.c:11277,1
    - Dst: query_glueanswer
      Src: /src/bind9/lib/ns/query.c:11289,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:11303,1
    - Dst: CALL_HOOK
      Src: /src/bind9/lib/ns/query.c:11309,1
    - Dst: query_send
      Src: /src/bind9/lib/ns/query.c:11311,1
    - Dst: qctx_clean
      Src: /src/bind9/lib/ns/query.c:11321,1
    - Dst: qctx_freedata
      Src: /src/bind9/lib/ns/query.c:11322,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11324,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 60
    argCount: 1
    argNames:
    - qctx
    argTypes:
    - query_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11327
      start: 11174
    functionDepth: 5
    functionLinenumber: 11174
    functionLinenumberEnd: 11327
    functionName: ns_query_done
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 27
    functionsReached:
    - PARTIALANSWER
    - query_next
    - INSIST
    - ISC_LOG_DEBUG
    - query_glueanswer
    - WANTRECURSION
    - CALL_HOOK
    - CCTRACE
    - rpz_match_clear
    - ISC_LIST_EMPTY
    - query_error
    - qctx_freedata
    - QUERY_STALETIMEOUT
    - qctx_clean
    - dns_ede_add
    - query_send
    - ns_client_log
    - isc_async_run
    - qctx_save
    - isc_nmhandle_attach
    - RECURSING
    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:11338,1
    - Dst: dns_name_istat
      Src: /src/bind9/lib/ns/query.c:11343,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/query.c:11350,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:11351,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/ns/query.c:11352,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:11353,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/query.c:11359,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11362,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/query.c:11369,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/query.c:11381,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/query.c:11385,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11387
      start: 11329
    functionDepth: 3
    functionLinenumber: 11329
    functionLinenumberEnd: 11387
    functionName: log_tat
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_netaddr_format
    - dns_name_format
    - isc_mem_get
    - INSIST
    - isc_netaddr_fromsockaddr
    - dns_name_istat
    - snprintf
    - isc_log_write
    - dns_rdataclass_format
    - 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:11400,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11404,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11405,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:11406,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:11407,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:11408,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/query.c:11409,1
    - Dst: HAVEECS
      Src: /src/bind9/lib/ns/query.c:11411,1
    - Dst: ns_client_log_ecs
      Src: /src/bind9/lib/ns/query.c:11412,1
    - Dst: ns_client_log_flags
      Src: /src/bind9/lib/ns/query.c:11414,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:11417,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: 11420
      start: 11389
    functionDepth: 3
    functionLinenumber: 11389
    functionLinenumberEnd: 11420
    functionName: log_query
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 0
    functionsReached:
    - HAVEECS
    - INSIST
    - dns_name_format
    - dns_rdatatype_format
    - ns_client_log_ecs
    - ISC_LIST_HEAD
    - ns_client_log
    - dns_rdataclass_format
    - isc_log_wouldlog
    - ns_client_log_flags
    - isc_sockaddr_format
    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:11430,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/query.c:11442,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11447,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/query.c:11449,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/query.c:11452,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/query.c:11459,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/query.c:11461,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: 11463
      start: 11422
    functionDepth: 2
    functionLinenumber: 11422
    functionLinenumberEnd: 11463
    functionName: log_queryerror
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - ISC_LIST_HEAD
    - ns_client_log
    - dns_rdataclass_format
    - isc_log_wouldlog
    - isc_result_totext
    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:11474,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/query.c:11474,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/query.c:11479,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/query.c:11485,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/query.c:11485,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11544,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/query.c:11551,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11552,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11557,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/query.c:11560,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11565,1
    - Dst: log_query
      Src: /src/bind9/lib/ns/query.c:11570,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/query.c:11576,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/query.c:11577,1
    - Dst: dns_rdatatypestats_increment
      Src: /src/bind9/lib/ns/query.c:11579,1
    - Dst: log_tat
      Src: /src/bind9/lib/ns/query.c:11582,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/ns/query.c:11584,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/lib/ns/query.c:11590,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11606,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/query.c:11609,1
    - Dst: isc_nm_xfr_checkperm
      Src: /src/bind9/lib/ns/query.c:11618,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11622,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11626,1
    - Dst: ns_xfr_start
      Src: /src/bind9/lib/ns/query.c:11631,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11635,1
    - Dst: dns_tkey_processquery
      Src: /src/bind9/lib/ns/query.c:11638,1
    - Dst: query_send
      Src: /src/bind9/lib/ns/query.c:11642,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11644,1
    - Dst: query_error
      Src: /src/bind9/lib/ns/query.c:11648,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/ns/query.c:11656,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:11671,1
    - Dst: TCP
      Src: /src/bind9/lib/ns/query.c:11681,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/query.c:11731,1
    - Dst: query_next
      Src: /src/bind9/lib/ns/query.c:11733,1
    - Dst: WANTDNSSEC
      Src: /src/bind9/lib/ns/query.c:11752,1
    - Dst: WANTAD
      Src: /src/bind9/lib/ns/query.c:11752,1
    - Dst: query_setup
      Src: /src/bind9/lib/ns/query.c:11762,1
    CyclomaticComplexity: 44
    EdgeCount: 44
    ICount: 144
    argCount: 2
    argNames:
    - client
    - handle
    argTypes:
    - ns_client_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11763
      start: 11465
    functionDepth: 5
    functionLinenumber: 11465
    functionLinenumberEnd: 11763
    functionName: ns_query_start
    functionSourceFile: /src/bind9/lib/ns/query.c
    functionUses: 1
    functionsReached:
    - WANTDNSSEC
    - REQUIRE
    - INSIST
    - query_next
    - TCP
    - NS_CLIENT_VALID
    - ISC_LOG_DEBUG
    - isc_nm_socket_type
    - isc_nm_is_http_handle
    - dns_rdatatypestats_increment
    - ns_xfr_start
    - query_setup
    - ISC_LIST_NEXT
    - CTRACE
    - dns_message_reply
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - log_query
    - WANTAD
    - query_error
    - isc_nm_xfr_checkperm
    - dns_tkey_processquery
    - log_tat
    - dns_rdatatype_ismeta
    - query_send
    - isc_nmhandle_attach
    - dns_rdatatype_iskeymaterial
    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
    - REQUIRE
    - isc_mutex_init
    - dns_rcodestats_create
    - dns_rdatatypestats_create
    - isc_mem_get
    - isc_histomulti_create
    - ns_stats_create
    - isc_quota_init
    - ISC_LIST_INIT
    - dns_opcodestats_create
    - isc_refcount_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:
    - REQUIRE
    - isc_refcount_increment
    - SCTX_VALID
    linkageType: ''
    returnType: void
    signature: void ns_server_attach(ns_server_t *src, ns_server_t **dest)
  - BBCount: 19
    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: isc_statsmulti_detach
      Src: /src/bind9/lib/ns/server.c:165,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/ns/server.c:169,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/lib/ns/server.c:173,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/lib/ns/server.c:176,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/lib/ns/server.c:179,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:183,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:186,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:189,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:192,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:196,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:199,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:202,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/server.c:205,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/server.c:210,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 74
    argCount: 1
    argNames:
    - sctxp
    argTypes:
    - ns_server_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 212
    functionName: ns_server_detach
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_statsmulti_detach
    - isc_mem_put
    - isc_stats_detach
    - isc_refcount_decrement
    - SCTX_VALID
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_tkeyctx_destroy
    - ISC_LIST_FOREACH
    - isc_quota_destroy
    - ISC_LIST_DEQUEUE
    - isc_mutex_destroy
    - isc_histomulti_detach
    - dns_acl_detach
    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:216,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:216,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/ns/server.c:219,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/ns/server.c:223,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - sctx
    - serverid
    argTypes:
    - ns_server_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 214
    functionDepth: 1
    functionLinenumber: 214
    functionLinenumberEnd: 227
    functionName: ns_server_setserverid
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_free
    - isc_mem_strdup
    - 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:231,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:231,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: 237
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 237
    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:241,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:241,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - sctx
    - option
    argTypes:
    - ns_server_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 244
    functionName: ns_server_getoption
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 5
    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:248,1
    - Dst: SCTX_VALID
      Src: /src/bind9/lib/ns/server.c:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/server.c:249,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/server.c:251,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/server.c:252,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/server.c:253,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/server.c:254,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: 255
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 255
    functionName: ns_server_append_http_quota
    functionSourceFile: /src/bind9/lib/ns/server.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_APPEND
    - UNLOCK
    - LOCK
    - SCTX_VALID
    - ISC_LINK_INIT
    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: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 98
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 98
    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: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    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: 105
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 105
    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: 106
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 106
    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: 107
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 107
    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: 108
      start: 107
    functionDepth: 0
    functionLinenumber: 107
    functionLinenumberEnd: 108
    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: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    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:128,1
    - Dst: atomic_exchange_relaxed
      Src: /src/bind9/lib/ns/client.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 135
    functionName: can_log_sigchecks_quota
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - atomic_exchange_relaxed
    - isc_stdtime_now
    linkageType: ''
    returnType: bool
    signature: bool can_log_sigchecks_quota(void)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:154,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:158,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/client.c:160,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/client.c:177,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:186,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 147
    functionDepth: 3
    functionLinenumber: 147
    functionLinenumberEnd: 190
    functionName: ns_client_transport_type
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_nm_socket_type
    - isc_nm_has_encryption
    - UNREACHABLE
    - 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:194,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:194,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:195,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:197,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/client.c:199,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 192
    functionDepth: 1
    functionLinenumber: 192
    functionLinenumberEnd: 201
    functionName: ns_client_recursing
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_APPEND
    - LOCK
    - NS_CLIENT_VALID
    - UNLOCK
    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:206,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:206,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:208,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:209,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/client.c:211,1
    - Dst: ns_query_cancel
      Src: /src/bind9/lib/ns/client.c:213,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:214,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:217,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 218
    functionName: ns_client_killoldestquery
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ns_stats_increment
    - REQUIRE
    - ISC_LIST_UNLINK
    - ISC_LIST_HEAD
    - LOCK
    - NS_CLIENT_VALID
    - UNLOCK
    - ns_query_cancel
    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:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/client.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - client
    - seconds
    argTypes:
    - ns_client_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 225
    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:232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 235
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:239,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:242,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:245,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/ns/client.c:246,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/client.c:247,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:250,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/ns/client.c:262,1
    - Dst: dns_adb_flush
      Src: /src/bind9/lib/ns/client.c:264,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/ns/client.c:265,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/ns/client.c:269,1
    - Dst: client_zoneversion_reset
      Src: /src/bind9/lib/ns/client.c:272,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/ns/client.c:278,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/ns/client.c:279,1
    - Dst: dns_ecs_init
      Src: /src/bind9/lib/ns/client.c:281,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/ns/client.c:282,1
    - Dst: ns_client_t*::manager::sctx::fuzznotify
      Src: /src/bind9/lib/ns/client.c:294,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 237
    functionDepth: 2
    functionLinenumber: 237
    functionLinenumberEnd: 297
    functionName: ns_client_endrequest
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - dns_adb_detach
    - ISC_LIST_UNLINK
    - dns_name_dynamic
    - INSIST
    - client_zoneversion_reset
    - dns_ecs_init
    - dns_view_detach
    - ISC_LINK_LINKED
    - LOCK
    - dns_message_reset
    - ns_client_t*::manager::sctx::fuzznotify
    - CTRACE
    - dns_name_free
    - dns_view_getadb
    - dns_adb_flush
    - UNLOCK
    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:301,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:302,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:305,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:307,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:308,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:309,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 299
    functionDepth: 1
    functionLinenumber: 299
    functionLinenumberEnd: 311
    functionName: ns_client_drop
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - NS_CLIENT_VALID
    - ns_client_log
    - ISC_LOG_DEBUG
    - CTRACE
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void ns_client_drop(ns_client_t *client, isc_result_t result)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:317,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:319,1
    - Dst: dns_resolver_getqueryrttstats
      Src: /src/bind9/lib/ns/client.c:336,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/ns/client.c:341,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:344,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/ns/client.c:345,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:348,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:349,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:350,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:354,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:356,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:357,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:359,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:360,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/client.c:364,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - handle
    - result
    - cbarg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 313
    functionDepth: 7
    functionLinenumber: 313
    functionLinenumberEnd: 365
    functionName: client_senddone
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_time_microdiff
    - ns_client_error
    - isc_nm_bad_request
    - isc_nmhandle_detach
    - ns_client_log
    - dns_resolver_getqueryrttstats
    - isc_histomulti_inc
    - ISC_LOG_DEBUG
    - isc_histomulti_detach
    - CTRACE
    - TCP_CLIENT
    - isc_result_totext
    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:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 373
      start: 367
    functionDepth: 1
    functionLinenumber: 367
    functionLinenumberEnd: 373
    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:382,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 375
    functionDepth: 1
    functionLinenumber: 375
    functionLinenumberEnd: 388
    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:396,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:398,1
    - Dst: client_setup_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:399,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:401,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:420,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: 423
      start: 390
    functionDepth: 2
    functionLinenumber: 390
    functionLinenumberEnd: 423
    functionName: client_allocsendbuf
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - client_setup_tcp_buffer
    - REQUIRE
    - TCP_CLIENT
    - isc_buffer_init
    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:431,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/client.c:433,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:434,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:435,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:448,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:449,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:455,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:469,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:474,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/ns/client.c:480,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/client.c:482,1
    - Dst: isc_nm_is_http_handle
      Src: /src/bind9/lib/ns/client.c:484,1
    - Dst: dns_message_response_minttl
      Src: /src/bind9/lib/ns/client.c:485,1
    - Dst: isc_nm_set_maxage
      Src: /src/bind9/lib/ns/client.c:487,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/ns/client.c:490,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    argCount: 2
    argNames:
    - client
    - buffer
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 425
    functionDepth: 6
    functionLinenumber: 425
    functionLinenumberEnd: 491
    functionName: client_sendpkg
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_nm_set_maxage
    - memmove
    - INSIST
    - isc_mem_get
    - isc_buffer_usedlength
    - isc_nm_send
    - isc_buffer_base
    - isc_buffer_usedregion
    - isc_nmhandle_attach
    - isc_nm_is_http_handle
    - dns_message_response_minttl
    - client_put_tcp_buffer
    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:505,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:505,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:507,1
    - Dst: dns_message_getrawmessage
      Src: /src/bind9/lib/ns/client.c:509,1
    - Dst: client_allocsendbuf
      Src: /src/bind9/lib/ns/client.c:515,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/ns/client.c:517,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:525,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/ns/client.c:526,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:535,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:544,1
    - Dst: client_sendpkg
      Src: /src/bind9/lib/ns/client.c:551,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:556,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 43
    argCount: 2
    argNames:
    - client
    - message
    argTypes:
    - ns_client_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 493
    functionDepth: 7
    functionLinenumber: 493
    functionLinenumberEnd: 560
    functionName: ns_client_sendraw
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_buffer_length
    - client_sendpkg
    - client_allocsendbuf
    - NS_CLIENT_VALID
    - isc_buffer_copyregion
    - isc_buffer_availableregion
    - ns_client_drop
    - dns_message_getrawmessage
    - CTRACE
    - ns_client_transport_type
    - dns_dt_send
    - client_put_tcp_buffer
    linkageType: ''
    returnType: void
    signature: void ns_client_sendraw(ns_client_t *client, dns_message_t *message)
  - BBCount: 43
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:583,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:583,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:596,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:621,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/client.c:632,1
    - Dst: ns_client_addopt
      Src: /src/bind9/lib/ns/client.c:632,1
    - Dst: client_allocsendbuf
      Src: /src/bind9/lib/ns/client.c:636,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:642,1
    - Dst: dns_acl_allowed
      Src: /src/bind9/lib/ns/client.c:648,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/ns/client.c:658,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/client.c:661,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/ns/client.c:661,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:663,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:678,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:688,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/client.c:698,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/client.c:705,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/ns/client.c:705,1
    - Dst: memset
      Src: /src/bind9/lib/ns/client.c:708,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/ns/client.c:714,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:716,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/ns/client.c:717,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/ns/client.c:718,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/ns/client.c:720,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:732,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/client.c:736,1
    - Dst: ns_client_t*::inner::sendcb
      Src: /src/bind9/lib/ns/client.c:740,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:741,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/ns/client.c:742,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:745,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:753,1
    - Dst: client_sendpkg
      Src: /src/bind9/lib/ns/client.c:755,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:757,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:759,1
    - Dst: DNS_SIZEHISTO_BUCKETOUT
      Src: /src/bind9/lib/ns/client.c:760,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: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:767,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:776,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:784,1
    - Dst: client_sendpkg
      Src: /src/bind9/lib/ns/client.c:786,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:788,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:790,1
    - Dst: DNS_SIZEHISTO_BUCKETOUT
      Src: /src/bind9/lib/ns/client.c:791,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: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:798,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:803,1
    - Dst: dns_rcodestats_increment
      Src: /src/bind9/lib/ns/client.c:806,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:809,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: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:831,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/client.c:835,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 176
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 837
      start: 562
    functionDepth: 7
    functionLinenumber: 562
    functionLinenumberEnd: 837
    functionName: ns_client_send
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - ns_stats_increment
    - REQUIRE
    - dns_message_renderend
    - isc_buffer_usedlength
    - NS_CLIENT_VALID
    - dns_acl_allowed
    - memset
    - ns_client_t*::inner::sendcb
    - client_put_tcp_buffer
    - ns_client_addopt
    - dns_rcodestats_increment
    - DNS_SIZEHISTO_BUCKETOUT
    - dns_message_rendersection
    - client_sendpkg
    - CTRACE
    - isc_sockaddr_pf
    - isc_buffer_init
    - dns_dt_send
    - dns_zone_getorigin
    - dns_compress_invalidate
    - isc_netaddr_fromsockaddr
    - dns_name_towire
    - isc_histomulti_inc
    - dns_compress_setpermitted
    - CHECK
    - UNREACHABLE
    - dns_message_renderbegin
    - client_allocsendbuf
    - isc_buffer_usedregion
    - ns_client_transport_type
    - TCP_CLIENT
    - dns_compress_init
    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: 864
      start: 852
    functionDepth: 0
    functionLinenumber: 852
    functionLinenumberEnd: 864
    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:873,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:873,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:875,1
    - Dst: dns_result_torcode
      Src: /src/bind9/lib/ns/client.c:880,1
    - Dst: ns_client_dropport
      Src: /src/bind9/lib/ns/client.c:894,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/ns/client.c:894,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:900,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/ns/client.c:901,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/ns/client.c:902,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:904,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:905,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:907,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:908,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:927,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:929,1
    - Dst: dns_rrl
      Src: /src/bind9/lib/ns/client.c:930,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:932,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:943,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:953,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:956,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:959,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/client.c:975,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/client.c:982,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:984,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/client.c:1004,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1007,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1011,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1012,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:1015,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1020,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/ns/client.c:1038,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/ns/client.c:1039,1
    - Dst: dns_badcache_add
      Src: /src/bind9/lib/ns/client.c:1041,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1044,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/client.c:1048,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 76
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 867
    functionDepth: 8
    functionLinenumber: 867
    functionLinenumberEnd: 1049
    functionName: ns_client_error
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - ns_stats_increment
    - REQUIRE
    - dns_rcode_totext
    - isc_buffer_usedlength
    - NS_CLIENT_VALID
    - ISC_LOG_DEBUG
    - ns_client_drop
    - dns_badcache_add
    - isc_sockaddr_getport
    - isc_time_nowplusinterval
    - isc_sockaddr_equal
    - CTRACE
    - dns_rrl
    - isc_buffer_init
    - isc_time_seconds
    - dns_result_torcode
    - dns_message_reply
    - isc_log_wouldlog
    - isc_interval_set
    - isc_buffer_putstr
    - ns_client_send
    - ns_client_dropport
    - ns_client_log
    - TCP_CLIENT
    linkageType: ''
    returnType: void
    signature: void ns_client_error(ns_client_t *client, isc_result_t result)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:1063,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:1063,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:1064,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/ns/client.c:1069,1
    - Dst: dns_message_ednsinit
      Src: /src/bind9/lib/ns/client.c:1076,1
    - Dst: WANTNSID
      Src: /src/bind9/lib/ns/client.c:1079,1
    - Dst: gethostname
      Src: /src/bind9/lib/ns/client.c:1086,1
    - Dst: strlen
      Src: /src/bind9/lib/ns/client.c:1094,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1096,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1096,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/client.c:1102,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1104,1
    - Dst: compute_cookie
      Src: /src/bind9/lib/ns/client.c:1106,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1112,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1112,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1118,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/ns/client.c:1119,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1124,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1124,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1145,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1147,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1150,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1152,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1155,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1158,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/ns/client.c:1160,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1162,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1164,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/client.c:1172,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1178,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1178,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:1181,1
    - Dst: USEKEEPALIVE
      Src: /src/bind9/lib/ns/client.c:1181,1
    - Dst: isc_nm_getadvertisedtimeout
      Src: /src/bind9/lib/ns/client.c:1182,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1186,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/ns/client.c:1187,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1192,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1192,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1205,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1205,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1213,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1213,1
    - Dst: WANTRC
      Src: /src/bind9/lib/ns/client.c:1216,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/ns/client.c:1218,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/client.c:1221,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/client.c:1227,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1227,1
    - Dst: WANTPAD
      Src: /src/bind9/lib/ns/client.c:1232,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:1233,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:1239,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/client.c:1240,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/ns/client.c:1245,1
    - Dst: dns_message_setpadding
      Src: /src/bind9/lib/ns/client.c:1246,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/ns/client.c:1250,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 95
    argCount: 2
    argNames:
    - client
    - message
    argTypes:
    - ns_client_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1051
    functionDepth: 2
    functionLinenumber: 1051
    functionLinenumberEnd: 1252
    functionName: ns_client_addopt
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - isc_buffer_putuint32
    - WANTPAD
    - isc_nm_getadvertisedtimeout
    - dns_message_ednsinit
    - NS_CLIENT_VALID
    - strlen
    - RETERR
    - gethostname
    - dns_message_setopt
    - isc_buffer_putuint16
    - isc_buffer_putuint8
    - isc_buffer_init
    - USEKEEPALIVE
    - WANTNSID
    - compute_cookie
    - dns_name_dynamic
    - isc_stdtime_now
    - isc_buffer_putmem
    - dns_name_equal
    - isc_netaddr_fromsockaddr
    - WANTRC
    - dns_acl_match
    - dns_view_getudpsize
    - UNREACHABLE
    - dns_message_setpadding
    - TCP_CLIENT
    - dns_message_ednsaddopt
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_client_addopt(ns_client_t *client, dns_message_t *message)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/ns/client.c:1258,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/client.c:1268,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1269,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/ns/client.c:1270,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/ns/client.c:1271,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/ns/client.c:1272,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1274,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/ns/client.c:1274,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:1276,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1280,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1285,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1289,1
    - Dst: isc_siphash24
      Src: /src/bind9/lib/ns/client.c:1292,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/client.c:1293,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1297,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: 1299
      start: 1254
    functionDepth: 3
    functionLinenumber: 1254
    functionLinenumberEnd: 1299
    functionName: compute_cookie
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 3
    functionsReached:
    - memmove
    - isc_siphash24
    - isc_buffer_putmem
    - isc_buffer_putuint32
    - isc_netaddr_fromsockaddr
    - isc_buffer_putuint16
    - UNREACHABLE
    - isc_buffer_used
    - isc_buffer_putuint8
    - STATIC_ASSERT
    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:1316,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1322,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1329,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1330,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1330,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1331,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1334,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1337,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1347,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1348,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1349,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1350,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/ns/client.c:1351,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1352,1
    - Dst: ns_server_getoption
      Src: /src/bind9/lib/ns/client.c:1359,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/ns/client.c:1366,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/ns/client.c:1370,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/ns/client.c:1371,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1374,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1379,1
    - Dst: compute_cookie
      Src: /src/bind9/lib/ns/client.c:1380,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/ns/client.c:1382,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1383,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/client.c:1389,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1390,1
    - Dst: compute_cookie
      Src: /src/bind9/lib/ns/client.c:1391,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/ns/client.c:1392,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1393,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1401,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: 1403
      start: 1301
    functionDepth: 3
    functionLinenumber: 1301
    functionLinenumberEnd: 1403
    functionName: process_cookie
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ns_stats_increment
    - isc_buffer_current
    - isc_safe_memequal
    - memmove
    - ns_server_getoption
    - INSIST
    - isc_stdtime_now
    - isc_buffer_forward
    - compute_cookie
    - isc_serial_lt
    - ISC_LIST_FOREACH
    - isc_buffer_getuint32
    - isc_serial_gt
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void process_cookie(ns_client_t *client, isc_buffer_t *buf, size_t
      optlen)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1415,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1426,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1427,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/ns/client.c:1432,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/ns/client.c:1433,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/ns/client.c:1434,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1438,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1439,1
    - Dst: memset
      Src: /src/bind9/lib/ns/client.c:1444,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1448,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1449,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1459,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1460,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: isc_buffer_remaininglength
      Src: /src/bind9/lib/ns/client.c:1476,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1477,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1478,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1485,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1485,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1486,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1498,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1503,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 60
    argCount: 3
    argNames:
    - client
    - buf
    - optlen
    argTypes:
    - ns_client_t*
    - isc_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1505
      start: 1405
    functionDepth: 3
    functionLinenumber: 1405
    functionLinenumberEnd: 1505
    functionName: process_ecs
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_buffer_current
    - memmove
    - isc_buffer_forward
    - isc_buffer_remaininglength
    - isc_buffer_getuint8
    - ns_client_log
    - ISC_LOG_DEBUG
    - isc_buffer_getuint16
    - memset
    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:1510,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1516,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:1520,1
    - Dst: memmove
      Src: /src/bind9/lib/ns/client.c:1523,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/ns/client.c:1523,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1525,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: 1527
      start: 1507
    functionDepth: 2
    functionLinenumber: 1507
    functionLinenumberEnd: 1527
    functionName: process_keytag
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - isc_buffer_current
    - memmove
    - isc_mem_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t process_keytag(ns_client_t *client, isc_buffer_t *buf,
      size_t optlen)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/client.c:1563,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/client.c:1565,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/client.c:1566,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1567,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:1568,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/ns/client.c:1569,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/ns/client.c:1570,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/ns/client.c:1571,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1573,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/ns/client.c:1573,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1583,1
    - Dst: WANTNSID
      Src: /src/bind9/lib/ns/client.c:1588,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1589,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1595,1
    - Dst: process_cookie
      Src: /src/bind9/lib/ns/client.c:1598,1
    - Dst: WANTEXPIRE
      Src: /src/bind9/lib/ns/client.c:1601,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1602,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1608,1
    - Dst: process_ecs
      Src: /src/bind9/lib/ns/client.c:1611,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1615,1
    - Dst: USEKEEPALIVE
      Src: /src/bind9/lib/ns/client.c:1620,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1621,1
    - Dst: isc_nmhandle_keepalive
      Src: /src/bind9/lib/ns/client.c:1627,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1629,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:1637,1
    - Dst: process_keytag
      Src: /src/bind9/lib/ns/client.c:1640,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1645,1
    - Dst: WANTZONEVERSION
      Src: /src/bind9/lib/ns/client.c:1650,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1654,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1659,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1662,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/ns/client.c:1665,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1672,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:1676,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1680,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:1691,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 103
    argCount: 2
    argNames:
    - client
    - opt
    argTypes:
    - ns_client_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1529
    functionDepth: 9
    functionLinenumber: 1529
    functionLinenumberEnd: 1693
    functionName: process_opt
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ns_stats_increment
    - INSIST
    - isc_buffer_forward
    - isc_buffer_add
    - WANTEXPIRE
    - process_cookie
    - process_keytag
    - isc_buffer_getuint16
    - isc_buffer_init
    - USEKEEPALIVE
    - WANTNSID
    - WANTZONEVERSION
    - dns_rdata_init
    - dns_rdataset_first
    - isc_nmhandle_keepalive
    - dns_rdataset_current
    - ns_client_error
    - process_ecs
    - isc_buffer_remaininglength
    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:1700,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1703
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1703
    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:1709,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1710,1
    - Dst: ns_client_endrequest
      Src: /src/bind9/lib/ns/client.c:1720,1
    - Dst: client_put_tcp_buffer
      Src: /src/bind9/lib/ns/client.c:1722,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:1726,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:1731,1
    - Dst: isc_log_setforcelog
      Src: /src/bind9/lib/ns/client.c:1736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - client0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1705
    functionDepth: 3
    functionLinenumber: 1705
    functionLinenumberEnd: 1738
    functionName: ns__client_reset_cb
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - ns_client_async_reset
    - ns_client_endrequest
    - ns_client_log
    - ISC_LOG_DEBUG
    - isc_log_setforcelog
    - client_put_tcp_buffer
    linkageType: ''
    returnType: void
    signature: void ns__client_reset_cb(void *client0)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:1745,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:1745,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1749,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1750,1
    - Dst: ns_query_free
      Src: /src/bind9/lib/ns/client.c:1755,1
    - Dst: dns_ede_invalidate
      Src: /src/bind9/lib/ns/client.c:1756,1
    - Dst: client_zoneversion_reset
      Src: /src/bind9/lib/ns/client.c:1757,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:1761,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/ns/client.c:1763,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/client.c:1769,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:1771,1
    - Dst: ns_clientmgr_detach
      Src: /src/bind9/lib/ns/client.c:1773,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - client0
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1740
    functionDepth: 5
    functionLinenumber: 1740
    functionLinenumberEnd: 1774
    functionName: ns__client_put_cb
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ns_query_free
    - isc_mem_put
    - dns_ede_invalidate
    - ns_client_async_reset
    - ns_clientmgr_detach
    - NS_CLIENT_VALID
    - ns_client_log
    - ISC_LOG_DEBUG
    - isc_mutex_destroy
    - client_zoneversion_reset
    - dns_message_detach
    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:1783,1
    - Dst: ns_client_t*::manager::sctx::matchingview
      Src: /src/bind9/lib/ns/client.c:1786,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1795,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1804,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:1807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - client
    - netaddr
    argTypes:
    - ns_client_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1810
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1810
    functionName: ns_client_setup_view
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - isc_nmhandle_ref
    - ns_client_t*::manager::sctx::matchingview
    - INSIST
    - ns_client_async_reset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ns_client_setup_view(ns_client_t *client, isc_netaddr_t
      *netaddr)
  - BBCount: 46
    BranchProfiles: []
    Callsites:
    - Dst: isc_nmhandle_getdata
      Src: /src/bind9/lib/ns/client.c:1834,1
    - Dst: ns_interfacemgr_getclientmgr
      Src: /src/bind9/lib/ns/client.c:1838,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1840,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:1840,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1841,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/client.c:1841,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:1843,1
    - Dst: ns__client_setup
      Src: /src/bind9/lib/ns/client.c:1845,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1847,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1848,1
    - Dst: ns__client_setup
      Src: /src/bind9/lib/ns/client.c:1851,1
    - Dst: isc_nmhandle_setdata
      Src: /src/bind9/lib/ns/client.c:1857,1
    - Dst: isc_nmhandle_is_stream
      Src: /src/bind9/lib/ns/client.c:1862,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:1866,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/ns/client.c:1868,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:1870,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:1871,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/ns/client.c:1874,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:1877,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/client.c:1881,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:1883,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:1885,1
    - Dst: ns_client_dropport
      Src: /src/bind9/lib/ns/client.c:1888,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/ns/client.c:1888,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1891,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1892,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1894,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/client.c:1901,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1905,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1906,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1908,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1912,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1913,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:1914,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/lib/ns/client.c:1916,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1922,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1923,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1925,1
    - Dst: isc_log_setforcelog
      Src: /src/bind9/lib/ns/client.c:1931,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:1941,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:1942,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:1944,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:1951,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1952,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1955,1
    - Dst: TCP_CLIENT
      Src: /src/bind9/lib/ns/client.c:1958,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:1959,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:1961,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:1963,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:1964,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:1967,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:1968,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1971,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/ns/client.c:1974,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:1976,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:1977,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/ns/client.c:1980,1
    - Dst: DNS_SIZEHISTO_BUCKETIN
      Src: /src/bind9/lib/ns/client.c:1981,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/client.c:1984,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/ns/client.c:1991,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2000,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2001,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:2003,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2007,1
    - Dst: dns_opcodestats_increment
      Src: /src/bind9/lib/ns/client.c:2011,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/ns/client.c:2033,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2047,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2057,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2067,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/client.c:2076,1
    - Dst: process_opt
      Src: /src/bind9/lib/ns/client.c:2080,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/client.c:2094,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2096,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/client.c:2104,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2108,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2110,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2120,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2123,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2132,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2135,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/client.c:2140,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2142,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2143,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2144,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2147,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/ns/client.c:2151,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2152,1
    - Dst: ns_client_setup_view
      Src: /src/bind9/lib/ns/client.c:2163,1
    - Dst: ns_client_request_continue
      Src: /src/bind9/lib/ns/client.c:2168,1
    CyclomaticComplexity: 49
    EdgeCount: 49
    ICount: 196
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2169
      start: 1816
    functionDepth: 9
    functionLinenumber: 1816
    functionLinenumberEnd: 2169
    functionName: ns_client_request
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ns_stats_increment
    - isc_nmhandle_is_stream
    - DNS_SIZEHISTO_BUCKETIN
    - INSIST
    - isc_buffer_usedlength
    - isc_nmhandle_setdata
    - isc_buffer_add
    - ISC_LOG_DEBUG
    - ns_client_drop
    - isc_sockaddr_getport
    - dns_message_parse
    - isc_sockaddr_pf
    - ns_client_setup_view
    - isc_buffer_init
    - isc_time_seconds
    - isc_result_totext
    - dns_opcodestats_increment
    - isc_time_now
    - atomic_fetch_add_relaxed
    - isc_nm_bad_request
    - dns_message_reply
    - dns_message_peekheader
    - isc_netaddr_fromsockaddr
    - VALID_MANAGER
    - ns_client_request_continue
    - isc_tid
    - isc_histomulti_inc
    - ns_interfacemgr_getclientmgr
    - isc_nmhandle_peeraddr
    - isc_log_setforcelog
    - dns_message_getopt
    - dns_rdataclass_format
    - dns_acl_match
    - UNREACHABLE
    - ns_client_error
    - ns_client_dumpmessage
    - process_opt
    - ns_client_send
    - isc_mem_get
    - ns_client_dropport
    - ns__client_setup
    - ns_client_log
    - isc_nmhandle_localaddr
    - TCP_CLIENT
    - isc_nmhandle_getdata
    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: 35
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2200,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/client.c:2207,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:2208,1
    - Dst: dns_message_resetsig
      Src: /src/bind9/lib/ns/client.c:2220,1
    - Dst: dns_message_getrawmessage
      Src: /src/bind9/lib/ns/client.c:2221,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2222,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:2223,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/ns/client.c:2224,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2227,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2228,1
    - Dst: can_log_sigchecks_quota
      Src: /src/bind9/lib/ns/client.c:2231,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2232,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/client.c:2238,1
    - Dst: ns_client_dumpmessage
      Src: /src/bind9/lib/ns/client.c:2241,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2242,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2243,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/client.c:2248,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2249,1
    - Dst: isc_nm_is_proxy_handle
      Src: /src/bind9/lib/ns/client.c:2254,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2258,1
    - Dst: isc_nmhandle_real_peeraddr
      Src: /src/bind9/lib/ns/client.c:2260,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2261,1
    - Dst: isc_nmhandle_real_localaddr
      Src: /src/bind9/lib/ns/client.c:2262,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2263,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2266,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:2270,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/client.c:2271,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2273,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:2282,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2287,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/client.c:2291,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/client.c:2292,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2294,1
    - Dst: isc_nm_bad_request
      Src: /src/bind9/lib/ns/client.c:2303,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2308,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2309,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/client.c:2319,1
    - Dst: dns_message_signer
      Src: /src/bind9/lib/ns/client.c:2320,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/ns/client.c:2323,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2324,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2327,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2333,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2335,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2336,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2340,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2341,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2344,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2345,1
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/client.c:2354,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/ns/client.c:2357,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2361,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/lib/ns/client.c:2362,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2363,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:2364,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2366,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2370,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2373,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:2377,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2381,1
    - Dst: dns_tsigrcode_totext
      Src: /src/bind9/lib/ns/client.c:2382,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2383,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:2384,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2385,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/client.c:2388,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2399,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2418,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2423,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2428,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2433,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2443,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2444,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2457,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/ns/client.c:2458,1
    - Dst: dns_peer_getmaxudp
      Src: /src/bind9/lib/ns/client.c:2461,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:2469,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2477,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:2485,1
    - Dst: ns_query_start
      Src: /src/bind9/lib/ns/client.c:2491,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2494,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2496,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/ns/client.c:2500,1
    - Dst: ns_client_settimeout
      Src: /src/bind9/lib/ns/client.c:2506,1
    - Dst: ns_update_start
      Src: /src/bind9/lib/ns/client.c:2507,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2511,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2513,1
    - Dst: ns_client_settimeout
      Src: /src/bind9/lib/ns/client.c:2516,1
    - Dst: ns_notify_start
      Src: /src/bind9/lib/ns/client.c:2517,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2520,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2521,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2524,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/client.c:2525,1
    - Dst: ns_client_async_reset
      Src: /src/bind9/lib/ns/client.c:2529,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 177
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2530
      start: 2171
    functionDepth: 9
    functionLinenumber: 2171
    functionLinenumberEnd: 2530
    functionName: ns_client_request_continue
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ns_stats_increment
    - ns_notify_start
    - INSIST
    - isc_buffer_usedlength
    - dns_tsigrcode_totext
    - dns_message_resetsig
    - ns_query_start
    - isc_buffer_add
    - ns_update_start
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_nmhandle_real_peeraddr
    - dns_name_init
    - dns_name_format
    - ns_client_checkaclsilent
    - dns_message_signer
    - dns_message_gettsig
    - dns_tsig_verify
    - CTRACE
    - isc_buffer_init
    - isc_time_seconds
    - isc_result_totext
    - dns_dt_send
    - isc_time_now
    - isc_nm_bad_request
    - ns_client_settimeout
    - isc_netaddr_fromsockaddr
    - dns_rdataclass_format
    - isc_log_wouldlog
    - isc_nm_is_proxy_handle
    - dns_peerlist_peerbyaddr
    - can_log_sigchecks_quota
    - dns_peer_getmaxudp
    - ns_client_dumpmessage
    - ns_client_error
    - isc_nmhandle_real_localaddr
    - ns_client_async_reset
    - dns_ede_add
    - ns_client_log
    - dns_message_getrawmessage
    - ns_client_transport_type
    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:2535,1
    - Dst: ns_interfacemgr_getserver
      Src: /src/bind9/lib/ns/client.c:2536,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/ns/client.c:2547,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/client.c:2548,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/client.c:2551,1
    - Dst: isc_quota_getused
      Src: /src/bind9/lib/ns/client.c:2559,1
    - Dst: ns_stats_update_if_greater
      Src: /src/bind9/lib/ns/client.c:2560,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: 2564
      start: 2532
    functionDepth: 3
    functionLinenumber: 2532
    functionLinenumberEnd: 2564
    functionName: ns__client_tcpconn
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ns_interfacemgr_getaclenv
    - ns_interfacemgr_getserver
    - isc_netaddr_fromsockaddr
    - isc_quota_getused
    - isc_nmhandle_peeraddr
    - ns_stats_update_if_greater
    - dns_acl_match
    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:2574,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:2574,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2576,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/client.c:2576,1
    - Dst: ns_clientmgr_attach
      Src: /src/bind9/lib/ns/client.c:2580,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/ns/client.c:2582,1
    - Dst: ns_query_init
      Src: /src/bind9/lib/ns/client.c:2592,1
    - Dst: dns_ede_init
      Src: /src/bind9/lib/ns/client.c:2594,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2596,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:2596,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2597,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/client.c:2597,1
    - Dst: dns_ede_reset
      Src: /src/bind9/lib/ns/client.c:2604,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/client.c:2611,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/ns/client.c:2612,1
    - Dst: dns_ecs_init
      Src: /src/bind9/lib/ns/client.c:2613,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/ns/client.c:2614,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/client.c:2617,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:2622,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: 2623
      start: 2566
    functionDepth: 5
    functionLinenumber: 2566
    functionLinenumberEnd: 2623
    functionName: ns__client_setup
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_ecs_init
    - dns_ede_init
    - dns_message_create
    - dns_ede_reset
    - ns_clientmgr_attach
    - VALID_MANAGER
    - isc_tid
    - NS_CLIENT_VALID
    - CTRACE
    - isc_sockaddr_any
    - ISC_LINK_INIT
    - ns_query_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:2632,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/ns/client.c:2636,1
    - Dst: dns_aclenv_detach
      Src: /src/bind9/lib/ns/client.c:2638,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/client.c:2640,1
    - Dst: ns_server_detach
      Src: /src/bind9/lib/ns/client.c:2642,1
    - Dst: dns_message_destroypools
      Src: /src/bind9/lib/ns/client.c:2644,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/client.c:2646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2647
      start: 2629
    functionDepth: 3
    functionLinenumber: 2629
    functionLinenumberEnd: 2647
    functionName: clientmgr_destroy_cb
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - MTRACE
    - dns_aclenv_detach
    - isc_mem_putanddetach
    - dns_message_destroypools
    - isc_mutex_destroy
    - isc_loop_detach
    - ns_server_detach
    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:2651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_clientmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2652
      start: 2649
    functionDepth: 2
    functionLinenumber: 2649
    functionLinenumberEnd: 2652
    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:2662,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:2664,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/ns/client.c:2671,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/ns/client.c:2671,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/client.c:2672,1
    - Dst: dns_aclenv_attach
      Src: /src/bind9/lib/ns/client.c:2673,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/client.c:2674,1
    - Dst: ns_server_attach
      Src: /src/bind9/lib/ns/client.c:2675,1
    - Dst: dns_message_createpools
      Src: /src/bind9/lib/ns/client.c:2677,1
    - Dst: MTRACE
      Src: /src/bind9/lib/ns/client.c:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 4
    argNames:
    - sctx
    - aclenv
    - tid
    - managerp
    argTypes:
    - ns_server_t*
    - dns_aclenv_t*
    - isc_tid_t
    - ns_clientmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2686
      start: 2656
    functionDepth: 2
    functionLinenumber: 2656
    functionLinenumberEnd: 2686
    functionName: ns_clientmgr_create
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - dns_aclenv_attach
    - isc_mem_create
    - isc_mutex_init
    - isc_loop_attach
    - isc_mem_get
    - MTRACE
    - isc_loop_get
    - dns_message_createpools
    - ns_server_attach
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_clientmgr_create(ns_server_t *sctx, 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:2690,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:2690,1
    - Dst: MTRACE
      Src: /src/bind9/lib/ns/client.c:2692,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:2694,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/client.c:2695,1
    - Dst: ns_query_cancel
      Src: /src/bind9/lib/ns/client.c:2696,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - manager
    argTypes:
    - ns_clientmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2699
      start: 2688
    functionDepth: 2
    functionLinenumber: 2688
    functionLinenumberEnd: 2699
    functionName: ns_clientmgr_shutdown
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - MTRACE
    - VALID_MANAGER
    - LOCK
    - ISC_LIST_FOREACH
    - UNLOCK
    - ns_query_cancel
    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: 2704
      start: 2701
    functionDepth: 0
    functionLinenumber: 2701
    functionLinenumberEnd: 2704
    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: 2709
      start: 2706
    functionDepth: 0
    functionLinenumber: 2706
    functionLinenumberEnd: 2709
    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:2729,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/ns/client.c:2733,1
    - Dst: dns_acl_match_port_transport
      Src: /src/bind9/lib/ns/client.c:2734,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/ns/client.c:2735,1
    - Dst: isc_nm_socket_type
      Src: /src/bind9/lib/ns/client.c:2736,1
    - Dst: isc_nm_has_encryption
      Src: /src/bind9/lib/ns/client.c:2737,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: 2754
      start: 2711
    functionDepth: 3
    functionLinenumber: 2711
    functionLinenumberEnd: 2754
    functionName: ns_client_checkaclsilent
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 8
    functionsReached:
    - isc_sockaddr_getport
    - isc_netaddr_fromsockaddr
    - isc_nm_socket_type
    - dns_acl_match_port_transport
    - isc_nm_has_encryption
    - isc_nmhandle_localaddr
    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:2764,1
    - Dst: ns_client_checkaclsilent
      Src: /src/bind9/lib/ns/client.c:2767,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2771,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2772,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/ns/client.c:2775,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2776,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: 2781
      start: 2756
    functionDepth: 4
    functionLinenumber: 2756
    functionLinenumberEnd: 2781
    functionName: ns_client_checkacl
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ns_client_checkaclsilent
    - dns_ede_add
    - isc_netaddr_fromsockaddr
    - ns_client_log
    - ISC_LOG_DEBUG
    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:2786,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/client.c:2789,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: 2791
      start: 2783
    functionDepth: 3
    functionLinenumber: 2783
    functionLinenumberEnd: 2791
    functionName: ns_client_name
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - snprintf
    - isc_sockaddr_format
    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:2804,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/ns/client.c:2806,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2809,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2818,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2825,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2826,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/client.c:2833,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/client.c:2836,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/client.c:2839,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: 2842
      start: 2793
    functionDepth: 3
    functionLinenumber: 2793
    functionLinenumberEnd: 2842
    functionName: ns_client_logv
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - strcmp
    - dns_name_format
    - vsnprintf
    - snprintf
    - isc_log_write
    - isc_sockaddr_format
    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:2849,1
    - Dst: va_start
      Src: /src/bind9/lib/ns/client.c:2853,1
    - Dst: ns_client_logv
      Src: /src/bind9/lib/ns/client.c:2854,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/client.c:2855,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: 2856
      start: 2844
    functionDepth: 4
    functionLinenumber: 2844
    functionLinenumberEnd: 2856
    functionName: ns_client_log
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 34
    functionsReached:
    - va_start
    - va_end
    - ns_client_logv
    - 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:2865,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/client.c:2866,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/client.c:2867,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/client.c:2868,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: 2870
      start: 2858
    functionDepth: 1
    functionLinenumber: 2858
    functionLinenumberEnd: 2870
    functionName: ns_client_aclmsg
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - snprintf
    - dns_rdatatype_format
    - dns_rdataclass_format
    - dns_name_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:2879,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2879,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/client.c:2889,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:2890,1
    - Dst: dns_message_totext
      Src: /src/bind9/lib/ns/client.c:2891,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:2894,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/client.c:2897,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/client.c:2898,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/client.c:2900,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/client.c:2905,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - client
    - reason
    argTypes:
    - ns_client_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2907
      start: 2872
    functionDepth: 5
    functionLinenumber: 2872
    functionLinenumberEnd: 2907
    functionName: ns_client_dumpmessage
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 2
    functionsReached:
    - dns_message_totext
    - isc_mem_put
    - isc_mem_get
    - isc_buffer_usedlength
    - ns_client_log
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - isc_buffer_init
    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:2921,1
    - Dst: VALID_MANAGER
      Src: /src/bind9/lib/ns/client.c:2921,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:2923,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/client.c:2924,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2925,1
    - Dst: ns_client_name
      Src: /src/bind9/lib/ns/client.c:2927,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2929,1
    - Dst: strcmp
      Src: /src/bind9/lib/ns/client.c:2930,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/client.c:2939,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:2940,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2941,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/client.c:2946,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:2952,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:2954,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/ns/client.c:2957,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/client.c:2959,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/client.c:2962,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/client.c:2963,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2965,1
    - Dst: fprintf
      Src: /src/bind9/lib/ns/client.c:2966,1
    - Dst: dns_transport_totext
      Src: /src/bind9/lib/ns/client.c:2970,1
    - Dst: ns_client_transport_type
      Src: /src/bind9/lib/ns/client.c:2970,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/client.c:2973,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2975,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - f
    - manager
    argTypes:
    - FILE*
    - ns_clientmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2976
      start: 2909
    functionDepth: 4
    functionLinenumber: 2909
    functionLinenumberEnd: 2976
    functionName: ns_client_dumprecursing
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - INSIST
    - ns_client_name
    - dns_name_format
    - dns_rdatatype_format
    - fprintf
    - dns_transport_totext
    - ISC_LIST_HEAD
    - VALID_MANAGER
    - LOCK
    - dns_rdataclass_format
    - ISC_LIST_FOREACH
    - ns_client_transport_type
    - strlcpy
    - UNLOCK
    - isc_time_seconds
    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:2980,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/client.c:2985,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/client.c:2989,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - client
    - name
    argTypes:
    - ns_client_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2990
      start: 2978
    functionDepth: 1
    functionLinenumber: 2978
    functionLinenumberEnd: 2990
    functionName: ns_client_qnamereplace
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 4
    functionsReached:
    - UNLOCK
    - dns_message_puttempname
    - LOCK
    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:2996,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:2996,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:2997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - ci
    - addrp
    argTypes:
    - dns_clientinfo_t*
    - isc_sockaddr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2992
    functionDepth: 1
    functionLinenumber: 2992
    functionLinenumberEnd: 3001
    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:3007,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:3007,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/client.c:3010,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 3003
    functionDepth: 1
    functionLinenumber: 3003
    functionLinenumberEnd: 3013
    functionName: ns_client_newrdataset
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 19
    functionsReached:
    - NS_CLIENT_VALID
    - REQUIRE
    - dns_message_gettemprdataset
    linkageType: ''
    returnType: dns_rdataset_t
    signature: 'dns_rdataset_t *

      ns_client_newrdataset(ns_client_t *client)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3019,1
    - Dst: NS_CLIENT_VALID
      Src: /src/bind9/lib/ns/client.c:3019,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3020,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/ns/client.c:3025,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/ns/client.c:3026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - client
    - rdatasetp
    argTypes:
    - ns_client_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3028
      start: 3015
    functionDepth: 1
    functionLinenumber: 3015
    functionLinenumberEnd: 3028
    functionName: ns_client_putrdataset
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 30
    functionsReached:
    - NS_CLIENT_VALID
    - REQUIRE
    - dns_rdataset_cleanup
    - 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:3034,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/ns/client.c:3036,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/client.c:3037,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3039,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3041
      start: 3030
    functionDepth: 3
    functionLinenumber: 3030
    functionLinenumberEnd: 3041
    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:3048,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3050,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/client.c:3052,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:3053,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/client.c:3054,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/ns/client.c:3055,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/ns/client.c:3056,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3059,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: 3061
      start: 3043
    functionDepth: 2
    functionLinenumber: 3043
    functionLinenumberEnd: 3061
    functionName: ns_client_newname
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 15
    functionsReached:
    - REQUIRE
    - dns_name_setbuffer
    - isc_buffer_availableregion
    - CTRACE
    - dns_message_gettempname
    - isc_buffer_init
    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:3068,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/client.c:3074,1
    - Dst: ns_client_newnamebuf
      Src: /src/bind9/lib/ns/client.c:3075,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/ns/client.c:3078,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:3079,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:3080,1
    - Dst: ns_client_newnamebuf
      Src: /src/bind9/lib/ns/client.c:3082,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/ns/client.c:3083,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/client.c:3084,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:3085,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3089
      start: 3063
    functionDepth: 4
    functionLinenumber: 3063
    functionLinenumberEnd: 3089
    functionName: ns_client_getnamebuf
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 14
    functionsReached:
    - INSIST
    - ISC_LIST_TAIL
    - ns_client_newnamebuf
    - ISC_LIST_EMPTY
    - isc_buffer_availableregion
    - CTRACE
    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:3095,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/client.c:3101,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/ns/client.c:3103,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/client.c:3104,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/ns/client.c:3105,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: 3107
      start: 3091
    functionDepth: 2
    functionLinenumber: 3091
    functionLinenumberEnd: 3107
    functionName: ns_client_keepname
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 15
    functionsReached:
    - REQUIRE
    - dns_name_setbuffer
    - dns_name_toregion
    - isc_buffer_add
    - CTRACE
    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:3117,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/ns/client.c:3119,1
    - Dst: CTRACE
      Src: /src/bind9/lib/ns/client.c:3120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - client
    - namep
    argTypes:
    - ns_client_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3121
      start: 3109
    functionDepth: 1
    functionLinenumber: 3109
    functionLinenumberEnd: 3121
    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:3129,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/ns/client.c:3132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - client
    - n
    argTypes:
    - ns_client_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3137
      start: 3123
    functionDepth: 1
    functionLinenumber: 3123
    functionLinenumberEnd: 3137
    functionName: ns_client_newdbversion
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_INITANDAPPEND
    - isc_mem_get
    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:3143,1
    - Dst: ns_client_newdbversion
      Src: /src/bind9/lib/ns/client.c:3144,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/client.c:3146,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/client.c:3147,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/client.c:3148,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - client
    argTypes:
    - ns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3151
      start: 3139
    functionDepth: 2
    functionLinenumber: 3139
    functionLinenumberEnd: 3151
    functionName: client_getdbversion
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - ns_client_newdbversion
    - INSIST
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    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:3155,1
    - Dst: client_getdbversion
      Src: /src/bind9/lib/ns/client.c:3165,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/client.c:3166,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/client.c:3167,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/client.c:3170,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - client
    - db
    argTypes:
    - ns_client_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3172
      start: 3153
    functionDepth: 3
    functionLinenumber: 3153
    functionLinenumberEnd: 3172
    functionName: ns_client_findversion
    functionSourceFile: /src/bind9/lib/ns/client.c
    functionUses: 6
    functionsReached:
    - dns_db_attach
    - ISC_LIST_APPEND
    - client_getdbversion
    - ISC_LIST_FOREACH
    - dns_db_currentversion
    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: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    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: 87
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 87
    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: 102
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 102
    functionName: FAILQ
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: FAILQ(code, msg, question, rdclass)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ns_stats_increment
      Src: /src/bind9/lib/ns/xfrout.c:107,1
    - Dst: dns_zone_getrequeststats
      Src: /src/bind9/lib/ns/xfrout.c:109,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/ns/xfrout.c:111,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: 114
      start: 105
    functionDepth: 3
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 16
    functionsReached:
    - ns_stats_increment
    - isc_stats_increment
    - dns_zone_getrequeststats
    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:129,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/xfrout.c:133,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/ns/xfrout.c:134,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/ns/xfrout.c:138,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/ns/xfrout.c:139,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/ns/xfrout.c:140,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:141,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/xfrout.c:142,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/xfrout.c:144,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/lib/ns/xfrout.c:145,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:155,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/xfrout.c:159,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/xfrout.c:160,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/ns/xfrout.c:161,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/xfrout.c:163,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: 165
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 165
    functionName: log_rr
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rdata_init
    - INSIST
    - isc_buffer_usedlength
    - dns_rdataset_init
    - dns_rdata_clone
    - ISC_LIST_APPEND
    - isc_log_write
    - dns_rdata_covers
    - isc_buffer_base
    - dns_rdatatype_issig
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - isc_buffer_init
    - dns_rdataset_totext
    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:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 193
    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:229,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:231,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:233,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:237,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/ns/xfrout.c:237,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:239,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/ns/xfrout.c:239,1
    - Dst: ixfr_rrstream_destroy
      Src: /src/bind9/lib/ns/xfrout.c:246,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: 248
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 248
    functionName: ixfr_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - dns_journal_open
    - INSIST
    - isc_mem_get
    - dns_journal_iter_init
    - CHECK
    - ixfr_rrstream_destroy
    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:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    functionLinenumberEnd: 254
    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: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_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:266,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: 267
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 267
    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:273,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 276
    functionName: ixfr_rrstream_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - isc_mem_putanddetach
    - dns_journal_destroy
    linkageType: ''
    returnType: void
    signature: void ixfr_rrstream_destroy(rrstream_t **rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:312,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:314,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:316,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:320,1
    - Dst: dns_rriterator_init
      Src: /src/bind9/lib/ns/xfrout.c:320,1
    - Dst: axfr_rrstream_destroy
      Src: /src/bind9/lib/ns/xfrout.c:327,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: 329
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 329
    functionName: axfr_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - axfr_rrstream_destroy
    - INSIST
    - isc_mem_get
    - CHECK
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/ns/xfrout.c:335,1
    - Dst: dns_rriterator_first
      Src: /src/bind9/lib/ns/xfrout.c:335,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/lib/ns/xfrout.c:342,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/xfrout.c:347,1
    - Dst: dns_rriterator_next
      Src: /src/bind9/lib/ns/xfrout.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 351
    functionName: axfr_rrstream_first
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rriterator_current
    - dns_rriterator_next
    - RETERR
    - 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:363,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/lib/ns/xfrout.c:367,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 374
    functionName: axfr_rrstream_next
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - dns_rriterator_current
    - dns_rriterator_next
    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:380,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: 381
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 381
    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:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 387
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 387
    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:393,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 389
    functionDepth: 1
    functionLinenumber: 389
    functionLinenumberEnd: 396
    functionName: axfr_rrstream_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_rriterator_destroy
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void axfr_rrstream_destroy(rrstream_t **rsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:428,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:430,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:432,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:436,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/ns/xfrout.c:436,1
    - Dst: soa_rrstream_destroy
      Src: /src/bind9/lib/ns/xfrout.c:443,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: 445
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 445
    functionName: soa_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - dns_db_createsoatuple
    - INSIST
    - isc_mem_get
    - soa_rrstream_destroy
    - CHECK
    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:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 451
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 451
    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:455,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 453
    functionDepth: 0
    functionLinenumber: 453
    functionLinenumberEnd: 457
    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: 466
      start: 459
    functionDepth: 0
    functionLinenumber: 459
    functionLinenumberEnd: 466
    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:472,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 475
    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:529,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:531,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:533,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: 545
      start: 524
    functionDepth: 1
    functionLinenumber: 524
    functionLinenumberEnd: 545
    functionName: compound_rrstream_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - INSIST
    - isc_mem_get
    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:553,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 556
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 556
    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:562,1
    - Dst: rrstream_t*::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:568,1
    - Dst: rrstream_t*::methods::first
      Src: /src/bind9/lib/ns/xfrout.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 577
    functionName: compound_rrstream_next
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - rrstream_t*::methods::first
    - rrstream_t*::methods::next
    - 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:584,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:585,1
    - Dst: rrstream_t*::methods::current
      Src: /src/bind9/lib/ns/xfrout.c:587,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: 588
      start: 579
    functionDepth: 0
    functionLinenumber: 579
    functionLinenumberEnd: 588
    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:594,1
    - Dst: rrstream_t*::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - rs
    argTypes:
    - rrstream_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 597
    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:602,1
    - Dst: methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:603,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rsp
    argTypes:
    - rrstream_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 599
    functionDepth: 1
    functionLinenumber: 599
    functionLinenumberEnd: 606
    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: 57
    BranchProfiles: []
    Callsites:
    - Dst: NS_CLIENT_ACLMSGSIZE
      Src: /src/bind9/lib/ns/xfrout.c:736,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/ns/xfrout.c:753,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:756,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:757,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:762,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/xfrout.c:762,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/xfrout.c:768,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/xfrout.c:769,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:771,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/xfrout.c:772,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:773,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/xfrout.c:776,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:777,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/xfrout.c:780,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:782,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/xfrout.c:788,1
    - Dst: dns_dlzallowzonexfr
      Src: /src/bind9/lib/ns/xfrout.c:789,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/xfrout.c:801,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/xfrout.c:803,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:805,1
    - Dst: FAILQ
      Src: /src/bind9/lib/ns/xfrout.c:813,1
    - Dst: FAILQ
      Src: /src/bind9/lib/ns/xfrout.c:822,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:827,1
    - Dst: FAILQ
      Src: /src/bind9/lib/ns/xfrout.c:837,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:840,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/ns/xfrout.c:840,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/xfrout.c:841,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:844,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:844,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/ns/xfrout.c:855,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/xfrout.c:859,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:870,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/xfrout.c:870,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/xfrout.c:871,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/xfrout.c:872,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:874,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:883,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:886,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:886,1
    - Dst: ns_client_aclmsg
      Src: /src/bind9/lib/ns/xfrout.c:896,1
    - Dst: dns_zone_getxfracl
      Src: /src/bind9/lib/ns/xfrout.c:901,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:903,1
    - Dst: ns_client_checkacl
      Src: /src/bind9/lib/ns/xfrout.c:903,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:913,1
    - Dst: isc_quota_acquire
      Src: /src/bind9/lib/ns/xfrout.c:920,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/xfrout.c:922,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/xfrout.c:924,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/xfrout.c:932,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/ns/xfrout.c:933,1
    - Dst: dns_peer_gettransferformat
      Src: /src/bind9/lib/ns/xfrout.c:939,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/ns/xfrout.c:946,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:949,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/ns/xfrout.c:949,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/xfrout.c:952,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:958,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/ns/xfrout.c:961,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/ns/xfrout.c:974,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:977,1
    - Dst: soa_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:977,1
    - Dst: dns_peer_getprovideixfr
      Src: /src/bind9/lib/ns/xfrout.c:991,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:995,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:996,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/lib/ns/xfrout.c:1004,1
    - Dst: ixfr_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1006,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1013,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1021,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/ns/xfrout.c:1023,1
    - Dst: dns_zone_getixfrratio
      Src: /src/bind9/lib/ns/xfrout.c:1025,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1027,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1029,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1040,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1041,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1051,1
    - Dst: axfr_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1051,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1057,1
    - Dst: soa_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1057,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1058,1
    - Dst: compound_rrstream_create
      Src: /src/bind9/lib/ns/xfrout.c:1058,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1064,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/ns/xfrout.c:1064,1
    - Dst: xfrout_ctx_create
      Src: /src/bind9/lib/ns/xfrout.c:1071,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/ns/xfrout.c:1073,1
    - Dst: xfrout_ctx_create
      Src: /src/bind9/lib/ns/xfrout.c:1078,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/ns/xfrout.c:1081,1
    - Dst: dns_zone_getmaxxfrout
      Src: /src/bind9/lib/ns/xfrout.c:1082,1
    - Dst: dns_zone_getidleout
      Src: /src/bind9/lib/ns/xfrout.c:1083,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1091,1
    - Dst: xfrout_ctx_t*::stream::methods::first
      Src: /src/bind9/lib/ns/xfrout.c:1091,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/xfrout.c:1094,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1101,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1102,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1105,1
    - Dst: xfrout_log1
      Src: /src/bind9/lib/ns/xfrout.c:1110,1
    - Dst: dns_zone_getraw
      Src: /src/bind9/lib/ns/xfrout.c:1117,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:1121,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/xfrout.c:1122,1
    - Dst: dns_zone_getexpiretime
      Src: /src/bind9/lib/ns/xfrout.c:1126,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/ns/xfrout.c:1127,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/xfrout.c:1137,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1143,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1143,1
    - Dst: isc_nm_timer_start
      Src: /src/bind9/lib/ns/xfrout.c:1146,1
    - Dst: sendstream
      Src: /src/bind9/lib/ns/xfrout.c:1154,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/xfrout.c:1161,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/ns/xfrout.c:1164,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1167,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1170,1
    - Dst: rrstream_t*::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1173,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/xfrout.c:1176,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/xfrout.c:1179,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/xfrout.c:1182,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1187,1
    - Dst: xfrout_fail
      Src: /src/bind9/lib/ns/xfrout.c:1188,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/xfrout.c:1191,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:1193,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1194,1
    - Dst: ns_client_error
      Src: /src/bind9/lib/ns/xfrout.c:1196,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1197,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 262
    argCount: 2
    argNames:
    - client
    - reqtype
    argTypes:
    - ns_client_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 712
    functionDepth: 9
    functionLinenumber: 712
    functionLinenumberEnd: 1199
    functionName: ns_xfr_start
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_db_createsoatuple
    - dns_zone_detach
    - dns_message_getquerytsig
    - INSIST
    - dns_rdataset_next
    - dns_peer_gettransferformat
    - xfrout_fail
    - dns_zone_getxfracl
    - NS_CLIENT_ACLMSGSIZE
    - dns_zone_getidleout
    - dns_peer_getprovideixfr
    - ISC_LOG_DEBUG
    - dns_zone_getjournal
    - dns_zone_getixfrratio
    - dns_db_currentversion
    - dns_soa_getserial
    - FAILC
    - dns_dlzallowzonexfr
    - dns_name_format
    - xfrout_log1
    - isc_quota_acquire
    - isc_nmhandle_detach
    - xfrout_ctx_t*::stream::methods::first
    - sendstream
    - ISC_LIST_NEXT
    - rrstream_t*::methods::destroy
    - dns_zone_getraw
    - inc_stats
    - isc_result_totext
    - isc_time_seconds
    - dns_view_findzone
    - dns_message_gettsigkey
    - dns_db_detach
    - dns_name_equal
    - dns_rdataset_first
    - compound_rrstream_create
    - isc_nm_timer_start
    - xfrout_log
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - isc_netaddr_fromsockaddr
    - isc_log_write
    - axfr_rrstream_create
    - xfrout_ctx_create
    - dns_rdataclass_format
    - dns_rdataset_current
    - CHECK
    - dns_db_getsize
    - dns_zone_getdb
    - dns_zone_getmaxxfrout
    - UNREACHABLE
    - dns_peerlist_peerbyaddr
    - soa_rrstream_create
    - dns_db_closeversion
    - dns_difftuple_free
    - ns_client_aclmsg
    - ns_client_error
    - FAILQ
    - ns_client_checkacl
    - isc_quota_release
    - ns_client_log
    - ISC_LIST_FOREACH
    - DNS_SERIAL_GE
    - dns_zone_getexpiretime
    - ixfr_rrstream_create
    - dns_zone_gettype
    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:855,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/xfrout.c:859,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:870,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/ns/xfrout.c:870,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/ns/xfrout.c:871,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/ns/xfrout.c:872,1
    - Dst: FAILC
      Src: /src/bind9/lib/ns/xfrout.c:874,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 880
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_name_equal
    - dns_rdataset_next
    - dns_rdataset_first
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - CHECK
    - FAILC
    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:1214,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:1216,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/xfrout.c:1231,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/ns/xfrout.c:1234,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/ns/xfrout.c:1236,1
    - Dst: dns_db_attachversion
      Src: /src/bind9/lib/ns/xfrout.c:1237,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/xfrout.c:1239,1
    - Dst: isc_nm_timer_create
      Src: /src/bind9/lib/ns/xfrout.c:1241,1
    - Dst: isc_nm_timer_create
      Src: /src/bind9/lib/ns/xfrout.c:1244,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:1259,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/xfrout.c:1260,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/xfrout.c:1266,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/ns/xfrout.c:1267,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: 1278
      start: 1201
    functionDepth: 3
    functionLinenumber: 1201
    functionLinenumberEnd: 1278
    functionName: xfrout_ctx_create
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_db_attach
    - isc_time_now
    - isc_mem_get
    - isc_nm_timer_create
    - dns_zone_attach
    - dns_db_attachversion
    - isc_buffer_init
    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:1288,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/xfrout.c:1290,1
    - Dst: isc_nmhandle_setwritetimeout
      Src: /src/bind9/lib/ns/xfrout.c:1293,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/ns/xfrout.c:1296,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/xfrout.c:1301,1
    - Dst: xfrout_ctx_t*::stream::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:1302,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1303,1
    - Dst: xfrout_ctx_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1306
      start: 1280
    functionDepth: 8
    functionLinenumber: 1280
    functionLinenumberEnd: 1306
    functionName: xfrout_send
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - ns_client_send
    - isc_nmhandle_detach
    - isc_nm_send
    - isc_buffer_usedregion
    - xfrout_ctx_t*::stream::methods::pause
    - xfrout_ctx_destroy
    - isc_nmhandle_attach
    - isc_nmhandle_setwritetimeout
    linkageType: ''
    returnType: void
    signature: void xfrout_send(xfrout_ctx_t *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/xfrout.c:1311,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/ns/xfrout.c:1313,1
    - Dst: xfrout_send
      Src: /src/bind9/lib/ns/xfrout.c:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1308
    functionDepth: 9
    functionLinenumber: 1308
    functionLinenumberEnd: 1315
    functionName: xfrout_delayed_timeout
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - xfrout_send
    - isc_nm_timer_stop
    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:1327,1
    - Dst: ns_server_getoption
      Src: /src/bind9/lib/ns/xfrout.c:1332,1
    - Dst: xfrout_send
      Src: /src/bind9/lib/ns/xfrout.c:1340,1
    - Dst: isc_nm_timer_start
      Src: /src/bind9/lib/ns/xfrout.c:1345,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1317
    functionDepth: 9
    functionLinenumber: 1317
    functionLinenumberEnd: 1346
    functionName: xfrout_enqueue_send
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - isc_nm_timer_start
    - ns_server_getoption
    - 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:1371,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/ns/xfrout.c:1372,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1381,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/xfrout.c:1381,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/ns/xfrout.c:1391,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1401,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/ns/xfrout.c:1401,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/ns/xfrout.c:1402,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/xfrout.c:1404,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1414,1
    - Dst: ns_client_addopt
      Src: /src/bind9/lib/ns/xfrout.c:1414,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1428,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1430,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1445,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/xfrout.c:1448,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/ns/xfrout.c:1449,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/xfrout.c:1453,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1454,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1455,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/xfrout.c:1457,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/ns/xfrout.c:1459,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/xfrout.c:1460,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:1461,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/xfrout.c:1463,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1469,1
    - Dst: xfrout_ctx_t*::stream::methods::current
      Src: /src/bind9/lib/ns/xfrout.c:1491,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1493,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1508,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/ns/xfrout.c:1513,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/ns/xfrout.c:1518,1
    - Dst: log_rr
      Src: /src/bind9/lib/ns/xfrout.c:1519,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/ns/xfrout.c:1522,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1523,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1524,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/xfrout.c:1526,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/ns/xfrout.c:1527,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/ns/xfrout.c:1530,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/ns/xfrout.c:1532,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/ns/xfrout.c:1533,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/ns/xfrout.c:1535,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/ns/xfrout.c:1536,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/ns/xfrout.c:1538,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/ns/xfrout.c:1542,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/ns/xfrout.c:1543,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:1547,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/ns/xfrout.c:1549,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/ns/xfrout.c:1550,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/xfrout.c:1552,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/ns/xfrout.c:1554,1
    - Dst: xfrout_ctx_t*::stream::methods::next
      Src: /src/bind9/lib/ns/xfrout.c:1559,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1564,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/xfrout.c:1574,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/ns/xfrout.c:1583,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1586,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/ns/xfrout.c:1586,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1587,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/xfrout.c:1587,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1588,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/ns/xfrout.c:1588,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1589,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/ns/xfrout.c:1589,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/xfrout.c:1590,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1593,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1593,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/ns/xfrout.c:1595,1
    - Dst: xfrout_enqueue_send
      Src: /src/bind9/lib/ns/xfrout.c:1597,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: xfrout_enqueue_send
      Src: /src/bind9/lib/ns/xfrout.c:1601,1
    - Dst: CHECK
      Src: /src/bind9/lib/ns/xfrout.c:1606,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/ns/xfrout.c:1606,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/ns/xfrout.c:1610,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/ns/xfrout.c:1614,1
    - Dst: xfrout_ctx_t*::stream::methods::pause
      Src: /src/bind9/lib/ns/xfrout.c:1620,1
    - Dst: xfrout_fail
      Src: /src/bind9/lib/ns/xfrout.c:1626,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 140
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1627
      start: 1356
    functionDepth: 10
    functionLinenumber: 1356
    functionLinenumberEnd: 1627
    functionName: sendstream
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - xfrout_enqueue_send
    - dns_message_getquerytsig
    - INSIST
    - dns_message_renderend
    - isc_buffer_usedlength
    - xfrout_fail
    - dns_message_gettemprdatalist
    - log_rr
    - isc_buffer_add
    - ISC_LIST_INIT
    - dns_rdata_covers
    - ISC_LOG_DEBUG
    - xfrout_ctx_t*::stream::methods::pause
    - dns_rdatalist_tordataset
    - ns_client_addopt
    - dns_rdata_fromregion
    - dns_message_rendersection
    - isc_buffer_availableregion
    - xfrout_ctx_t*::stream::methods::next
    - dns_rdatatype_issig
    - dns_message_gettempname
    - xfrout_ctx_t*::stream::methods::current
    - dns_compress_invalidate
    - dns_rdataset_makequestion
    - dns_message_gettemprdata
    - dns_message_reply
    - isc_buffer_putmem
    - dns_message_create
    - xfrout_log
    - CHECK
    - isc_log_wouldlog
    - isc_buffer_clear
    - CLEANUP
    - dns_message_addname
    - dns_name_fromregion
    - dns_message_setquerytsig
    - ISC_LIST_APPEND
    - dns_message_renderbegin
    - isc_buffer_free
    - dns_message_gettemprdataset
    - dns_message_detach
    - dns_message_settsigkey
    - dns_compress_init
    linkageType: ''
    returnType: void
    signature: void sendstream(xfrout_ctx_t *xfr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1634,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/ns/xfrout.c:1636,1
    - Dst: isc_nm_timer_detach
      Src: /src/bind9/lib/ns/xfrout.c:1637,1
    - Dst: isc_nm_timer_stop
      Src: /src/bind9/lib/ns/xfrout.c:1639,1
    - Dst: isc_nm_timer_detach
      Src: /src/bind9/lib/ns/xfrout.c:1640,1
    - Dst: xfrout_ctx_t*::stream::methods::destroy
      Src: /src/bind9/lib/ns/xfrout.c:1643,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/xfrout.c:1646,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/xfrout.c:1649,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/ns/xfrout.c:1652,1
    - Dst: isc_quota_release
      Src: /src/bind9/lib/ns/xfrout.c:1655,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/ns/xfrout.c:1658,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/xfrout.c:1661,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/ns/xfrout.c:1664,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/xfrout.c:1667,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - xfrp
    argTypes:
    - xfrout_ctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1668
      start: 1629
    functionDepth: 3
    functionLinenumber: 1629
    functionLinenumberEnd: 1668
    functionName: xfrout_ctx_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - dns_db_detach
    - dns_zone_detach
    - isc_mem_put
    - INSIST
    - isc_quota_release
    - xfrout_ctx_t*::stream::methods::destroy
    - isc_nm_timer_stop
    - isc_mem_putanddetach
    - dns_db_closeversion
    - isc_buffer_free
    - isc_nm_timer_detach
    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:1674,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1676,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/xfrout.c:1679,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1681,1
    - Dst: xfrout_maybe_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1693,1
    - Dst: xfrout_fail
      Src: /src/bind9/lib/ns/xfrout.c:1695,1
    - Dst: sendstream
      Src: /src/bind9/lib/ns/xfrout.c:1697,1
    - Dst: inc_stats
      Src: /src/bind9/lib/ns/xfrout.c:1702,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/ns/xfrout.c:1703,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/ns/xfrout.c:1704,1
    - Dst: xfrout_log
      Src: /src/bind9/lib/ns/xfrout.c:1710,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/xfrout.c:1710,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1724,1
    - Dst: xfrout_ctx_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1725,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: 1727
      start: 1670
    functionDepth: 11
    functionLinenumber: 1670
    functionLinenumberEnd: 1727
    functionName: xfrout_senddone
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_time_now
    - isc_time_microdiff
    - INSIST
    - xfrout_fail
    - isc_nmhandle_detach
    - xfrout_log
    - sendstream
    - ISC_LOG_DEBUG
    - xfrout_maybe_destroy
    - xfrout_ctx_destroy
    - inc_stats
    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:1732,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/xfrout.c:1733,1
    - Dst: xfrout_maybe_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1734,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: 1735
      start: 1729
    functionDepth: 1
    functionLinenumber: 1729
    functionLinenumberEnd: 1735
    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:1739,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/xfrout.c:1741,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/xfrout.c:1742,1
    - Dst: xfrout_ctx_destroy
      Src: /src/bind9/lib/ns/xfrout.c:1743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - xfrout_ctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1744
      start: 1737
    functionDepth: 4
    functionLinenumber: 1737
    functionLinenumberEnd: 1744
    functionName: xfrout_maybe_destroy
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_nmhandle_detach
    - xfrout_ctx_destroy
    - ns_client_drop
    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:1751,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/xfrout.c:1752,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1746
    functionDepth: 1
    functionLinenumber: 1746
    functionLinenumberEnd: 1753
    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:1771,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/ns/xfrout.c:1772,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/ns/xfrout.c:1773,1
    - Dst: ns_client_log
      Src: /src/bind9/lib/ns/xfrout.c:1774,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: 1777
      start: 1764
    functionDepth: 5
    functionLinenumber: 1764
    functionLinenumberEnd: 1777
    functionName: xfrout_logv
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - dns_rdataclass_format
    - ns_client_log
    - dns_name_format
    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:1786,1
    - Dst: xfrout_logv
      Src: /src/bind9/lib/ns/xfrout.c:1787,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/xfrout.c:1788,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: 1789
      start: 1782
    functionDepth: 6
    functionLinenumber: 1782
    functionLinenumberEnd: 1789
    functionName: xfrout_log1
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 1
    functionsReached:
    - va_start
    - xfrout_logv
    - va_end
    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:1797,1
    - Dst: xfrout_logv
      Src: /src/bind9/lib/ns/xfrout.c:1798,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/xfrout.c:1799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - xfr
    - level
    - fmt
    argTypes:
    - xfrout_ctx_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1794
    functionDepth: 6
    functionLinenumber: 1794
    functionLinenumberEnd: 1800
    functionName: xfrout_log
    functionSourceFile: /src/bind9/lib/ns/xfrout.c
    functionUses: 5
    functionsReached:
    - va_start
    - xfrout_logv
    - va_end
    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:95,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:96,1
    - Dst: NLMSG_OK
      Src: /src/bind9/lib/ns/interfacemgr.c:102,1
    - Dst: NLMSG_NEXT
      Src: /src/bind9/lib/ns/interfacemgr.c:103,1
    - Dst: NLMSG_DATA
      Src: /src/bind9/lib/ns/interfacemgr.c:105,1
    - Dst: IFA_RTA
      Src: /src/bind9/lib/ns/interfacemgr.c:106,1
    - Dst: IFA_PAYLOAD
      Src: /src/bind9/lib/ns/interfacemgr.c:107,1
    - Dst: RTA_OK
      Src: /src/bind9/lib/ns/interfacemgr.c:109,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/ns/interfacemgr.c:121,1
    - Dst: RTA_DATA
      Src: /src/bind9/lib/ns/interfacemgr.c:121,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:122,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/ns/interfacemgr.c:122,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:132,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:133,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/ns/interfacemgr.c:135,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/ns/interfacemgr.c:148,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:149,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:150,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:155,1
    - Dst: RTA_NEXT
      Src: /src/bind9/lib/ns/interfacemgr.c:182,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: 188
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 188
    functionName: need_rescan
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - NLMSG_OK
    - INSIST
    - NLMSG_NEXT
    - IFA_RTA
    - UNLOCK
    - IFA_PAYLOAD
    - NLMSG_DATA
    - isc_netaddr_equal
    - isc_netaddr_fromin6
    - isc_netaddr_fromsockaddr
    - RTA_NEXT
    - LOCK
    - isc_netaddr_getzone
    - RTA_OK
    - isc_netaddr_setzone
    - LISTENING
    - ISC_LIST_FOREACH
    - RTA_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:197,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:198,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:199,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:209,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:212,1
    - Dst: ns_interfacemgr_routedisconnect
      Src: /src/bind9/lib/ns/interfacemgr.c:217,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:226,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:232,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:238,1
    - Dst: need_rescan
      Src: /src/bind9/lib/ns/interfacemgr.c:240,1
    - Dst: ns_interfacemgr_scan
      Src: /src/bind9/lib/ns/interfacemgr.c:241,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/ns/interfacemgr.c:244,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: 246
      start: 190
    functionDepth: 8
    functionLinenumber: 190
    functionLinenumberEnd: 246
    functionName: route_recv
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_nm_read
    - ns_interfacemgr_routedisconnect
    - isc_nmhandle_detach
    - isc_log_write
    - ISC_LOG_DEBUG
    - ns_interfacemgr_scan
    - need_rescan
    - ns_interfacemgr_detach
    - isc_result_totext
    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:252,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:253,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:254,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:257,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:261,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:263,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/ns/interfacemgr.c:264,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: 265
      start: 248
    functionDepth: 8
    functionLinenumber: 248
    functionLinenumberEnd: 265
    functionName: route_connected
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nm_read
    - INSIST
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_nmhandle_attach
    - ns_interfacemgr_detach
    - isc_result_totext
    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:274,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:275,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:276,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/interfacemgr.c:278,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/ns/interfacemgr.c:282,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:285,1
    - Dst: ns_server_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:286,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/interfacemgr.c:288,1
    - Dst: atomic_init
      Src: /src/bind9/lib/ns/interfacemgr.c:290,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:292,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:293,1
    - Dst: ns_listenlist_create
      Src: /src/bind9/lib/ns/interfacemgr.c:298,1
    - Dst: ns_listenlist_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:302,1
    - Dst: dns_aclenv_create
      Src: /src/bind9/lib/ns/interfacemgr.c:304,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:308,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/interfacemgr.c:311,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/ns/interfacemgr.c:315,1
    - Dst: ns_clientmgr_create
      Src: /src/bind9/lib/ns/interfacemgr.c:318,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/ns/interfacemgr.c:320,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:326,1
    - Dst: ns_server_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:327,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/interfacemgr.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 36
    argCount: 5
    argNames:
    - mctx
    - sctx
    - dispatchmgr
    - geoip
    - mgrp
    argTypes:
    - isc_mem_t*
    - ns_server_t*
    - dns_dispatchmgr_t*
    - dns_geoip_databases_t*
    - ns_interfacemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 267
    functionDepth: 3
    functionLinenumber: 267
    functionLinenumberEnd: 330
    functionName: ns_interfacemgr_create
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_aclenv_create
    - UNUSED
    - ns_clientmgr_create
    - isc_loopmgr_nloops
    - isc_mem_putanddetach
    - ISC_LIST_INIT
    - atomic_init
    - isc_mem_cget
    - RUNTIME_CHECK
    - ns_listenlist_create
    - ns_server_attach
    - isc_refcount_init
    - isc_mutex_init
    - isc_mem_get
    - ns_listenlist_attach
    - isc_mutex_destroy
    - ns_server_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t ns_interfacemgr_create(isc_mem_t *mctx, ns_server_t *sctx,\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:334,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:335,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/interfacemgr.c:335,1
    - Dst: ns_interfacemgr_ref
      Src: /src/bind9/lib/ns/interfacemgr.c:341,1
    - Dst: isc_nm_routeconnect
      Src: /src/bind9/lib/ns/interfacemgr.c:343,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:345,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:347,1
    - Dst: ns_interfacemgr_unref
      Src: /src/bind9/lib/ns/interfacemgr.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 350
    functionName: ns_interfacemgr_routeconnect
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - isc_tid
    - isc_log_write
    - isc_nm_routeconnect
    - ns_interfacemgr_ref
    - ns_interfacemgr_unref
    - isc_result_totext
    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:354,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:355,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/interfacemgr.c:355,1
    - Dst: isc_nmhandle_close
      Src: /src/bind9/lib/ns/interfacemgr.c:361,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:362,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:363,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 352
    functionDepth: 3
    functionLinenumber: 352
    functionLinenumberEnd: 364
    functionName: ns_interfacemgr_routedisconnect
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - isc_nmhandle_detach
    - isc_tid
    - isc_nmhandle_close
    - ns_interfacemgr_detach
    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:368,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:368,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:370,1
    - Dst: dns_aclenv_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:372,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:373,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:374,1
    - Dst: clearlistenon
      Src: /src/bind9/lib/ns/interfacemgr.c:375,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:376,1
    - Dst: ns_clientmgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:378,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/ns/interfacemgr.c:380,1
    - Dst: ns_server_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:384,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/ns/interfacemgr.c:387,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 366
    functionDepth: 3
    functionLinenumber: 366
    functionLinenumberEnd: 388
    functionName: ns_interfacemgr__destroy
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_cput
    - NS_INTERFACEMGR_VALID
    - ns_listenlist_detach
    - ns_clientmgr_detach
    - dns_aclenv_detach
    - clearlistenon
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - isc_refcount_destroy
    - ns_server_detach
    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:392,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:392,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:393,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mgr
    - backlog
    argTypes:
    - ns_interfacemgr_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 396
    functionName: ns_interfacemgr_setbacklog
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - LOCK
    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:402,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:402,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:404,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 409
    functionName: ns_interfacemgr_getaclenv
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - LOCK
    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:415,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:415,1
    - Dst: atomic_store
      Src: /src/bind9/lib/ns/interfacemgr.c:423,1
    - Dst: purge_old_interfaces
      Src: /src/bind9/lib/ns/interfacemgr.c:425,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/lib/ns/interfacemgr.c:428,1
    - Dst: ns_clientmgr_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:432,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 413
    functionDepth: 3
    functionLinenumber: 413
    functionLinenumberEnd: 434
    functionName: ns_interfacemgr_shutdown
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - purge_old_interfaces
    - isc_nm_cancelread
    - ns_clientmgr_shutdown
    - 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:442,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:442,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/interfacemgr.c:444,1
    - Dst: strlcpy
      Src: /src/bind9/lib/ns/interfacemgr.c:452,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/ns/interfacemgr.c:454,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/interfacemgr.c:456,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/ns/interfacemgr.c:457,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:459,1
    - Dst: ns_interfacemgr_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:461,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:464,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/interfacemgr.c:465,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:466,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: 469
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 469
    functionName: ns_interface_create
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mutex_init
    - NS_INTERFACEMGR_VALID
    - isc_mem_get
    - ISC_LIST_APPEND
    - UNLOCK
    - LOCK
    - ns_interfacemgr_attach
    - strlcpy
    - ISC_LINK_INIT
    - isc_refcount_init
    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:477,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:481,1
    - Dst: isc_nm_listenproxyudp
      Src: /src/bind9/lib/ns/interfacemgr.c:482,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: 487
      start: 471
    functionDepth: 5
    functionLinenumber: 471
    functionLinenumberEnd: 487
    functionName: ns_interface_listenudp
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_nm_listenproxyudp
    - isc_nm_listenudp
    - INSIST
    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:493,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:498,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:500,1
    - Dst: ns__client_tcpconn
      Src: /src/bind9/lib/ns/interfacemgr.c:508,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:510,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:512,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: 516
      start: 489
    functionDepth: 8
    functionLinenumber: 489
    functionLinenumberEnd: 516
    functionName: ns_interface_listentcp
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_result_totext
    - ns__client_tcpconn
    - isc_nm_listenstreamdns
    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:527,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:534,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:536,1
    - Dst: ns__client_tcpconn
      Src: /src/bind9/lib/ns/interfacemgr.c:545,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:547,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:549,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: 553
      start: 522
    functionDepth: 8
    functionLinenumber: 522
    functionLinenumberEnd: 553
    functionName: ns_interface_listentls
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_result_totext
    - ns__client_tcpconn
    - isc_nm_listenstreamdns
    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:562,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: 570
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 570
    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:583,1
    - Dst: load_http_endpoints
      Src: /src/bind9/lib/ns/interfacemgr.c:585,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/ns/interfacemgr.c:588,1
    - Dst: isc_quota_init
      Src: /src/bind9/lib/ns/interfacemgr.c:589,1
    - Dst: isc_nm_listenhttp
      Src: /src/bind9/lib/ns/interfacemgr.c:590,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:595,1
    - Dst: isc_quota_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:599,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:600,1
    - Dst: ns_server_append_http_quota
      Src: /src/bind9/lib/ns/interfacemgr.c:603,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:608,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:611,1
    - Dst: ns__client_tcpconn
      Src: /src/bind9/lib/ns/interfacemgr.c:626,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:628,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:630,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:635,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:636,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:637,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:638,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:639,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:640,1
    - Dst: UNUSED
      Src: /src/bind9/lib/ns/interfacemgr.c:641,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: 644
      start: 573
    functionDepth: 4
    functionLinenumber: 573
    functionLinenumberEnd: 644
    functionName: ns_interface_listenhttp
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_mem_put
    - isc_mem_get
    - isc_result_totext
    - isc_quota_init
    - isc_nm_http_endpoints_detach
    - isc_log_write
    - load_http_endpoints
    - ns__client_tcpconn
    - isc_quota_destroy
    - ns_server_append_http_quota
    - isc_nm_http_endpoints_new
    - isc_nm_listenhttp
    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:653,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:654,1
    - Dst: ns_interface_create
      Src: /src/bind9/lib/ns/interfacemgr.c:659,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:661,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:661,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:662,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:664,1
    - Dst: ns_interface_listenhttp
      Src: /src/bind9/lib/ns/interfacemgr.c:671,1
    - Dst: ns_interface_listentls
      Src: /src/bind9/lib/ns/interfacemgr.c:683,1
    - Dst: ns_interface_listenudp
      Src: /src/bind9/lib/ns/interfacemgr.c:691,1
    - Dst: ns_interface_listentcp
      Src: /src/bind9/lib/ns/interfacemgr.c:700,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:721,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: 723
      start: 646
    functionDepth: 9
    functionLinenumber: 646
    functionLinenumberEnd: 723
    functionName: interface_setup
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ns_interface_listenhttp
    - ns_interface_listenudp
    - ns_interface_listentls
    - ns_interface_create
    - LOCK
    - LISTENING
    - ns_interface_listentcp
    - ns_interface_shutdown
    - UNLOCK
    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:730,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/ns/interfacemgr.c:731,1
    - Dst: isc_nm_stoplistening
      Src: /src/bind9/lib/ns/interfacemgr.c:734,1
    - Dst: isc_nmsocket_close
      Src: /src/bind9/lib/ns/interfacemgr.c:735,1
    - 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
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - ifp
    argTypes:
    - ns_interface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 750
      start: 725
    functionDepth: 6
    functionLinenumber: 725
    functionLinenumberEnd: 750
    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:757,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:762,1
    - Dst: NS_INTERFACE_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:762,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:766,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:769,1
    - Dst: ns_interfacemgr_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:770,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:771,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:772,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - interfacep
    argTypes:
    - ns_interface_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 752
    functionDepth: 7
    functionLinenumber: 752
    functionLinenumberEnd: 775
    functionName: interface_destroy
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - isc_mutex_destroy
    - ns_interface_shutdown
    - isc_refcount_destroy
    - ns_interfacemgr_detach
    - NS_INTERFACE_VALID
    linkageType: ''
    returnType: void
    signature: void interface_destroy(ns_interface_t **interfacep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:783,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:784,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:785,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:786,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - mgr
    - addr
    argTypes:
    - ns_interfacemgr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 781
    functionDepth: 2
    functionLinenumber: 781
    functionLinenumberEnd: 793
    functionName: find_matching_interface
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - UNLOCK
    - ISC_LIST_FOREACH
    - isc_sockaddr_equal
    - LOCK
    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:798,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - ifp
    argTypes:
    - ns_interface_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 801
    functionName: log_interface_shutdown
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_sockaddr_format
    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:808,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/ns/interfacemgr.c:810,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:812,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:813,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:814,1
    - Dst: NS_INTERFACE_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:814,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:816,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/interfacemgr.c:817,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:820,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:823,1
    - Dst: log_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:824,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:825,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:827,1
    - Dst: interface_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:828,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 830
      start: 806
    functionDepth: 8
    functionLinenumber: 806
    functionLinenumberEnd: 830
    functionName: purge_old_interfaces
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LIST_APPEND
    - UNLOCK
    - log_interface_shutdown
    - LOCK
    - LISTENING
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - ISC_LIST
    - ns_interface_shutdown
    - interface_destroy
    - NS_INTERFACE_VALID
    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:823,1
    - Dst: log_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:824,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:825,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:827,1
    - Dst: interface_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:828,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 822
    functionDepth: 8
    functionLinenumber: 822
    functionLinenumberEnd: 829
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 129
    functionsReached:
    - ISC_LIST_UNLINK
    - log_interface_shutdown
    - LISTENING
    - ns_interface_shutdown
    - interface_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(interfaces, ifp, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/ns/interfacemgr.c:843,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/ns/interfacemgr.c:843,1
    - Dst: isc_netaddr_masktoprefixlen
      Src: /src/bind9/lib/ns/interfacemgr.c:847,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:855,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:859,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:864,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/interfacemgr.c:873,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/ns/interfacemgr.c:873,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 3
    argNames:
    - interface
    - localhost
    - localnets
    argTypes:
    - isc_interface_t*
    - dns_acl_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 877
      start: 832
    functionDepth: 2
    functionLinenumber: 832
    functionLinenumberEnd: 877
    functionName: setup_locals
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - dns_iptable_addprefix
    - isc_log_write
    - RETERR
    - 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:884,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/ns/interfacemgr.c:885,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:887,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:888,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:889,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:891,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/ns/interfacemgr.c:896,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:898,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: 899
      start: 879
    functionDepth: 2
    functionLinenumber: 879
    functionLinenumberEnd: 899
    functionName: setup_listenon
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - isc_mem_get
    - isc_sockaddr_fromnetaddr
    - ISC_LIST_APPEND
    - isc_sockaddr_equal
    - LOCK
    - ISC_LIST_FOREACH
    - UNLOCK
    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:903,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:905,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/ns/interfacemgr.c:906,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:907,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/ns/interfacemgr.c:910,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 901
    functionDepth: 1
    functionLinenumber: 901
    functionLinenumberEnd: 913
    functionName: clearlistenon
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - LOCK
    - ISC_LIST_MOVE
    - ISC_LIST
    - UNLOCK
    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:910,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/ns/interfacemgr.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 912
      start: 909
    functionDepth: 1
    functionLinenumber: 909
    functionLinenumberEnd: 912
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 130
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    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:919,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:920,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/ns/interfacemgr.c:923,1
    - Dst: isc_nmsocket_set_tlsctx
      Src: /src/bind9/lib/ns/interfacemgr.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - ifp
    - newctx
    argTypes:
    - ns_interface_t*
    - isc_tlsctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 927
      start: 915
    functionDepth: 4
    functionLinenumber: 915
    functionLinenumberEnd: 927
    functionName: replace_listener_tlsctx
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_sockaddr_format
    - isc_nmsocket_set_tlsctx
    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:936,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:938,1
    - Dst: isc_quota_max
      Src: /src/bind9/lib/ns/interfacemgr.c:939,1
    - Dst: INSIST
      Src: /src/bind9/lib/ns/interfacemgr.c:944,1
    - Dst: isc_nmsocket_set_max_streams
      Src: /src/bind9/lib/ns/interfacemgr.c:948,1
    - Dst: isc_nm_http_endpoints_new
      Src: /src/bind9/lib/ns/interfacemgr.c:950,1
    - Dst: load_http_endpoints
      Src: /src/bind9/lib/ns/interfacemgr.c:952,1
    - Dst: isc_nm_http_set_endpoints
      Src: /src/bind9/lib/ns/interfacemgr.c:956,1
    - Dst: isc_nm_http_endpoints_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:959,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - ifp
    - le
    argTypes:
    - ns_interface_t*
    - ns_listenelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 960
      start: 930
    functionDepth: 4
    functionLinenumber: 930
    functionLinenumberEnd: 960
    functionName: update_http_settings
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_quota_max
    - REQUIRE
    - INSIST
    - isc_nm_http_set_endpoints
    - isc_nmsocket_set_max_streams
    - isc_nm_http_endpoints_detach
    - 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:966,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:966,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:967,1
    - Dst: NS_INTERFACE_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:967,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:968,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:970,1
    - Dst: replace_listener_tlsctx
      Src: /src/bind9/lib/ns/interfacemgr.c:978,1
    - Dst: update_http_settings
      Src: /src/bind9/lib/ns/interfacemgr.c:987,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:991,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: 992
      start: 963
    functionDepth: 5
    functionLinenumber: 963
    functionLinenumberEnd: 992
    functionName: update_listener_configuration
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - UNLOCK
    - LOCK
    - replace_listener_tlsctx
    - update_http_settings
    - NS_INTERFACE_VALID
    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: 1020
      start: 994
    functionDepth: 0
    functionLinenumber: 994
    functionLinenumberEnd: 1020
    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:1025,1
    - Dst: same_listener_type
      Src: /src/bind9/lib/ns/interfacemgr.c:1025,1
    - Dst: log_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:1030,1
    - Dst: ns_interface_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:1031,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1033,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1035,1
    - Dst: LISTENING
      Src: /src/bind9/lib/ns/interfacemgr.c:1036,1
    - Dst: update_listener_configuration
      Src: /src/bind9/lib/ns/interfacemgr.c:1038,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: 1044
      start: 1022
    functionDepth: 7
    functionLinenumber: 1022
    functionLinenumberEnd: 1044
    functionName: interface_update_or_shutdown
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - same_listener_type
    - update_listener_configuration
    - log_interface_shutdown
    - LOCK
    - LISTENING
    - ns_interface_shutdown
    - UNLOCK
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/ns/interfacemgr.c:1061,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1064,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:1065,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/ns/interfacemgr.c:1069,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1072,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/ns/interfacemgr.c:1073,1
    - Dst: isc_netaddr_any
      Src: /src/bind9/lib/ns/interfacemgr.c:1077,1
    - Dst: isc_netaddr_any6
      Src: /src/bind9/lib/ns/interfacemgr.c:1078,1
    - Dst: RETERR
      Src: /src/bind9/lib/ns/interfacemgr.c:1080,1
    - Dst: isc_interfaceiter_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1080,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1082,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1083,1
    - Dst: clearlistenon
      Src: /src/bind9/lib/ns/interfacemgr.c:1085,1
    - Dst: isc_interfaceiter_first
      Src: /src/bind9/lib/ns/interfacemgr.c:1089,1
    - Dst: isc_interfaceiter_next
      Src: /src/bind9/lib/ns/interfacemgr.c:1090,1
    - Dst: isc_interfaceiter_current
      Src: /src/bind9/lib/ns/interfacemgr.c:1096,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:1120,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:1125,1
    - Dst: isc_netaddr_isloopback
      Src: /src/bind9/lib/ns/interfacemgr.c:1135,1
    - Dst: setup_locals
      Src: /src/bind9/lib/ns/interfacemgr.c:1140,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:1148,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/ns/interfacemgr.c:1153,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/ns/interfacemgr.c:1162,1
    - Dst: ns_interface_create
      Src: /src/bind9/lib/ns/interfacemgr.c:1166,1
    - Dst: setup_listenon
      Src: /src/bind9/lib/ns/interfacemgr.c:1172,1
    - Dst: find_matching_interface
      Src: /src/bind9/lib/ns/interfacemgr.c:1176,1
    - Dst: interface_update_or_shutdown
      Src: /src/bind9/lib/ns/interfacemgr.c:1178,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/ns/interfacemgr.c:1185,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1187,1
    - Dst: interface_setup
      Src: /src/bind9/lib/ns/interfacemgr.c:1194,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1204,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1218,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:1221,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/ns/interfacemgr.c:1225,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/interfacemgr.c:1226,1
    - Dst: dns_aclenv_set
      Src: /src/bind9/lib/ns/interfacemgr.c:1233,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1235,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1236,1
    - Dst: isc_interfaceiter_destroy
      Src: /src/bind9/lib/ns/interfacemgr.c:1238,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 99
    argCount: 3
    argNames:
    - mgr
    - verbose
    - config
    argTypes:
    - ns_interfacemgr_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1046
    functionDepth: 10
    functionLinenumber: 1046
    functionLinenumberEnd: 1240
    functionName: do_scan
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 0
    functionsReached:
    - isc_interfaceiter_destroy
    - isc_netaddr_any
    - isc_net_probeipv6
    - isc_sockaddr_fromnetaddr
    - isc_interfaceiter_create
    - isc_interfaceiter_current
    - ISC_LOG_DEBUG
    - RETERR
    - isc_sockaddr_format
    - dns_acl_detach
    - isc_interfaceiter_first
    - isc_interfaceiter_next
    - ns_interface_create
    - clearlistenon
    - isc_netaddr_isloopback
    - interface_update_or_shutdown
    - setup_listenon
    - isc_netaddr_equal
    - isc_result_totext
    - UNEXPECTED_ERROR
    - setup_locals
    - isc_netaddr_any6
    - isc_log_write
    - interface_setup
    - dns_acl_match
    - dns_aclenv_set
    - dns_acl_create
    - isc_net_probeipv4
    - ISC_LIST_FOREACH
    - find_matching_interface
    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:1247,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1247,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1248,1
    - Dst: isc_tid
      Src: /src/bind9/lib/ns/interfacemgr.c:1248,1
    - Dst: do_scan
      Src: /src/bind9/lib/ns/interfacemgr.c:1252,1
    - Dst: purge_old_interfaces
      Src: /src/bind9/lib/ns/interfacemgr.c:1264,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/interfacemgr.c:1270,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/ns/interfacemgr.c:1271,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - mgr
    - verbose
    - config
    argTypes:
    - ns_interfacemgr_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1242
    functionDepth: 11
    functionLinenumber: 1242
    functionLinenumberEnd: 1277
    functionName: ns_interfacemgr_scan
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - purge_old_interfaces
    - ISC_LIST_EMPTY
    - isc_tid
    - isc_log_write
    - 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:1281,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1281,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1283,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1284,1
    - Dst: ns_listenlist_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:1285,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mgr
    - value
    argTypes:
    - ns_interfacemgr_t*
    - ns_listenlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1287
    functionName: ns_interfacemgr_setlistenon4
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - ns_listenlist_detach
    - ns_listenlist_attach
    - LOCK
    - UNLOCK
    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:1291,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1291,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1293,1
    - Dst: ns_listenlist_detach
      Src: /src/bind9/lib/ns/interfacemgr.c:1294,1
    - Dst: ns_listenlist_attach
      Src: /src/bind9/lib/ns/interfacemgr.c:1295,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - mgr
    - value
    argTypes:
    - ns_interfacemgr_t*
    - ns_listenlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1297
      start: 1289
    functionDepth: 1
    functionLinenumber: 1289
    functionLinenumberEnd: 1297
    functionName: ns_interfacemgr_setlistenon6
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - ns_listenlist_detach
    - ns_listenlist_attach
    - LOCK
    - UNLOCK
    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:1301,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1301,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1303,1
    - Dst: ns_client_dumprecursing
      Src: /src/bind9/lib/ns/interfacemgr.c:1305,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1307,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - f
    - mgr
    argTypes:
    - FILE*
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1299
    functionDepth: 5
    functionLinenumber: 1299
    functionLinenumberEnd: 1308
    functionName: ns_interfacemgr_dumprecursing
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - LOCK
    - ns_client_dumprecursing
    - UNLOCK
    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:1315,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1315,1
    - Dst: atomic_load
      Src: /src/bind9/lib/ns/interfacemgr.c:1320,1
    - Dst: LOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1323,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/ns/interfacemgr.c:1324,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/ns/interfacemgr.c:1325,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/ns/interfacemgr.c:1330,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - mgr
    - addr
    argTypes:
    - ns_interfacemgr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1310
    functionDepth: 2
    functionLinenumber: 1310
    functionLinenumberEnd: 1333
    functionName: ns_interfacemgr_listeningon
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    - isc_sockaddr_equal
    - LOCK
    - ISC_LIST_FOREACH
    - atomic_load
    - UNLOCK
    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:1337,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1340
      start: 1335
    functionDepth: 1
    functionLinenumber: 1335
    functionLinenumberEnd: 1340
    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:1344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1346,1
    - Dst: NS_INTERFACEMGR_VALID
      Src: /src/bind9/lib/ns/interfacemgr.c:1346,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/ns/interfacemgr.c:1347,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - ns_interfacemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1342
    functionDepth: 1
    functionLinenumber: 1342
    functionLinenumberEnd: 1350
    functionName: ns_interfacemgr_getclientmgr
    functionSourceFile: /src/bind9/lib/ns/interfacemgr.c
    functionUses: 2
    functionsReached:
    - isc_tid
    - REQUIRE
    - NS_INTERFACEMGR_VALID
    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: 1364
      start: 1352
    functionDepth: 0
    functionLinenumber: 1352
    functionLinenumberEnd: 1364
    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:38,1
    - Dst: ns_client_logv
      Src: /src/bind9/lib/ns/notify.c:39,1
    - Dst: va_end
      Src: /src/bind9/lib/ns/notify.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - client
    - level
    - fmt
    argTypes:
    - ns_client_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 34
    functionDepth: 4
    functionLinenumber: 34
    functionLinenumberEnd: 42
    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:51,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/notify.c:53,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/ns/notify.c:55,1
    - Dst: ns_client_drop
      Src: /src/bind9/lib/ns/notify.c:58,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/notify.c:59,1
    - Dst: ns_client_send
      Src: /src/bind9/lib/ns/notify.c:69,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/ns/notify.c:70,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 2
    argNames:
    - client
    - result
    argTypes:
    - ns_client_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 44
    functionDepth: 8
    functionLinenumber: 44
    functionLinenumberEnd: 71
    functionName: respond
    functionSourceFile: /src/bind9/lib/ns/notify.c
    functionUses: 8
    functionsReached:
    - dns_result_torcode
    - dns_message_reply
    - ns_client_send
    - isc_nmhandle_detach
    - ns_client_drop
    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:87,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/ns/notify.c:92,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:93,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/notify.c:102,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/ns/notify.c:103,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/notify.c:104,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:105,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/ns/notify.c:112,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:113,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:121,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/ns/notify.c:127,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/notify.c:129,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/notify.c:133,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/notify.c:135,1
    - Dst: snprintf
      Src: /src/bind9/lib/ns/notify.c:138,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/ns/notify.c:145,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/ns/notify.c:146,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/ns/notify.c:149,1
    - Dst: ns_client_getsockaddr
      Src: /src/bind9/lib/ns/notify.c:156,1
    - Dst: ns_client_getdestaddr
      Src: /src/bind9/lib/ns/notify.c:157,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:158,1
    - Dst: dns_zone_notifyreceive
      Src: /src/bind9/lib/ns/notify.c:161,1
    - Dst: notify_log
      Src: /src/bind9/lib/ns/notify.c:168,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/ns/notify.c:170,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/ns/notify.c:174,1
    - Dst: respond
      Src: /src/bind9/lib/ns/notify.c:176,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 2
    argNames:
    - client
    - handle
    argTypes:
    - ns_client_t*
    - isc_nmhandle_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 73
    functionDepth: 1
    functionLinenumber: 73
    functionLinenumberEnd: 177
    functionName: ns_notify_start
    functionSourceFile: /src/bind9/lib/ns/notify.c
    functionUses: 2
    functionsReached:
    - dns_view_findzone
    - dns_message_gettsigkey
    - dns_zone_detach
    - notify_log
    - dns_name_format
    - ns_client_getdestaddr
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - respond
    - ISC_LIST_NEXT
    - snprintf
    - isc_nmhandle_attach
    - dns_zone_notifyreceive
    - ns_client_getsockaddr
    - dns_zone_gettype
    - isc_result_totext
    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: 250
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 250
    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: 428
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 428
    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:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 43
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 43
    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:310,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:310,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:312,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:312,1
    - Dst: cfg_parse_enum
      Src: /src/bind9/lib/isccfg/namedconf.c:316,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: 320
      start: 306
    functionDepth: 1
    functionLinenumber: 306
    functionLinenumberEnd: 320
    functionName: parse_matchtype
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - strcasecmp
    - cfg_peektoken
    - cfg_parse_enum
    - CHECK
    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:329,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:329,1
    - Dst: cfg_parse_astring
      Src: /src/bind9/lib/isccfg/namedconf.c:331,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: 337
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 337
    functionName: parse_matchname
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_parse_void
    - cfg_parse_astring
    - CHECK
    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:341,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:342,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 344
    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:399,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:399,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:403,1
    - Dst: cfg_parse_bracketed_list
      Src: /src/bind9/lib/isccfg/namedconf.c:404,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:408,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:408,1
    - Dst: cfg_string_create
      Src: /src/bind9/lib/isccfg/namedconf.c:410,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:414,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: 419
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: parse_updatepolicy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - strcasecmp
    - cfg_gettoken
    - CHECK
    - cfg_ungettoken
    - cfg_string_create
    - cfg_parse_bracketed_list
    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:423,1
    - Dst: cfg_print_ustring
      Src: /src/bind9/lib/isccfg/namedconf.c:424,1
    - Dst: cfg_print_bracketed_list
      Src: /src/bind9/lib/isccfg/namedconf.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 421
    functionDepth: 1
    functionLinenumber: 421
    functionLinenumberEnd: 428
    functionName: print_updatepolicy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_isstring
    - cfg_print_bracketed_list
    - cfg_print_ustring
    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:432,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:433,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 430
    functionDepth: 1
    functionLinenumber: 430
    functionLinenumberEnd: 435
    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:502,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: 503
      start: 500
    functionDepth: 1
    functionLinenumber: 500
    functionLinenumberEnd: 503
    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:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 508
    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:526,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: 527
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 527
    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:531,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:532,1
    - Dst: cfg_doc_enum
      Src: /src/bind9/lib/isccfg/namedconf.c:533,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 535
    functionName: doc_optional_enum
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_enum
    - UNUSED
    - cfg_print_cstr
    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:580,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:582,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:582,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:584,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:584,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:586,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:586,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:588,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:588,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:590,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:590,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:592,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:592,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: 598
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 598
    functionName: parse_keystore
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - TOKEN_STRING
    - strcasecmp
    - cfg_parse_obj
    - cfg_peektoken
    - CHECK
    - cfg_parse_void
    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:602,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 605
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 605
    functionName: doc_keystore
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:609,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:610,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:611,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:613,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/namedconf.c:613,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:614,1
    - Dst: cfg_print_ustring
      Src: /src/bind9/lib/isccfg/namedconf.c:616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 607
    functionDepth: 1
    functionLinenumber: 607
    functionLinenumberEnd: 617
    functionName: print_keystore
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_ustring
    - strcasecmp
    - cfg_obj_asstring
    - cfg_print_cstr
    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:642,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:644,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/namedconf.c:646,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:647,1
    - Dst: cfg_print_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 650
    functionName: print_tagrange
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - cfg_print_tuple
    - cfg_obj_istuple
    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:665,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 663
    functionDepth: 1
    functionLinenumber: 663
    functionLinenumberEnd: 668
    functionName: doc_optionaltagrange
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:676,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:678,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:678,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:680,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:680,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:682,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:682,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:683,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:683,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:685,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:685,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: 691
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 691
    functionName: parse_optionaltagrange
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - TOKEN_STRING
    - strcasecmp
    - cfg_parse_obj
    - cfg_peektoken
    - CHECK
    - cfg_parse_void
    - cfg_gettoken
    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:855,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: 856
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 856
    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:859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 860
      start: 857
    functionDepth: 1
    functionLinenumber: 857
    functionLinenumberEnd: 860
    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:948,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 950
      start: 946
    functionDepth: 1
    functionLinenumber: 946
    functionLinenumberEnd: 950
    functionName: print_none
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:963,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:963,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:965,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:965,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:967,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:967,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:971,1
    - Dst: cfg_parse_qstring
      Src: /src/bind9/lib/isccfg/namedconf.c:972,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: 975
      start: 958
    functionDepth: 1
    functionLinenumber: 958
    functionLinenumberEnd: 975
    functionName: parse_qstringornone
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - strcasecmp
    - cfg_parser_currentfile
    - cfg_parse_qstring
    - cfg_obj_create
    - CHECK
    - cfg_ungettoken
    - cfg_gettoken
    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:979,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:980,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: doc_qstringornone
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:996,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:997,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 998
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 998
    functionName: print_auto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:1007,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1007,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1009,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1009,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:1011,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:1011,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1015,1
    - Dst: cfg_parse_boolean
      Src: /src/bind9/lib/isccfg/namedconf.c:1016,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: 1019
      start: 1003
    functionDepth: 1
    functionLinenumber: 1003
    functionLinenumberEnd: 1019
    functionName: parse_boolorauto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - strcasecmp
    - cfg_parser_currentfile
    - cfg_obj_create
    - cfg_parse_boolean
    - CHECK
    - cfg_ungettoken
    - cfg_gettoken
    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:1024,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1026,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1028,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1030
    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:1034,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1036
    functionName: doc_boolorauto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:1048,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1049,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1050
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1050
    functionName: print_hostname
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void print_hostname(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1063,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1063,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1065,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1065,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:1067,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:1067,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1072,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1072,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:1074,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:1074,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1079,1
    - Dst: cfg_parse_qstring
      Src: /src/bind9/lib/isccfg/namedconf.c:1080,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1060
    functionDepth: 1
    functionLinenumber: 1060
    functionLinenumberEnd: 1083
    functionName: parse_serverid
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - strcasecmp
    - cfg_parser_currentfile
    - cfg_parse_qstring
    - cfg_obj_create
    - CHECK
    - cfg_ungettoken
    - cfg_gettoken
    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:1087,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1088,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1085
    functionDepth: 1
    functionLinenumber: 1085
    functionLinenumberEnd: 1089
    functionName: doc_serverid
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void doc_serverid(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_firstclause
      Src: /src/bind9/lib/isccfg/namedconf.c:1143,1
    - Dst: cfg_map_nextclause
      Src: /src/bind9/lib/isccfg/namedconf.c:1145,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1152,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:1153,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1156,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:1158,1
    - Dst: cfg_clausedef_t*::merge
      Src: /src/bind9/lib/isccfg/namedconf.c:1168,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:1179,1
    - Dst: cfg_map_add
      Src: /src/bind9/lib/isccfg/namedconf.c:1179,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - effectivemap
    - defaultmap
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1189
      start: 1136
    functionDepth: 1
    functionLinenumber: 1136
    functionLinenumberEnd: 1189
    functionName: map_merge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_firstclause
    - INSIST
    - cfg_map_get
    - cfg_clausedef_t*::merge
    - cfg_map_nextclause
    - cfg_map_add
    linkageType: ''
    returnType: void
    signature: "void map_merge(const cfg_obj_t *config ISC_ATTR_UNUSED, cfg_obj_t
      *effectivemap,\n\t  const cfg_obj_t *defaultmap)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_list_addclone
      Src: /src/bind9/lib/isccfg/namedconf.c:1199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - eff
    - def
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1196
    functionDepth: 1
    functionLinenumber: 1196
    functionLinenumberEnd: 1200
    functionName: policy_merge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_list_addclone
    linkageType: ''
    returnType: void
    signature: "void policy_merge(const cfg_obj_t *config ISC_ATTR_UNUSED, cfg_obj_t
      *eff,\n\t     const cfg_obj_t *def)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_findclause
      Src: /src/bind9/lib/isccfg/namedconf.c:1205,1
    - Dst: cfg_map_add
      Src: /src/bind9/lib/isccfg/namedconf.c:1208,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:1209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - options
    - obj
    - clausename
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1210
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1210
    functionName: cloneto
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_findclause
    - cfg_map_add
    - INSIST
    linkageType: ''
    returnType: void
    signature: void cloneto(cfg_obj_t *options, const cfg_obj_t *obj, const char *clausename)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1218,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1224,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:1225,1
    - Dst: cloneto
      Src: /src/bind9/lib/isccfg/namedconf.c:1227,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - options
    - defaultoptions
    - aclname
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1212
    functionDepth: 2
    functionLinenumber: 1212
    functionLinenumberEnd: 1228
    functionName: setdefaultacl
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cloneto
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void setdefaultacl(cfg_obj_t *options, const cfg_obj_t *defaultoptions,\n\t
      \     const char *aclname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1234,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - o
    - v
    - name
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1239
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1239
    functionName: aclobj
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      aclobj(const cfg_obj_t *o, const cfg_obj_t *v, const char *name)'
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1248,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:1249,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:1255,1
    - Dst: aclobj
      Src: /src/bind9/lib/isccfg/namedconf.c:1258,1
    - Dst: aclobj
      Src: /src/bind9/lib/isccfg/namedconf.c:1259,1
    - Dst: aclobj
      Src: /src/bind9/lib/isccfg/namedconf.c:1260,1
    - Dst: aclobj
      Src: /src/bind9/lib/isccfg/namedconf.c:1262,1
    - Dst: aclobj
      Src: /src/bind9/lib/isccfg/namedconf.c:1263,1
    - Dst: cloneto
      Src: /src/bind9/lib/isccfg/namedconf.c:1278,1
    - Dst: cloneto
      Src: /src/bind9/lib/isccfg/namedconf.c:1280,1
    - Dst: cloneto
      Src: /src/bind9/lib/isccfg/namedconf.c:1290,1
    - Dst: cloneto
      Src: /src/bind9/lib/isccfg/namedconf.c:1292,1
    - Dst: cloneto
      Src: /src/bind9/lib/isccfg/namedconf.c:1301,1
    - Dst: cloneto
      Src: /src/bind9/lib/isccfg/namedconf.c:1303,1
    - Dst: setdefaultacl
      Src: /src/bind9/lib/isccfg/namedconf.c:1312,1
    - Dst: setdefaultacl
      Src: /src/bind9/lib/isccfg/namedconf.c:1313,1
    - Dst: setdefaultacl
      Src: /src/bind9/lib/isccfg/namedconf.c:1314,1
    - Dst: setdefaultacl
      Src: /src/bind9/lib/isccfg/namedconf.c:1315,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 37
    argCount: 3
    argNames:
    - config
    - voptions
    - defaultoptions
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1241
    functionDepth: 3
    functionLinenumber: 1241
    functionLinenumberEnd: 1317
    functionName: setacls
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - setdefaultacl
    - INSIST
    - cfg_map_get
    - aclobj
    - cloneto
    linkageType: ''
    returnType: void
    signature: "void setacls(const cfg_obj_t *config, cfg_obj_t *voptions,\n\tconst
      cfg_obj_t *defaultoptions)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: setacls
      Src: /src/bind9/lib/isccfg/namedconf.c:1333,1
    - Dst: map_merge
      Src: /src/bind9/lib/isccfg/namedconf.c:1335,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - config
    - effectiveoptions
    - defaultoptions
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1336
      start: 1319
    functionDepth: 4
    functionLinenumber: 1319
    functionLinenumberEnd: 1336
    functionName: options_merge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - setacls
    - map_merge
    linkageType: ''
    returnType: void
    signature: "void options_merge(const cfg_obj_t *config, cfg_obj_t *effectiveoptions,\n\t
      \     const cfg_obj_t *defaultoptions)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:1349,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/namedconf.c:1349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:1350,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/namedconf.c:1350,1
    - Dst: cfg_list_addclone
      Src: /src/bind9/lib/isccfg/namedconf.c:1352,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1354,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1358,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/namedconf.c:1358,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/namedconf.c:1363,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1363,1
    - Dst: setacls
      Src: /src/bind9/lib/isccfg/namedconf.c:1364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 3
    argNames:
    - config
    - eff
    - def
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1347
    functionDepth: 4
    functionLinenumber: 1347
    functionLinenumberEnd: 1366
    functionName: view_merge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - cfg_tuple_get
    - setacls
    - cfg_list_addclone
    - cfg_obj_asstring
    - cfg_obj_islist
    - UNCONST
    linkageType: ''
    returnType: void
    signature: void view_merge(const cfg_obj_t *config, cfg_obj_t *eff, const cfg_obj_t
      *def)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1354,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1358,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/namedconf.c:1358,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/namedconf.c:1363,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:1363,1
    - Dst: setacls
      Src: /src/bind9/lib/isccfg/namedconf.c:1364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1365
      start: 1353
    functionDepth: 4
    functionLinenumber: 1353
    functionLinenumberEnd: 1365
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cfg_tuple_get
    - setacls
    - cfg_obj_asstring
    - UNCONST
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(eff, elt)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_create
      Src: /src/bind9/lib/isccfg/namedconf.c:1767,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1770,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1770,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1771,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1771,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1775,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1775,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1777,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1777,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1778,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1778,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1781,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1781,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1783,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1783,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1787,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1787,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1789,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1789,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1793,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1793,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:1796,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/namedconf.c:1798,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1807,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1807,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1810,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1810,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1813,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1813,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:1820,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 39
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1761
    functionDepth: 1
    functionLinenumber: 1761
    functionLinenumberEnd: 1822
    functionName: parse_dtout
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - CLEANUP
    - TOKEN_STRING
    - cfg_parse_obj
    - strcasecmp
    - cfg_tuple_create
    - cfg_parser_error
    - cfg_peektoken
    - CHECK
    - cfg_parse_void
    - CLEANUP_OBJ
    - cfg_gettoken
    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:1826,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1827,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1829,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1830,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1833,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1834,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1837,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1840
      start: 1824
    functionDepth: 1
    functionLinenumber: 1824
    functionLinenumberEnd: 1840
    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:1844,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1845,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1846,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1847,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1848,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1849,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1850,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1851,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1842
    functionDepth: 1
    functionLinenumber: 1842
    functionLinenumberEnd: 1852
    functionName: doc_dtout
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:1892,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1894,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1896,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1886
    functionDepth: 1
    functionLinenumber: 1886
    functionLinenumberEnd: 1899
    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:1903,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1905
      start: 1901
    functionDepth: 1
    functionLinenumber: 1901
    functionLinenumberEnd: 1905
    functionName: doc_rpz_cname
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_terminal
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void doc_rpz_cname(cfg_printer_t *pctx, const cfg_type_t *type)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_create
      Src: /src/bind9/lib/isccfg/namedconf.c:1918,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1921,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1921,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1925,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/namedconf.c:1925,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1926,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1926,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1928,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1928,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:1936,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: 1938
      start: 1911
    functionDepth: 1
    functionLinenumber: 1911
    functionLinenumberEnd: 1938
    functionName: cfg_parse_rpz_policy
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_parse_obj
    - cfg_tuple_create
    - cfg_obj_asstring
    - CHECK
    - cfg_parse_void
    - CLEANUP_OBJ
    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: cfg_tuple_create
      Src: /src/bind9/lib/isccfg/namedconf.c:1952,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1958,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1958,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1961,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1961,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:1968,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1969,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/namedconf.c:1970,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:1973,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:1973,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1979,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:1979,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1980,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:1980,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:1985,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:1985,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:1994,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: 1996
      start: 1944
    functionDepth: 1
    functionLinenumber: 1944
    functionLinenumberEnd: 1996
    functionName: cfg_parse_kv_tuple
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - cfg_parse_obj
    - strcasecmp
    - cfg_tuple_create
    - cfg_gettoken
    - cfg_parser_error
    - cfg_peektoken
    - CHECK
    - cfg_parse_void
    - CLEANUP_OBJ
    - CLEANUP
    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:2011,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2012,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2013,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:2015,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1998
    functionDepth: 1
    functionLinenumber: 1998
    functionLinenumberEnd: 2017
    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:2029,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2030,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2032,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:2035,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2037,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 2019
    functionDepth: 1
    functionLinenumber: 2019
    functionLinenumberEnd: 2040
    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:2182,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2184,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:2184,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2186,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:2186,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:2188,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:2188,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: 2192
      start: 2178
    functionDepth: 1
    functionLinenumber: 2178
    functionLinenumberEnd: 2192
    functionName: parse_optional_uint32
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_peektoken
    - UNUSED
    - cfg_parse_obj
    - CHECK
    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:2196,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:2197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2194
    functionDepth: 1
    functionLinenumber: 2194
    functionLinenumberEnd: 2198
    functionName: doc_optional_uint32
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:2240,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: 2241
      start: 2237
    functionDepth: 1
    functionLinenumber: 2237
    functionLinenumberEnd: 2241
    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:2245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2243
    functionDepth: 1
    functionLinenumber: 2243
    functionLinenumberEnd: 2246
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2263,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:2264,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/namedconf.c:2264,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2266,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/namedconf.c:2267,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2270,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:2271,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/namedconf.c:2271,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/namedconf.c:2273,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/namedconf.c:2277,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/namedconf.c:2277,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - effectiveobj
    - defaultobj
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2278
      start: 2257
    functionDepth: 1
    functionLinenumber: 2257
    functionLinenumberEnd: 2278
    functionName: prefetch_merge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asuint32
    - cfg_obj_isvoid
    - INSIST
    - cfg_tuple_get
    - cfg_obj_isuint32
    linkageType: ''
    returnType: void
    signature: "void prefetch_merge(const cfg_obj_t *config ISC_ATTR_UNUSED, cfg_obj_t
      *effectiveobj,\n\t       const cfg_obj_t *defaultobj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:2288,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/namedconf.c:2288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:2289,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/namedconf.c:2289,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/namedconf.c:2292,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2293,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/namedconf.c:2297,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2298,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:2301,1
    - Dst: cfg_listelt_create
      Src: /src/bind9/lib/isccfg/namedconf.c:2312,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/namedconf.c:2314,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/namedconf.c:2315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - ISC_ATTR_UNUSED
    - effectiveobj
    - defaultobj
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2318
      start: 2280
    functionDepth: 1
    functionLinenumber: 2280
    functionLinenumberEnd: 2318
    functionName: checknames_merge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcasecmp
    - cfg_obj_clone
    - cfg_tuple_get
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - cfg_listelt_create
    - cfg_obj_islist
    linkageType: ''
    returnType: void
    signature: "void checknames_merge(const cfg_obj_t *config ISC_ATTR_UNUSED,\n\t\t
      cfg_obj_t *effectiveobj, const cfg_obj_t *defaultobj)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/namedconf.c:2292,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2293,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/namedconf.c:2297,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2298,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:2301,1
    - Dst: cfg_listelt_create
      Src: /src/bind9/lib/isccfg/namedconf.c:2312,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/namedconf.c:2314,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/namedconf.c:2315,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2317
      start: 2291
    functionDepth: 1
    functionLinenumber: 2291
    functionLinenumberEnd: 2317
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_clone
    - strcasecmp
    - cfg_tuple_get
    - ISC_LIST_APPEND
    - cfg_listelt_value
    - cfg_listelt_create
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(defaultobj, delt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/namedconf.c:2297,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/namedconf.c:2298,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:2301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2296
    functionDepth: 1
    functionLinenumber: 2296
    functionLinenumberEnd: 2307
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_listelt_value
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(effectiveobj, eelt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_enum_or_other
      Src: /src/bind9/lib/isccfg/namedconf.c:2505,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: 2506
      start: 2502
    functionDepth: 1
    functionLinenumber: 2502
    functionLinenumberEnd: 2506
    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:2509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2507
    functionDepth: 1
    functionLinenumber: 2507
    functionLinenumberEnd: 2510
    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:3033,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: 3034
      start: 3031
    functionDepth: 1
    functionLinenumber: 3031
    functionLinenumberEnd: 3034
    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:3037,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3038
      start: 3035
    functionDepth: 1
    functionLinenumber: 3035
    functionLinenumberEnd: 3038
    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:3115,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/namedconf.c:3121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - str
    - valuep
    argTypes:
    - char*
    - uint64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3147
      start: 3108
    functionDepth: 0
    functionLinenumber: 3108
    functionLinenumberEnd: 3147
    functionName: parse_unitstring
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - strtoull
    - strlen
    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:3155,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3157,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3157,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/namedconf.c:3159,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3161,1
    - Dst: parse_unitstring
      Src: /src/bind9/lib/isccfg/namedconf.c:3161,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3161,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:3163,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:3163,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:3170,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: 3173
      start: 3149
    functionDepth: 1
    functionLinenumber: 3149
    functionLinenumberEnd: 3173
    functionName: parse_sizeval
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - TOKEN_STRING
    - cfg_parser_currentfile
    - cfg_gettoken
    - cfg_parser_error
    - cfg_obj_create
    - CHECK
    - CLEANUP
    - parse_unitstring
    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:3184,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3186,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3186,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/namedconf.c:3188,1
    - Dst: strtoull
      Src: /src/bind9/lib/isccfg/namedconf.c:3191,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3191,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:3194,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:3194,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3200,1
    - Dst: parse_unitstring
      Src: /src/bind9/lib/isccfg/namedconf.c:3200,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3200,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:3201,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:3201,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:3209,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: 3212
      start: 3175
    functionDepth: 1
    functionLinenumber: 3175
    functionLinenumberEnd: 3212
    functionName: parse_sizeval_percent
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - strtoull
    - UNUSED
    - TOKEN_STRING
    - cfg_parser_currentfile
    - cfg_gettoken
    - cfg_parser_error
    - cfg_obj_create
    - CHECK
    - CLEANUP
    - parse_unitstring
    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:3216,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3218,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:3219,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3220,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:3221,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3223
      start: 3214
    functionDepth: 1
    functionLinenumber: 3214
    functionLinenumberEnd: 3223
    functionName: doc_sizeval_percent
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_terminal
    - UNUSED
    - cfg_print_cstr
    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:3238,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: 3239
      start: 3236
    functionDepth: 1
    functionLinenumber: 3236
    functionLinenumberEnd: 3239
    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:3243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3244
      start: 3241
    functionDepth: 1
    functionLinenumber: 3241
    functionLinenumberEnd: 3244
    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:3276,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: 3278
      start: 3273
    functionDepth: 1
    functionLinenumber: 3273
    functionLinenumberEnd: 3278
    functionName: parse_maxcachesize
    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_maxcachesize(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:3282,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3283,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:3284,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3285,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:3286,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3288
      start: 3280
    functionDepth: 1
    functionLinenumber: 3280
    functionLinenumberEnd: 3288
    functionName: doc_maxcachesize
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_terminal
    - UNUSED
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void doc_maxcachesize(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:3302,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: 3303
      start: 3300
    functionDepth: 1
    functionLinenumber: 3300
    functionLinenumberEnd: 3303
    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:3307,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3308,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/namedconf.c:3309,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3311
      start: 3305
    functionDepth: 1
    functionLinenumber: 3305
    functionLinenumberEnd: 3311
    functionName: doc_ixfrratio
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_doc_terminal
    - UNUSED
    - cfg_print_cstr
    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:3328,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3328,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3330,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3330,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3332,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3332,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3333,1
    - Dst: keyword_type_t*::type::parse
      Src: /src/bind9/lib/isccfg/namedconf.c:3333,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3337,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:3337,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:3339,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/namedconf.c:3341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 4
    argNames:
    - pctx
    - type
    - optional
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - bool
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3348
      start: 3321
    functionDepth: 1
    functionLinenumber: 3321
    functionLinenumberEnd: 3348
    functionName: parse_maybe_optional_keyvalue
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - CLEANUP
    - TOKEN_STRING
    - strcasecmp
    - cfg_parser_error
    - cfg_peektoken
    - keyword_type_t*::type::parse
    - CHECK
    - cfg_parse_void
    - cfg_gettoken
    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:3352,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: 3353
      start: 3350
    functionDepth: 2
    functionLinenumber: 3350
    functionLinenumberEnd: 3353
    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:3358,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: 3359
      start: 3355
    functionDepth: 2
    functionLinenumber: 3355
    functionLinenumberEnd: 3359
    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:3364,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3365,1
    - Dst: keyword_type_t*::type::print
      Src: /src/bind9/lib/isccfg/namedconf.c:3366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3367
      start: 3361
    functionDepth: 1
    functionLinenumber: 3361
    functionLinenumberEnd: 3367
    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:3372,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3373,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3369
    functionDepth: 1
    functionLinenumber: 3369
    functionLinenumberEnd: 3375
    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:3380,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3381,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3382,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3383,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3385
      start: 3377
    functionDepth: 1
    functionLinenumber: 3377
    functionLinenumberEnd: 3385
    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:3391,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: 3392
      start: 3389
    functionDepth: 1
    functionLinenumber: 3389
    functionLinenumberEnd: 3392
    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:3395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3396
      start: 3393
    functionDepth: 1
    functionLinenumber: 3393
    functionLinenumberEnd: 3396
    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:3424,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: 3425
      start: 3422
    functionDepth: 1
    functionLinenumber: 3422
    functionLinenumberEnd: 3425
    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:3428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3429
      start: 3426
    functionDepth: 1
    functionLinenumber: 3426
    functionLinenumberEnd: 3429
    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:3440,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: 3441
      start: 3437
    functionDepth: 1
    functionLinenumber: 3437
    functionLinenumberEnd: 3441
    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:3444,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3445
      start: 3442
    functionDepth: 1
    functionLinenumber: 3442
    functionLinenumberEnd: 3445
    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:3561,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3562,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3563,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3564,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3565,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3566
      start: 3558
    functionDepth: 1
    functionLinenumber: 3558
    functionLinenumberEnd: 3566
    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:3605,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3606,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3606,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3608,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3608,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3610,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3610,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: 3614
      start: 3601
    functionDepth: 1
    functionLinenumber: 3601
    functionLinenumberEnd: 3614
    functionName: parse_optional_class
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_peektoken
    - UNUSED
    - cfg_parse_obj
    - CHECK
    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:3618,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3619,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3620
      start: 3616
    functionDepth: 1
    functionLinenumber: 3616
    functionLinenumberEnd: 3620
    functionName: doc_optional_class
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:3633,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3634,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3634,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3637,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3637,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3639,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3639,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3640,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3640,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3644,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3644,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3646,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3646,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:3647,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:3647,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3650,1
    - Dst: cfg_parse_sockaddr_generic
      Src: /src/bind9/lib/isccfg/namedconf.c:3650,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:3656,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: 3660
      start: 3629
    functionDepth: 1
    functionLinenumber: 3629
    functionLinenumberEnd: 3660
    functionName: parse_querysource
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - TOKEN_STRING
    - strcasecmp
    - cfg_parser_currentfile
    - cfg_parse_sockaddr_generic
    - cfg_parser_error
    - cfg_peektoken
    - cfg_obj_create
    - CHECK
    - cfg_gettoken
    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:3665,1
    - Dst: cfg_print_rawaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:3666,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3667
      start: 3662
    functionDepth: 2
    functionLinenumber: 3662
    functionLinenumberEnd: 3667
    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:3673,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3676,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3678,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/namedconf.c:3680,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3683,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3685,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3687,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: 3688
      start: 3669
    functionDepth: 1
    functionLinenumber: 3669
    functionLinenumberEnd: 3688
    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:3692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3693
      start: 3690
    functionDepth: 2
    functionLinenumber: 3690
    functionLinenumberEnd: 3693
    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:3697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3698
      start: 3695
    functionDepth: 2
    functionLinenumber: 3695
    functionLinenumberEnd: 3698
    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:3753,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3756,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3756,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3760,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3760,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3764,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3764,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3768,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3768,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3772,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3772,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3775,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/namedconf.c:3775,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: 3779
      start: 3748
    functionDepth: 1
    functionLinenumber: 3748
    functionLinenumberEnd: 3779
    functionName: parse_server_key_kludge
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_parse_obj
    - cfg_peektoken
    - cfg_parse_special
    - CHECK
    - cfg_gettoken
    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:3793,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3795,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3795,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3799,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3799,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3801,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3801,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: 3805
      start: 3789
    functionDepth: 1
    functionLinenumber: 3789
    functionLinenumberEnd: 3805
    functionName: parse_optional_facility
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - cfg_peektoken
    - UNUSED
    - cfg_parse_obj
    - CHECK
    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:3809,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3811
      start: 3807
    functionDepth: 1
    functionLinenumber: 3807
    functionLinenumberEnd: 3811
    functionName: doc_optional_facility
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:3833,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3835,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3835,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3837,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3837,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3839,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3839,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3840,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3840,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3842,1
    - Dst: cfg_parse_uint32
      Src: /src/bind9/lib/isccfg/namedconf.c:3842,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/namedconf.c:3849,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/namedconf.c:3849,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3855,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3855,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: 3859
      start: 3830
    functionDepth: 1
    functionLinenumber: 3830
    functionLinenumberEnd: 3859
    functionName: parse_logseverity
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - TOKEN_STRING
    - strcasecmp
    - cfg_parser_currentfile
    - cfg_parse_obj
    - cfg_peektoken
    - cfg_obj_create
    - cfg_parse_uint32
    - CHECK
    - cfg_gettoken
    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:3873,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: 3874
      start: 3871
    functionDepth: 1
    functionLinenumber: 3871
    functionLinenumberEnd: 3874
    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:3878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3879
      start: 3876
    functionDepth: 1
    functionLinenumber: 3876
    functionLinenumberEnd: 3879
    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: cfg_tuple_create
      Src: /src/bind9/lib/isccfg/namedconf.c:3905,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3908,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3908,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3912,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3912,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3914,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/namedconf.c:3914,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3915,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3915,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3918,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3918,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3920,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3920,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3924,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3924,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:3926,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/namedconf.c:3926,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3930,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3930,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3942,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:3942,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3945,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:3945,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:3948,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/namedconf.c:3948,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:3955,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: 3957
      start: 3899
    functionDepth: 1
    functionLinenumber: 3899
    functionLinenumberEnd: 3957
    functionName: parse_logfile
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - cfg_parse_obj
    - strcasecmp
    - cfg_tuple_create
    - cfg_peektoken
    - CHECK
    - cfg_parse_void
    - CLEANUP_OBJ
    - cfg_gettoken
    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:3961,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3963,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3964,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3967,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3968,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3971,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:3972,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3974
      start: 3959
    functionDepth: 1
    functionLinenumber: 3959
    functionLinenumberEnd: 3974
    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:3978,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3979,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3980,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3981,1
    - Dst: cfg_print_cstr
      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_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:3985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3986
      start: 3976
    functionDepth: 1
    functionLinenumber: 3976
    functionLinenumberEnd: 3986
    functionName: doc_logfile
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:4100,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4101,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4102,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4103,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4104,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4105,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4106,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4107,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4108,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4109,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4110,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4111,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4112,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4114
      start: 4098
    functionDepth: 1
    functionLinenumber: 4098
    functionLinenumberEnd: 4114
    functionName: doc_sockaddrnameport
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:4120,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:4122,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:4122,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:4126,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:4128,1
    - Dst: cfg_parse_sockaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:4128,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:4131,1
    - Dst: cfg_parse_tuple
      Src: /src/bind9/lib/isccfg/namedconf.c:4131,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:4134,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: 4140
      start: 4116
    functionDepth: 1
    functionLinenumber: 4116
    functionLinenumberEnd: 4140
    functionName: parse_sockaddrnameport
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_lookingat_netaddr
    - cfg_parser_error
    - cfg_peektoken
    - cfg_parse_sockaddr
    - CHECK
    - cfg_parse_tuple
    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:4180,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4181,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4182,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4183,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4184,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4185,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4186,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4187,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4188,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4189,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4190,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4192
      start: 4178
    functionDepth: 1
    functionLinenumber: 4178
    functionLinenumberEnd: 4192
    functionName: doc_remoteselement
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_print_cstr
    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:4199,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:4201,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/namedconf.c:4201,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:4205,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:4207,1
    - Dst: cfg_parse_sockaddr
      Src: /src/bind9/lib/isccfg/namedconf.c:4207,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/namedconf.c:4210,1
    - Dst: cfg_parse_astring
      Src: /src/bind9/lib/isccfg/namedconf.c:4210,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/namedconf.c:4213,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/namedconf.c:4219,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: 4221
      start: 4194
    functionDepth: 1
    functionLinenumber: 4194
    functionLinenumberEnd: 4221
    functionName: parse_remoteselement
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_parse_astring
    - cfg_lookingat_netaddr
    - cfg_parser_error
    - cfg_peektoken
    - cfg_parse_sockaddr
    - CHECK
    - CLEANUP_OBJ
    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:4234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ap
    - bp
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4235
      start: 4230
    functionDepth: 0
    functionLinenumber: 4230
    functionLinenumberEnd: 4235
    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:4244,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:4252,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/namedconf.c:4260,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 20
    argCount: 2
    argNames:
    - name
    - ztype
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4268
      start: 4237
    functionDepth: 0
    functionLinenumber: 4237
    functionLinenumberEnd: 4268
    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:4287,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/namedconf.c:4288,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/namedconf.c:4289,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/namedconf.c:4290,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/namedconf.c:4291,1
    - Dst: qsort
      Src: /src/bind9/lib/isccfg/namedconf.c:4293,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4295,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4300,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4301,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4304,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4305,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4308,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4309,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4312,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4313,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4316,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4317,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4320,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4321,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4324,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4325,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4328,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4329,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/namedconf.c:4335,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/namedconf.c:4352,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/namedconf.c:4356,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4357,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4358,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/namedconf.c:4359,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4360,1
    - Dst: cfg_print_clauseflags
      Src: /src/bind9/lib/isccfg/namedconf.c:4361,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4362,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/namedconf.c:4366,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 71
    argCount: 3
    argNames:
    - zonetype
    - flags
    - closure
    argTypes:
    - unsigned int
    - unsigned int
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4367
      start: 4270
    functionDepth: 1
    functionLinenumber: 4270
    functionLinenumberEnd: 4367
    functionName: cfg_print_zonegrammar
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 1
    functionsReached:
    - qsort
    - memmove
    - cfg_print_indent
    - strcasecmp
    - cfg_doc_obj
    - cfg_print_clauseflags
    - cfg_print_cstr
    - UNREACHABLE
    - ARRAY_SIZE
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:4436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/namedconf.c:4438,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/namedconf.c:4440,1
    - Dst: map_merge
      Src: /src/bind9/lib/isccfg/namedconf.c:4441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - userconfig
    - defaultconfig
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4444
      start: 4431
    functionDepth: 2
    functionLinenumber: 4431
    functionLinenumberEnd: 4444
    functionName: cfg_effective_config
    functionSourceFile: /src/bind9/lib/isccfg/namedconf.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - cfg_obj_clone
    - map_merge
    linkageType: ''
    returnType: cfg_obj_t
    signature: "cfg_obj_t *\ncfg_effective_config(const cfg_obj_t *userconfig,\n\t\t
      \    const cfg_obj_t *defaultconfig)"
  - 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:
    - snprintf
    - strtoll
    - toupper
    - 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:
    - REQUIRE
    - dns_ttl_fromtext
    - 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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: VALID_CFGOBJ
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_CFGOBJ(obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - obj
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    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:163,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:167,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:169,1
    - Dst: cfg_obj_t*::type::rep::copy
      Src: /src/bind9/lib/isccfg/parser.c:171,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 172
    functionName: cfg_obj_clone
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - cfg_obj_t*::type::rep::copy
    - REQUIRE
    - VALID_CFGOBJ
    - cfg_obj_create
    linkageType: ''
    returnType: void
    signature: void cfg_obj_clone(const cfg_obj_t *source, cfg_obj_t **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: copy_uint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_uint32(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 179
    functionDepth: 0
    functionLinenumber: 179
    functionLinenumberEnd: 182
    functionName: copy_uint64
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_uint64(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 184
    functionDepth: 0
    functionLinenumber: 184
    functionLinenumberEnd: 187
    functionName: copy_boolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void copy_boolean(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:191,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/parser.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: copy_sockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void copy_sockaddr(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isccfg/parser.c:198,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/parser.c:202,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: copy_sockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_mem_strdup
    linkageType: ''
    returnType: void
    signature: void copy_sockaddrtls(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 1
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: free_netprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_netprefix(cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:214,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/parser.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 212
    functionDepth: 1
    functionLinenumber: 212
    functionLinenumberEnd: 217
    functionName: copy_netprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void copy_netprefix(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 222
    functionName: free_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_duration(cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:226,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/parser.c:227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 229
    functionName: copy_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void copy_duration(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/parser.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 234
    functionName: copy_string
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    linkageType: ''
    returnType: void
    signature: void copy_string(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:241,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:241,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/lib/isccfg/parser.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    - symval
    - ISC_ATTR_UNUSED
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 244
    functionName: copy_map_destroy
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_obj_detach
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: void
    signature: "void copy_map_destroy(char *key ISC_ATTR_UNUSED, unsigned int type
      ISC_ATTR_UNUSED,\n\t\t isc_symvalue_t symval, void *arg ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:251,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:251,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/parser.c:257,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:260,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/parser.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - key
    - type
    - value
    - arg
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 267
    functionName: copy_map_add
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_symtab_define
    - REQUIRE
    - cfg_obj_clone
    - INSIST
    - VALID_CFGOBJ
    linkageType: ''
    returnType: bool
    signature: bool copy_map_add(char *key, unsigned int type, isc_symvalue_t value,
      void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isccfg/parser.c:271,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/parser.c:274,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/parser.c:277,1
    - Dst: isc_symtab_foreach
      Src: /src/bind9/lib/isccfg/parser.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 269
    functionDepth: 4
    functionLinenumber: 269
    functionLinenumberEnd: 285
    functionName: copy_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_symtab_foreach
    - isc_symtab_create
    - cfg_obj_clone
    linkageType: ''
    returnType: void
    signature: void copy_map(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_list_first
      Src: /src/bind9/lib/isccfg/parser.c:289,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:291,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/parser.c:292,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:295,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/parser.c:298,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:300,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/parser.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 304
    functionName: copy_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_obj_clone
    - isc_mem_get
    - cfg_list_first
    - ISC_LIST_APPEND
    - ISC_LIST_INIT
    - cfg_list_next
    linkageType: ''
    returnType: void
    signature: void copy_list(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isccfg/parser.c:318,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/parser.c:321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 306
    functionDepth: 2
    functionLinenumber: 306
    functionLinenumberEnd: 323
    functionName: copy_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - cfg_obj_clone
    linkageType: ''
    returnType: void
    signature: void copy_tuple(cfg_obj_t *to, const cfg_obj_t *from)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:366,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:367,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:367,1
    - Dst: cfg_obj_t*::type::print
      Src: /src/bind9/lib/isccfg/parser.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 370
    functionName: cfg_print_obj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    - 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:374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:375,1
    - Dst: cfg_printer_t*::f
      Src: /src/bind9/lib/isccfg/parser.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - pctx
    - text
    - len
    argTypes:
    - cfg_printer_t*
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 378
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 378
    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:383,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_printer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 388
    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:394,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_printer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 401
    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:407,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:409,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_printer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 410
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isccfg/parser.c:421,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:427,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 429
    functionName: cfg_parser_currentfile
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 7
    functionsReached:
    - INSIST
    - ISC_LIST_TAIL
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      cfg_parser_currentfile(cfg_parser_t *pctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:433,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:434,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:435,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/parser.c:437,1
    - Dst: cfg_type_t*::parse
      Src: /src/bind9/lib/isccfg/parser.c:437,1
    - Dst: ENSURE
      Src: /src/bind9/lib/isccfg/parser.c:438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 440
      start: 431
    functionDepth: 1
    functionLinenumber: 431
    functionLinenumberEnd: 440
    functionName: cfg_parse_obj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - RETERR
    - ENSURE
    - 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:446,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:446,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:447,1
    - Dst: cfg_printx
      Src: /src/bind9/lib/isccfg/parser.c:449,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - closure
    argTypes:
    - cfg_obj_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 442
    functionDepth: 1
    functionLinenumber: 442
    functionLinenumberEnd: 450
    functionName: cfg_print
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_printx
    - VALID_CFGOBJ
    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:458,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:458,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:459,1
    - Dst: cfg_obj_t*::type::print
      Src: /src/bind9/lib/isccfg/parser.c:465,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: 466
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 466
    functionName: cfg_printx
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:478,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:479,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:480,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:488,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:488,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isccfg/parser.c:489,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 495
    functionName: cfg_tuple_create
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - cfg_obj_create
    - cfg_parser_currentfile
    linkageType: ''
    returnType: void
    signature: void cfg_tuple_create(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:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:506,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:507,1
    - Dst: cfg_tuple_create
      Src: /src/bind9/lib/isccfg/parser.c:511,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:513,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:513,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:520,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: 522
      start: 497
    functionDepth: 3
    functionLinenumber: 497
    functionLinenumberEnd: 522
    functionName: cfg_parse_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_parse_obj
    - cfg_tuple_create
    - CHECK
    - CLEANUP_OBJ
    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:531,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:532,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:532,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:539,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:541,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 524
    functionDepth: 2
    functionLinenumber: 524
    functionLinenumberEnd: 545
    functionName: cfg_print_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - cfg_print_obj
    - VALID_CFGOBJ
    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:553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:554,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:560,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:562,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 565
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 565
    functionName: cfg_doc_tuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - cfg_doc_obj
    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:579,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isccfg/parser.c:582,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 567
    functionDepth: 1
    functionLinenumber: 567
    functionLinenumberEnd: 584
    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_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:588,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:588,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 590
    functionName: cfg_obj_istuple
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:598,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:598,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:599,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:600,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:604,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:608,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - tupleobj
    - name
    argTypes:
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 609
    functionName: cfg_tuple_get
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 86
    functionsReached:
    - REQUIRE
    - UNREACHABLE
    - VALID_CFGOBJ
    - strcmp
    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:615,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:617,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:617,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:624,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - special
    argTypes:
    - cfg_parser_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 611
    functionDepth: 1
    functionLinenumber: 611
    functionLinenumberEnd: 628
    functionName: cfg_parse_special
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - cfg_parser_error
    - REQUIRE
    - cfg_gettoken
    - CHECK
    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:641,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:641,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:648,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:649,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 652
    functionName: parse_semicolon
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parser_error
    - cfg_ungettoken
    - cfg_gettoken
    - CHECK
    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:661,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:661,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:667,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 671
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 671
    functionName: parse_eof
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parser_error
    - cfg_gettoken
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_eof(cfg_parser_t *pctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:684,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:686,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/parser.c:700,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/isccfg/parser.c:708,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/isccfg/parser.c:710,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/isccfg/parser.c:711,1
    - Dst: create_list
      Src: /src/bind9/lib/isccfg/parser.c:715,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:715,1
    - Dst: create_list
      Src: /src/bind9/lib/isccfg/parser.c:717,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 1
    argNames:
    - ret
    argTypes:
    - cfg_parser_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 721
      start: 679
    functionDepth: 2
    functionLinenumber: 679
    functionLinenumberEnd: 721
    functionName: parser_create
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - create_list
    - isc_mem_get
    - isc_lex_setcomments
    - cfg_parser_currentfile
    - isc_lex_create
    - memset
    - isc_lex_setspecials
    linkageType: ''
    returnType: void
    signature: void parser_create(cfg_parser_t **ret)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:727,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/isccfg/parser.c:731,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:737,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:738,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:739,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - pctxp
    argTypes:
    - cfg_parser_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 723
    functionDepth: 2
    functionLinenumber: 723
    functionLinenumberEnd: 740
    functionName: parser_destroy
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_lex_destroy
    - CLEANUP_OBJ
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void parser_destroy(cfg_parser_t **pctxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/isccfg/parser.c:748,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:750,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:751,1
    - Dst: cfg_string_create
      Src: /src/bind9/lib/isccfg/parser.c:755,1
    - Dst: cfg_listelt_create
      Src: /src/bind9/lib/isccfg/parser.c:756,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:758,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:762,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - pctx
    - filename
    argTypes:
    - cfg_parser_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 742
    functionDepth: 3
    functionLinenumber: 742
    functionLinenumberEnd: 764
    functionName: parser_openfile
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - cfg_listelt_create
    - isc_lex_openfile
    - cfg_parser_error
    - cfg_string_create
    - CLEANUP_OBJ
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parser_openfile(cfg_parser_t *pctx, const char *filename)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:775,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:787,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:788,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:792,1
    - Dst: parse_eof
      Src: /src/bind9/lib/isccfg/parser.c:792,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:798,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: 800
      start: 770
    functionDepth: 2
    functionLinenumber: 770
    functionLinenumberEnd: 800
    functionName: parse2
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_obj
    - cfg_parser_error
    - CHECK
    - parse_eof
    - CLEANUP_OBJ
    - isc_result_totext
    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: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - flags
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 805
    functionName: REQUIRE_PCTX_FLAGS
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REQUIRE_PCTX_FLAGS(flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:813,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:814,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:815,1
    - Dst: REQUIRE_PCTX_FLAGS
      Src: /src/bind9/lib/isccfg/parser.c:816,1
    - Dst: parser_create
      Src: /src/bind9/lib/isccfg/parser.c:818,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:821,1
    - Dst: parser_openfile
      Src: /src/bind9/lib/isccfg/parser.c:821,1
    - Dst: parse2
      Src: /src/bind9/lib/isccfg/parser.c:823,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isccfg/parser.c:826,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:827,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/parser.c:828,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:829,1
    - Dst: parser_destroy
      Src: /src/bind9/lib/isccfg/parser.c:832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 4
    argNames:
    - filename
    - type
    - flags
    - ret
    argTypes:
    - char*
    - cfg_type_t*
    - unsigned int
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 835
      start: 806
    functionDepth: 4
    functionLinenumber: 806
    functionLinenumberEnd: 835
    functionName: cfg_parse_file
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - parser_openfile
    - ISC_LIST_UNLINK
    - REQUIRE_PCTX_FLAGS
    - ISC_LIST_TAIL
    - INSIST
    - ISC_LIST_APPEND
    - parser_destroy
    - parser_create
    - CHECK
    - parse2
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_file(const char *filename, const cfg_type_t
      *type, unsigned int flags,\n\t       cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:843,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:844,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:845,1
    - Dst: REQUIRE_PCTX_FLAGS
      Src: /src/bind9/lib/isccfg/parser.c:846,1
    - Dst: parser_create
      Src: /src/bind9/lib/isccfg/parser.c:848,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:849,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/isccfg/parser.c:849,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:855,1
    - Dst: isc_lex_setsourceline
      Src: /src/bind9/lib/isccfg/parser.c:855,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:858,1
    - Dst: parse2
      Src: /src/bind9/lib/isccfg/parser.c:858,1
    - Dst: parser_destroy
      Src: /src/bind9/lib/isccfg/parser.c:862,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 6
    argNames:
    - buffer
    - file
    - line
    - type
    - flags
    - ret
    argTypes:
    - isc_buffer_t*
    - char*
    - unsigned int
    - cfg_type_t*
    - unsigned int
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 865
      start: 837
    functionDepth: 3
    functionLinenumber: 837
    functionLinenumberEnd: 865
    functionName: cfg_parse_buffer
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 18
    functionsReached:
    - REQUIRE
    - REQUIRE_PCTX_FLAGS
    - isc_lex_setsourceline
    - parser_destroy
    - isc_lex_openbuffer
    - parser_create
    - CHECK
    - parse2
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_buffer(isc_buffer_t *buffer, const char *file,
      unsigned int line,\n\t\t const cfg_type_t *type, unsigned int flags, cfg_obj_t
      **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:873,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:874,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:876,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:876,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 870
    functionDepth: 2
    functionLinenumber: 870
    functionLinenumberEnd: 879
    functionName: cfg_parse_void
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - cfg_obj_create
    - cfg_parser_currentfile
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_void(cfg_parser_t *pctx, const cfg_type_t *type
      ISC_ATTR_UNUSED,\n\t       cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:883,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:884,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 881
    functionDepth: 1
    functionLinenumber: 881
    functionLinenumberEnd: 885
    functionName: cfg_print_void
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:889,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 1
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: cfg_doc_void
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - 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:895,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:895,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 893
    functionDepth: 1
    functionLinenumber: 893
    functionLinenumberEnd: 897
    functionName: cfg_obj_isvoid
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 15
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:913,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:914,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:916,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:916,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:918,1
    - Dst: strtoull
      Src: /src/bind9/lib/isccfg/parser.c:922,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:922,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:924,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:928,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:928,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 905
    functionDepth: 2
    functionLinenumber: 905
    functionLinenumberEnd: 935
    functionName: cfg_parse_percentage
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strtoull
    - TOKEN_STRING
    - cfg_parser_currentfile
    - cfg_parser_error
    - cfg_obj_create
    - CHECK
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_percentage(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:942,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:943,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:943,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:945,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:946,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:947,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:947,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 937
    functionDepth: 2
    functionLinenumber: 937
    functionLinenumberEnd: 948
    functionName: cfg_print_percentage
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - VALID_CFGOBJ
    - snprintf
    - strlen
    - 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:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 950
    functionDepth: 1
    functionLinenumber: 950
    functionLinenumberEnd: 954
    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:962,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 964
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 964
    functionName: cfg_obj_ispercentage
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:977,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:978,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:980,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:980,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:982,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:987,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:988,1
    - Dst: strspn
      Src: /src/bind9/lib/isccfg/parser.c:989,1
    - Dst: strspn
      Src: /src/bind9/lib/isccfg/parser.c:990,1
    - Dst: strspn
      Src: /src/bind9/lib/isccfg/parser.c:991,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:995,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:1000,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:1000,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/parser.c:1003,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/parser.c:1006,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/parser.c:1009,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1016
      start: 969
    functionDepth: 2
    functionLinenumber: 969
    functionLinenumberEnd: 1016
    functionName: cfg_parse_fixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - TOKEN_STRING
    - cfg_parser_currentfile
    - strtoul
    - cfg_parser_error
    - strspn
    - strlen
    - cfg_obj_create
    - CHECK
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_fixedpoint(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1023,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1024,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1024,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1026,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:1028,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1029,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1029,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1030
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1030
    functionName: cfg_print_fixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - VALID_CFGOBJ
    - snprintf
    - strlen
    - 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:1034,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1034,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1032
    functionDepth: 1
    functionLinenumber: 1032
    functionLinenumberEnd: 1037
    functionName: cfg_obj_asfixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1045,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1043
    functionDepth: 1
    functionLinenumber: 1043
    functionLinenumberEnd: 1047
    functionName: cfg_obj_isfixedpoint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1058,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1059,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1061,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1061,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1063,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:1067,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:1067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1052
    functionDepth: 2
    functionLinenumber: 1052
    functionLinenumberEnd: 1074
    functionName: cfg_parse_uint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_parser_currentfile
    - cfg_parser_error
    - cfg_obj_create
    - CHECK
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_uint32(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1078,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - s
    argTypes:
    - cfg_printer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1076
    functionDepth: 2
    functionLinenumber: 1076
    functionLinenumberEnd: 1079
    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:1085,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1086,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - u
    argTypes:
    - cfg_printer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1087
      start: 1081
    functionDepth: 3
    functionLinenumber: 1081
    functionLinenumberEnd: 1087
    functionName: cfg_print_rawuint
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - snprintf
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void cfg_print_rawuint(cfg_printer_t *pctx, unsigned int u)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1091,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1091,1
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:1092,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1089
    functionDepth: 4
    functionLinenumber: 1089
    functionLinenumberEnd: 1093
    functionName: cfg_print_uint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    - 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:1097,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1099
    functionName: cfg_obj_isuint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1103,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1101
    functionDepth: 1
    functionLinenumber: 1101
    functionLinenumberEnd: 1106
    functionName: cfg_obj_asuint32
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 23
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1117,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1119
      start: 1115
    functionDepth: 1
    functionLinenumber: 1115
    functionLinenumberEnd: 1119
    functionName: cfg_obj_isuint64
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1123,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1123,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1126
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1126
    functionName: cfg_obj_asuint64
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t cfg_obj_asuint64(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1132,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1132,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1134,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1136
      start: 1128
    functionDepth: 3
    functionLinenumber: 1128
    functionLinenumberEnd: 1136
    functionName: cfg_print_uint64
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - snprintf
    - REQUIRE
    - cfg_print_cstr
    - VALID_CFGOBJ
    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: 1158
      start: 1145
    functionDepth: 0
    functionLinenumber: 1145
    functionLinenumberEnd: 1158
    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:1177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1178,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1178,1
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:1184,1
    - Dst: numlen
      Src: /src/bind9/lib/isccfg/parser.c:1195,1
    - Dst: numlen
      Src: /src/bind9/lib/isccfg/parser.c:1213,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:1221,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1230,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1235,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:1243,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1246,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1246,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 46
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1247
      start: 1163
    functionDepth: 4
    functionLinenumber: 1163
    functionLinenumberEnd: 1247
    functionName: cfg_print_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_rawuint
    - INSIST
    - VALID_CFGOBJ
    - snprintf
    - strlen
    - numlen
    - cfg_print_chars
    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:1253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1254,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1254,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1259,1
    - Dst: cfg_print_duration
      Src: /src/bind9/lib/isccfg/parser.c:1261,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1263
      start: 1249
    functionDepth: 5
    functionLinenumber: 1249
    functionLinenumberEnd: 1263
    functionName: cfg_print_duration_or_unlimited
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - cfg_print_duration
    - VALID_CFGOBJ
    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:1267,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1269
    functionName: cfg_obj_isduration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1273,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1274,1
    - Dst: isccfg_duration_toseconds
      Src: /src/bind9/lib/isccfg/parser.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1271
    functionDepth: 2
    functionLinenumber: 1271
    functionLinenumberEnd: 1276
    functionName: cfg_obj_asduration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 10
    functionsReached:
    - isccfg_duration_toseconds
    - REQUIRE
    - VALID_CFGOBJ
    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:1284,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1288,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:1295,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:1295,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:1297,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1305,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - pctx
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1308
      start: 1278
    functionDepth: 2
    functionLinenumber: 1278
    functionLinenumberEnd: 1308
    functionName: parse_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - isccfg_parse_duration
    - isc_mem_get
    - cfg_parser_currentfile
    - cfg_parser_error
    - cfg_obj_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parse_duration(cfg_parser_t *pctx, cfg_obj_t **ret)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1315,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1315,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:1317,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/parser.c:1320,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1323,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1326
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1326
    functionName: cfg_parse_duration
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - parse_duration
    - cfg_gettoken
    - cfg_parser_error
    - CHECK
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_duration(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1336,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1336,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:1338,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:1341,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1341,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:1348,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:1348,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:1350,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/parser.c:1357,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1360,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1363
      start: 1328
    functionDepth: 2
    functionLinenumber: 1328
    functionLinenumberEnd: 1363
    functionName: cfg_parse_duration_or_unlimited
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    - parse_duration
    - TOKEN_STRING
    - cfg_parser_currentfile
    - isc_mem_get
    - cfg_gettoken
    - cfg_parser_error
    - cfg_obj_create
    - CHECK
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_duration_or_unlimited(cfg_parser_t *pctx,\n\t\t\t\tconst
      cfg_type_t *type ISC_ATTR_UNUSED,\n\t\t\t\tcfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:1401,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:1401,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/parser.c:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - pctx
    - contents
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - char*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1404
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1404
    functionName: cfg_string_create
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - cfg_obj_create
    - isc_mem_strdup
    - cfg_parser_currentfile
    linkageType: ''
    returnType: void
    signature: "void cfg_string_create(cfg_parser_t *pctx, const char *contents,\n\t\t
      \ const cfg_type_t *type, cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1411,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1412,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1414,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1414,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1416,1
    - Dst: cfg_string_create
      Src: /src/bind9/lib/isccfg/parser.c:1419,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1406
    functionDepth: 3
    functionLinenumber: 1406
    functionLinenumberEnd: 1424
    functionName: cfg_parse_qstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - TOKEN_STRING
    - cfg_parser_error
    - CHECK
    - cfg_string_create
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_qstring(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t  cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1431,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1431,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1433,1
    - Dst: cfg_string_create
      Src: /src/bind9/lib/isccfg/parser.c:1437,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1426
    functionDepth: 3
    functionLinenumber: 1426
    functionLinenumberEnd: 1442
    functionName: parse_ustring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - cfg_parser_error
    - CHECK
    - cfg_string_create
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_ustring(cfg_parser_t *pctx, const cfg_type_t *type
      ISC_ATTR_UNUSED,\n\t      cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1450,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1452,1
    - Dst: cfg_getstringtoken
      Src: /src/bind9/lib/isccfg/parser.c:1452,1
    - Dst: cfg_string_create
      Src: /src/bind9/lib/isccfg/parser.c:1453,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1453,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1444
    functionDepth: 3
    functionLinenumber: 1444
    functionLinenumberEnd: 1458
    functionName: cfg_parse_astring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - cfg_getstringtoken
    - TOKEN_STRING
    - CHECK
    - cfg_string_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_astring(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t  cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1466,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1468,1
    - Dst: cfg_getstringtoken
      Src: /src/bind9/lib/isccfg/parser.c:1468,1
    - Dst: cfg_string_create
      Src: /src/bind9/lib/isccfg/parser.c:1469,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1469,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1474
      start: 1460
    functionDepth: 3
    functionLinenumber: 1460
    functionLinenumberEnd: 1474
    functionName: cfg_parse_sstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_getstringtoken
    - TOKEN_STRING
    - CHECK
    - cfg_string_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_sstring(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t  cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1481,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1481,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1483,1
    - Dst: cfg_string_create
      Src: /src/bind9/lib/isccfg/parser.c:1486,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1492
      start: 1476
    functionDepth: 3
    functionLinenumber: 1476
    functionLinenumberEnd: 1492
    functionName: parse_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - cfg_parser_error
    - CHECK
    - cfg_string_create
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_btext(cfg_parser_t *pctx, const cfg_type_t *type
      ISC_ATTR_UNUSED,\n\t    cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1504,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1505,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1505,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:1506,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1494
    functionDepth: 3
    functionLinenumber: 1494
    functionLinenumberEnd: 1507
    functionName: print_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - strlen
    - print_close
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void print_btext(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1511,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1512
      start: 1509
    functionDepth: 3
    functionLinenumber: 1509
    functionLinenumberEnd: 1512
    functionName: doc_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void doc_btext(cfg_printer_t *pctx, const cfg_type_t *type ISC_ATTR_UNUSED)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1518,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1519,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1522,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - s
    - enums
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1527
      start: 1514
    functionDepth: 1
    functionLinenumber: 1514
    functionLinenumberEnd: 1527
    functionName: cfg_is_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcasecmp
    linkageType: ''
    returnType: bool
    signature: bool cfg_is_enum(const char *s, const char *const *enums)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1533,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1533,1
    - Dst: cfg_is_enum
      Src: /src/bind9/lib/isccfg/parser.c:1536,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1539,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - pctx
    - obj
    - enums
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1541
      start: 1529
    functionDepth: 2
    functionLinenumber: 1529
    functionLinenumberEnd: 1541
    functionName: check_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parser_error
    - REQUIRE
    - cfg_is_enum
    - VALID_CFGOBJ
    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:1548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1549,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1550,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1552,1
    - Dst: parse_ustring
      Src: /src/bind9/lib/isccfg/parser.c:1552,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1553,1
    - Dst: check_enum
      Src: /src/bind9/lib/isccfg/parser.c:1553,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:1557,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: 1559
      start: 1543
    functionDepth: 4
    functionLinenumber: 1543
    functionLinenumberEnd: 1559
    functionName: cfg_parse_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - check_enum
    - parse_ustring
    - CHECK
    - CLEANUP_OBJ
    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:1565,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1566,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1568,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1570,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1572,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1561
    functionDepth: 3
    functionLinenumber: 1561
    functionLinenumberEnd: 1576
    functionName: cfg_doc_enum
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    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:1582,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1582,1
    - Dst: cfg_is_enum
      Src: /src/bind9/lib/isccfg/parser.c:1584,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1584,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1586,1
    - Dst: cfg_parse_enum
      Src: /src/bind9/lib/isccfg/parser.c:1586,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1588,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1588,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: 1592
      start: 1578
    functionDepth: 5
    functionLinenumber: 1578
    functionLinenumberEnd: 1592
    functionName: cfg_parse_enum_or_other
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 15
    functionsReached:
    - TOKEN_STRING
    - cfg_parse_obj
    - cfg_peektoken
    - cfg_is_enum
    - cfg_parse_enum
    - CHECK
    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:1606,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1608,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1611,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1614,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1618,1
    - Dst: cfg_doc_terminal
      Src: /src/bind9/lib/isccfg/parser.c:1620,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1622,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1624,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: 1626
      start: 1594
    functionDepth: 3
    functionLinenumber: 1594
    functionLinenumberEnd: 1626
    functionName: cfg_doc_enum_or_other
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 12
    functionsReached:
    - cfg_doc_terminal
    - cfg_print_cstr
    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:1630,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1631,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1631,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1633,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1633,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1628
    functionDepth: 2
    functionLinenumber: 1628
    functionLinenumberEnd: 1634
    functionName: cfg_print_ustring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - strlen
    - VALID_CFGOBJ
    - cfg_print_chars
    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:1638,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1639,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1641,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1643,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1645,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - pctx
    - string
    argTypes:
    - cfg_printer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1646
      start: 1636
    functionDepth: 3
    functionLinenumber: 1636
    functionLinenumberEnd: 1646
    functionName: print_rawqstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - strlen
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void print_rawqstring(cfg_printer_t *pctx, const char *string)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1650,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1650,1
    - Dst: print_rawqstring
      Src: /src/bind9/lib/isccfg/parser.c:1651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1652
      start: 1648
    functionDepth: 4
    functionLinenumber: 1648
    functionLinenumberEnd: 1652
    functionName: print_qstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    - print_rawqstring
    linkageType: ''
    returnType: void
    signature: void print_qstring(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1656,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1656,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1657,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1659,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1661,1
    - Dst: cfg_print_ustring
      Src: /src/bind9/lib/isccfg/parser.c:1664,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1666,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1654
    functionDepth: 3
    functionLinenumber: 1654
    functionLinenumberEnd: 1667
    functionName: print_sstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_ustring
    - VALID_CFGOBJ
    - strlen
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: void print_sstring(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/parser.c:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1672
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1672
    functionName: free_string
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void free_string(cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1674
    functionDepth: 1
    functionLinenumber: 1674
    functionLinenumberEnd: 1677
    functionName: free_sockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_sockaddr(cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/parser.c:1682,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:1684,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1686
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1686
    functionName: free_sockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_sockaddrtls(cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1690,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1690,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1692
      start: 1688
    functionDepth: 1
    functionLinenumber: 1688
    functionLinenumberEnd: 1692
    functionName: cfg_obj_isstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1696,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1696,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1694
    functionDepth: 1
    functionLinenumber: 1694
    functionLinenumberEnd: 1699
    functionName: cfg_obj_asstring
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 109
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: char
    signature: 'char *

      cfg_obj_asstring(const cfg_obj_t *obj)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_create
      Src: /src/bind9/lib/isccfg/parser.c:1766,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1767,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/parser.c:1767,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1770,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1770,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1772,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1772,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1773,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1773,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1776,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1776,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1779,1
    - Dst: cfg_parse_void
      Src: /src/bind9/lib/isccfg/parser.c:1779,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:1780,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1784,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1784,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1785,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1785,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:1791,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: 1793
      start: 1760
    functionDepth: 3
    functionLinenumber: 1760
    functionLinenumberEnd: 1793
    functionName: parse_geoip
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - TOKEN_STRING
    - strcasecmp
    - cfg_parse_obj
    - cfg_tuple_create
    - cfg_peektoken
    - CHECK
    - cfg_parse_void
    - cfg_ungettoken
    - CLEANUP_OBJ
    - cfg_gettoken
    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: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1797,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1797,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1799,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:1800,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:1802,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:1803,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1795
    functionDepth: 3
    functionLinenumber: 1795
    functionLinenumberEnd: 1804
    functionName: print_geoip
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - cfg_print_obj
    - VALID_CFGOBJ
    linkageType: ''
    returnType: void
    signature: void print_geoip(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1808,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:1809,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1810,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1811,1
    - Dst: cfg_doc_enum
      Src: /src/bind9/lib/isccfg/parser.c:1812,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1813,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:1814,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1815
      start: 1806
    functionDepth: 4
    functionLinenumber: 1806
    functionLinenumberEnd: 1815
    functionName: doc_geoip
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_doc_obj
    - cfg_doc_enum
    linkageType: ''
    returnType: void
    signature: void doc_geoip(cfg_printer_t *pctx, const cfg_type_t *type ISC_ATTR_UNUSED)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1826,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1826,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1832,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1832,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1834,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1834,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1836,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1836,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1839,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1839,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1840,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1840,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1842,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/parser.c:1848,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1852,1
    - Dst: cfg_parse_netprefix
      Src: /src/bind9/lib/isccfg/parser.c:1852,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1854,1
    - Dst: cfg_parse_astring
      Src: /src/bind9/lib/isccfg/parser.c:1854,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1860,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1860,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1863,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1863,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1864,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1864,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:1870,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1876
      start: 1821
    functionDepth: 4
    functionLinenumber: 1821
    functionLinenumberEnd: 1876
    functionName: parse_addrmatchelt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_astring
    - TOKEN_STRING
    - cfg_parse_obj
    - strcasecmp
    - cfg_lookingat_netaddr
    - cfg_parser_error
    - cfg_peektoken
    - cfg_parse_netprefix
    - CHECK
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_addrmatchelt(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t   cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1889,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1889,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1890,1
    - Dst: cfg_print_tuple
      Src: /src/bind9/lib/isccfg/parser.c:1891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1887
    functionDepth: 3
    functionLinenumber: 1887
    functionLinenumberEnd: 1892
    functionName: print_negated
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - VALID_CFGOBJ
    - cfg_print_tuple
    linkageType: ''
    returnType: void
    signature: void print_negated(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1925,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:1925,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1927,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1927,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:1929,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:1929,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1933
      start: 1920
    functionDepth: 2
    functionLinenumber: 1920
    functionLinenumberEnd: 1933
    functionName: parse_optional_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_peektoken
    - cfg_parse_obj
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_optional_btext(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t     cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1942,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:1943,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:1943,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:1944,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1945
      start: 1935
    functionDepth: 3
    functionLinenumber: 1935
    functionLinenumberEnd: 1945
    functionName: print_optional_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - strlen
    - print_close
    - cfg_print_chars
    linkageType: ''
    returnType: void
    signature: void print_optional_btext(cfg_printer_t *pctx, const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:1950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1951
      start: 1947
    functionDepth: 3
    functionLinenumber: 1947
    functionLinenumberEnd: 1951
    functionName: doc_optional_btext
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    linkageType: ''
    returnType: void
    signature: "void doc_optional_btext(cfg_printer_t *pctx,\n\t\t   const cfg_type_t
      *type ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1966,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1968
      start: 1964
    functionDepth: 1
    functionLinenumber: 1964
    functionLinenumberEnd: 1968
    functionName: cfg_obj_isboolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:1972,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:1972,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1970
    functionDepth: 1
    functionLinenumber: 1970
    functionLinenumberEnd: 1975
    functionName: cfg_obj_asboolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 20
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_asboolean(const cfg_obj_t *obj)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1983,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:1984,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/parser.c:1986,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:1986,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1992,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1992,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1993,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1993,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:1994,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1994,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1997,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1997,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:1998,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1998,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:1999,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:1999,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:2006,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:2006,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2013,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1977
    functionDepth: 2
    functionLinenumber: 1977
    functionLinenumberEnd: 2015
    functionName: cfg_parse_boolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - strcmp
    - TOKEN_STRING
    - strcasecmp
    - cfg_parser_currentfile
    - cfg_parser_error
    - RETERR
    - cfg_obj_create
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_boolean(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t  cfg_obj_t **ret)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2019,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2020,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2020,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2023,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2017
    functionDepth: 3
    functionLinenumber: 2017
    functionLinenumberEnd: 2027
    functionName: cfg_print_boolean
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - VALID_CFGOBJ
    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:2040,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2041,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:2043,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:2044,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/parser.c:2046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 4
    argNames:
    - file
    - line
    - type
    - obj
    argTypes:
    - cfg_obj_t*
    - size_t
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2047
    functionName: create_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_INIT
    - cfg_obj_create
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: "void create_list(cfg_obj_t *file, size_t line, const cfg_type_t *type,\n\t
      \   cfg_obj_t **obj)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:2053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - eltp
    argTypes:
    - cfg_listelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2056
    functionName: cfg_listelt_create
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void cfg_listelt_create(cfg_listelt_t **eltp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_detach
      Src: /src/bind9/lib/isccfg/parser.c:2065,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:2067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - eltp
    argTypes:
    - cfg_listelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2058
    functionDepth: 1
    functionLinenumber: 2058
    functionLinenumberEnd: 2068
    functionName: free_listelt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_obj_detach
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void free_listelt(cfg_listelt_t **eltp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:2072,1
    - Dst: free_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2073,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:2075,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2076
      start: 2070
    functionDepth: 2
    functionLinenumber: 2070
    functionLinenumberEnd: 2076
    functionName: free_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - ISC_LIST_FOREACH
    - free_listelt
    linkageType: ''
    returnType: void
    signature: void free_list(cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2084,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2085,1
    - Dst: VALID_CFGOBJ
      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: RETERR
      Src: /src/bind9/lib/isccfg/parser.c:2089,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2089,1
    - Dst: cfg_listelt_create
      Src: /src/bind9/lib/isccfg/parser.c:2091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - pctx
    - list
    - elttype
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_obj_t*
    - cfg_type_t*
    - cfg_listelt_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2096
      start: 2078
    functionDepth: 2
    functionLinenumber: 2078
    functionLinenumberEnd: 2096
    functionName: cfg_parse_listelt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_parse_obj
    - VALID_CFGOBJ
    - cfg_listelt_create
    - RETERR
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_listelt(cfg_parser_t *pctx, cfg_obj_t *list,\n\t\t
      \ const cfg_type_t *elttype, cfg_listelt_t **ret)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: create_list
      Src: /src/bind9/lib/isccfg/parser.c:2109,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:2109,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2113,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:2113,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2119,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2119,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2120,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2120,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:2121,1
    - Dst: free_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2129,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2131,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: 2133
      start: 2102
    functionDepth: 3
    functionLinenumber: 2102
    functionLinenumberEnd: 2133
    functionName: parse_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_listelt
    - create_list
    - cfg_parser_currentfile
    - ISC_LIST_APPEND
    - free_listelt
    - cfg_peektoken
    - CHECK
    - CLEANUP_OBJ
    - 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: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2139,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2139,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/parser.c:2141,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:2142,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2144,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2145,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/parser.c:2147,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2148,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2149,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2152
      start: 2135
    functionDepth: 3
    functionLinenumber: 2135
    functionLinenumberEnd: 2152
    functionName: print_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_indent
    - VALID_CFGOBJ
    - cfg_print_cstr
    - cfg_print_obj
    - ISC_LIST_FOREACH
    - UNCONST
    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:2159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2161,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2163,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2163,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2164,1
    - Dst: parse_list
      Src: /src/bind9/lib/isccfg/parser.c:2164,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2165,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2165,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: 2168
      start: 2154
    functionDepth: 4
    functionLinenumber: 2154
    functionLinenumberEnd: 2168
    functionName: cfg_parse_bracketed_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cfg_parse_special
    - parse_list
    - CHECK
    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:2172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2173,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2173,1
    - Dst: print_open
      Src: /src/bind9/lib/isccfg/parser.c:2175,1
    - Dst: print_list
      Src: /src/bind9/lib/isccfg/parser.c:2176,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:2177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2178
      start: 2170
    functionDepth: 4
    functionLinenumber: 2170
    functionLinenumberEnd: 2178
    functionName: cfg_print_bracketed_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - print_open
    - print_close
    - VALID_CFGOBJ
    - print_list
    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:2182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2183,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2185,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2186,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2188
      start: 2180
    functionDepth: 3
    functionLinenumber: 2180
    functionLinenumberEnd: 2188
    functionName: cfg_doc_bracketed_list
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - cfg_doc_obj
    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:2202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2204,1
    - Dst: create_list
      Src: /src/bind9/lib/isccfg/parser.c:2208,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:2208,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2214,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:2214,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2220,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2220,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:2221,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2227,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: 2229
      start: 2195
    functionDepth: 3
    functionLinenumber: 2195
    functionLinenumberEnd: 2229
    functionName: cfg_parse_spacelist
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_parse_listelt
    - create_list
    - cfg_parser_currentfile
    - ISC_LIST_APPEND
    - cfg_peektoken
    - CHECK
    - CLEANUP_OBJ
    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:2235,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2236,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2236,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/parser.c:2238,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:2240,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2241,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isccfg/parser.c:2242,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2243,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2246
      start: 2231
    functionDepth: 3
    functionLinenumber: 2231
    functionLinenumberEnd: 2246
    functionName: cfg_print_spacelist
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    - cfg_print_cstr
    - ISC_LIST_NEXT
    - cfg_print_obj
    - ISC_LIST_FOREACH
    - UNCONST
    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:2250,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2248
    functionDepth: 1
    functionLinenumber: 2248
    functionLinenumberEnd: 2252
    functionName: cfg_obj_islist
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:2256,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2257,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/isccfg/parser.c:2261,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2254
    functionDepth: 1
    functionLinenumber: 2254
    functionLinenumberEnd: 2262
    functionName: cfg_list_first
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    - ISC_LIST_HEAD
    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:2266,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/isccfg/parser.c:2267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elt
    argTypes:
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2268
      start: 2264
    functionDepth: 1
    functionLinenumber: 2264
    functionLinenumberEnd: 2268
    functionName: cfg_list_next
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_NEXT
    - REQUIRE
    linkageType: ''
    returnType: cfg_listelt_t
    signature: 'cfg_listelt_t *

      cfg_list_next(const cfg_listelt_t *elt)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2272,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2272,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/parser.c:2273,1
    - Dst: free_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - list
    - elt
    argTypes:
    - cfg_obj_t*
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2270
    functionDepth: 2
    functionLinenumber: 2270
    functionLinenumberEnd: 2275
    functionName: cfg_list_unlink
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - VALID_CFGOBJ
    - free_listelt
    linkageType: ''
    returnType: void
    signature: void cfg_list_unlink(cfg_obj_t *list, cfg_listelt_t *elt)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/parser.c:2286,1
    - Dst: cfg_list_first
      Src: /src/bind9/lib/isccfg/parser.c:2289,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/parser.c:2289,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/parser.c:2290,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/parser.c:2291,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - obj
    - recurse
    argTypes:
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2297
      start: 2281
    functionDepth: 2
    functionLinenumber: 2281
    functionLinenumberEnd: 2297
    functionName: cfg_list_length
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 4
    functionsReached:
    - cfg_list_first
    - cfg_list_next
    - cfg_list_length
    - cfg_obj_islist
    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:2301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - elt
    argTypes:
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2303
      start: 2299
    functionDepth: 1
    functionLinenumber: 2299
    functionLinenumberEnd: 2303
    functionName: cfg_listelt_value
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 117
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: cfg_obj_t
    signature: 'cfg_obj_t *

      cfg_listelt_value(const cfg_listelt_t *elt)'
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2332,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2333,1
    - Dst: create_map
      Src: /src/bind9/lib/isccfg/parser.c:2337,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2345,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:2345,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:2348,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:2356,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:2356,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2365,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2365,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2367,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2367,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:2370,1
    - Dst: glob
      Src: /src/bind9/lib/isccfg/parser.c:2377,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:2377,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:2384,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:2387,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:2391,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2393,1
    - Dst: isc_errno_toresult
      Src: /src/bind9/lib/isccfg/parser.c:2393,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2397,1
    - Dst: parser_openfile
      Src: /src/bind9/lib/isccfg/parser.c:2397,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/lib/isccfg/parser.c:2400,1
    - Dst: globfree
      Src: /src/bind9/lib/isccfg/parser.c:2401,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:2411,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:2411,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2420,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2426,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2426,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/lib/isccfg/parser.c:2428,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2429,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2429,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2437,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:2440,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2445,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:2449,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2454,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2458,1
    - Dst: cfg_parser_warning
      Src: /src/bind9/lib/isccfg/parser.c:2465,1
    - Dst: cfg_parser_warning
      Src: /src/bind9/lib/isccfg/parser.c:2471,1
    - Dst: cfg_parser_warning
      Src: /src/bind9/lib/isccfg/parser.c:2479,1
    - Dst: create_list
      Src: /src/bind9/lib/isccfg/parser.c:2491,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:2491,1
    - Dst: isc_symtab_define_and_return
      Src: /src/bind9/lib/isccfg/parser.c:2494,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2499,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2503,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:2503,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:2505,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2506,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2506,1
    - Dst: parse_symtab_elt
      Src: /src/bind9/lib/isccfg/parser.c:2509,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2512,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2515,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:2517,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2519,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2521,1
    - Dst: parse_semicolon
      Src: /src/bind9/lib/isccfg/parser.c:2521,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2529,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2530,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2531,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2532,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 114
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2319
    functionDepth: 6
    functionLinenumber: 2319
    functionLinenumberEnd: 2534
    functionName: cfg_parse_mapbody
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_parse_listelt
    - parse_symtab_elt
    - cfg_gettoken
    - parser_openfile
    - TOKEN_STRING
    - strcasecmp
    - cfg_parse_obj
    - cfg_obj_asstring
    - CLEANUP_OBJ
    - isc_errno_toresult
    - parse_semicolon
    - isc_symtab_define_and_return
    - create_list
    - cfg_parser_error
    - cfg_parser_warning
    - CHECK
    - cfg_ungettoken
    - CLEANUP
    - globfree
    - create_map
    - cfg_obj_detach
    - cfg_parser_currentfile
    - ISC_LIST_APPEND
    - glob
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:2539,1
    - Dst: isc_file_ischdiridempotent
      Src: /src/bind9/lib/isccfg/parser.c:2544,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/parser.c:2545,1
    - Dst: isc_file_isdirwritable
      Src: /src/bind9/lib/isccfg/parser.c:2550,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/parser.c:2551,1
    - Dst: isc_dir_chdir
      Src: /src/bind9/lib/isccfg/parser.c:2556,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/parser.c:2558,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:2560,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2565
      start: 2536
    functionDepth: 3
    functionLinenumber: 2536
    functionLinenumberEnd: 2565
    functionName: change_directory
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - isc_file_ischdiridempotent
    - cfg_obj_asstring
    - isc_file_isdirwritable
    - isc_dir_chdir
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t change_directory(const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2574,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2574,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2577,1
    - Dst: change_directory
      Src: /src/bind9/lib/isccfg/parser.c:2577,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2581,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/parser.c:2581,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - pctx
    - clause
    - symtab
    argTypes:
    - cfg_parser_t*
    - cfg_clausedef_t*
    - isc_symtab_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2588
      start: 2567
    functionDepth: 4
    functionLinenumber: 2567
    functionLinenumberEnd: 2588
    functionName: parse_symtab_elt
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - isc_symtab_define
    - change_directory
    - cfg_parse_obj
    - CHECK
    - CLEANUP_OBJ
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_symtab_elt(cfg_parser_t *pctx, const cfg_clausedef_t
      *clause,\n\t\t isc_symtab_t *symtab)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2597,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2598,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2599,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2601,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2601,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2602,1
    - Dst: cfg_parse_mapbody
      Src: /src/bind9/lib/isccfg/parser.c:2602,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2603,1
    - Dst: cfg_parse_special
      Src: /src/bind9/lib/isccfg/parser.c:2603,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: 2606
      start: 2593
    functionDepth: 7
    functionLinenumber: 2593
    functionLinenumberEnd: 2606
    functionName: cfg_parse_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_parse_mapbody
    - cfg_parse_special
    - CHECK
    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:2618,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2619,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2620,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2621,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2623,1
    - Dst: cfg_parse_obj
      Src: /src/bind9/lib/isccfg/parser.c:2623,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2624,1
    - Dst: cfg_parse_map
      Src: /src/bind9/lib/isccfg/parser.c:2624,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2629,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:2630,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: 2632
      start: 2611
    functionDepth: 8
    functionLinenumber: 2611
    functionLinenumberEnd: 2632
    functionName: parse_any_named_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_parse_obj
    - cfg_parse_map
    - CHECK
    - CLEANUP_OBJ
    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:2641,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: 2642
      start: 2638
    functionDepth: 9
    functionLinenumber: 2638
    functionLinenumberEnd: 2642
    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:2651,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: 2652
      start: 2648
    functionDepth: 9
    functionLinenumber: 2648
    functionLinenumberEnd: 2652
    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:2661,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: 2662
      start: 2658
    functionDepth: 9
    functionLinenumber: 2658
    functionLinenumberEnd: 2662
    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:2667,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2670,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2671,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2672,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2675,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2677,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: 2679
      start: 2664
    functionDepth: 3
    functionLinenumber: 2664
    functionLinenumberEnd: 2679
    functionName: print_symval
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_print_cstr
    - cfg_print_obj
    - cfg_print_indent
    linkageType: ''
    returnType: void
    signature: void print_symval(cfg_printer_t *pctx, const char *name, cfg_obj_t
      *obj)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2685,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2686,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2686,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/parser.c:2701,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/parser.c:2709,1
    - Dst: print_symval
      Src: /src/bind9/lib/isccfg/parser.c:2710,1
    - Dst: print_symval
      Src: /src/bind9/lib/isccfg/parser.c:2715,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:2721,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2725
      start: 2681
    functionDepth: 4
    functionLinenumber: 2681
    functionLinenumberEnd: 2725
    functionName: cfg_print_mapbody
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - REQUIRE
    - VALID_CFGOBJ
    - ISC_LIST_FOREACH
    - print_symval
    - UNREACHABLE
    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:2749,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2751,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - pctx
    - flags
    argTypes:
    - cfg_printer_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2757
      start: 2742
    functionDepth: 3
    functionLinenumber: 2742
    functionLinenumberEnd: 2757
    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:2764,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2765,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2780,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2781,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2782,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2783,1
    - Dst: cfg_print_clauseflags
      Src: /src/bind9/lib/isccfg/parser.c:2784,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2788
      start: 2759
    functionDepth: 4
    functionLinenumber: 2759
    functionLinenumberEnd: 2788
    functionName: cfg_doc_mapbody
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - cfg_doc_obj
    - 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:2792,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2793,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2793,1
    - Dst: cfg_print_obj
      Src: /src/bind9/lib/isccfg/parser.c:2796,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2797,1
    - Dst: print_open
      Src: /src/bind9/lib/isccfg/parser.c:2799,1
    - Dst: cfg_print_mapbody
      Src: /src/bind9/lib/isccfg/parser.c:2800,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:2801,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2802
      start: 2790
    functionDepth: 5
    functionLinenumber: 2790
    functionLinenumberEnd: 2802
    functionName: cfg_print_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - print_open
    - print_close
    - VALID_CFGOBJ
    - cfg_print_mapbody
    - cfg_print_obj
    - cfg_print_cstr
    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:2809,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2810,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2813,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2814,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2816,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2817,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2819,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2820,1
    - Dst: print_open
      Src: /src/bind9/lib/isccfg/parser.c:2823,1
    - Dst: cfg_print_indent
      Src: /src/bind9/lib/isccfg/parser.c:2838,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2839,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2841,1
    - Dst: cfg_doc_obj
      Src: /src/bind9/lib/isccfg/parser.c:2843,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2844,1
    - Dst: cfg_print_clauseflags
      Src: /src/bind9/lib/isccfg/parser.c:2845,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:2846,1
    - Dst: print_close
      Src: /src/bind9/lib/isccfg/parser.c:2849,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2850
      start: 2804
    functionDepth: 4
    functionLinenumber: 2804
    functionLinenumberEnd: 2850
    functionName: cfg_doc_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - print_open
    - cfg_print_indent
    - print_close
    - cfg_doc_obj
    - cfg_print_clauseflags
    - cfg_print_cstr
    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:2854,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2852
    functionDepth: 1
    functionLinenumber: 2852
    functionLinenumberEnd: 2856
    functionName: cfg_obj_ismap
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_ismap(const cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2863,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2864,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2865,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/parser.c:2869,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/parser.c:2869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - mapobj
    - name
    - obj
    argTypes:
    - cfg_obj_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2858
    functionDepth: 4
    functionLinenumber: 2858
    functionLinenumberEnd: 2872
    functionName: cfg_map_get
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 79
    functionsReached:
    - isc_symtab_lookup
    - REQUIRE
    - RETERR
    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:2876,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2876,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2877,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mapobj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2879
      start: 2874
    functionDepth: 1
    functionLinenumber: 2874
    functionLinenumberEnd: 2879
    functionName: cfg_map_getname
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 23
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:2885,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:2885,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2886,1
    - Dst: isc_symtab_count
      Src: /src/bind9/lib/isccfg/parser.c:2889,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - mapobj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2890
      start: 2881
    functionDepth: 3
    functionLinenumber: 2881
    functionLinenumberEnd: 2890
    functionName: cfg_map_count
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_symtab_count
    - VALID_CFGOBJ
    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:2897,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2899,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: 2914
      start: 2892
    functionDepth: 1
    functionLinenumber: 2892
    functionLinenumberEnd: 2914
    functionName: cfg_map_firstclause
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: cfg_clausedef_t
    signature: "cfg_clausedef_t *\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:2921,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2922,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2923,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:2929,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: 2939
      start: 2916
    functionDepth: 1
    functionLinenumber: 2916
    functionLinenumberEnd: 2939
    functionName: cfg_map_nextclause
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    linkageType: ''
    returnType: cfg_clausedef_t
    signature: "cfg_clausedef_t *\ncfg_map_nextclause(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:2947,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:2948,1
    - Dst: cfg_map_firstclause
      Src: /src/bind9/lib/isccfg/parser.c:2950,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:2951,1
    - Dst: cfg_map_nextclause
      Src: /src/bind9/lib/isccfg/parser.c:2952,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 2
    argNames:
    - map
    - name
    argTypes:
    - cfg_type_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2960
      start: 2941
    functionDepth: 2
    functionLinenumber: 2941
    functionLinenumberEnd: 2960
    functionName: cfg_map_findclause
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - cfg_map_firstclause
    - strcasecmp
    - cfg_map_nextclause
    linkageType: ''
    returnType: cfg_clausedef_t
    signature: 'cfg_clausedef_t *

      cfg_map_findclause(const cfg_type_t *map, const char *name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/isccfg/parser.c:2965,1
    - Dst: memmove
      Src: /src/bind9/lib/isccfg/parser.c:2967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2971
      start: 2962
    functionDepth: 1
    functionLinenumber: 2962
    functionLinenumberEnd: 2971
    functionName: region_to_string
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_allocate
    - memmove
    linkageType: ''
    returnType: char
    signature: 'char *

      region_to_string(isc_region_t region)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:2981,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:2981,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:2983,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:2983,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:2985,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:2986,1
    - Dst: isc_lex_getlasttokentext
      Src: /src/bind9/lib/isccfg/parser.c:2989,1
    - Dst: region_to_string
      Src: /src/bind9/lib/isccfg/parser.c:2990,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:2997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2974
    functionDepth: 2
    functionLinenumber: 2974
    functionLinenumberEnd: 3000
    functionName: parse_token
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - CLEANUP
    - isc_mem_put
    - cfg_parser_currentfile
    - cfg_obj_create
    - isc_lex_getlasttokentext
    - CHECK
    - cfg_ungettoken
    - region_to_string
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t parse_token(cfg_parser_t *pctx, const cfg_type_t *type
      ISC_ATTR_UNUSED,\n\t    cfg_obj_t **ret)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: create_list
      Src: /src/bind9/lib/isccfg/parser.c:3017,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:3017,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3022,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:3022,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3035,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:3037,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3040,1
    - Dst: cfg_parse_listelt
      Src: /src/bind9/lib/isccfg/parser.c:3040,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:3041,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3043,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3048,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3050
      start: 3011
    functionDepth: 3
    functionLinenumber: 3011
    functionLinenumberEnd: 3050
    functionName: parse_unsupported
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_parse_listelt
    - create_list
    - cfg_parser_currentfile
    - INSIST
    - ISC_LIST_APPEND
    - cfg_parser_error
    - cfg_peektoken
    - CHECK
    - CLEANUP_OBJ
    - CLEANUP
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3075,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:3076,1
    - Dst: isc_netaddr_any
      Src: /src/bind9/lib/isccfg/parser.c:3078,1
    - Dst: isc_netaddr_any6
      Src: /src/bind9/lib/isccfg/parser.c:3081,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:3084,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isccfg/parser.c:3088,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/isccfg/parser.c:3089,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:3093,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/parser.c:3097,1
    - Dst: strlcat
      Src: /src/bind9/lib/isccfg/parser.c:3099,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isccfg/parser.c:3100,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/isccfg/parser.c:3101,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/parser.c:3106,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/parser.c:3111,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/parser.c:3112,1
    - Dst: inet_pton
      Src: /src/bind9/lib/isccfg/parser.c:3117,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/parser.c:3119,1
    - Dst: isc_netscope_pton
      Src: /src/bind9/lib/isccfg/parser.c:3119,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/isccfg/parser.c:3123,1
    - Dst: isc_netaddr_setzone
      Src: /src/bind9/lib/isccfg/parser.c:3124,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 3
    argNames:
    - pctx
    - flags
    - na
    argTypes:
    - cfg_parser_t*
    - unsigned int
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3130
      start: 3065
    functionDepth: 2
    functionLinenumber: 3065
    functionLinenumberEnd: 3130
    functionName: token_addr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strlcat
    - isc_netaddr_any
    - isc_netaddr_any6
    - TOKEN_STRING
    - inet_pton
    - isc_netaddr_setzone
    - isc_netaddr_fromin6
    - strlen
    - strchr
    - RETERR
    - isc_netscope_pton
    - UNREACHABLE
    - isc_netaddr_fromin
    - strlcpy
    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:3138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3139,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3141,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3141,1
    - Dst: token_addr
      Src: /src/bind9/lib/isccfg/parser.c:3142,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3151,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3155,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3159,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: 3166
      start: 3132
    functionDepth: 3
    functionLinenumber: 3132
    functionLinenumberEnd: 3166
    functionName: cfg_parse_rawaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - token_addr
    - cfg_parser_error
    - CHECK
    - cfg_gettoken
    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:3173,1
    - Dst: token_addr
      Src: /src/bind9/lib/isccfg/parser.c:3175,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - flags
    argTypes:
    - cfg_parser_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3177
      start: 3168
    functionDepth: 3
    functionLinenumber: 3168
    functionLinenumberEnd: 3177
    functionName: cfg_lookingat_netaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - token_addr
    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:3183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3184,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3186,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3186,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/parser.c:3190,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3190,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3196,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3201,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: 3209
      start: 3179
    functionDepth: 1
    functionLinenumber: 3179
    functionLinenumberEnd: 3209
    functionName: cfg_parse_rawport
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - TOKEN_STRING
    - cfg_parser_error
    - CHECK
    - cfg_gettoken
    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:3217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3218,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/parser.c:3220,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/isccfg/parser.c:3221,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3222,1
    - Dst: cfg_print_chars
      Src: /src/bind9/lib/isccfg/parser.c:3223,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/isccfg/parser.c:3223,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/parser.c:3224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - na
    argTypes:
    - cfg_printer_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3211
    functionDepth: 2
    functionLinenumber: 3211
    functionLinenumberEnd: 3225
    functionName: cfg_print_rawaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_buffer_usedlength
    - RUNTIME_CHECK
    - isc_netaddr_totext
    - isc_buffer_base
    - isc_buffer_init
    - 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:3242,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3242,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:3243,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:3243,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:3244,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/isccfg/parser.c:3245,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3251
      start: 3235
    functionDepth: 4
    functionLinenumber: 3235
    functionLinenumberEnd: 3251
    functionName: parse_netaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - cfg_parser_currentfile
    - isc_sockaddr_fromnetaddr
    - cfg_parse_rawaddr
    - cfg_obj_create
    - CHECK
    - CLEANUP_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:3258,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3261,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3266,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3268,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3273,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3275,1
    - Dst: POST
      Src: /src/bind9/lib/isccfg/parser.c:3277,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3280,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3282
      start: 3253
    functionDepth: 3
    functionLinenumber: 3253
    functionLinenumberEnd: 3282
    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:3315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3316,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3318,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3322,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/parser.c:3332,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3335,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:3335,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3339,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3339,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3340,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3340,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3342,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3348,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/parser.c:3352,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/parser.c:3355,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3356,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3364,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:3370,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:3370,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:3372,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3378,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 54
    argCount: 3
    argNames:
    - pctx
    - ISC_ATTR_UNUSED
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3380
      start: 3306
    functionDepth: 4
    functionLinenumber: 3306
    functionLinenumberEnd: 3380
    functionName: cfg_parse_netprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_netaddr_format
    - isc_netaddr_prefixok
    - cfg_parser_currentfile
    - isc_mem_get
    - cfg_parse_rawaddr
    - cfg_parser_error
    - cfg_peektoken
    - cfg_obj_create
    - CHECK
    - UNREACHABLE
    - cfg_gettoken
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_parse_netprefix(cfg_parser_t *pctx, const cfg_type_t
      *type ISC_ATTR_UNUSED,\n\t\t    cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3384,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3384,1
    - Dst: cfg_print_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3386,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3387,1
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:3388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3389
      start: 3382
    functionDepth: 4
    functionLinenumber: 3382
    functionLinenumberEnd: 3389
    functionName: print_netprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_rawaddr
    - cfg_print_rawuint
    - VALID_CFGOBJ
    - cfg_print_cstr
    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:3393,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3395
      start: 3391
    functionDepth: 1
    functionLinenumber: 3391
    functionLinenumberEnd: 3395
    functionName: cfg_obj_isnetprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:3400,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - obj
    - netaddr
    - prefixlen
    argTypes:
    - cfg_obj_t*
    - isc_netaddr_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3407
      start: 3397
    functionDepth: 1
    functionLinenumber: 3397
    functionLinenumberEnd: 3407
    functionName: cfg_obj_asnetprefix
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: void
    signature: "void cfg_obj_asnetprefix(const cfg_obj_t *obj, isc_netaddr_t *netaddr,\n\t\t
      \   unsigned int *prefixlen)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3427,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:3427,1
    - Dst: cfg_lookingat_netaddr
      Src: /src/bind9/lib/isccfg/parser.c:3428,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3429,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3429,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3434,1
    - Dst: cfg_peektoken
      Src: /src/bind9/lib/isccfg/parser.c:3434,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3437,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3437,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3440,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3440,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3441,1
    - Dst: cfg_parse_rawaddr
      Src: /src/bind9/lib/isccfg/parser.c:3441,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3443,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3443,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3445,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3445,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3446,1
    - Dst: cfg_parse_rawport
      Src: /src/bind9/lib/isccfg/parser.c:3446,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:3449,1
    - Dst: TOKEN_STRING
      Src: /src/bind9/lib/isccfg/parser.c:3449,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3451,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3451,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3452,1
    - Dst: cfg_getstringtoken
      Src: /src/bind9/lib/isccfg/parser.c:3452,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3455,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:3458,1
    - Dst: region_to_string
      Src: /src/bind9/lib/isccfg/parser.c:3461,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3472,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:3473,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3477,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:3478,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3481,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/parser.c:3482,1
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:3485,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:3485,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isccfg/parser.c:3488,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/isccfg/parser.c:3490,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:3495,1
    - Dst: isc_sockaddr_fromnetaddr
      Src: /src/bind9/lib/isccfg/parser.c:3497,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/parser.c:3505,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3507,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 65
    argCount: 4
    argNames:
    - pctx
    - type
    - flags
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - int
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3509
      start: 3413
    functionDepth: 4
    functionLinenumber: 3413
    functionLinenumberEnd: 3509
    functionName: parse_sockaddrsub
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_fromnetaddr
    - cfg_lookingat_netaddr
    - cfg_gettoken
    - cfg_getstringtoken
    - isc_mem_cget
    - TOKEN_STRING
    - strcasecmp
    - cfg_parse_rawaddr
    - isc_mem_free
    - CLEANUP_OBJ
    - cfg_parser_error
    - cfg_obj_create
    - CHECK
    - CLEANUP
    - region_to_string
    - cfg_parser_currentfile
    - isc_mem_get
    - cfg_parse_rawport
    - cfg_peektoken
    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:3516,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3518,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3519,1
    - Dst: parse_sockaddrsub
      Src: /src/bind9/lib/isccfg/parser.c:3523,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: 3524
      start: 3511
    functionDepth: 5
    functionLinenumber: 3511
    functionLinenumberEnd: 3524
    functionName: cfg_parse_sockaddr_generic
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - parse_sockaddrsub
    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:3541,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: 3542
      start: 3538
    functionDepth: 6
    functionLinenumber: 3538
    functionLinenumberEnd: 3542
    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:3547,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: 3549
      start: 3544
    functionDepth: 6
    functionLinenumber: 3544
    functionLinenumberEnd: 3549
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3559,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3560,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3560,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/parser.c:3569,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/parser.c:3570,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3571,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/parser.c:3572,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3574,1
    - Dst: cfg_print_rawuint
      Src: /src/bind9/lib/isccfg/parser.c:3575,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3578,1
    - Dst: print_rawqstring
      Src: /src/bind9/lib/isccfg/parser.c:3579,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - pctx
    - obj
    argTypes:
    - cfg_printer_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3581
      start: 3551
    functionDepth: 4
    functionLinenumber: 3551
    functionLinenumberEnd: 3581
    functionName: cfg_print_sockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_rawuint
    - isc_netaddr_format
    - isc_sockaddr_getport
    - print_rawqstring
    - VALID_CFGOBJ
    - isc_netaddr_fromsockaddr
    - cfg_print_cstr
    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:3588,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3589,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3593,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3595,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3600,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3602,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3607,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3609,1
    - Dst: POST
      Src: /src/bind9/lib/isccfg/parser.c:3611,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3613,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3616,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3618,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3622,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3624
      start: 3583
    functionDepth: 3
    functionLinenumber: 3583
    functionLinenumberEnd: 3624
    functionName: cfg_doc_sockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    - POST
    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:3628,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3630
      start: 3626
    functionDepth: 1
    functionLinenumber: 3626
    functionLinenumberEnd: 3630
    functionName: cfg_obj_issockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:3634,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3636
      start: 3632
    functionDepth: 1
    functionLinenumber: 3632
    functionLinenumberEnd: 3636
    functionName: cfg_obj_issockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:3640,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3640,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3641,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3644
      start: 3638
    functionDepth: 1
    functionLinenumber: 3638
    functionLinenumberEnd: 3644
    functionName: cfg_obj_assockaddr
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 21
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:3648,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3648,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3651
      start: 3646
    functionDepth: 1
    functionLinenumber: 3646
    functionLinenumberEnd: 3651
    functionName: cfg_obj_getsockaddrtls
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    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:3657,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3667,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/isccfg/parser.c:3669,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/isccfg/parser.c:3674,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3675,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/isccfg/parser.c:3678,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/isccfg/parser.c:3683,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3685,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/parser.c:3686,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:3688,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3698,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3702,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:3702,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3706,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/parser.c:3707,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 2
    argNames:
    - pctx
    - options
    argTypes:
    - cfg_parser_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3711
      start: 3653
    functionDepth: 3
    functionLinenumber: 3653
    functionLinenumberEnd: 3711
    functionName: cfg_gettoken
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 34
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - isc_lex_gettoken
    - ISC_LIST_TAIL
    - isc_lex_getsourcename
    - ISC_LIST_APPEND
    - isc_lex_close
    - cfg_parser_error
    - isc_lex_getsourceline
    - isc_result_totext
    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:3715,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:3720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3722
      start: 3713
    functionDepth: 2
    functionLinenumber: 3713
    functionLinenumberEnd: 3722
    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:3728,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/parser.c:3730,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3730,1
    - Dst: cfg_ungettoken
      Src: /src/bind9/lib/isccfg/parser.c:3731,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - pctx
    - options
    argTypes:
    - cfg_parser_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3734
      start: 3724
    functionDepth: 4
    functionLinenumber: 3724
    functionLinenumberEnd: 3734
    functionName: cfg_peektoken
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 24
    functionsReached:
    - cfg_ungettoken
    - REQUIRE
    - cfg_gettoken
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_peektoken(cfg_parser_t *pctx, int options)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/parser.c:3742,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3742,1
    - Dst: cfg_parser_error
      Src: /src/bind9/lib/isccfg/parser.c:3747,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - pctx
    argTypes:
    - cfg_parser_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3751
      start: 3740
    functionDepth: 4
    functionLinenumber: 3740
    functionLinenumberEnd: 3751
    functionName: cfg_getstringtoken
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 3
    functionsReached:
    - cfg_parser_error
    - RETERR
    - cfg_gettoken
    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:3757,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3758,1
    - Dst: va_start
      Src: /src/bind9/lib/isccfg/parser.c:3760,1
    - Dst: parser_complain
      Src: /src/bind9/lib/isccfg/parser.c:3761,1
    - Dst: va_end
      Src: /src/bind9/lib/isccfg/parser.c:3762,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: 3764
      start: 3753
    functionDepth: 1
    functionLinenumber: 3753
    functionLinenumberEnd: 3764
    functionName: cfg_parser_error
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 33
    functionsReached:
    - va_start
    - REQUIRE
    - parser_complain
    - va_end
    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:3771,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3772,1
    - Dst: va_start
      Src: /src/bind9/lib/isccfg/parser.c:3774,1
    - Dst: parser_complain
      Src: /src/bind9/lib/isccfg/parser.c:3775,1
    - Dst: va_end
      Src: /src/bind9/lib/isccfg/parser.c:3776,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: 3778
      start: 3766
    functionDepth: 1
    functionLinenumber: 3766
    functionLinenumberEnd: 3778
    functionName: cfg_parser_warning
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - va_start
    - REQUIRE
    - parser_complain
    - va_end
    linkageType: ''
    returnType: void
    signature: "void cfg_parser_warning(cfg_parser_t *pctx, unsigned int flags, const
      char *fmt,\n\t\t   ...)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:3798,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3800,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3801,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3803,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isccfg/parser.c:3808,1
    - Dst: strlcat
      Src: /src/bind9/lib/isccfg/parser.c:3812,1
    - Dst: cfg_gettoken
      Src: /src/bind9/lib/isccfg/parser.c:3819,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3823,1
    - Dst: isc_lex_getlasttokentext
      Src: /src/bind9/lib/isccfg/parser.c:3828,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3830,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/parser.c:3833,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isccfg/parser.c:3849,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    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: 3851
      start: 3782
    functionDepth: 4
    functionLinenumber: 3782
    functionLinenumberEnd: 3851
    functionName: parser_complain
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - strlcat
    - cfg_parser_currentfile
    - vsnprintf
    - snprintf
    - cfg_obj_asstring
    - isc_log_write
    - isc_lex_getlasttokentext
    - cfg_gettoken
    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:3858,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3858,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3859,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/isccfg/parser.c:3861,1
    - Dst: va_start
      Src: /src/bind9/lib/isccfg/parser.c:3865,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/isccfg/parser.c:3866,1
    - Dst: va_end
      Src: /src/bind9/lib/isccfg/parser.c:3867,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isccfg/parser.c:3870,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3871,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/isccfg/parser.c:3873,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 3
    argNames:
    - obj
    - level
    - fmt
    argTypes:
    - cfg_obj_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3875
      start: 3853
    functionDepth: 2
    functionLinenumber: 3853
    functionLinenumberEnd: 3875
    functionName: cfg_obj_log
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 63
    functionsReached:
    - REQUIRE
    - vsnprintf
    - VALID_CFGOBJ
    - va_end
    - va_start
    - isc_log_write
    - cfg_obj_asstring
    - 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:3879,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3879,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:3881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3882
      start: 3877
    functionDepth: 2
    functionLinenumber: 3877
    functionLinenumberEnd: 3882
    functionName: cfg_obj_file
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    - cfg_obj_asstring
    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:3886,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3889
      start: 3884
    functionDepth: 1
    functionLinenumber: 3884
    functionLinenumberEnd: 3889
    functionName: cfg_obj_line
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int cfg_obj_line(const cfg_obj_t *obj)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3896,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3897,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:3899,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:3900,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/isccfg/parser.c:3903,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/lib/isccfg/parser.c:3905,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - file
    - line
    - type
    - ret
    argTypes:
    - cfg_obj_t*
    - size_t
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3909
      start: 3891
    functionDepth: 1
    functionLinenumber: 3891
    functionLinenumberEnd: 3909
    functionName: cfg_obj_create
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 22
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_mem_get
    - cfg_obj_attach
    - isc_refcount_init
    linkageType: ''
    returnType: void
    signature: "void cfg_obj_create(cfg_obj_t *file, size_t line, const cfg_type_t
      *type,\n\t       cfg_obj_t **ret)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3917,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3917,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/lib/isccfg/parser.c:3919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 4
    argNames:
    - ISC_ATTR_UNUSED
    - ISC_ATTR_UNUSED
    - symval
    - ISC_ATTR_UNUSED
    argTypes:
    - char*
    - unsigned int
    - isc_symvalue_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3920
      start: 3911
    functionDepth: 1
    functionLinenumber: 3911
    functionLinenumberEnd: 3920
    functionName: map_symtabitem_destroy
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_obj_detach
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: void
    signature: "void map_symtabitem_destroy(char *key ISC_ATTR_UNUSED,\n\t\t       unsigned
      int type ISC_ATTR_UNUSED, isc_symvalue_t symval,\n\t\t       void *userarg ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_create
      Src: /src/bind9/lib/isccfg/parser.c:3927,1
    - Dst: cfg_parser_currentfile
      Src: /src/bind9/lib/isccfg/parser.c:3927,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/parser.c:3928,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/isccfg/parser.c:3931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - pctx
    - type
    - ret
    argTypes:
    - cfg_parser_t*
    - cfg_type_t*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3935
      start: 3922
    functionDepth: 4
    functionLinenumber: 3922
    functionLinenumberEnd: 3935
    functionName: create_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 1
    functionsReached:
    - isc_mem_cget
    - cfg_obj_create
    - isc_symtab_create
    - cfg_parser_currentfile
    linkageType: ''
    returnType: void
    signature: void 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:3939,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/parser.c:3940,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:3941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3942
      start: 3937
    functionDepth: 4
    functionLinenumber: 3937
    functionLinenumberEnd: 3942
    functionName: free_map
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - CLEANUP_OBJ
    - isc_mem_put
    - isc_symtab_destroy
    linkageType: ''
    returnType: void
    signature: void free_map(cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3946,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3946,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - obj
    - type
    argTypes:
    - cfg_obj_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3950
      start: 3944
    functionDepth: 1
    functionLinenumber: 3944
    functionLinenumberEnd: 3950
    functionName: cfg_obj_istype
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CFGOBJ
    linkageType: ''
    returnType: bool
    signature: bool cfg_obj_istype(const cfg_obj_t *obj, const cfg_type_t *type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3957,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:3957,1
    - Dst: CLEANUP_OBJ
      Src: /src/bind9/lib/isccfg/parser.c:3959,1
    - Dst: cfg_obj_t*::type::rep::free
      Src: /src/bind9/lib/isccfg/parser.c:3960,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isccfg/parser.c:3963,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/parser.c:3964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3965
      start: 3955
    functionDepth: 1
    functionLinenumber: 3955
    functionLinenumberEnd: 3965
    functionName: destroy_cfgobj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - cfg_obj_t*::type::rep::free
    - VALID_CFGOBJ
    - CLEANUP_OBJ
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_cfgobj(cfg_obj_t *obj)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3974,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3975,1
    - Dst: cfg_type_t*::doc
      Src: /src/bind9/lib/isccfg/parser.c:3977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3978
      start: 3972
    functionDepth: 1
    functionLinenumber: 3972
    functionLinenumberEnd: 3978
    functionName: cfg_doc_obj
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - cfg_type_t*::doc
    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:3982,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:3983,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3985,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3986,1
    - Dst: cfg_print_cstr
      Src: /src/bind9/lib/isccfg/parser.c:3987,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - pctx
    - type
    argTypes:
    - cfg_printer_t*
    - cfg_type_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3988
      start: 3980
    functionDepth: 3
    functionLinenumber: 3980
    functionLinenumberEnd: 3988
    functionName: cfg_doc_terminal
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - cfg_print_cstr
    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:4000,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: 4001
      start: 3990
    functionDepth: 2
    functionLinenumber: 3990
    functionLinenumberEnd: 4001
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/parser.c:4010,1
    - Dst: create_list
      Src: /src/bind9/lib/isccfg/parser.c:4017,1
    - Dst: cfg_listelt_create
      Src: /src/bind9/lib/isccfg/parser.c:4019,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/lib/isccfg/parser.c:4020,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:4021,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/parser.c:4027,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:4030,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/parser.c:4035,1
    - Dst: cfg_listelt_create
      Src: /src/bind9/lib/isccfg/parser.c:4038,1
    - Dst: cfg_obj_attach
      Src: /src/bind9/lib/isccfg/parser.c:4039,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:4040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - mapobj
    - obj
    - clause
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_clausedef_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 4003
    functionDepth: 4
    functionLinenumber: 4003
    functionLinenumberEnd: 4047
    functionName: map_define
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - create_list
    - INSIST
    - ISC_LIST_APPEND
    - cfg_listelt_create
    - cfg_obj_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t map_define(cfg_obj_t *mapobj, cfg_obj_t *obj, const cfg_clausedef_t
      *clause)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4055,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:4055,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4056,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:4056,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4057,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4058,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4068,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/parser.c:4068,1
    - Dst: cfg_list_first
      Src: /src/bind9/lib/isccfg/parser.c:4070,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/parser.c:4072,1
    - Dst: map_define
      Src: /src/bind9/lib/isccfg/parser.c:4075,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/parser.c:4076,1
    - Dst: cfg_obj_detach
      Src: /src/bind9/lib/isccfg/parser.c:4082,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/parser.c:4085,1
    - Dst: map_define
      Src: /src/bind9/lib/isccfg/parser.c:4087,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 3
    argNames:
    - map
    - obj
    - clause
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_clausedef_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4091
      start: 4049
    functionDepth: 5
    functionLinenumber: 4049
    functionLinenumberEnd: 4091
    functionName: cfg_map_add
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - map_define
    - cfg_obj_clone
    - cfg_list_first
    - cfg_obj_detach
    - VALID_CFGOBJ
    - cfg_obj_islist
    - cfg_list_next
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_map_add(cfg_obj_t *map, const cfg_obj_t *obj,\n\t
      \   const cfg_clausedef_t *clause)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4098,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/parser.c:4098,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4099,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/parser.c:4099,1
    - Dst: cfg_list_first
      Src: /src/bind9/lib/isccfg/parser.c:4101,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/parser.c:4103,1
    - Dst: cfg_obj_clone
      Src: /src/bind9/lib/isccfg/parser.c:4107,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:4110,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/parser.c:4112,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/parser.c:4114,1
    - Dst: ISC_LIST_PREPENDLIST
      Src: /src/bind9/lib/isccfg/parser.c:4117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - dst
    - src
    - prepend
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4119
      start: 4093
    functionDepth: 2
    functionLinenumber: 4093
    functionLinenumberEnd: 4119
    functionName: cfg_list_addclone
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - cfg_obj_clone
    - isc_mem_get
    - cfg_list_first
    - ISC_LIST_APPEND
    - ISC_LIST_PREPENDLIST
    - cfg_obj_islist
    - cfg_list_next
    linkageType: ''
    returnType: void
    signature: void cfg_list_addclone(cfg_obj_t *dst, const cfg_obj_t *src, bool prepend)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4127,1
    - Dst: VALID_CFGOBJ
      Src: /src/bind9/lib/isccfg/parser.c:4127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/parser.c:4128,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/parser.c:4131,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:4137,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:4138,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:4141,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/parser.c:4142,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:4147,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:4147,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:4149,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/parser.c:4150,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:4151,1
    - Dst: callback
      Src: /src/bind9/lib/isccfg/parser.c:4154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 5
    argNames:
    - config
    - list
    - aclctx
    - callback
    - callback_data
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - pluginlist_cb_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4162
      start: 4121
    functionDepth: 3
    functionLinenumber: 4121
    functionLinenumberEnd: 4162
    functionName: cfg_pluginlist_foreach
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - cfg_obj_log
    - strcasecmp
    - cfg_tuple_get
    - cfg_obj_isstring
    - callback
    - VALID_CFGOBJ
    - cfg_listelt_value
    - cfg_obj_asstring
    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       cfg_aclconfctx_t *aclctx, pluginlist_cb_t *callback,\n\t\t
      \      void *callback_data)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/parser.c:4131,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:4137,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:4138,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/parser.c:4141,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/parser.c:4142,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:4147,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:4147,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/parser.c:4149,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/parser.c:4150,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/parser.c:4151,1
    - Dst: callback
      Src: /src/bind9/lib/isccfg/parser.c:4154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4159
      start: 4130
    functionDepth: 3
    functionLinenumber: 4130
    functionLinenumberEnd: 4159
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/parser.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - strcasecmp
    - cfg_tuple_get
    - cfg_obj_isstring
    - callback
    - cfg_listelt_value
    - cfg_obj_asstring
    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:
    - isccfg_parse_duration
    - UNCONST
    - strlen
    - isccfg_duration_toseconds
    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:
    - parse_duration
    - cfg_obj_asduration
    - confget
    - INSIST
    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:
    - cfg_obj_asstring
    - confget
    - INSIST
    linkageType: ''
    returnType: char
    signature: 'char *

      get_string(const cfg_obj_t **maps, const char *option)'
  - BBCount: 54
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:126,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:130,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/kaspconf.c:135,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:135,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:145,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:145,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:146,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:148,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:150,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:153,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:159,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:176,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:181,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:184,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:188,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:190,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:193,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/lib/isccfg/kaspconf.c:194,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/kaspconf.c:195,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:200,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/isccfg/kaspconf.c:217,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:222,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:233,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:237,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:238,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/kaspconf.c:239,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/lib/isccfg/kaspconf.c:240,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:244,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:248,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isccfg/kaspconf.c:250,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:255,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:261,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/isccfg/kaspconf.c:265,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:268,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:273,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:280,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:291,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:292,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:294,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/isccfg/kaspconf.c:303,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:310,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:318,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:326,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:341,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/kaspconf.c:342,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:344,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:345,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:348,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:352,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:354,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:355,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:358,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:362,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:366,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/kaspconf.c:370,1
    - Dst: dns_kasp_addkey
      Src: /src/bind9/lib/isccfg/kaspconf.c:377,1
    - Dst: dns_kasp_key_destroy
      Src: /src/bind9/lib/isccfg/kaspconf.c:382,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 174
    argCount: 8
    argNames:
    - config
    - kasp
    - check_algorithms
    - log_errors
    - offline_ksk
    - keystorelist
    - ksk_min_lifetime
    - zsk_min_lifetime
    argTypes:
    - cfg_obj_t*
    - dns_kasp_t*
    - bool
    - bool
    - bool
    - dns_keystorelist_t*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 115
    functionDepth: 3
    functionLinenumber: 115
    functionLinenumberEnd: 384
    functionName: cfg_kaspkey_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_supported
    - INSIST
    - ISC_MIN
    - dst_algorithm_fromtext
    - strlen
    - cfg_obj_isuint32
    - dns_kasp_addkey
    - cfg_tuple_get
    - cfg_obj_asstring
    - strcmp
    - cfg_obj_asduration
    - cfg_obj_asuint32
    - cfg_obj_isstring
    - dns_kasp_key_create
    - cfg_obj_istuple
    - CHECK
    - dns_kasp_key_destroy
    - CLEANUP
    - isc_crypto_fips_mode
    - dns_keystorelist_find
    - cfg_obj_log
    - cfg_obj_isduration
    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 log_errors, bool offline_ksk,\n\t\t
      \      dns_keystorelist_t *keystorelist,\n\t\t       uint32_t ksk_min_lifetime,
      uint32_t zsk_min_lifetime)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:397,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:398,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:399,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/kaspconf.c:401,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:403,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:404,1
    - Dst: dns_kasp_thaw
      Src: /src/bind9/lib/isccfg/kaspconf.c:417,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/isccfg/kaspconf.c:421,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:423,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:433,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:442,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:443,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:444,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:448,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:449,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/kaspconf.c:450,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:454,1
    - Dst: dns_kasp_setnsec3param
      Src: /src/bind9/lib/isccfg/kaspconf.c:462,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 43
    argCount: 3
    argNames:
    - config
    - kasp
    - log_errors
    argTypes:
    - cfg_obj_t*
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 464
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 464
    functionName: cfg_nsec3param_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - dns_kasp_freeze
    - cfg_obj_log
    - cfg_obj_asuint32
    - dns_secalg_format
    - cfg_tuple_get
    - dns_kasp_setnsec3param
    - dns_kasp_thaw
    - cfg_obj_isboolean
    - dns_kasp_key_algorithm
    - dns_kasp_key_size
    - cfg_obj_asboolean
    - cfg_obj_isuint32
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_nsec3param_fromconfig(const cfg_obj_t *config, dns_kasp_t
      *kasp,\n\t\t\t  bool log_errors)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:403,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:404,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 416
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 136
    functionsReached:
    - dns_kasp_key_algorithm
    - dns_kasp_key_size
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(kasp), kkey, link)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:471,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/kaspconf.c:473,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/kaspconf.c:474,1
    - Dst: dns_dsdigest_fromtext
      Src: /src/bind9/lib/isccfg/kaspconf.c:475,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:478,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/lib/isccfg/kaspconf.c:483,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:485,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:494,1
    - Dst: dns_kasp_adddigest
      Src: /src/bind9/lib/isccfg/kaspconf.c:500,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 3
    argNames:
    - kasp
    - digest
    - log_errors
    argTypes:
    - dns_kasp_t*
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 466
    functionDepth: 3
    functionLinenumber: 466
    functionLinenumberEnd: 503
    functionName: add_digest
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 1
    functionsReached:
    - dns_kasp_adddigest
    - cfg_obj_log
    - dst_ds_digest_supported
    - cfg_obj_asstring
    - strlen
    - dns_dsdigest_fromtext
    - UNCONST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_digest(dns_kasp_t *kasp, const cfg_obj_t *digest,
      bool log_errors)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/kaspconf.c:533,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/kaspconf.c:534,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:536,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:536,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:537,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:539,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/isccfg/kaspconf.c:539,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:542,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:546,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:551,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:561,1
    - Dst: dns_kasp_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:562,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:563,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:566,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/isccfg/kaspconf.c:566,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:568,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:573,1
    - Dst: dns_kasp_setsigjitter
      Src: /src/bind9/lib/isccfg/kaspconf.c:575,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:577,1
    - Dst: dns_kasp_setsigrefresh
      Src: /src/bind9/lib/isccfg/kaspconf.c:579,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:581,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:585,1
    - Dst: dns_kasp_setsigvalidity_dnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:594,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:598,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:607,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:611,1
    - Dst: dns_kasp_setsigvalidity
      Src: /src/bind9/lib/isccfg/kaspconf.c:619,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:623,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:637,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:638,1
    - Dst: dns_kasp_setinlinesigning
      Src: /src/bind9/lib/isccfg/kaspconf.c:639,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:640,1
    - Dst: dns_kasp_setinlinesigning
      Src: /src/bind9/lib/isccfg/kaspconf.c:642,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:646,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:648,1
    - Dst: dns_kasp_setmanualmode
      Src: /src/bind9/lib/isccfg/kaspconf.c:650,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:652,1
    - Dst: dns_kasp_setzonemaxttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:653,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:655,1
    - Dst: dns_kasp_setzonepropagationdelay
      Src: /src/bind9/lib/isccfg/kaspconf.c:657,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:660,1
    - Dst: dns_kasp_setdsttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:661,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:663,1
    - Dst: dns_kasp_setparentpropagationdelay
      Src: /src/bind9/lib/isccfg/kaspconf.c:665,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:669,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:671,1
    - Dst: dns_kasp_setofflineksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:673,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:676,1
    - Dst: dns_kasp_setcdnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:678,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/kaspconf.c:678,1
    - Dst: dns_kasp_setcdnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:680,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:683,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/kaspconf.c:686,1
    - Dst: add_digest
      Src: /src/bind9/lib/isccfg/kaspconf.c:686,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:686,1
    - Dst: dns_kasp_adddigest
      Src: /src/bind9/lib/isccfg/kaspconf.c:690,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:693,1
    - Dst: dns_kasp_setdnskeyttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:694,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:696,1
    - Dst: dns_kasp_setpublishsafety
      Src: /src/bind9/lib/isccfg/kaspconf.c:698,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:700,1
    - Dst: dns_kasp_setretiresafety
      Src: /src/bind9/lib/isccfg/kaspconf.c:702,1
    - Dst: dns_kasp_setpurgekeys
      Src: /src/bind9/lib/isccfg/kaspconf.c:704,1
    - Dst: get_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:705,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/isccfg/kaspconf.c:709,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/isccfg/kaspconf.c:713,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:715,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:721,1
    - Dst: cfg_kaspkey_fromconfig
      Src: /src/bind9/lib/isccfg/kaspconf.c:722,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:728,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:731,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/kaspconf.c:736,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:738,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:739,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/kaspconf.c:739,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:741,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:749,1
    - Dst: dns_kasp_thaw
      Src: /src/bind9/lib/isccfg/kaspconf.c:757,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/kaspconf.c:758,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:766,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:775,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:781,1
    - Dst: dns_kasp_key_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:800,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:801,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:804,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/isccfg/kaspconf.c:807,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:808,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:809,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:810,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:815,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:818,1
    - Dst: dns_kasp_key_destroy
      Src: /src/bind9/lib/isccfg/kaspconf.c:820,1
    - Dst: dns_kasp_addkey
      Src: /src/bind9/lib/isccfg/kaspconf.c:823,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:827,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:829,1
    - Dst: dns_kasp_keylist_empty
      Src: /src/bind9/lib/isccfg/kaspconf.c:829,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:832,1
    - Dst: dns_kasp_keylist_empty
      Src: /src/bind9/lib/isccfg/kaspconf.c:832,1
    - Dst: confget
      Src: /src/bind9/lib/isccfg/kaspconf.c:836,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/lib/isccfg/kaspconf.c:838,1
    - Dst: dns_kasp_setnsec3param
      Src: /src/bind9/lib/isccfg/kaspconf.c:839,1
    - Dst: dns_kasp_nsec3iter
      Src: /src/bind9/lib/isccfg/kaspconf.c:840,1
    - Dst: dns_kasp_nsec3flags
      Src: /src/bind9/lib/isccfg/kaspconf.c:841,1
    - Dst: dns_kasp_nsec3saltlen
      Src: /src/bind9/lib/isccfg/kaspconf.c:842,1
    - Dst: dns_kasp_setnsec3
      Src: /src/bind9/lib/isccfg/kaspconf.c:844,1
    - Dst: dns_kasp_setnsec3
      Src: /src/bind9/lib/isccfg/kaspconf.c:847,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/kaspconf.c:848,1
    - Dst: cfg_nsec3param_fromconfig
      Src: /src/bind9/lib/isccfg/kaspconf.c:848,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/kaspconf.c:852,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:853,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isccfg/kaspconf.c:853,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/isccfg/kaspconf.c:856,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:864,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 210
    argCount: 7
    argNames:
    - config
    - default_kasp
    - options
    - mctx
    - keystorelist
    - kasplist
    - kaspp
    argTypes:
    - cfg_obj_t*
    - dns_kasp_t*
    - unsigned int
    - isc_mem_t*
    - dns_keystorelist_t*
    - dns_kasplist_t*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 505
    functionDepth: 7
    functionLinenumber: 505
    functionLinenumberEnd: 866
    functionName: cfg_kasp_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_kasp_adddigest
    - dns_kasp_freeze
    - dns_kasp_nsec3
    - dns_kasp_key_ksk
    - INSIST
    - cfg_nsec3param_fromconfig
    - ISC_MAX
    - ISC_LOG_DEBUG
    - DNS_KASP_VALID
    - dns_kasp_key_size
    - dns_kasp_keylist_empty
    - dns_kasp_nsec3flags
    - dns_kasp_setpurgekeys
    - confget
    - dns_kasp_setdsttl
    - ARRAY_SIZE
    - dns_kasp_setofflineksk
    - dns_kasp_addkey
    - cfg_tuple_get
    - cfg_listelt_value
    - dns_kasp_attach
    - dns_kasplist_find
    - dns_kasp_setzonepropagationdelay
    - cfg_obj_asstring
    - dns_kasp_setdnskeyttl
    - isc_result_totext
    - strcmp
    - dns_kasp_key_zsk
    - dns_kasp_nsec3iter
    - dns_kasp_setsigrefresh
    - dns_kasp_setretiresafety
    - dns_kasp_setmanualmode
    - dns_kasp_thaw
    - cfg_kaspkey_fromconfig
    - dns_kasp_setnsec3
    - ISC_LIST_EMPTY
    - dns_kasp_setsigvalidity_dnskey
    - dns_kasp_setparentpropagationdelay
    - dns_kasp_key_create
    - cfg_obj_asboolean
    - CHECK
    - get_duration
    - dns_kasp_key_destroy
    - dns_kasp_create
    - dns_kasp_detach
    - cfg_obj_log
    - dns_kasp_setsigvalidity
    - dns_kasp_key_lifetime
    - dns_keystorelist_find
    - dns_kasp_setnsec3param
    - dns_kasp_setcdnskey
    - add_digest
    - cfg_obj_isboolean
    - dns_kasp_setsigjitter
    - dns_kasp_nsec3saltlen
    - ISC_LIST_APPEND
    - dns_kasp_setinlinesigning
    - dns_kasp_key_algorithm
    - dns_kasp_setpublishsafety
    - dns_kasp_setzonemaxttl
    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    unsigned int options, isc_mem_t *mctx,\n\t\t    dns_keystorelist_t
      *keystorelist, dns_kasplist_t *kasplist,\n\t\t    dns_kasp_t **kaspp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/kaspconf.c:686,1
    - Dst: add_digest
      Src: /src/bind9/lib/isccfg/kaspconf.c:686,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 685
    functionDepth: 2
    functionLinenumber: 685
    functionLinenumberEnd: 688
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - add_digest
    - cfg_listelt_value
    - CHECK
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(cds, element)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/kaspconf.c:721,1
    - Dst: cfg_kaspkey_fromconfig
      Src: /src/bind9/lib/isccfg/kaspconf.c:722,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:728,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:731,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 735
      start: 720
    functionDepth: 4
    functionLinenumber: 720
    functionLinenumberEnd: 735
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_kaspkey_fromconfig
    - cfg_listelt_value
    - isc_result_totext
    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:738,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:739,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/kaspconf.c:739,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:741,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:749,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 756
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 136
    functionsReached:
    - dns_kasp_key_zsk
    - dns_kasp_key_ksk
    - INSIST
    - dns_kasp_key_algorithm
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(kasp), kkey, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:800,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:801,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/isccfg/kaspconf.c:804,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/isccfg/kaspconf.c:807,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/isccfg/kaspconf.c:808,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/isccfg/kaspconf.c:809,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:810,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:815,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:818,1
    - Dst: dns_kasp_key_destroy
      Src: /src/bind9/lib/isccfg/kaspconf.c:820,1
    - Dst: dns_kasp_addkey
      Src: /src/bind9/lib/isccfg/kaspconf.c:823,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 796
    functionDepth: 3
    functionLinenumber: 796
    functionLinenumberEnd: 824
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 136
    functionsReached:
    - dns_kasp_key_zsk
    - dns_kasp_key_lifetime
    - dns_keystorelist_find
    - dns_kasp_key_ksk
    - cfg_obj_log
    - dns_kasp_addkey
    - dns_kasp_key_create
    - dns_kasp_key_algorithm
    - dns_kasp_key_size
    - dns_kasp_key_destroy
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(default_kasp), key, link)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/kaspconf.c:875,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/kaspconf.c:876,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:876,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:876,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:878,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:880,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:889,1
    - Dst: dns_kasp_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:890,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:891,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:894,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/isccfg/kaspconf.c:894,1
    - Dst: dns_kasp_setsigjitter
      Src: /src/bind9/lib/isccfg/kaspconf.c:897,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:897,1
    - Dst: dns_kasp_setsigrefresh
      Src: /src/bind9/lib/isccfg/kaspconf.c:898,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:898,1
    - Dst: dns_kasp_setsigvalidity_dnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:899,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:900,1
    - Dst: dns_kasp_setsigvalidity
      Src: /src/bind9/lib/isccfg/kaspconf.c:901,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:901,1
    - Dst: dns_kasp_setinlinesigning
      Src: /src/bind9/lib/isccfg/kaspconf.c:904,1
    - Dst: dns_kasp_setmanualmode
      Src: /src/bind9/lib/isccfg/kaspconf.c:905,1
    - Dst: dns_kasp_setzonemaxttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:906,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:906,1
    - Dst: dns_kasp_setzonepropagationdelay
      Src: /src/bind9/lib/isccfg/kaspconf.c:907,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:908,1
    - Dst: dns_kasp_setdsttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:911,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:911,1
    - Dst: dns_kasp_setparentpropagationdelay
      Src: /src/bind9/lib/isccfg/kaspconf.c:912,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:913,1
    - Dst: dns_kasp_setofflineksk
      Src: /src/bind9/lib/isccfg/kaspconf.c:916,1
    - Dst: dns_kasp_setcdnskey
      Src: /src/bind9/lib/isccfg/kaspconf.c:917,1
    - Dst: dns_kasp_adddigest
      Src: /src/bind9/lib/isccfg/kaspconf.c:918,1
    - Dst: dns_kasp_setdnskeyttl
      Src: /src/bind9/lib/isccfg/kaspconf.c:919,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:919,1
    - Dst: dns_kasp_setpublishsafety
      Src: /src/bind9/lib/isccfg/kaspconf.c:920,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:921,1
    - Dst: dns_kasp_setretiresafety
      Src: /src/bind9/lib/isccfg/kaspconf.c:922,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:922,1
    - Dst: dns_kasp_setpurgekeys
      Src: /src/bind9/lib/isccfg/kaspconf.c:924,1
    - Dst: parse_duration
      Src: /src/bind9/lib/isccfg/kaspconf.c:924,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/kaspconf.c:926,1
    - Dst: dns_kasp_key_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:928,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:934,1
    - Dst: dns_kasp_key_destroy
      Src: /src/bind9/lib/isccfg/kaspconf.c:938,1
    - Dst: dns_kasp_addkey
      Src: /src/bind9/lib/isccfg/kaspconf.c:941,1
    - Dst: dns_kasp_setnsec3
      Src: /src/bind9/lib/isccfg/kaspconf.c:945,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/kaspconf.c:948,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:949,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isccfg/kaspconf.c:949,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/isccfg/kaspconf.c:952,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:959,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 57
    argCount: 5
    argNames:
    - mctx
    - name
    - keystorelist
    - kasplist
    - kaspp
    argTypes:
    - isc_mem_t*
    - char*
    - dns_keystorelist_t*
    - dns_kasplist_t*
    - dns_kasp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 868
    functionDepth: 1
    functionLinenumber: 868
    functionLinenumberEnd: 961
    functionName: cfg_kasp_builtinconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_kasp_adddigest
    - INSIST
    - DNS_KASP_VALID
    - dns_kasp_setpurgekeys
    - dns_kasp_setdsttl
    - dns_kasp_setofflineksk
    - dns_kasp_addkey
    - dns_kasp_attach
    - dns_kasplist_find
    - dns_kasp_setzonepropagationdelay
    - dns_kasp_setdnskeyttl
    - strcmp
    - dns_kasp_setsigrefresh
    - dns_kasp_setretiresafety
    - dns_kasp_setmanualmode
    - dns_kasp_setnsec3
    - ISC_LIST_EMPTY
    - dns_kasp_setsigvalidity_dnskey
    - dns_kasp_setparentpropagationdelay
    - dns_kasp_key_create
    - dns_kasp_key_destroy
    - dns_kasp_create
    - dns_kasp_detach
    - parse_duration
    - dns_keystorelist_find
    - dns_kasp_setsigvalidity
    - dns_kasp_setcdnskey
    - ISC_LIST_APPEND
    - dns_kasp_setsigjitter
    - dns_kasp_setinlinesigning
    - dns_kasp_setpublishsafety
    - dns_kasp_setzonemaxttl
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cfg_kasp_builtinconfig(isc_mem_t *mctx, const char *name,\n\t\t
      \      dns_keystorelist_t *keystorelist,\n\t\t       dns_kasplist_t *kasplist,
      dns_kasp_t **kaspp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/kaspconf.c:976,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:976,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:980,1
    - Dst: dns_keystorelist_find
      Src: /src/bind9/lib/isccfg/kaspconf.c:982,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:985,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/kaspconf.c:987,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/kaspconf.c:991,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/kaspconf.c:993,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:1000,1
    - Dst: dns_keystore_create
      Src: /src/bind9/lib/isccfg/kaspconf.c:1001,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:1002,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:1005,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/isccfg/kaspconf.c:1005,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/kaspconf.c:1008,1
    - Dst: dns_keystore_setdirectory
      Src: /src/bind9/lib/isccfg/kaspconf.c:1011,1
    - Dst: get_string
      Src: /src/bind9/lib/isccfg/kaspconf.c:1012,1
    - Dst: dns_keystore_setpkcs11uri
      Src: /src/bind9/lib/isccfg/kaspconf.c:1013,1
    - Dst: get_string
      Src: /src/bind9/lib/isccfg/kaspconf.c:1014,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/kaspconf.c:1018,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:1019,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/isccfg/kaspconf.c:1019,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/kaspconf.c:1023,1
    - Dst: dns_keystore_attach
      Src: /src/bind9/lib/isccfg/kaspconf.c:1024,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: 1029
      start: 963
    functionDepth: 7
    functionLinenumber: 963
    functionLinenumberEnd: 1029
    functionName: cfg_keystore_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/kaspconf.c
    functionUses: 4
    functionsReached:
    - cfg_obj_log
    - dns_keystorelist_find
    - INSIST
    - dns_keystore_create
    - cfg_tuple_get
    - isc_result_totext
    - dns_keystore_setdirectory
    - get_string
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - cfg_obj_asstring
    - dns_keystore_setpkcs11uri
    - dns_keystore_attach
    - DNS_KEYSTORE_VALID
    - dns_keystore_detach
    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
    - aclctxp
    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
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_INIT
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cfg_aclconfctx_create(isc_mem_t *mctx, cfg_aclconfctx_t
      **aclctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/isccfg/aclconf.c:63,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/aclconf.c:64,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/aclconf.c:65,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:66,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/isccfg/aclconf.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - aclctx
    argTypes:
    - cfg_aclconfctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: destroy_aclctx
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - dns_acl_detach
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroy_aclctx(cfg_aclconfctx_t *aclctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/aclconf.c:80,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/aclconf.c:80,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:82,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:84,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:84,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:85,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/aclconf.c:86,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - cctx
    - name
    - ret
    argTypes:
    - cfg_obj_t*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 76
    functionDepth: 5
    functionLinenumber: 76
    functionLinenumberEnd: 91
    functionName: get_acl_def
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_tuple_get
    - cfg_map_get
    - SET_IF_NOT_NULL
    - cfg_listelt_value
    - cfg_obj_asstring
    - RETERR
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:82,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:84,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:84,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:85,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/aclconf.c:86,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:86,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 81
    functionDepth: 2
    functionLinenumber: 81
    functionLinenumberEnd: 89
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_tuple_get
    - SET_IF_NOT_NULL
    - 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:100,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/isccfg/aclconf.c:103,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:104,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/isccfg/aclconf.c:105,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:106,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:110,1
    - Dst: get_acl_def
      Src: /src/bind9/lib/isccfg/aclconf.c:115,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:117,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/aclconf.c:124,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/isccfg/aclconf.c:125,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/aclconf.c:126,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/aclconf.c:128,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/aclconf.c:129,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/aclconf.c:130,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/aclconf.c:136,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/isccfg/aclconf.c:137,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:138,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: 140
      start: 93
    functionDepth: 6
    functionLinenumber: 93
    functionLinenumberEnd: 140
    functionName: convert_named_acl
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - ISC_LIST_UNLINK
    - strcasecmp
    - dns_acl_attach
    - ISC_LIST_APPEND
    - cfg_acl_fromconfig
    - isc_mem_strdup
    - get_acl_def
    - cfg_obj_asstring
    - ISC_LIST_FOREACH
    - ISC_MAGIC_VALID
    - memset
    - UNCONST
    - ISC_LINK_INIT
    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:148,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/aclconf.c:150,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/aclconf.c:151,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/aclconf.c:152,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/isccfg/aclconf.c:153,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/aclconf.c:154,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/aclconf.c:154,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:157,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/isccfg/aclconf.c:162,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/aclconf.c:162,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: 164
      start: 142
    functionDepth: 3
    functionLinenumber: 142
    functionLinenumberEnd: 164
    functionName: convert_keyname
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_name_fromtext
    - dns_fixedname_name
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - dns_name_dup
    - dns_fixedname_init
    - 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: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:180,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/aclconf.c:182,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:185,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:188,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:189,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:190,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/aclconf.c:192,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:196,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/aclconf.c:201,1
    - Dst: count_acl_elements
      Src: /src/bind9/lib/isccfg/aclconf.c:201,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:208,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:209,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:209,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:213,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:214,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:215,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:216,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:217,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:220,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:226,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:234,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 43
    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: 244
      start: 173
    functionDepth: 7
    functionLinenumber: 173
    functionLinenumberEnd: 244
    functionName: count_acl_elements
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - count_acl_elements
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - SET_IF_NOT_NULL
    - cfg_obj_isstring
    - cfg_listelt_value
    - cfg_obj_asstring
    - RETERR
    - convert_named_acl
    - cfg_obj_islist
    - cfg_obj_istuple
    - dns_acl_detach
    - cfg_obj_istype
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:185,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:188,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:189,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:190,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/aclconf.c:192,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:196,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/aclconf.c:201,1
    - Dst: count_acl_elements
      Src: /src/bind9/lib/isccfg/aclconf.c:201,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:208,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:209,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:209,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:213,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:214,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:215,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:216,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:217,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:220,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:226,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:234,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 184
    functionDepth: 8
    functionLinenumber: 184
    functionLinenumberEnd: 240
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - count_acl_elements
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - SET_IF_NOT_NULL
    - cfg_obj_isstring
    - cfg_listelt_value
    - cfg_obj_asstring
    - RETERR
    - convert_named_acl
    - cfg_obj_islist
    - cfg_obj_istuple
    - dns_acl_detach
    - cfg_obj_istype
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(caml, elt)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:256,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:258,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:261,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:266,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:268,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:271,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:276,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:278,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:281,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:286,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:288,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:291,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:296,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:299,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:321,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:322,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:328,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:329,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:335,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:336,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:342,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:343,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:349,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:350,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:356,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:357,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/aclconf.c:363,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: 365
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 365
    functionName: get_subtype
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - UNREACHABLE
    - strcasecmp
    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: 429
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 429
    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:441,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:445,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:446,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:449,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:452,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:457,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:464,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:464,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:465,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:465,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/aclconf.c:466,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:469,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:474,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:477,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:479,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:481,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:485,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:488,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:490,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:493,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:495,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:497,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:499,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:500,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:505,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:507,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:508,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:512,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:514,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:517,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:519,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:520,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:524,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:527,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:531,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:532,1
    - Dst: atoi
      Src: /src/bind9/lib/isccfg/aclconf.c:535,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:536,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:537,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:540,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:542,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:544,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:546,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:548,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:550,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:552,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:554,1
    - Dst: strlcpy
      Src: /src/bind9/lib/isccfg/aclconf.c:556,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:559,1
    - Dst: get_subtype
      Src: /src/bind9/lib/isccfg/aclconf.c:566,1
    - Dst: geoip_can_answer
      Src: /src/bind9/lib/isccfg/aclconf.c:568,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:569,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: 579
      start: 431
    functionDepth: 4
    functionLinenumber: 431
    functionLinenumberEnd: 579
    functionName: parse_geoip_element
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_obj_log
    - strcasecmp
    - cfg_obj_isvoid
    - cfg_tuple_get
    - atoi
    - get_subtype
    - cfg_obj_asstring
    - strlen
    - geoip_can_answer
    - strlcpy
    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: 38
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:601,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:603,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/isccfg/aclconf.c:603,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/aclconf.c:605,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:606,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:609,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:609,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:610,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:611,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:612,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:613,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:614,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:615,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:626,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:627,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/aclconf.c:638,1
    - Dst: count_acl_elements
      Src: /src/bind9/lib/isccfg/aclconf.c:638,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/aclconf.c:641,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/isccfg/aclconf.c:644,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/aclconf.c:652,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/aclconf.c:653,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:656,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:657,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:657,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:663,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:663,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:668,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:668,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:676,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:676,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:681,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:681,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: CLEANUP
      Src: /src/bind9/lib/isccfg/aclconf.c:692,1
    - Dst: dns_acl_add_port_transports
      Src: /src/bind9/lib/isccfg/aclconf.c:697,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:704,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:707,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:709,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:711,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:712,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/isccfg/aclconf.c:727,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/aclconf.c:727,1
    - Dst: cfg_obj_isnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:732,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:737,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/aclconf.c:738,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/aclconf.c:741,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:742,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:754,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:754,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:758,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:764,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:772,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:774,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/aclconf.c:774,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:778,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:782,1
    - Dst: dns_acl_merge_ports_transports
      Src: /src/bind9/lib/isccfg/aclconf.c:788,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:790,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:791,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:794,1
    - Dst: dns_acl_merge
      Src: /src/bind9/lib/isccfg/aclconf.c:796,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:798,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:799,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:802,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:804,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/isccfg/aclconf.c:807,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:808,1
    - Dst: convert_keyname
      Src: /src/bind9/lib/isccfg/aclconf.c:808,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:810,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:811,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:811,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:813,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:814,1
    - Dst: parse_geoip_element
      Src: /src/bind9/lib/isccfg/aclconf.c:814,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:818,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:820,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:821,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:824,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:824,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:828,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:834,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:843,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:843,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:851,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:857,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:858,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:861,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:862,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:867,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:873,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:873,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:880,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/aclconf.c:883,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:894,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:897,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:898,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:902,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:905,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:910,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:912,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 204
    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: 914
      start: 582
    functionDepth: 8
    functionLinenumber: 582
    functionLinenumberEnd: 914
    functionName: cfg_acl_fromconfig
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 18
    functionsReached:
    - REQUIRE
    - count_acl_elements
    - INSIST
    - dns_acl_merge
    - cfg_acl_fromconfig
    - RETERR
    - parse_geoip_element
    - dns_acl_detach
    - cfg_obj_asnetprefix
    - cfg_obj_isuint32
    - dns_name_init
    - cfg_list_length
    - dns_iptable_addprefix
    - strcasecmp
    - cfg_obj_isvoid
    - cfg_tuple_get
    - isc_netaddr_prefixok
    - dns_acl_attach
    - isc_netaddr_format
    - cfg_listelt_value
    - cfg_obj_asstring
    - convert_named_acl
    - cfg_obj_isnetprefix
    - cfg_obj_istype
    - dns_acl_merge_ports_transports
    - cfg_obj_asuint32
    - cfg_obj_isstring
    - DNS_ACL_VALID
    - cfg_obj_istuple
    - CHECK
    - convert_keyname
    - CLEANUP
    - dns_acl_create
    - cfg_obj_log
    - dns_acl_add_port_transports
    - cfg_obj_islist
    - dns_acl_node_count
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/aclconf.c:704,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:707,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:709,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:711,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:712,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/isccfg/aclconf.c:727,1
    - Dst: cfg_list_length
      Src: /src/bind9/lib/isccfg/aclconf.c:727,1
    - Dst: cfg_obj_isnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:732,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:737,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/aclconf.c:738,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/aclconf.c:741,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:742,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:754,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:754,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:758,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/aclconf.c:764,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:772,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:774,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/aclconf.c:774,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:778,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:782,1
    - Dst: dns_acl_merge_ports_transports
      Src: /src/bind9/lib/isccfg/aclconf.c:788,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/isccfg/aclconf.c:790,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:791,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:794,1
    - Dst: dns_acl_merge
      Src: /src/bind9/lib/isccfg/aclconf.c:796,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:798,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:799,1
    - Dst: cfg_obj_istype
      Src: /src/bind9/lib/isccfg/aclconf.c:802,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:804,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/isccfg/aclconf.c:807,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:808,1
    - Dst: convert_keyname
      Src: /src/bind9/lib/isccfg/aclconf.c:808,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/aclconf.c:810,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/aclconf.c:811,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/aclconf.c:811,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:813,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:814,1
    - Dst: parse_geoip_element
      Src: /src/bind9/lib/isccfg/aclconf.c:814,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/aclconf.c:818,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/aclconf.c:820,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:821,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:824,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:824,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:828,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:834,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:843,1
    - Dst: dns_iptable_addprefix
      Src: /src/bind9/lib/isccfg/aclconf.c:843,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:851,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:857,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:858,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/aclconf.c:861,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:862,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:867,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/aclconf.c:873,1
    - Dst: convert_named_acl
      Src: /src/bind9/lib/isccfg/aclconf.c:873,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/aclconf.c:880,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/aclconf.c:883,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/aclconf.c:894,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:897,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/isccfg/aclconf.c:898,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/aclconf.c:902,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 127
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 903
      start: 703
    functionDepth: 9
    functionLinenumber: 703
    functionLinenumberEnd: 903
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/aclconf.c
    functionUses: 0
    functionsReached:
    - dns_acl_merge
    - INSIST
    - cfg_acl_fromconfig
    - parse_geoip_element
    - dns_acl_detach
    - cfg_obj_asnetprefix
    - dns_name_init
    - cfg_list_length
    - dns_iptable_addprefix
    - cfg_obj_isvoid
    - isc_netaddr_prefixok
    - cfg_tuple_get
    - isc_netaddr_format
    - dns_acl_attach
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    - convert_named_acl
    - cfg_obj_isnetprefix
    - cfg_obj_istype
    - dns_acl_merge_ports_transports
    - cfg_obj_isstring
    - cfg_obj_istuple
    - CHECK
    - convert_keyname
    - CLEANUP
    - dns_acl_create
    - cfg_obj_log
    - cfg_obj_islist
    - dns_acl_node_count
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(caml, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:95,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:96,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:97,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: 98
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 98
    functionName: freekey
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - UNUSED
    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:112,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:113,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:114,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:115,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:115,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:116,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:117,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:119,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:127,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:128,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:129,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:129,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:130,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:131,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:133,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:141,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:142,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:143,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:144,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:144,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:145,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:145,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:146,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:146,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:149,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:157,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:158,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:159,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:159,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:161,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:168,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:169,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:170,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:175,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:175,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:176,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:176,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:177,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:177,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:179,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:181,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 60
    argCount: 1
    argNames:
    - ent
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 100
    functionDepth: 3
    functionLinenumber: 100
    functionLinenumberEnd: 187
    functionName: check_orderent
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_rdataclass_fromtext
    - dns_name_fromtext
    - cfg_obj_isstring
    - cfg_tuple_get
    - strcasecmp
    - dns_fixedname_name
    - cfg_obj_asstring
    - strlen
    - dns_rdatatype_fromtext
    - isc_buffer_add
    - dns_fixedname_init
    - UNCONST
    - isc_buffer_constinit
    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:195,1
    - Dst: check_orderent
      Src: /src/bind9/lib/isccfg/check.c:200,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:200,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - options
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 189
    functionDepth: 5
    functionLinenumber: 189
    functionLinenumberEnd: 206
    functionName: check_order
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cfg_listelt_value
    - check_orderent
    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:200,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 4
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_listelt_value
    - check_orderent
    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:220,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:226,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:227,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:228,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:230,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:237,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:239,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:240,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:243,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:244,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:245,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:245,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:246,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:246,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:247,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:248,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:250,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:255,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:256,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:257,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:259,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - options
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 208
    functionDepth: 5
    functionLinenumber: 208
    functionLinenumberEnd: 268
    functionName: check_dual_stack
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_obj_asuint32
    - dns_name_fromtext
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - dns_fixedname_initname
    - isc_buffer_constinit
    - 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:239,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:240,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:243,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:244,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:245,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:245,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:246,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:246,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:247,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:248,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:250,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:255,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:256,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:257,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:259,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 266
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_obj_asuint32
    - dns_name_fromtext
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - dns_fixedname_initname
    - isc_buffer_constinit
    - cfg_obj_isuint32
    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:273,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:274,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:278,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:283,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:284,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:287,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: 294
      start: 270
    functionDepth: 3
    functionLinenumber: 270
    functionLinenumberEnd: 294
    functionName: validate_tls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 2
    functionsReached:
    - cfg_obj_log
    - find_maplist
    - strcasecmp
    - dns_fixedname_initname
    - dns_name_fromstring
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:303,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:304,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:307,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:308,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:309,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:316,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:321,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:323,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:324,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/check.c:326,1
    - Dst: validate_tls
      Src: /src/bind9/lib/isccfg/check.c:326,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:330,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:332,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/lib/isccfg/check.c:333,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/check.c:335,1
    - Dst: validate_tls
      Src: /src/bind9/lib/isccfg/check.c:335,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 3
    argNames:
    - config
    - options
    - global
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 296
    functionDepth: 5
    functionLinenumber: 296
    functionLinenumberEnd: 341
    functionName: check_forward
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_tuple_get
    - cfg_map_get
    - cfg_obj_isstring
    - cfg_listelt_value
    - cfg_obj_line
    - cfg_obj_getsockaddrtls
    - cfg_obj_asstring
    - RETERR
    - validate_tls
    - cfg_obj_file
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:332,1
    - Dst: cfg_obj_getsockaddrtls
      Src: /src/bind9/lib/isccfg/check.c:333,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/check.c:335,1
    - Dst: validate_tls
      Src: /src/bind9/lib/isccfg/check.c:335,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 337
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - validate_tls
    - RETERR
    - cfg_listelt_value
    - cfg_obj_getsockaddrtls
    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:
    - cfg_obj_log
    - dns_name_fromtext
    - cfg_tuple_get
    - cfg_listelt_value
    - dst_algorithm_fromtext
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - UNCONST
    - 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: 0
    functionsReached:
    - cfg_obj_log
    - cfg_listelt_value
    - dst_algorithm_fromtext
    - cfg_obj_asstring
    - strlen
    - UNCONST
    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:
    - cfg_obj_log
    - dns_name_fromtext
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - isc_buffer_add
    - dns_dsdigest_fromtext
    - UNCONST
    - 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: 0
    functionsReached:
    - cfg_obj_log
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - dns_dsdigest_fromtext
    - UNCONST
    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: 20
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - cfg_obj_log
    - RUNTIME_CHECK
    - isc_mem_strdup
    - cfg_obj_line
    - isc_mem_free
    - cfg_obj_file
    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:463,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:464,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:467,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:471,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:473,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:479,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:481,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:484,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:485,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_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:490,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:492,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:493,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:495,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:498,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:504,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:506,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:508,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:509,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:515,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 42
    argCount: 6
    argNames:
    - aclname
    - aclctx
    - 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: 527
      start: 453
    functionDepth: 9
    functionLinenumber: 453
    functionLinenumberEnd: 527
    functionName: checkacl
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - ARRAY_SIZE
    - cfg_obj_log
    - cfg_obj_asuint32
    - strcasecmp
    - cfg_tuple_get
    - cfg_map_get
    - cfg_obj_isstring
    - cfg_acl_fromconfig
    - cfg_obj_asstring
    - cfg_obj_istuple
    - dns_acl_detach
    - cfg_obj_isuint32
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t checkacl(const char *aclname, cfg_aclconfctx_t *aclctx,\n\t
      const cfg_obj_t *zconfig, const cfg_obj_t *voptions,\n\t const cfg_obj_t *config,
      isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: checkacl
      Src: /src/bind9/lib/isccfg/check.c:544,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 4
    argNames:
    - aclctx
    - voptions
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 529
    functionDepth: 10
    functionLinenumber: 529
    functionLinenumberEnd: 551
    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 *aclctx, 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:557,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:558,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: 560
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 560
    functionName: dns64_error
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - isc_netaddr_format
    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:577,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:581,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:583,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:591,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:592,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:594,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:596,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:602,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:611,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:619,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:624,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:627,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:636,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:639,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:639,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:641,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:650,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:652,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:654,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 66
    argCount: 4
    argNames:
    - aclctx
    - voptions
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 562
    functionDepth: 9
    functionLinenumber: 562
    functionLinenumberEnd: 664
    functionName: check_dns64
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - cfg_obj_log
    - isc_netaddr_format
    - cfg_obj_assockaddr
    - cfg_map_get
    - cfg_acl_fromconfig
    - cfg_listelt_value
    - isc_netaddr_fromsockaddr
    - memcmp
    - cfg_obj_asnetprefix
    - cfg_map_getname
    - dns64_error
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_dns64(cfg_aclconfctx_t *aclctx, 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:591,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:592,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:594,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:596,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:602,1
    - Dst: dns64_error
      Src: /src/bind9/lib/isccfg/check.c:611,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:619,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:624,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:627,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:636,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:639,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:639,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:641,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:650,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:652,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:654,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 661
      start: 590
    functionDepth: 9
    functionLinenumber: 590
    functionLinenumberEnd: 661
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - cfg_obj_log
    - isc_netaddr_format
    - cfg_obj_assockaddr
    - cfg_map_get
    - cfg_acl_fromconfig
    - cfg_listelt_value
    - isc_netaddr_fromsockaddr
    - memcmp
    - cfg_obj_asnetprefix
    - cfg_map_getname
    - dns64_error
    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: 674
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 674
    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: 685
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 685
    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:704,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:708,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:710,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:719,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:721,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:728,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:730,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:731,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:736,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:739,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:741,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:743,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:745,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:748,1
    - Dst: CHECK_RRL_RATE
      Src: /src/bind9/lib/isccfg/check.c:750,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:753,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:755,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:756,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:761,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:763,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:764,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:768,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:770,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:771,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:776,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:778,1
    - Dst: CHECK_RRL
      Src: /src/bind9/lib/isccfg/check.c:779,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:785,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:790,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:793,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 72
    argCount: 4
    argNames:
    - aclctx
    - voptions
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 686
    functionDepth: 9
    functionLinenumber: 686
    functionLinenumberEnd: 801
    functionName: check_ratelimit
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - CHECK_RRL
    - cfg_obj_asuint32
    - cfg_map_get
    - CHECK_RRL_RATE
    - cfg_acl_fromconfig
    - dns_acl_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_ratelimit(cfg_aclconfctx_t *aclctx, 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:811,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:815,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:817,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:824,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/lib/isccfg/check.c:825,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:827,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:834,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/lib/isccfg/check.c:835,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:837,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:844,1
    - Dst: cfg_obj_asfixedpoint
      Src: /src/bind9/lib/isccfg/check.c:845,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:847,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 2
    argNames:
    - voptions
    - config
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 855
      start: 803
    functionDepth: 5
    functionLinenumber: 803
    functionLinenumberEnd: 855
    functionName: check_fetchlimit
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_map_get
    - cfg_obj_asfixedpoint
    - cfg_obj_log
    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:876,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:880,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:882,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:888,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:901,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:905,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:907,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:914,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/isccfg/check.c:925,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:926,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:933,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 5
    argNames:
    - aclctx
    - voptions
    - viewname
    - config
    - mctx
    argTypes:
    - cfg_aclconfctx_t*
    - cfg_obj_t*
    - char*
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 938
      start: 861
    functionDepth: 9
    functionLinenumber: 861
    functionLinenumberEnd: 938
    functionName: check_recursionacls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_map_get
    - cfg_acl_fromconfig
    - dns_acl_isnone
    - cfg_obj_asboolean
    - dns_acl_detach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_recursionacls(cfg_aclconfctx_t *aclctx, 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:965,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:966,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 968
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 968
    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:972,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:973,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:973,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:975,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:978,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:981,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - element
    argTypes:
    - cfg_listelt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 985
    functionName: kasp_name_allowed
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - strcmp
    - cfg_listelt_value
    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:992,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/check.c:993,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:995,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1001,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1002,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1002,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:1002,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - config
    - listname
    - name
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 987
    functionDepth: 5
    functionLinenumber: 987
    functionLinenumberEnd: 1010
    functionName: find_maplist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - strcasecmp
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_map_getname
    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:1001,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1002,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1002,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:1002,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 1000
    functionDepth: 2
    functionLinenumber: 1000
    functionLinenumberEnd: 1007
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    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:1024,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:1025,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1027,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1028,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1029,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1031,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1033,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:1040,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1042,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1044,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1050,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1051,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1052,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1055,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:1062,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1063,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1065,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1067,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1072,1
    - Dst: cfg_obj_isuint32
      Src: /src/bind9/lib/isccfg/check.c:1073,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1073,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1075,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1078,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1084,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1085,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1086,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1088,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1089,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1091,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1101,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1103,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1114,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1114,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:1121,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 61
    argCount: 4
    argNames:
    - listener
    - config
    - aclctx
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1125
      start: 1012
    functionDepth: 9
    functionLinenumber: 1012
    functionLinenumberEnd: 1125
    functionName: check_listener
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - find_maplist
    - cfg_obj_asuint32
    - strcasecmp
    - cfg_tuple_get
    - RUNTIME_CHECK
    - cfg_obj_isstring
    - cfg_acl_fromconfig
    - cfg_obj_asstring
    - dns_acl_detach
    - cfg_obj_isuint32
    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 *aclctx, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1133,1
    - Dst: check_listener
      Src: /src/bind9/lib/isccfg/check.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - list
    - config
    - aclctx
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1127
    functionDepth: 10
    functionLinenumber: 1127
    functionLinenumberEnd: 1141
    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 *aclctx, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1133,1
    - Dst: check_listener
      Src: /src/bind9/lib/isccfg/check.c:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1138
      start: 1132
    functionDepth: 10
    functionLinenumber: 1132
    functionLinenumberEnd: 1138
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_listener
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(list, elt)
  - BBCount: 4
    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:1149,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1151,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 5
    argNames:
    - map
    - result
    - name
    - lower
    - upper
    argTypes:
    - cfg_obj_t*
    - isc_result_t*
    - char*
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1143
    functionDepth: 5
    functionLinenumber: 1143
    functionLinenumberEnd: 1159
    functionName: check_range_uint32
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cfg_obj_log
    - cfg_obj_asuint32
    linkageType: ''
    returnType: void
    signature: "void check_range_uint32(const cfg_obj_t *map, isc_result_t *result,
      const char *name,\n\t\t   uint32_t lower, uint32_t upper)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1166,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1171,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1172,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1173,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccfg/check.c:1177,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1177,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: 1179
      start: 1161
    functionDepth: 5
    functionLinenumber: 1161
    functionLinenumberEnd: 1179
    functionName: check_port
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cfg_obj_log
    - cfg_obj_asuint32
    - SET_IF_NOT_NULL
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_port(const cfg_obj_t *options, const char *type,
      in_port_t *portp)
  - BBCount: 143
    BranchProfiles: []
    Callsites:
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1244,1
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1248,1
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1252,1
    - Dst: check_port
      Src: /src/bind9/lib/isccfg/check.c:1256,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:1269,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1271,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:1272,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1276,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1294,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/lib/isccfg/check.c:1298,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1299,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1301,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1304,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1309,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:1319,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1322,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1325,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/check.c:1330,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1334,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1337,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1340,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1341,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:1342,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1344,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1353,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1354,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1357,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/lib/isccfg/check.c:1358,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1363,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1370,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1378,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:1383,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1390,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1404,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1415,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1425,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:1431,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/check.c:1433,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1437,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1439,1
    - Dst: kasp_name_allowed
      Src: /src/bind9/lib/isccfg/check.c:1443,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1448,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1458,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:1464,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1465,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1470,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1478,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:1492,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:1493,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1500,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1504,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1506,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1515,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1517,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1518,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1518,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1519,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1521,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1531,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1534,1
    - Dst: disabled_algorithms
      Src: /src/bind9/lib/isccfg/check.c:1535,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1546,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1549,1
    - Dst: disabled_ds_digests
      Src: /src/bind9/lib/isccfg/check.c:1550,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1563,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1565,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1566,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1568,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1582,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1584,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1585,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1586,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1600,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1602,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1603,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1604,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1605,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1619,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:1620,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:1621,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1621,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1623,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1631,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1633,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1635,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1641,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1650,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1652,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1654,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1662,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1671,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1673,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1674,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1675,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1685,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1692,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1693,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/check.c:1695,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:1696,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/isccfg/check.c:1697,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1699,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1702,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:1713,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1714,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1717,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1732,1
    - Dst: cfg_obj_isduration
      Src: /src/bind9/lib/isccfg/check.c:1737,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1738,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1740,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1746,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1751,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:1760,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1767,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:1770,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1780,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1785,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1787,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1793,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1793,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_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1811,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:1812,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1815,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1823,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:1824,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1827,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1839,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/lib/isccfg/check.c:1841,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1844,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1853,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1865,1
    - Dst: cfg_obj_ispercentage
      Src: /src/bind9/lib/isccfg/check.c:1866,1
    - Dst: cfg_obj_aspercentage
      Src: /src/bind9/lib/isccfg/check.c:1867,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1869,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1876,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1883,1
    - Dst: cfg_obj_islist
      Src: /src/bind9/lib/isccfg/check.c:1884,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:1891,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1892,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1893,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1894,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1896,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1904,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1906,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1914,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1916,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1924,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1926,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1938,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1947,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1957,1
    - Dst: cfg_obj_asduration
      Src: /src/bind9/lib/isccfg/check.c:1959,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1961,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/lib/isccfg/check.c:1967,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1970,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1974,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:1977,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1985,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:1987,1
    - Dst: check_listeners
      Src: /src/bind9/lib/isccfg/check.c:1988,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1995,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:1997,1
    - Dst: check_listeners
      Src: /src/bind9/lib/isccfg/check.c:1998,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:2004,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2007,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2009,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2010,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:2011,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2014,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:2022,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:2023,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2025,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:2037,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:2038,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:2039,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/lib/isccfg/check.c:2043,1
    CyclomaticComplexity: 176
    EdgeCount: 176
    ICount: 534
    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: 2047
      start: 1181
    functionDepth: 11
    functionLinenumber: 1181
    functionLinenumberEnd: 2047
    functionName: check_options
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - disabled_ds_digests
    - isc_hex_decodestring
    - INSIST
    - isc_buffer_usedlength
    - cfg_map_get
    - cfg_acl_fromconfig
    - ISC_LIST_INIT
    - strlen
    - isc_file_isdirectory
    - memset
    - dns_acl_detach
    - cfg_obj_isvoid
    - cfg_kasp_fromconfig
    - cfg_tuple_get
    - strcasecmp
    - cfg_listelt_value
    - cfg_obj_asstring
    - kasp_name_allowed
    - check_range_uint32
    - isc_buffer_init
    - isc_result_totext
    - dns_keystore_detach
    - strcmp
    - check_port
    - check_listeners
    - cfg_obj_asduration
    - cfg_obj_asuint32
    - cfg_aclconfctx_create
    - cfg_obj_isstring
    - cfg_obj_asuint64
    - cfg_keystore_fromconfig
    - cfg_obj_ispercentage
    - cfg_obj_istuple
    - cfg_aclconfctx_detach
    - dns_kasp_detach
    - cfg_obj_log
    - disabled_algorithms
    - cfg_obj_isduration
    - check_name
    - cfg_obj_islist
    - cfg_obj_aspercentage
    - ARRAY_SIZE
    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:1334,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1337,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1340,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1341,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:1342,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1344,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1353,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:1354,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1357,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/lib/isccfg/check.c:1358,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1363,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1370,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1378,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:1383,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1390,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1397
      start: 1331
    functionDepth: 8
    functionLinenumber: 1331
    functionLinenumberEnd: 1397
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cfg_obj_log
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_keystore_fromconfig
    - cfg_obj_istuple
    - isc_file_isdirectory
    - isc_result_totext
    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:1437,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:1439,1
    - Dst: kasp_name_allowed
      Src: /src/bind9/lib/isccfg/check.c:1443,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:1448,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1458,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1460
      start: 1434
    functionDepth: 8
    functionLinenumber: 1434
    functionLinenumberEnd: 1460
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_kasp_detach
    - cfg_kasp_fromconfig
    - cfg_listelt_value
    - cfg_obj_istuple
    - kasp_name_allowed
    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:1464,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:1465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1463
    functionDepth: 1
    functionLinenumber: 1463
    functionLinenumberEnd: 1466
    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:1492,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:1493,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1494
      start: 1491
    functionDepth: 1
    functionLinenumber: 1491
    functionLinenumberEnd: 1494
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_keystore_detach
    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:1534,1
    - Dst: disabled_algorithms
      Src: /src/bind9/lib/isccfg/check.c:1535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1539
      start: 1533
    functionDepth: 4
    functionLinenumber: 1533
    functionLinenumberEnd: 1539
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    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:1549,1
    - Dst: disabled_ds_digests
      Src: /src/bind9/lib/isccfg/check.c:1550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1554
      start: 1548
    functionDepth: 4
    functionLinenumber: 1548
    functionLinenumberEnd: 1554
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    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:1602,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1603,1
    - Dst: check_name
      Src: /src/bind9/lib/isccfg/check.c:1604,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1605,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1612
      start: 1601
    functionDepth: 3
    functionLinenumber: 1601
    functionLinenumberEnd: 1612
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_obj_log
    - cfg_listelt_value
    - check_name
    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:1692,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1693,1
    - Dst: memset
      Src: /src/bind9/lib/isccfg/check.c:1695,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:1696,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/isccfg/check.c:1697,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1699,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1702,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:1713,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1714,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1717,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1689
    functionDepth: 3
    functionLinenumber: 1689
    functionLinenumberEnd: 1724
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodestring
    - cfg_obj_log
    - strcasecmp
    - isc_buffer_usedlength
    - cfg_listelt_value
    - cfg_obj_asstring
    - memset
    - isc_buffer_init
    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:1891,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:1892,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:1893,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1894,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1896,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1904,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1906,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1914,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1916,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:1924,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:1926,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1935
      start: 1890
    functionDepth: 3
    functionLinenumber: 1890
    functionLinenumberEnd: 1935
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - strcasecmp
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, el)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2059,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2068,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2069,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2069,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:2071,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2073,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2079,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2080,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2082,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2083,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2088,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:2092,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:2098,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 4
    argNames:
    - cctx
    - list
    - symtab
    - mctx
    argTypes:
    - cfg_obj_t*
    - char*
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2052
    functionDepth: 5
    functionLinenumber: 2052
    functionLinenumberEnd: 2104
    functionName: check_remoteserverlist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - cfg_obj_log
    - cfg_tuple_get
    - cfg_map_get
    - RUNTIME_CHECK
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_line
    - cfg_obj_asstring
    - isc_mem_free
    - validate_remotes
    - cfg_obj_file
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2068,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2069,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2069,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:2071,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2073,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2079,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2080,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2082,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2083,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2088,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:2092,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:2098,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2102
      start: 2064
    functionDepth: 4
    functionLinenumber: 2064
    functionLinenumberEnd: 2102
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - cfg_obj_log
    - cfg_tuple_get
    - RUNTIME_CHECK
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_line
    - cfg_obj_asstring
    - isc_mem_free
    - validate_remotes
    - cfg_obj_file
    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:2114,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2116,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2121,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2125,1
    - Dst: check_remoteserverlist
      Src: /src/bind9/lib/isccfg/check.c:2129,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2133,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - cctx
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2135
      start: 2109
    functionDepth: 6
    functionLinenumber: 2109
    functionLinenumberEnd: 2135
    functionName: check_remoteserverlists
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_destroy
    - check_remoteserverlist
    - isc_symtab_create
    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:2141,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2141,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2145,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2146,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2154,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2160,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2161,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2163,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2164,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2169,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2177,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2180,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2181,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isccfg/check.c:2182,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2183,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - http
    - symtab
    argTypes:
    - cfg_obj_t*
    - isc_symtab_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2138
    functionDepth: 5
    functionLinenumber: 2138
    functionLinenumberEnd: 2195
    functionName: check_httpserver
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - cfg_obj_log
    - strcasecmp
    - RUNTIME_CHECK
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_line
    - cfg_obj_asstring
    - isc_nm_http_path_isvalid
    - cfg_map_getname
    - cfg_obj_file
    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:2180,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2181,1
    - Dst: isc_nm_http_path_isvalid
      Src: /src/bind9/lib/isccfg/check.c:2182,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2179
    functionDepth: 3
    functionLinenumber: 2179
    functionLinenumberEnd: 2191
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_nm_http_path_isvalid
    - cfg_obj_asstring
    - cfg_obj_log
    - cfg_listelt_value
    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:2203,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2205,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2212,1
    - Dst: check_httpserver
      Src: /src/bind9/lib/isccfg/check.c:2213,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2220,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2222
      start: 2197
    functionDepth: 6
    functionLinenumber: 2197
    functionLinenumberEnd: 2222
    functionName: check_httpservers
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_destroy
    - check_httpserver
    - cfg_map_get
    - cfg_listelt_value
    - isc_symtab_create
    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:2212,1
    - Dst: check_httpserver
      Src: /src/bind9/lib/isccfg/check.c:2213,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2217
      start: 2211
    functionDepth: 6
    functionLinenumber: 2211
    functionLinenumberEnd: 2217
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    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:2235,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2235,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2237,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2244,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:2250,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:2251,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:2253,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:2254,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2259,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2266,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2267,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2271,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2279,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:2281,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2284,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2285,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/lib/isccfg/check.c:2287,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2290,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/lib/isccfg/check.c:2296,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2297,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2307,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2318,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2327,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2329,1
    - Dst: isc_tls_cipherlist_valid
      Src: /src/bind9/lib/isccfg/check.c:2330,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2331,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2341,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2343,1
    - Dst: isc_tls_cipher_suites_valid
      Src: /src/bind9/lib/isccfg/check.c:2344,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2345,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: 2355
      start: 2225
    functionDepth: 5
    functionLinenumber: 2225
    functionLinenumberEnd: 2355
    functionName: check_tls_defintion
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - isc_tls_protocol_supported
    - cfg_obj_log
    - strcasecmp
    - INSIST
    - RUNTIME_CHECK
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_line
    - cfg_obj_asstring
    - isc_tls_cipher_suites_valid
    - isc_tls_cipherlist_valid
    - isc_tls_protocol_name_to_version
    - cfg_obj_file
    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:2284,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2285,1
    - Dst: isc_tls_protocol_name_to_version
      Src: /src/bind9/lib/isccfg/check.c:2287,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2290,1
    - Dst: isc_tls_protocol_supported
      Src: /src/bind9/lib/isccfg/check.c:2296,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2297,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2307,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2315
      start: 2282
    functionDepth: 3
    functionLinenumber: 2282
    functionLinenumberEnd: 2315
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_tls_protocol_supported
    - cfg_obj_log
    - cfg_listelt_value
    - cfg_obj_asstring
    - isc_tls_protocol_name_to_version
    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:2363,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:2369,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2373,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2374,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2374,1
    - Dst: check_tls_defintion
      Src: /src/bind9/lib/isccfg/check.c:2375,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2381,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2384
      start: 2357
    functionDepth: 6
    functionLinenumber: 2357
    functionLinenumberEnd: 2384
    functionName: check_tls_definitions
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_tls_defintion
    - isc_symtab_destroy
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_map_getname
    - isc_symtab_create
    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:2373,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2374,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2374,1
    - Dst: check_tls_defintion
      Src: /src/bind9/lib/isccfg/check.c:2375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2379
      start: 2371
    functionDepth: 6
    functionLinenumber: 2371
    functionLinenumberEnd: 2379
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_tls_defintion
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, elt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/check.c:2391,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2391,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2396,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2397,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2397,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - cctx
    - list
    - name
    - ret
    argTypes:
    - cfg_obj_t*
    - char*
    - char*
    - cfg_obj_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2386
    functionDepth: 5
    functionLinenumber: 2386
    functionLinenumberEnd: 2406
    functionName: get_remotes
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - strcasecmp
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - RETERR
    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:2396,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2397,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2397,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2403
      start: 2393
    functionDepth: 2
    functionLinenumber: 2393
    functionLinenumberEnd: 2403
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - strcasecmp
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, elt)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2413,1
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2417,1
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2421,1
    - Dst: get_remotes
      Src: /src/bind9/lib/isccfg/check.c:2425,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: 2426
      start: 2408
    functionDepth: 6
    functionLinenumber: 2408
    functionLinenumberEnd: 2426
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2436,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2451,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2453,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2453,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2455,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2456,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2460,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - config
    - keyname
    argTypes:
    - cfg_obj_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2467
      start: 2428
    functionDepth: 5
    functionLinenumber: 2428
    functionLinenumberEnd: 2467
    functionName: lookup_key
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_fixedname_initname
    - dns_name_fromstring
    - cfg_map_getname
    linkageType: ''
    returnType: bool
    signature: bool lookup_key(const cfg_obj_t *config, const dns_name_t *keyname)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2451,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2453,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:2453,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2455,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2456,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2437
    functionDepth: 2
    functionLinenumber: 2437
    functionLinenumberEnd: 2464
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_fixedname_initname
    - dns_name_fromstring
    - cfg_map_getname
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(keys, elt)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:2474,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2475,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2477,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2479,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2481,1
    - Dst: lookup_key
      Src: /src/bind9/lib/isccfg/check.c:2485,1
    - Dst: lookup_key
      Src: /src/bind9/lib/isccfg/check.c:2486,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2487,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2489,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - voptions
    - config
    - key
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2496
      start: 2469
    functionDepth: 6
    functionLinenumber: 2469
    functionLinenumberEnd: 2496
    functionName: validate_remotes_key
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_obj_isstring
    - lookup_key
    - cfg_obj_asstring
    - dns_fixedname_initname
    - dns_name_fromstring
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t validate_remotes_key(const cfg_obj_t *voptions, const
      cfg_obj_t *config,\n\t\t     const cfg_obj_t *key)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:2502,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2503,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2505,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2507,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2509,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2513,1
    - Dst: find_maplist
      Src: /src/bind9/lib/isccfg/check.c:2516,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2518,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2520,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - config
    - tls
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2527
      start: 2498
    functionDepth: 3
    functionLinenumber: 2498
    functionLinenumberEnd: 2527
    functionName: validate_remotes_tls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - find_maplist
    - strcasecmp
    - cfg_obj_isstring
    - cfg_obj_asstring
    - dns_fixedname_initname
    - dns_name_fromstring
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_remotes_tls(const cfg_obj_t *config, const cfg_obj_t
      *tls)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/check.c:2542,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:2543,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2546,1
    - Dst: cfg_list_first
      Src: /src/bind9/lib/isccfg/check.c:2547,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:2549,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2555,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2555,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2557,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2557,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2558,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2558,1
    - Dst: validate_remotes_key
      Src: /src/bind9/lib/isccfg/check.c:2560,1
    - Dst: validate_remotes_tls
      Src: /src/bind9/lib/isccfg/check.c:2565,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:2570,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2575,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:2577,1
    - Dst: get_remoteservers_def
      Src: /src/bind9/lib/isccfg/check.c:2582,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2587,1
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/isccfg/check.c:2594,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2599,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:2599,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/isccfg/check.c:2611,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:2613,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 62
    argCount: 5
    argNames:
    - obj
    - voptions
    - config
    - countp
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_obj_t*
    - uint32_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2615
      start: 2529
    functionDepth: 7
    functionLinenumber: 2529
    functionLinenumberEnd: 2615
    functionName: validate_remotes
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_symtab_define
    - cfg_obj_log
    - isc_mem_cput
    - validate_remotes_tls
    - isc_symtab_destroy
    - cfg_tuple_get
    - cfg_list_first
    - get_remoteservers_def
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - validate_remotes_key
    - cfg_obj_asstring
    - cfg_list_next
    - UNCONST
    - isc_symtab_create
    - isc_mem_creget
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t validate_remotes(const cfg_obj_t *obj, const cfg_obj_t
      *voptions,\n\t\t const cfg_obj_t *config, uint32_t *countp, isc_mem_t *mctx)"
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:2628,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:2629,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2629,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2636,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2637,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2638,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2639,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2640,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2643,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2644,1
    - Dst: dns_ssu_mtypefromstring
      Src: /src/bind9/lib/isccfg/check.c:2646,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2646,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2649,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2653,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2654,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2656,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:2665,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2669,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2672,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2675,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/isccfg/check.c:2683,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2685,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2699,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2700,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2702,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2715,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2717,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2733,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2734,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2735,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2738,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/check.c:2747,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2754,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2755,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2755,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/check.c:2757,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/check.c:2763,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2767,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2773,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2776,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2778,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 96
    argCount: 1
    argNames:
    - policy
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2786
      start: 2617
    functionDepth: 3
    functionLinenumber: 2617
    functionLinenumberEnd: 2786
    functionName: check_update_policy
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cfg_obj_log
    - cfg_obj_isvoid
    - dns_name_equal
    - cfg_obj_isstring
    - cfg_tuple_get
    - strtoul
    - cfg_listelt_value
    - dns_name_iswildcard
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - dns_rdatatype_fromtext
    - strchr
    - dns_name_fromstring
    - dns_ssu_mtypefromstring
    - UNCONST
    - UNREACHABLE
    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:2636,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2637,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2638,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2639,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:2640,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2643,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:2644,1
    - Dst: dns_ssu_mtypefromstring
      Src: /src/bind9/lib/isccfg/check.c:2646,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2646,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2649,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2653,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2654,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2656,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:2665,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2669,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:2672,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2675,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/isccfg/check.c:2683,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2685,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2699,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2700,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2702,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:2715,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2717,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2733,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2734,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2735,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2738,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/check.c:2747,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2754,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2755,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2755,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/check.c:2757,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/check.c:2763,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2767,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2773,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2776,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2778,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 91
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2784
      start: 2635
    functionDepth: 3
    functionLinenumber: 2635
    functionLinenumberEnd: 2784
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_obj_isvoid
    - dns_name_equal
    - cfg_tuple_get
    - strtoul
    - cfg_listelt_value
    - dns_name_iswildcard
    - cfg_obj_asstring
    - strlen
    - dns_fixedname_initname
    - dns_rdatatype_fromtext
    - strchr
    - dns_name_fromstring
    - dns_ssu_mtypefromstring
    - UNCONST
    - UNREACHABLE
    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:2754,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:2755,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2755,1
    - Dst: strchr
      Src: /src/bind9/lib/isccfg/check.c:2757,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccfg/check.c:2763,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2767,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:2773,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:2776,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2778,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2783
      start: 2750
    functionDepth: 3
    functionLinenumber: 2750
    functionLinenumberEnd: 2783
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - strtoul
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - strchr
    - dns_rdatatype_fromtext
    - UNCONST
    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:2807,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:2808,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2810,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - options
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2816
      start: 2793
    functionDepth: 5
    functionLinenumber: 2793
    functionLinenumberEnd: 2816
    functionName: check_nonzero
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cfg_obj_log
    - cfg_obj_asuint32
    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:2827,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/check.c:2835,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:2836,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:2843,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:2844,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2854,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - zoptions
    - znamestr
    argTypes:
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2861
      start: 2822
    functionDepth: 5
    functionLinenumber: 2822
    functionLinenumberEnd: 2861
    functionName: check_mirror_zone_notify
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - strcasecmp
    - cfg_map_get
    - cfg_obj_isboolean
    - cfg_obj_asstring
    - cfg_obj_asboolean
    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:2889,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2892,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:2894,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2906,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:2909,1
    - Dst: CHECK
      Src: /src/bind9/lib/isccfg/check.c:2912,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2912,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/isccfg/check.c:2913,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:2918,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 6
    argNames:
    - config
    - voptions
    - vclass
    - goptions
    - aclctx
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_rdataclass_t
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2922
      start: 2870
    functionDepth: 9
    functionLinenumber: 2870
    functionLinenumberEnd: 2922
    functionName: check_recursion
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_map_get
    - cfg_acl_fromconfig
    - dns_acl_isnone
    - cfg_obj_asboolean
    - CHECK
    - dns_acl_detach
    linkageType: ''
    returnType: bool
    signature: "bool check_recursion(const cfg_obj_t *config, const cfg_obj_t *voptions,\n\t\tdns_rdataclass_t
      vclass, const cfg_obj_t *goptions,\n\t\tcfg_aclconfctx_t *aclctx, isc_mem_t
      *mctx)"
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/isccfg/check.c:2943,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/isccfg/check.c:2944,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:2947,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:2948,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:2949,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2955,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2956,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2958,1
    - Dst: cfg_kasp_builtinconfig
      Src: /src/bind9/lib/isccfg/check.c:2963,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2966,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:2968,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/check.c:2972,1
    - Dst: cfg_kasp_builtinconfig
      Src: /src/bind9/lib/isccfg/check.c:2977,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:2980,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:2982,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/check.c:2986,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:2987,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2993,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:2996,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3000,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:3001,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3008,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3008,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/check.c:3010,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:3012,1
    - Dst: dns_kasplist_find
      Src: /src/bind9/lib/isccfg/check.c:3019,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3021,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:3026,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3032,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3032,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:3033,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/isccfg/check.c:3042,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/isccfg/check.c:3043,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3044,1
    - Dst: dns_keystore_name
      Src: /src/bind9/lib/isccfg/check.c:3045,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:3047,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/isccfg/check.c:3062,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/isccfg/check.c:3063,1
    - Dst: dns_keymgr_key_init
      Src: /src/bind9/lib/isccfg/check.c:3076,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/isccfg/check.c:3079,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/isccfg/check.c:3087,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3089,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/isccfg/check.c:3093,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/isccfg/check.c:3104,1
    - Dst: dns_kasp_key_format
      Src: /src/bind9/lib/isccfg/check.c:3112,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3115,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/isccfg/check.c:3119,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3125,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:3133,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/isccfg/check.c:3134,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:3140,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:3143,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:3146,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:3147,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:3150,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:3151,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 123
    argCount: 9
    argNames:
    - config
    - zconfig
    - origin
    - zname
    - name
    - keydir
    - keydirs
    - mctx
    - check_keys
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - dns_name_t*
    - char*
    - char*
    - char*
    - isc_symtab_t*
    - isc_mem_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3155
      start: 2924
    functionDepth: 8
    functionLinenumber: 2924
    functionLinenumberEnd: 3155
    functionName: check_keydir
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - dns_kasp_freeze
    - ISC_LIST_UNLINK
    - INSIST
    - cfg_map_get
    - dns_kasp_key_format
    - dns_dnsseckey_destroy
    - ISC_LIST_INIT
    - cfg_kasp_fromconfig
    - cfg_tuple_get
    - dst_key_format
    - cfg_listelt_value
    - dns_kasplist_find
    - cfg_kasp_builtinconfig
    - cfg_obj_asstring
    - dns_kasp_key_keystore
    - dns_keystore_directory
    - dns_kasp_key_match
    - isc_result_totext
    - isc_time_seconds
    - strcmp
    - isc_time_now
    - dns_keystore_detach
    - dns_kasp_getname
    - cfg_keystore_fromconfig
    - cfg_obj_istuple
    - dns_kasp_detach
    - cfg_obj_log
    - keydirexist
    - dns_keymgr_key_init
    - dns_dnssec_findmatchingkeys
    - 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 *origin, const char *zname, const char *name,\n\t
      \    const char *keydir, isc_symtab_t *keydirs, isc_mem_t *mctx,\n\t     bool
      check_keys)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:2955,1
    - Dst: cfg_keystore_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:2956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2957
      start: 2954
    functionDepth: 8
    functionLinenumber: 2954
    functionLinenumberEnd: 2957
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_keystore_fromconfig
    - cfg_listelt_value
    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:2993,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:2996,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3000,1
    - Dst: cfg_kasp_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:3001,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3008,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3008,1
    - Dst: dns_kasp_freeze
      Src: /src/bind9/lib/isccfg/check.c:3010,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:3012,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 2992
    functionDepth: 8
    functionLinenumber: 2992
    functionLinenumberEnd: 3013
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_kasp_freeze
    - dns_kasp_detach
    - cfg_kasp_fromconfig
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_obj_istuple
    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:3042,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/isccfg/check.c:3043,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3044,1
    - Dst: dns_keystore_name
      Src: /src/bind9/lib/isccfg/check.c:3045,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:3047,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 3041
    functionDepth: 1
    functionLinenumber: 3041
    functionLinenumberEnd: 3054
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - strcmp
    - keydirexist
    - dns_kasp_key_keystore
    - dns_keystore_directory
    - dns_keystore_name
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(kasp), kkey, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3071
      start: 3069
    functionDepth: 0
    functionLinenumber: 3069
    functionLinenumberEnd: 3071
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(keys, dkey, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_keymgr_key_init
      Src: /src/bind9/lib/isccfg/check.c:3076,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/isccfg/check.c:3079,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/isccfg/check.c:3087,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3089,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/isccfg/check.c:3093,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3096
      start: 3073
    functionDepth: 3
    functionLinenumber: 3073
    functionLinenumberEnd: 3096
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - cfg_obj_log
    - dst_key_format
    - dns_keymgr_key_init
    - dns_kasp_getname
    - dns_kasp_key_match
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(keys, dkey, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/isccfg/check.c:3079,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3083
      start: 3078
    functionDepth: 1
    functionLinenumber: 3078
    functionLinenumberEnd: 3083
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_kasp_key_match
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(kasp), kkey, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/isccfg/check.c:3104,1
    - Dst: dns_kasp_key_format
      Src: /src/bind9/lib/isccfg/check.c:3112,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3115,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/isccfg/check.c:3119,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3098
    functionDepth: 3
    functionLinenumber: 3098
    functionLinenumberEnd: 3122
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_kasp_getname
    - dns_kasp_key_match
    - dns_kasp_key_format
    - cfg_obj_log
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(kasp), kkey, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/isccfg/check.c:3104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3108
      start: 3103
    functionDepth: 1
    functionLinenumber: 3103
    functionLinenumberEnd: 3108
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - dns_kasp_key_match
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(keys, dkey, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:3133,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/isccfg/check.c:3134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3135
      start: 3132
    functionDepth: 1
    functionLinenumber: 3132
    functionLinenumberEnd: 3135
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(keys, key, link)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/isccfg/check.c:3146,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/isccfg/check.c:3147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3148
      start: 3145
    functionDepth: 1
    functionLinenumber: 3145
    functionLinenumberEnd: 3148
    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:3150,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/isccfg/check.c:3151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3152
      start: 3149
    functionDepth: 1
    functionLinenumber: 3149
    functionLinenumberEnd: 3152
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 138
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_keystore_detach
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(kslist, ks, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:3183,1
    - Dst: ns_plugin_expandpath
      Src: /src/bind9/lib/isccfg/check.c:3185,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3188,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:3191,1
    - Dst: ns_plugin_check
      Src: /src/bind9/lib/isccfg/check.c:3195,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:3196,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:3196,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3199,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:3200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 6
    argNames:
    - config
    - obj
    - aclctx
    - plugin_path
    - parameters
    - callback_data
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - char*
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3205
      start: 3175
    functionDepth: 4
    functionLinenumber: 3175
    functionLinenumberEnd: 3205
    functionName: check_one_plugin
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - cfg_obj_log
    - cfg_obj_line
    - ns_plugin_expandpath
    - cfg_obj_file
    - ns_plugin_check
    - isc_result_totext
    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 cfg_aclconfctx_t *aclctx, const char *plugin_path,\n\t\t const char
      *parameters, void *callback_data)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cfg_pluginlist_foreach
      Src: /src/bind9/lib/isccfg/check.c:3225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 5
    argNames:
    - plugins
    - config
    - aclctx
    - zname
    - mctx
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    - cfg_aclconfctx_t*
    - dns_name_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3229
      start: 3207
    functionDepth: 4
    functionLinenumber: 3207
    functionLinenumberEnd: 3229
    functionName: check_plugins
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_pluginlist_foreach
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_plugins(const cfg_obj_t *plugins, const cfg_obj_t
      *config,\n\t      cfg_aclconfctx_t *aclctx, const dns_name_t *zname,\n\t      isc_mem_t
      *mctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccfg/check.c:3243,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3246,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3249,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3252,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3255,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: 3259
      start: 3237
    functionDepth: 5
    functionLinenumber: 3237
    functionLinenumberEnd: 3259
    functionName: get_zoneopt
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - cfg_map_get
    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: 153
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3303,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3303,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3305,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3308,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3312,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3313,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3315,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3318,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3318,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3320,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3320,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3321,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3321,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3328,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3335,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3337,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3341,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3343,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3348,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3349,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3350,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3353,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3354,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3357,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3359,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3361,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3363,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3365,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3367,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3370,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3376,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3377,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3383,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:3384,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:3387,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3387,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3388,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3389,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3391,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3397,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/isccfg/check.c:3412,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:3413,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3413,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:3414,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3414,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3415,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:3415,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3418,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/isccfg/check.c:3429,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:3430,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/isccfg/check.c:3431,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:3433,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:3444,1
    - Dst: dns_name_isrfc1918
      Src: /src/bind9/lib/isccfg/check.c:3446,1
    - Dst: dns_name_isula
      Src: /src/bind9/lib/isccfg/check.c:3448,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3454,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3454,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3454,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/isccfg/check.c:3455,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/check.c:3456,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:3457,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:3460,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3462,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:3483,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:3486,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:3488,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/check.c:3492,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/isccfg/check.c:3494,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3501,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3506,1
    - Dst: cfg_map_count
      Src: /src/bind9/lib/isccfg/check.c:3510,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3511,1
    - Dst: check_nonzero
      Src: /src/bind9/lib/isccfg/check.c:3525,1
    - Dst: check_nonzero
      Src: /src/bind9/lib/isccfg/check.c:3528,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3536,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3539,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3540,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3543,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3546,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3551,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3553,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3554,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3555,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3555,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3559,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3560,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3562,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3567,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3580,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3600,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3603,1
    - Dst: cfg_map_firstclause
      Src: /src/bind9/lib/isccfg/check.c:3617,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3621,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3623,1
    - Dst: cfg_clause_validforzone
      Src: /src/bind9/lib/isccfg/check.c:3627,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3629,1
    - Dst: cfg_map_nextclause
      Src: /src/bind9/lib/isccfg/check.c:3637,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:3643,1
    - Dst: checkacl
      Src: /src/bind9/lib/isccfg/check.c:3644,1
    - Dst: check_mirror_zone_notify
      Src: /src/bind9/lib/isccfg/check.c:3656,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3672,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/check.c:3675,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3676,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3678,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3680,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3681,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3689,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3692,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3698,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:3703,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3712,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3717,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3719,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:3719,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:3723,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3724,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3725,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3729,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3742,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:3761,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3764,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3768,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3774,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3777,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3784,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:3790,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3797,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3812,1
    - Dst: validate_remotes
      Src: /src/bind9/lib/isccfg/check.c:3816,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3823,1
    - Dst: check_recursion
      Src: /src/bind9/lib/isccfg/check.c:3837,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3839,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3853,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3855,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3859,1
    - Dst: check_update_policy
      Src: /src/bind9/lib/isccfg/check.c:3865,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3877,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:3885,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3888,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:3890,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/isccfg/check.c:3893,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:3896,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3901,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3904,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3911,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3928,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:3931,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3933,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3942,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3945,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3958,1
    - Dst: check_forward
      Src: /src/bind9/lib/isccfg/check.c:3961,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3971,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3978,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3981,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3981,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3983,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:3997,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4003,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:4004,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:4006,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/isccfg/check.c:4007,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4009,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4021,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4029,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4030,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4032,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4032,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4033,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4033,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4034,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4035,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4038,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/isccfg/check.c:4043,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4044,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4054,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4057,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4059,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:4061,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4063,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/isccfg/check.c:4068,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4069,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4083,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4086,1
    - Dst: isc_file_isdirectory
      Src: /src/bind9/lib/isccfg/check.c:4088,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4093,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4097,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4102,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4104,1
    - Dst: check_keydir
      Src: /src/bind9/lib/isccfg/check.c:4117,1
    - Dst: keydirexist
      Src: /src/bind9/lib/isccfg/check.c:4121,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4134,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:4136,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:4137,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4139,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:4151,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4163,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4169,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4171,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:4179,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4179,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4182,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4188,1
    - Dst: fileexist
      Src: /src/bind9/lib/isccfg/check.c:4199,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/lib/isccfg/check.c:4200,1
    - Dst: fileexist
      Src: /src/bind9/lib/isccfg/check.c:4210,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/lib/isccfg/check.c:4211,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4225,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4228,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4228,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4231,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4234,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4246,1
    - Dst: cfg_obj_isuint64
      Src: /src/bind9/lib/isccfg/check.c:4248,1
    - Dst: cfg_obj_asuint64
      Src: /src/bind9/lib/isccfg/check.c:4249,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4251,1
    - Dst: get_zoneopt
      Src: /src/bind9/lib/isccfg/check.c:4262,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4266,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4266,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4268,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4268,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4270,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4281,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4294,1
    - Dst: check_plugins
      Src: /src/bind9/lib/isccfg/check.c:4295,1
    CyclomaticComplexity: 215
    EdgeCount: 215
    ICount: 579
    argCount: 12
    argNames:
    - zconfig
    - voptions
    - config
    - symtab
    - files
    - keydirs
    - inview
    - viewname
    - defclass
    - flags
    - aclctx
    - 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
    - unsigned int
    - cfg_aclconfctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4302
      start: 3261
    functionDepth: 10
    functionLinenumber: 3261
    functionLinenumberEnd: 4302
    functionName: isccfg_check_zoneconf
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 2
    functionsReached:
    - dns_name_isrfc1918
    - isc_mem_put
    - check_keydir
    - cfg_clause_validforzone
    - cfg_map_get
    - cfg_acl_fromconfig
    - isc_mem_strdup
    - isc_buffer_add
    - strlen
    - checkacl
    - isc_file_isdirectory
    - get_zoneopt
    - check_mirror_zone_notify
    - check_plugins
    - dns_acl_detach
    - exists
    - cfg_map_firstclause
    - check_nonzero
    - strcasecmp
    - dns_name_fromtext
    - cfg_tuple_get
    - dns_name_format
    - RUNTIME_CHECK
    - cfg_listelt_value
    - snprintf
    - cfg_obj_asstring
    - dns_rdatatype_fromtext
    - dns_acl_isnone
    - dns_name_isula
    - check_forward
    - cfg_obj_isuint64
    - isc_result_totext
    - dns_name_issubdomain
    - strcmp
    - cfg_obj_asuint32
    - dns_name_equal
    - cfg_obj_isstring
    - fileexist
    - check_recursion
    - dns_zonetype_name
    - isc_netaddr_fromsockaddr
    - cfg_obj_asuint64
    - isc_netaddr_getzone
    - dns_rdataclass_format
    - cfg_obj_asboolean
    - dns_fixedname_init
    - dns_name_fromstring
    - UNCONST
    - UNREACHABLE
    - cfg_map_getname
    - cfg_map_count
    - isc_symtab_lookup
    - isc_symtab_define
    - check_options
    - cfg_obj_log
    - dns_rdataclass_fromtext
    - isc_mem_get
    - cfg_obj_assockaddr
    - cfg_obj_isboolean
    - keydirexist
    - dns_fixedname_initname
    - validate_remotes
    - check_update_policy
    - cfg_map_nextclause
    - dns_fixedname_name
    - isc_buffer_constinit
    - ARRAY_SIZE
    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, unsigned int flags,\n\t\t
      \     cfg_aclconfctx_t *aclctx, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3318,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3318,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:3320,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3320,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3321,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3321,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3325
      start: 3317
    functionDepth: 2
    functionLinenumber: 3317
    functionLinenumberEnd: 3325
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_listelt_value
    - strcasecmp
    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:3553,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3554,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:3555,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3555,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:3559,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3560,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:3562,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:3567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3577
      start: 3552
    functionDepth: 5
    functionLinenumber: 3552
    functionLinenumberEnd: 3577
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - strcmp
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_obj_asboolean
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(kasps, element)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:3717,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:3719,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:3719,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:3723,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:3724,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/isccfg/check.c:3725,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3729,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:3742,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3749
      start: 3715
    functionDepth: 3
    functionLinenumber: 3715
    functionLinenumberEnd: 3749
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - dns_rdatatype_fromtext
    - UNCONST
    - cfg_map_getname
    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:4003,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:4004,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/isccfg/check.c:4006,1
    - Dst: isc_netaddr_getzone
      Src: /src/bind9/lib/isccfg/check.c:4007,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4014
      start: 4000
    functionDepth: 3
    functionLinenumber: 4000
    functionLinenumberEnd: 4014
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_obj_assockaddr
    - isc_netaddr_fromsockaddr
    - cfg_listelt_value
    - isc_netaddr_getzone
    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:4029,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4030,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4032,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4032,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4033,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4033,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4034,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4035,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4038,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/isccfg/check.c:4043,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4050
      start: 4023
    functionDepth: 3
    functionLinenumber: 4023
    functionLinenumberEnd: 4050
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_name_fromtext
    - cfg_listelt_value
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - dns_fixedname_initname
    - isc_buffer_constinit
    - dns_name_issubdomain
    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:4313,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4313,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4332,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4333,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4335,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:4342,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isccfg/check.c:4343,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4343,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4345,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4346,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4350,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4352,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/isccfg/check.c:4353,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4361,1
    - Dst: isc_parse_uint16
      Src: /src/bind9/lib/isccfg/check.c:4367,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4372,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4380,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4392,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4398,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 44
    argCount: 1
    argNames:
    - key
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4405
      start: 4309
    functionDepth: 5
    functionLinenumber: 4309
    functionLinenumberEnd: 4405
    functionName: isccfg_check_key
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - cfg_obj_log
    - isc_base64_decodestring
    - cfg_map_get
    - cfg_obj_asstring
    - strlen
    - isc_parse_uint16
    - cfg_map_getname
    - isc_buffer_init
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccfg_check_key(const cfg_obj_t *key)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4418,1
    - Dst: strpbrk
      Src: /src/bind9/lib/isccfg/check.c:4425,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:4427,1
    - Dst: dns_zone_expandzonefile
      Src: /src/bind9/lib/isccfg/check.c:4428,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4437,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4439,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4453,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4454,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4455,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4458,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4469,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4470,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4473,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 7
    argNames:
    - obj
    - zonename
    - viewname
    - typename
    - symtab
    - writeable
    - mctx
    argTypes:
    - cfg_obj_t*
    - dns_name_t*
    - char*
    - char*
    - isc_symtab_t*
    - bool
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4477
      start: 4412
    functionDepth: 4
    functionLinenumber: 4412
    functionLinenumberEnd: 4477
    functionName: fileexist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 1
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - cfg_obj_log
    - isc_mem_strdup
    - cfg_obj_line
    - cfg_obj_asstring
    - isc_mem_free
    - strpbrk
    - dns_zone_expandzonefile
    - isc_buffer_init
    - cfg_obj_file
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t fileexist(const cfg_obj_t *obj, const dns_name_t *zonename,\n\t
      \ const char *viewname, const char *typename, isc_symtab_t *symtab,\n\t  bool
      writeable, isc_mem_t *mctx)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:4491,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4495,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4496,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4497,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccfg/check.c:4498,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4500,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4507,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4511,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4512,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4518,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4518,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:4521,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4521,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccfg/check.c:4522,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4522,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4527,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4531,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4531,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4532,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4539,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4541,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:4543,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: 4545
      start: 4479
    functionDepth: 5
    functionLinenumber: 4479
    functionLinenumberEnd: 4545
    functionName: keydirexist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 3
    functionsReached:
    - isc_symtab_lookup
    - strcmp
    - isc_symtab_define
    - cfg_obj_log
    - dns_name_format
    - cfg_tuple_get
    - cfg_map_get
    - RUNTIME_CHECK
    - isc_mem_strdup
    - cfg_obj_line
    - snprintf
    - cfg_obj_asstring
    - strlen
    - cfg_obj_file
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4561,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4563,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4564,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4564,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4569,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4569,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4570,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4570,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4571,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4573,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/check.c:4578,1
    - Dst: isccfg_check_key
      Src: /src/bind9/lib/isccfg/check.c:4578,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4580,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4581,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4583,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:4589,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4589,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4592,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4593,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4598,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4602,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 32
    argCount: 3
    argNames:
    - keys
    - symtab
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_symtab_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4610
      start: 4553
    functionDepth: 6
    functionLinenumber: 4553
    functionLinenumberEnd: 4610
    functionName: check_keylist
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_mem_strdup
    - isccfg_check_key
    - isc_buffer_add
    - strlen
    - RETERR
    - dns_name_fromtext
    - dns_name_format
    - RUNTIME_CHECK
    - cfg_listelt_value
    - cfg_obj_asstring
    - isc_mem_free
    - cfg_map_getname
    - isc_symtab_lookup
    - isc_symtab_define
    - cfg_obj_log
    - cfg_obj_line
    - dns_fixedname_initname
    - isc_buffer_constinit
    - cfg_obj_file
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4563,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4564,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4564,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4569,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4569,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4570,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4570,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4571,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4573,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccfg/check.c:4578,1
    - Dst: isccfg_check_key
      Src: /src/bind9/lib/isccfg/check.c:4578,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4580,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:4581,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:4583,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:4589,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4589,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4592,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4593,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4598,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4602,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:4605,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4608
      start: 4562
    functionDepth: 6
    functionLinenumber: 4562
    functionLinenumberEnd: 4608
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - cfg_obj_log
    - dns_name_fromtext
    - dns_name_format
    - RUNTIME_CHECK
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_line
    - isccfg_check_key
    - cfg_obj_asstring
    - strlen
    - isc_buffer_add
    - RETERR
    - isc_mem_free
    - isc_buffer_constinit
    - cfg_map_getname
    - cfg_obj_file
    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:4624,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4625,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4625,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - keylist
    - keyname
    argTypes:
    - cfg_obj_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4631
      start: 4617
    functionDepth: 2
    functionLinenumber: 4617
    functionLinenumberEnd: 4631
    functionName: rndckey_exists
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    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:4624,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4625,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4625,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4626,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4629
      start: 4623
    functionDepth: 2
    functionLinenumber: 4623
    functionLinenumberEnd: 4629
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - cfg_map_getname
    - cfg_listelt_value
    - strcasecmp
    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:4683,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4686,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4693,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4698,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4698,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/check.c:4703,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:4705,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4706,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4707,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4725,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4727,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4728,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4745,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:4747,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:4749,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:4751,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4753,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4762,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:4773,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4776,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4777,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4777,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isccfg/check.c:4779,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4780,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4781,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4787,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4788,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4797,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4802,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4803,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4803,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4804,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4804,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4805,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4806,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4809,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4814,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4815,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4817,1
    - Dst: dns_peer_newprefix
      Src: /src/bind9/lib/isccfg/check.c:4822,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4823,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4825,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:4828,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4830,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4834,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4839,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4841,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4844,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4846,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4850,1
    - Dst: dns_peer_detach
      Src: /src/bind9/lib/isccfg/check.c:4855,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4857,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4858,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4859,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4860,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 111
    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: 4863
      start: 4665
    functionDepth: 6
    functionLinenumber: 4665
    functionLinenumberEnd: 4863
    functionName: check_servers
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - INSIST
    - cfg_map_get
    - isc_buffer_add
    - strlen
    - cfg_obj_asnetprefix
    - isc_netaddr_format
    - isc_netaddr_prefixok
    - isc_sockaddr_getport
    - dns_name_fromtext
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - check_range_uint32
    - isc_netaddr_equal
    - isc_result_totext
    - cfg_obj_asuint32
    - dns_peer_detach
    - dns_peer_newprefix
    - cfg_obj_asboolean
    - cfg_map_getname
    - isc_symtab_lookup
    - cfg_obj_log
    - cfg_obj_assockaddr
    - cfg_obj_line
    - dns_fixedname_initname
    - cfg_list_next
    - isc_buffer_constinit
    - ARRAY_SIZE
    - cfg_obj_file
    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:4693,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4698,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4698,1
    - Dst: isc_netaddr_prefixok
      Src: /src/bind9/lib/isccfg/check.c:4703,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccfg/check.c:4705,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4706,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4707,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4725,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4727,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4728,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4745,1
    - Dst: cfg_obj_issockaddr
      Src: /src/bind9/lib/isccfg/check.c:4747,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:4749,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:4751,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4753,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4762,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:4773,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:4776,1
    - Dst: cfg_obj_asnetprefix
      Src: /src/bind9/lib/isccfg/check.c:4777,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:4777,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/isccfg/check.c:4779,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:4780,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:4781,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/isccfg/check.c:4787,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4788,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4797,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4802,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4803,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4803,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4804,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4804,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4805,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4806,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4809,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:4814,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:4815,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4817,1
    - Dst: dns_peer_newprefix
      Src: /src/bind9/lib/isccfg/check.c:4822,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4823,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4825,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:4828,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4830,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4834,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/isccfg/check.c:4839,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:4841,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4844,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4846,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4850,1
    - Dst: dns_peer_detach
      Src: /src/bind9/lib/isccfg/check.c:4855,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4857,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4858,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4859,1
    - Dst: check_range_uint32
      Src: /src/bind9/lib/isccfg/check.c:4860,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4861
      start: 4692
    functionDepth: 6
    functionLinenumber: 4692
    functionLinenumberEnd: 4861
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - INSIST
    - cfg_map_get
    - isc_buffer_add
    - strlen
    - cfg_obj_asnetprefix
    - isc_netaddr_format
    - isc_netaddr_prefixok
    - isc_sockaddr_getport
    - dns_name_fromtext
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_issockaddr
    - cfg_obj_asstring
    - check_range_uint32
    - isc_netaddr_equal
    - isc_result_totext
    - cfg_obj_asuint32
    - dns_peer_detach
    - dns_peer_newprefix
    - cfg_obj_asboolean
    - cfg_map_getname
    - isc_symtab_lookup
    - cfg_obj_log
    - cfg_obj_assockaddr
    - cfg_obj_line
    - dns_fixedname_initname
    - cfg_list_next
    - isc_buffer_constinit
    - ARRAY_SIZE
    - cfg_obj_file
    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:4964,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4964,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4967,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4967,1
    - Dst: cfg_obj_asuint32
      Src: /src/bind9/lib/isccfg/check.c:4970,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4970,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4972,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4972,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:4974,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/isccfg/check.c:4975,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4975,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/isccfg/check.c:4976,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:4976,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/isccfg/check.c:4977,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4979,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:4980,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:4984,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:4984,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4985,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4988,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4991,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:4993,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:4996,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/isccfg/check.c:5004,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/isccfg/check.c:5005,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5012,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5017,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5021,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5026,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:5031,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5033,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5033,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isccfg/check.c:5034,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5037,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:5038,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/isccfg/check.c:5041,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5046,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:5053,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:5062,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:5064,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:5071,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:5073,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5084,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5089,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5094,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccfg/check.c:5099,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5101,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5101,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/isccfg/check.c:5102,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5105,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/isccfg/check.c:5106,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:5110,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:5119,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:5121,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/isccfg/check.c:5128,1
    - Dst: memcmp
      Src: /src/bind9/lib/isccfg/check.c:5130,1
    CyclomaticComplexity: 45
    EdgeCount: 45
    ICount: 107
    argCount: 2
    argNames:
    - key
    - flagsp
    argTypes:
    - cfg_obj_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5141
      start: 4871
    functionDepth: 3
    functionLinenumber: 4871
    functionLinenumberEnd: 5141
    functionName: check_trust_anchor
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodestring
    - isc_buffer_usedlength
    - isc_buffer_add
    - strlen
    - dns_name_fromtext
    - strcasecmp
    - cfg_tuple_get
    - memcmp
    - cfg_obj_asstring
    - isc_buffer_init
    - isc_result_totext
    - cfg_obj_asuint32
    - dns_name_equal
    - isc_base64_decodestring
    - UNREACHABLE
    - CLEANUP
    - cfg_obj_log
    - dns_fixedname_initname
    - isc_buffer_usedregion
    - isc_buffer_constinit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_trust_anchor(const cfg_obj_t *key, unsigned int
      *flagsp)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/isccfg/check.c:5151,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5156,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5157,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5157,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5160,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5169,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:5170,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5171,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5172,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5176,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5182,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:5184,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5185,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:5191,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:5194,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5195,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 4
    argNames:
    - symtab
    - mctx
    - keylist
    - autovalidation
    argTypes:
    - isc_symtab_t*
    - isc_mem_t*
    - cfg_obj_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5205
      start: 5143
    functionDepth: 3
    functionLinenumber: 5143
    functionLinenumberEnd: 5205
    functionName: record_static_keys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_define
    - cfg_obj_log
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - dns_name_format
    - dns_name_equal
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    - isc_mem_free
    - dns_fixedname_initname
    - dns_name_fromstring
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5156,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5157,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5157,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5160,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5169,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:5170,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5171,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5172,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5176,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5182,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:5184,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5185,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:5191,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/isccfg/check.c:5194,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5195,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5202
      start: 5153
    functionDepth: 3
    functionLinenumber: 5153
    functionLinenumberEnd: 5202
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_define
    - cfg_obj_log
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - dns_name_format
    - dns_name_equal
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    - isc_mem_free
    - dns_name_fromstring
    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:5214,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5217,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5222,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:5223,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5224,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5224,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5225,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5225,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5231,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5231,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5232,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5241,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5242,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:5244,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:5245,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - symtab
    - keylist
    argTypes:
    - isc_symtab_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5262
      start: 5207
    functionDepth: 4
    functionLinenumber: 5207
    functionLinenumberEnd: 5262
    functionName: check_initializing_keys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - cfg_obj_log
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_line
    - cfg_obj_asstring
    - dns_fixedname_initname
    - dns_name_fromstring
    - cfg_obj_file
    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:5217,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5222,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:5223,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5224,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5224,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5225,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5225,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5231,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5231,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5232,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5241,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5242,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:5244,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:5245,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5249,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5259
      start: 5216
    functionDepth: 4
    functionLinenumber: 5216
    functionLinenumberEnd: 5259
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - cfg_obj_log
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - dns_name_format
    - cfg_listelt_value
    - cfg_obj_line
    - cfg_obj_asstring
    - dns_name_fromstring
    - cfg_obj_file
    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:5272,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5277,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5278,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5278,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5281,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5290,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:5291,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5292,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5293,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5294,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5301,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:5303,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5304,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:5310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 3
    argNames:
    - symtab
    - mctx
    - keylist
    argTypes:
    - isc_symtab_t*
    - isc_mem_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5313
      start: 5264
    functionDepth: 2
    functionLinenumber: 5264
    functionLinenumberEnd: 5313
    functionName: record_ds_keys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_define
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - dns_name_format
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    - isc_mem_free
    - dns_fixedname_initname
    - dns_name_fromstring
    linkageType: ''
    returnType: void
    signature: "void 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:5277,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5278,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5278,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5281,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5290,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:5291,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5292,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5293,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5294,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5301,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/isccfg/check.c:5303,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:5304,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/isccfg/check.c:5310,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5312
      start: 5274
    functionDepth: 2
    functionLinenumber: 5274
    functionLinenumberEnd: 5312
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_define
    - cfg_obj_isvoid
    - strcasecmp
    - cfg_tuple_get
    - dns_name_format
    - cfg_listelt_value
    - isc_mem_strdup
    - cfg_obj_asstring
    - isc_mem_free
    - dns_name_fromstring
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(keylist, elt)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5325,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5326,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5333,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:5334,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:5340,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5344,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:5345,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:5351,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5359,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:5360,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5367,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:5368,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5375,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5378,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    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: 5381
      start: 5318
    functionDepth: 5
    functionLinenumber: 5318
    functionLinenumberEnd: 5381
    functionName: check_ta_conflicts
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - record_static_keys
    - isc_symtab_destroy
    - check_initializing_keys
    - record_ds_keys
    - cfg_listelt_value
    - isc_symtab_create
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5333,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:5334,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:5340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5341
      start: 5332
    functionDepth: 4
    functionLinenumber: 5332
    functionLinenumberEnd: 5341
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - record_static_keys
    - record_ds_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:5344,1
    - Dst: record_static_keys
      Src: /src/bind9/lib/isccfg/check.c:5345,1
    - Dst: record_ds_keys
      Src: /src/bind9/lib/isccfg/check.c:5351,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5352
      start: 5343
    functionDepth: 4
    functionLinenumber: 5343
    functionLinenumberEnd: 5352
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - record_static_keys
    - record_ds_keys
    - cfg_listelt_value
    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:5359,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:5360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5364
      start: 5358
    functionDepth: 5
    functionLinenumber: 5358
    functionLinenumberEnd: 5364
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    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:5367,1
    - Dst: check_initializing_keys
      Src: /src/bind9/lib/isccfg/check.c:5368,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5372
      start: 5366
    functionDepth: 5
    functionLinenumber: 5366
    functionLinenumberEnd: 5372
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    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:5405,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5406,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5409,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5410,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5411,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5416,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5424,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5427,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5434,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5435,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5439,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5440,1
    - Dst: cfg_obj_ismap
      Src: /src/bind9/lib/isccfg/check.c:5442,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5443,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5446,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5449,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5450,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5451,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5452,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5454,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: 5464
      start: 5385
    functionDepth: 5
    functionLinenumber: 5385
    functionLinenumberEnd: 5464
    functionName: check_rpz_catz
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - cfg_obj_ismap
    - cfg_obj_log
    - strcasecmp
    - dns_name_format
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_fixedname_initname
    - cfg_obj_istuple
    - dns_name_fromstring
    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:5409,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5410,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5411,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5416,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5424,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5427,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5434,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:5435,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5439,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5440,1
    - Dst: cfg_obj_ismap
      Src: /src/bind9/lib/isccfg/check.c:5442,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5443,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5446,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5449,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5450,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5451,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:5452,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5454,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5462
      start: 5408
    functionDepth: 5
    functionLinenumber: 5408
    functionLinenumberEnd: 5462
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - cfg_obj_ismap
    - cfg_obj_log
    - strcasecmp
    - dns_name_format
    - cfg_tuple_get
    - cfg_map_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_obj_istuple
    - dns_name_fromstring
    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:5472,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5474,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5477,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5478,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5479,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5481,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5484,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5492,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:5493,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5494,1
    - Dst: dns_rpz_str2ede
      Src: /src/bind9/lib/isccfg/check.c:5496,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - rpz_obj
    argTypes:
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5505
      start: 5466
    functionDepth: 3
    functionLinenumber: 5466
    functionLinenumberEnd: 5505
    functionName: check_rpz
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_tuple_get
    - cfg_obj_isstring
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_fixedname_initname
    - dns_name_fromstring
    - dns_rpz_str2ede
    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:5477,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5478,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5479,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5481,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5484,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5492,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:5493,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5494,1
    - Dst: dns_rpz_str2ede
      Src: /src/bind9/lib/isccfg/check.c:5496,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5502
      start: 5476
    functionDepth: 3
    functionLinenumber: 5476
    functionLinenumberEnd: 5502
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_tuple_get
    - cfg_obj_isstring
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_name_fromstring
    - dns_rpz_str2ede
    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:5515,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5522,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5524,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5529,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5530,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5531,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5533,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5536,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5544,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:5545,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5553,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5554,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5555,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5557,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5559,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5572,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: 5576
      start: 5507
    functionDepth: 4
    functionLinenumber: 5507
    functionLinenumberEnd: 5576
    functionName: check_catz
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - isc_symtab_destroy
    - dns_name_format
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_fixedname_initname
    - cfg_obj_istuple
    - dns_name_fromstring
    - isc_symtab_create
    - exists
    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:5529,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5530,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:5531,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/isccfg/check.c:5533,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5536,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/isccfg/check.c:5544,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:5545,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5553,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5554,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:5555,1
    - Dst: cfg_obj_istuple
      Src: /src/bind9/lib/isccfg/check.c:5557,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5559,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5569
      start: 5526
    functionDepth: 3
    functionLinenumber: 5526
    functionLinenumberEnd: 5569
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - dns_name_format
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_obj_istuple
    - dns_name_fromstring
    - exists
    linkageType: ''
    returnType: void
    signature: void CFG_LIST_FOREACH(obj, element)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5585,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5588,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5592,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5595,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5598,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:5606,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccfg/check.c:5607,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - voptions
    - config
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5611
      start: 5578
    functionDepth: 5
    functionLinenumber: 5578
    functionLinenumberEnd: 5611
    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: 53
    BranchProfiles: []
    Callsites:
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5637,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5652,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/lib/isccfg/check.c:5654,1
    - Dst: check_recursion
      Src: /src/bind9/lib/isccfg/check.c:5657,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5660,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5668,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5670,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5674,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/lib/isccfg/check.c:5676,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5690,1
    - Dst: check_rpz_catz
      Src: /src/bind9/lib/isccfg/check.c:5692,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5700,1
    - Dst: check_rpz_catz
      Src: /src/bind9/lib/isccfg/check.c:5702,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5715,1
    - Dst: check_rpz
      Src: /src/bind9/lib/isccfg/check.c:5717,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5728,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5730,1
    - Dst: check_catz
      Src: /src/bind9/lib/isccfg/check.c:5740,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5746,1
    - Dst: check_forward
      Src: /src/bind9/lib/isccfg/check.c:5751,1
    - Dst: check_nonzero
      Src: /src/bind9/lib/isccfg/check.c:5759,1
    - Dst: check_nonzero
      Src: /src/bind9/lib/isccfg/check.c:5762,1
    - Dst: check_dual_stack
      Src: /src/bind9/lib/isccfg/check.c:5769,1
    - Dst: check_order
      Src: /src/bind9/lib/isccfg/check.c:5776,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5784,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5786,1
    - Dst: check_keylist
      Src: /src/bind9/lib/isccfg/check.c:5787,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5797,1
    - Dst: check_keylist
      Src: /src/bind9/lib/isccfg/check.c:5798,1
    - Dst: check_servers
      Src: /src/bind9/lib/isccfg/check.c:5810,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5814,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5820,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5822,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5832,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5834,1
    - Dst: check_trust_anchor
      Src: /src/bind9/lib/isccfg/check.c:5835,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5844,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5855,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5867,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5874,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5877,1
    - Dst: cfg_obj_isboolean
      Src: /src/bind9/lib/isccfg/check.c:5880,1
    - Dst: cfg_obj_asboolean
      Src: /src/bind9/lib/isccfg/check.c:5882,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:5884,1
    - Dst: check_ta_conflicts
      Src: /src/bind9/lib/isccfg/check.c:5894,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:5903,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:5906,1
    - Dst: check_dnstap
      Src: /src/bind9/lib/isccfg/check.c:5913,1
    - Dst: check_viewacls
      Src: /src/bind9/lib/isccfg/check.c:5918,1
    - Dst: check_recursionacls
      Src: /src/bind9/lib/isccfg/check.c:5923,1
    - Dst: check_dns64
      Src: /src/bind9/lib/isccfg/check.c:5928,1
    - Dst: check_ratelimit
      Src: /src/bind9/lib/isccfg/check.c:5933,1
    - Dst: check_fetchlimit
      Src: /src/bind9/lib/isccfg/check.c:5938,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5947,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:5949,1
    - Dst: check_plugins
      Src: /src/bind9/lib/isccfg/check.c:5952,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:5960,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/lib/isccfg/check.c:5963,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 200
    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: 5967
      start: 5613
    functionDepth: 11
    functionLinenumber: 5613
    functionLinenumberEnd: 5967
    functionName: check_viewconf
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_keylist
    - check_order
    - cfg_map_get
    - check_ratelimit
    - check_servers
    - check_dnstap
    - check_dual_stack
    - check_plugins
    - check_recursionacls
    - check_trust_anchor
    - check_ta_conflicts
    - check_nonzero
    - isc_symtab_destroy
    - check_catz
    - check_dns64
    - cfg_listelt_value
    - check_forward
    - cfg_aclconfctx_create
    - check_recursion
    - check_rpz
    - check_viewacls
    - cfg_obj_asboolean
    - check_rpz_catz
    - cfg_aclconfctx_detach
    - isc_symtab_create
    - check_options
    - cfg_obj_log
    - isccfg_check_zoneconf
    - cfg_obj_isboolean
    - check_fetchlimit
    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:5674,1
    - Dst: isccfg_check_zoneconf
      Src: /src/bind9/lib/isccfg/check.c:5676,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5682
      start: 5673
    functionDepth: 11
    functionLinenumber: 5673
    functionLinenumberEnd: 5682
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isccfg_check_zoneconf
    - cfg_listelt_value
    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:5832,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:5834,1
    - Dst: check_trust_anchor
      Src: /src/bind9/lib/isccfg/check.c:5835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5841
      start: 5830
    functionDepth: 4
    functionLinenumber: 5830
    functionLinenumberEnd: 5841
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    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:5834,1
    - Dst: check_trust_anchor
      Src: /src/bind9/lib/isccfg/check.c:5835,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5840
      start: 5833
    functionDepth: 4
    functionLinenumber: 5833
    functionLinenumberEnd: 5840
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    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:5991,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:5996,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:6000,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:6002,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6005,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6008,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6009,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:6009,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6011,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6012,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6013,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6014,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6029,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:6036,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:6038,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6041,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6044,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6045,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6045,1
    - Dst: isc_log_categorybyname
      Src: /src/bind9/lib/isccfg/check.c:6046,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6048,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6052,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6054,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6055,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:6056,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6059,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6066,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6068
      start: 5972
    functionDepth: 5
    functionLinenumber: 5972
    functionLinenumberEnd: 6068
    functionName: check_logging
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_log_categorybyname
    - isc_symtab_define
    - isc_symtab_lookup
    - cfg_obj_log
    - isc_symtab_destroy
    - cfg_tuple_get
    - cfg_map_get
    - RUNTIME_CHECK
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_map_getname
    - isc_symtab_create
    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:6008,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6009,1
    - Dst: cfg_map_getname
      Src: /src/bind9/lib/isccfg/check.c:6009,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6011,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6012,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6013,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6014,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6029,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:6036,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:6038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 6007
    functionDepth: 5
    functionLinenumber: 6007
    functionLinenumberEnd: 6039
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_define
    - cfg_obj_log
    - cfg_map_get
    - RUNTIME_CHECK
    - cfg_listelt_value
    - cfg_obj_asstring
    - cfg_map_getname
    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:6044,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6045,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6045,1
    - Dst: isc_log_categorybyname
      Src: /src/bind9/lib/isccfg/check.c:6046,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6048,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6052,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6054,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6055,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:6056,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6059,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6065
      start: 6043
    functionDepth: 4
    functionLinenumber: 6043
    functionLinenumberEnd: 6065
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_log_categorybyname
    - isc_symtab_lookup
    - cfg_obj_log
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_asstring
    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:6054,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6055,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:6056,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6059,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6064
      start: 6053
    functionDepth: 4
    functionLinenumber: 6053
    functionLinenumberEnd: 6064
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - cfg_obj_asstring
    - cfg_obj_log
    - cfg_listelt_value
    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:6077,1
    - Dst: cfg_obj_isvoid
      Src: /src/bind9/lib/isccfg/check.c:6078,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6083,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6084,1
    - Dst: rndckey_exists
      Src: /src/bind9/lib/isccfg/check.c:6086,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6087,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - control
    - keylist
    argTypes:
    - cfg_obj_t*
    - cfg_obj_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6093
      start: 6070
    functionDepth: 3
    functionLinenumber: 6070
    functionLinenumberEnd: 6093
    functionName: check_controlskeys
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - cfg_obj_isvoid
    - cfg_tuple_get
    - rndckey_exists
    - cfg_listelt_value
    - cfg_obj_asstring
    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:6083,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6084,1
    - Dst: rndckey_exists
      Src: /src/bind9/lib/isccfg/check.c:6086,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6087,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6091
      start: 6082
    functionDepth: 3
    functionLinenumber: 6082
    functionLinenumberEnd: 6091
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_asstring
    - rndckey_exists
    - cfg_obj_log
    - cfg_listelt_value
    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:6111,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6116,1
    - Dst: cfg_aclconfctx_create
      Src: /src/bind9/lib/isccfg/check.c:6118,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:6120,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6127,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6130,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6131,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6136,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6137,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:6138,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:6141,1
    - Dst: check_controlskeys
      Src: /src/bind9/lib/isccfg/check.c:6146,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6150,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:6151,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:6152,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/isccfg/check.c:6153,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isccfg/check.c:6155,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:6156,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6166,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6167,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6167,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6168,1
    - Dst: cfg_aclconfctx_detach
      Src: /src/bind9/lib/isccfg/check.c:6174,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6176,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 48
    argCount: 2
    argNames:
    - config
    - mctx
    argTypes:
    - cfg_obj_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6179
      start: 6095
    functionDepth: 9
    functionLinenumber: 6095
    functionLinenumberEnd: 6179
    functionName: check_controls
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_controlskeys
    - isc_sockaddr_setport
    - cfg_obj_log
    - cfg_aclconfctx_create
    - isc_symtab_destroy
    - cfg_obj_assockaddr
    - cfg_tuple_get
    - cfg_map_get
    - isc_sockaddr_getport
    - cfg_acl_fromconfig
    - isc_sockaddr_format
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_acl_detach
    - cfg_aclconfctx_detach
    - isc_symtab_create
    - exists
    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:6127,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6130,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6131,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6136,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6137,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:6138,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:6141,1
    - Dst: check_controlskeys
      Src: /src/bind9/lib/isccfg/check.c:6146,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6150,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:6151,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:6152,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/isccfg/check.c:6153,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isccfg/check.c:6155,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:6156,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6166,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6167,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6167,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6168,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6172
      start: 6126
    functionDepth: 9
    functionLinenumber: 6126
    functionLinenumberEnd: 6172
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_controlskeys
    - isc_sockaddr_setport
    - cfg_obj_log
    - cfg_obj_assockaddr
    - cfg_tuple_get
    - cfg_map_get
    - isc_sockaddr_getport
    - cfg_acl_fromconfig
    - isc_sockaddr_format
    - cfg_listelt_value
    - cfg_obj_asstring
    - dns_acl_detach
    - exists
    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:6136,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6137,1
    - Dst: cfg_acl_fromconfig
      Src: /src/bind9/lib/isccfg/check.c:6138,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/isccfg/check.c:6141,1
    - Dst: check_controlskeys
      Src: /src/bind9/lib/isccfg/check.c:6146,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6150,1
    - Dst: cfg_obj_assockaddr
      Src: /src/bind9/lib/isccfg/check.c:6151,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/isccfg/check.c:6152,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/isccfg/check.c:6153,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/isccfg/check.c:6155,1
    - Dst: exists
      Src: /src/bind9/lib/isccfg/check.c:6156,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6164
      start: 6132
    functionDepth: 9
    functionLinenumber: 6132
    functionLinenumberEnd: 6164
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - check_controlskeys
    - isc_sockaddr_setport
    - cfg_obj_assockaddr
    - cfg_tuple_get
    - isc_sockaddr_getport
    - isc_sockaddr_format
    - cfg_acl_fromconfig
    - cfg_listelt_value
    - dns_acl_detach
    - exists
    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:6166,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6167,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6167,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6171
      start: 6165
    functionDepth: 3
    functionLinenumber: 6165
    functionLinenumberEnd: 6171
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_tuple_get
    - cfg_obj_asstring
    - cfg_obj_log
    - cfg_listelt_value
    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:6198,1
    - Dst: check_options
      Src: /src/bind9/lib/isccfg/check.c:6201,1
    - Dst: check_logging
      Src: /src/bind9/lib/isccfg/check.c:6207,1
    - Dst: check_controls
      Src: /src/bind9/lib/isccfg/check.c:6211,1
    - Dst: check_remoteserverlists
      Src: /src/bind9/lib/isccfg/check.c:6215,1
    - Dst: check_httpservers
      Src: /src/bind9/lib/isccfg/check.c:6220,1
    - Dst: check_tls_definitions
      Src: /src/bind9/lib/isccfg/check.c:6225,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6229,1
    - Dst: check_dual_stack
      Src: /src/bind9/lib/isccfg/check.c:6232,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:6249,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:6250,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:6251,1
    - Dst: check_viewconf
      Src: /src/bind9/lib/isccfg/check.c:6254,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6263,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6265,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6271,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6273,1
    - Dst: isc_symtab_create
      Src: /src/bind9/lib/isccfg/check.c:6280,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6283,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6284,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6285,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6286,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6288,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:6293,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:6296,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6296,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:6297,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:6298,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6300,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6302,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:6308,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:6314,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:6314,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:6318,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:6319,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6320,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6325,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6327,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6330,1
    - Dst: check_viewconf
      Src: /src/bind9/lib/isccfg/check.c:6338,1
    - Dst: cfg_map_get
      Src: /src/bind9/lib/isccfg/check.c:6347,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6353,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:6354,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6357,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6357,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6361,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6363,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6374,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6375,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6377,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6379,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6380,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6381,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:6382,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6388,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6400,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6403,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6406,1
    - Dst: isc_symtab_destroy
      Src: /src/bind9/lib/isccfg/check.c:6409,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: 6413
      start: 6181
    functionDepth: 12
    functionLinenumber: 6181
    functionLinenumberEnd: 6413
    functionName: isccfg_check_namedconf
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 2
    functionsReached:
    - check_tls_definitions
    - cfg_map_get
    - check_controls
    - check_logging
    - strlen
    - check_dual_stack
    - check_viewconf
    - strcasecmp
    - isc_symtab_destroy
    - cfg_tuple_get
    - RUNTIME_CHECK
    - check_remoteserverlists
    - cfg_listelt_value
    - cfg_obj_asstring
    - check_httpservers
    - cfg_obj_isstring
    - UNCONST
    - isc_symtab_create
    - isc_symtab_lookup
    - check_options
    - isc_symtab_define
    - cfg_obj_log
    - dns_rdataclass_fromtext
    - cfg_obj_line
    - cfg_list_next
    - cfg_obj_file
    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:6283,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6284,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6285,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6286,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6288,1
    - Dst: cfg_obj_isstring
      Src: /src/bind9/lib/isccfg/check.c:6293,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccfg/check.c:6296,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6296,1
    - Dst: strlen
      Src: /src/bind9/lib/isccfg/check.c:6297,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/isccfg/check.c:6298,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6300,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6302,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccfg/check.c:6308,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/isccfg/check.c:6314,1
    - Dst: isc_symtab_lookup
      Src: /src/bind9/lib/isccfg/check.c:6314,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:6318,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:6319,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6320,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6325,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6327,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6330,1
    - Dst: check_viewconf
      Src: /src/bind9/lib/isccfg/check.c:6338,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6345
      start: 6282
    functionDepth: 12
    functionLinenumber: 6282
    functionLinenumberEnd: 6345
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - isc_symtab_lookup
    - isc_symtab_define
    - check_viewconf
    - cfg_obj_log
    - dns_rdataclass_fromtext
    - strcasecmp
    - cfg_tuple_get
    - cfg_obj_isstring
    - RUNTIME_CHECK
    - cfg_listelt_value
    - cfg_obj_line
    - cfg_obj_asstring
    - strlen
    - UNCONST
    - cfg_obj_file
    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:6353,1
    - Dst: cfg_obj_line
      Src: /src/bind9/lib/isccfg/check.c:6354,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6357,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6357,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6361,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6363,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6374,1
    - Dst: cfg_list_next
      Src: /src/bind9/lib/isccfg/check.c:6375,1
    - Dst: cfg_listelt_value
      Src: /src/bind9/lib/isccfg/check.c:6377,1
    - Dst: cfg_obj_asstring
      Src: /src/bind9/lib/isccfg/check.c:6379,1
    - Dst: cfg_tuple_get
      Src: /src/bind9/lib/isccfg/check.c:6380,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/isccfg/check.c:6381,1
    - Dst: cfg_obj_file
      Src: /src/bind9/lib/isccfg/check.c:6382,1
    - Dst: cfg_obj_log
      Src: /src/bind9/lib/isccfg/check.c:6388,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6396
      start: 6352
    functionDepth: 3
    functionLinenumber: 6352
    functionLinenumberEnd: 6396
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/check.c
    functionUses: 0
    functionsReached:
    - cfg_obj_log
    - strcasecmp
    - cfg_tuple_get
    - cfg_listelt_value
    - cfg_obj_line
    - cfg_obj_asstring
    - cfg_list_next
    - cfg_obj_file
    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: 87
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 87
    functionName: CFG_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/isccfg/include/isccfg/cfg.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CFG_LIST_FOREACH(listobj, elt)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/view.c:92,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/view.c:93,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 94
    functionName: rootdb_stale
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - atomic_load_relaxed
    - isc_stdtime_now
    linkageType: ''
    returnType: bool
    signature: bool rootdb_stale(dns_view_t *view)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: rootdb_stale
      Src: /src/bind9/lib/dns/view.c:100,1
    - Dst: dns_view_getresolver
      Src: /src/bind9/lib/dns/view.c:103,1
    - Dst: dns_resolver_prime
      Src: /src/bind9/lib/dns/view.c:106,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/view.c:107,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 108
    functionName: maybe_prime
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_resolver_detach
    - dns_resolver_prime
    - rootdb_stale
    - dns_view_getresolver
    linkageType: ''
    returnType: void
    signature: void maybe_prime(dns_view_t *view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:118,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:119,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:121,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/view.c:122,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/view.c:124,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/view.c:127,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/view.c:128,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/view.c:148,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/view.c:149,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/view.c:151,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/view.c:153,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/view.c:154,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/view.c:155,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/view.c:157,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/view.c:159,1
    - Dst: dns_dispatchmgr_attach
      Src: /src/bind9/lib/dns/view.c:162,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/view.c:165,1
    - Dst: dns_zt_create
      Src: /src/bind9/lib/dns/view.c:167,1
    - Dst: dns_fwdtable_create
      Src: /src/bind9/lib/dns/view.c:169,1
    - Dst: dns_tsigkeyring_create
      Src: /src/bind9/lib/dns/view.c:171,1
    - Dst: dns_badcache_new
      Src: /src/bind9/lib/dns/view.c:173,1
    - Dst: dns_unreachcache_new
      Src: /src/bind9/lib/dns/view.c:175,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/view.c:179,1
    - Dst: dns_order_create
      Src: /src/bind9/lib/dns/view.c:181,1
    - Dst: dns_peerlist_new
      Src: /src/bind9/lib/dns/view.c:183,1
    - Dst: dns_aclenv_create
      Src: /src/bind9/lib/dns/view.c:185,1
    - Dst: dns_nametree_create
      Src: /src/bind9/lib/dns/view.c:187,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 5
    argNames:
    - mctx
    - dispatchmgr
    - rdclass
    - name
    - viewp
    argTypes:
    - isc_mem_t*
    - dns_dispatchmgr_t*
    - dns_rdataclass_t
    - char*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 191
    functionName: dns_view_create
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_aclenv_create
    - dns_nametree_create
    - isc_mem_strdup
    - ISC_LIST_INIT
    - dns_peerlist_new
    - ISC_LINK_INIT
    - dns_tsigkeyring_create
    - RUNTIME_CHECK
    - dns_order_create
    - dns_zt_create
    - dns_fwdtable_create
    - dns_fixedname_init
    - dns_dispatchmgr_attach
    - isc_refcount_init
    - isc_mutex_init
    - isc_mem_get
    - dns_unreachcache_new
    - isc_file_sanitize
    - dns_badcache_new
    linkageType: ''
    returnType: void
    signature: "void dns_view_create(isc_mem_t *mctx, dns_dispatchmgr_t *dispatchmgr,\n\t\tdns_rdataclass_t
      rdclass, const char *name,\n\t\tdns_view_t **viewp)"
  - BBCount: 51
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:197,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/view.c:197,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:199,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:200,1
    - Dst: dns_delegdb_detach
      Src: /src/bind9/lib/dns/view.c:203,1
    - Dst: dns_order_detach
      Src: /src/bind9/lib/dns/view.c:207,1
    - Dst: dns_peerlist_detach
      Src: /src/bind9/lib/dns/view.c:210,1
    - Dst: isc_file_mktemplate
      Src: /src/bind9/lib/dns/view.c:219,1
    - Dst: isc_file_openuniqueprivate
      Src: /src/bind9/lib/dns/view.c:221,1
    - Dst: dns_tsigkeyring_dump
      Src: /src/bind9/lib/dns/view.c:224,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/view.c:226,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:227,1
    - Dst: isc_file_rename
      Src: /src/bind9/lib/dns/view.c:231,1
    - Dst: remove
      Src: /src/bind9/lib/dns/view.c:236,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/view.c:239,1
    - Dst: remove
      Src: /src/bind9/lib/dns/view.c:240,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/lib/dns/view.c:243,1
    - Dst: dns_transport_list_detach
      Src: /src/bind9/lib/dns/view.c:246,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/lib/dns/view.c:249,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:253,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:254,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:255,1
    - Dst: dns_rrl_view_destroy
      Src: /src/bind9/lib/dns/view.c:257,1
    - Dst: dns_rpz_zones_shutdown
      Src: /src/bind9/lib/dns/view.c:259,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/lib/dns/view.c:260,1
    - Dst: dns_catz_zones_shutdown
      Src: /src/bind9/lib/dns/view.c:263,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/view.c:264,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:266,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/view.c:267,1
    - Dst: dns_dlzdestroy
      Src: /src/bind9/lib/dns/view.c:268,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:270,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/view.c:271,1
    - Dst: dns_dlzdestroy
      Src: /src/bind9/lib/dns/view.c:272,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:275,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:278,1
    - Dst: dns_cache_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_acl_detach
      Src: /src/bind9/lib/dns/view.c:314,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:317,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:320,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:323,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:326,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:329,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/view.c:332,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:335,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:338,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:341,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/view.c:344,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:347,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:350,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/view.c:352,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/view.c:353,1
    - Dst: dns_dns64_destroy
      Src: /src/bind9/lib/dns/view.c:355,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:358,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:361,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/lib/dns/view.c:365,1
    - Dst: dns_view_t*::newzone::cleanup
      Src: /src/bind9/lib/dns/view.c:369,1
    - Dst: mdb_env_close
      Src: /src/bind9/lib/dns/view.c:372,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:376,1
    - Dst: dns_fwdtable_destroy
      Src: /src/bind9/lib/dns/view.c:378,1
    - Dst: dns_aclenv_detach
      Src: /src/bind9/lib/dns/view.c:379,1
    - Dst: dns_badcache_destroy
      Src: /src/bind9/lib/dns/view.c:381,1
    - Dst: dns_unreachcache_destroy
      Src: /src/bind9/lib/dns/view.c:384,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/view.c:386,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/view.c:387,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:388,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:389,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:390,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/view.c:391,1
    - Dst: dns_view_t*::hooktable_free
      Src: /src/bind9/lib/dns/view.c:393,1
    - Dst: dns_view_t*::plugins_free
      Src: /src/bind9/lib/dns/view.c:396,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/view.c:398,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 184
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 399
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 297
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_zone_detach
    - INSIST
    - dns_unreachcache_destroy
    - dns_view_t*::plugins_free
    - mdb_env_close
    - ISC_LINK_LINKED
    - dns_dns64_destroy
    - isc_mem_putanddetach
    - dns_badcache_destroy
    - isc_file_rename
    - fclose
    - isc_file_mktemplate
    - dns_peerlist_detach
    - dns_catz_zones_shutdown
    - dns_cache_detach
    - dns_acl_detach
    - dns_dlzdestroy
    - dns_rpz_zones_detach
    - remove
    - dns_aclenv_detach
    - isc_mem_free
    - dns_order_detach
    - dns_nametree_detach
    - dns_db_detach
    - dns_keytable_detach
    - ISC_LIST_HEAD
    - dns_delegdb_detach
    - dns_ntatable_detach
    - dns_tsigkeyring_dump
    - isc_refcount_destroy
    - dns_rrl_view_destroy
    - dns_transport_list_detach
    - dns_view_t*::hooktable_free
    - dns_view_t*::newzone::cleanup
    - dns_rpz_zones_shutdown
    - dns_tsigkeyring_detach
    - ISC_LIST_FOREACH
    - dns_dtenv_detach
    - dns_catz_zones_detach
    - isc_mutex_destroy
    - dns_fwdtable_destroy
    - isc_file_sanitize
    - isc_file_openuniqueprivate
    linkageType: ''
    returnType: void
    signature: void destroy(dns_view_t *view)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:403,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:404,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/view.c:406,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_view_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 409
    functionName: dns_view_attach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - isc_refcount_increment
    linkageType: ''
    returnType: void
    signature: void dns_view_attach(dns_view_t *source, dns_view_t **targetp)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/view.c:420,1
    - Dst: dns_resolver_shutdown
      Src: /src/bind9/lib/dns/view.c:424,1
    - Dst: dns_delegdb_shutdown
      Src: /src/bind9/lib/dns/view.c:428,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:431,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:432,1
    - Dst: dns_adb_shutdown
      Src: /src/bind9/lib/dns/view.c:434,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:436,1
    - Dst: dns_requestmgr_shutdown
      Src: /src/bind9/lib/dns/view.c:439,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:443,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:450,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/view.c:451,1
    - Dst: dns_zt_flush
      Src: /src/bind9/lib/dns/view.c:454,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/view.c:457,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/view.c:458,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:459,1
    - Dst: dns_zone_flush
      Src: /src/bind9/lib/dns/view.c:469,1
    - Dst: dns_zone_flush
      Src: /src/bind9/lib/dns/view.c:476,1
    - Dst: dns_catz_zones_shutdown
      Src: /src/bind9/lib/dns/view.c:480,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/view.c:481,1
    - Dst: dns_ntatable_shutdown
      Src: /src/bind9/lib/dns/view.c:484,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:486,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/view.c:490,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/view.c:493,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/view.c:495,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/view.c:498,1
    - Dst: dns_zt_detach
      Src: /src/bind9/lib/dns/view.c:501,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/lib/dns/view.c:504,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:507,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:510,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/view.c:513,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 81
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 411
    functionDepth: 1
    functionLinenumber: 411
    functionLinenumberEnd: 514
    functionName: shutdown_view
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_requestmgr_detach
    - dns_zt_flush
    - dns_zone_detach
    - dns_resolver_detach
    - dns_ntatable_shutdown
    - rcu_dereference
    - dns_catz_zones_shutdown
    - UNLOCK
    - dns_adb_shutdown
    - rcu_read_unlock
    - rcu_xchg_pointer
    - dns_requestmgr_shutdown
    - dns_view_weakdetach
    - LOCK
    - rcu_read_lock
    - dns_dispatchmgr_detach
    - isc_refcount_destroy
    - synchronize_rcu
    - dns_delegdb_shutdown
    - dns_resolver_shutdown
    - dns_zone_flush
    - dns_zt_detach
    - dns_catz_zones_detach
    - dns_adb_detach
    linkageType: ''
    returnType: void
    signature: void shutdown_view(dns_view_t *view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:520,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:520,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/view.c:525,1
    - Dst: shutdown_view
      Src: /src/bind9/lib/dns/view.c:526,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - viewp
    argTypes:
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 528
      start: 516
    functionDepth: 2
    functionLinenumber: 516
    functionLinenumberEnd: 528
    functionName: dns_view_detach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 38
    functionsReached:
    - REQUIRE
    - isc_refcount_decrement
    - DNS_VIEW_VALID
    - shutdown_view
    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:532,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:532,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:533,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/view.c:535,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_view_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: dns_view_weakattach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - isc_refcount_increment
    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:544,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:549,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:549,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/view.c:551,1
    - Dst: destroy
      Src: /src/bind9/lib/dns/view.c:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - viewp
    argTypes:
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 554
    functionName: dns_view_weakdetach
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - destroy
    - isc_refcount_decrement
    - DNS_VIEW_VALID
    linkageType: ''
    returnType: void
    signature: void dns_view_weakdetach(dns_view_t **viewp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:564,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:564,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:565,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:566,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:567,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/view.c:569,1
    - Dst: dns_resolver_create
      Src: /src/bind9/lib/dns/view.c:569,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/view.c:572,1
    - Dst: dns_adb_create
      Src: /src/bind9/lib/dns/view.c:573,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/view.c:574,1
    - Dst: dns_requestmgr_create
      Src: /src/bind9/lib/dns/view.c:576,1
    - Dst: dns_adb_shutdown
      Src: /src/bind9/lib/dns/view.c:586,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/view.c:587,1
    - Dst: dns_resolver_shutdown
      Src: /src/bind9/lib/dns/view.c:589,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/view.c:590,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 5
    argNames:
    - view
    - options
    - tlsctx_cache
    - dispatchv4
    - dispatchv6
    argTypes:
    - dns_view_t*
    - unsigned int
    - isc_tlsctx_cache_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 593
      start: 556
    functionDepth: 1
    functionLinenumber: 556
    functionLinenumberEnd: 593
    functionName: dns_view_createresolver
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_mem_create
    - dns_resolver_shutdown
    - dns_adb_shutdown
    - dns_resolver_detach
    - isc_mem_detach
    - RETERR
    - dns_requestmgr_create
    - dns_resolver_create
    - dns_adb_create
    - dns_adb_detach
    - DNS_VIEW_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_createresolver(dns_view_t *view, unsigned int
      options,\n\t\t\tisc_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:597,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:597,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:598,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:602,1
    - Dst: dns_cache_detach
      Src: /src/bind9/lib/dns/view.c:603,1
    - Dst: dns_cache_attach
      Src: /src/bind9/lib/dns/view.c:605,1
    - Dst: dns_cache_attachdb
      Src: /src/bind9/lib/dns/view.c:606,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:607,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/view.c:607,1
    - Dst: dns_cache_setmaxrrperset
      Src: /src/bind9/lib/dns/view.c:609,1
    - Dst: dns_cache_setmaxtypepername
      Src: /src/bind9/lib/dns/view.c:610,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: 611
      start: 595
    functionDepth: 1
    functionLinenumber: 595
    functionLinenumberEnd: 611
    functionName: dns_view_setcache
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_db_detach
    - dns_cache_attach
    - dns_cache_attachdb
    - INSIST
    - dns_cache_setmaxrrperset
    - dns_cache_detach
    - DNS_VIEW_VALID
    - dns_cache_setmaxtypepername
    - DNS_DB_VALID
    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:615,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: dns_view_iscacheshared
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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: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: REQUIRE
      Src: /src/bind9/lib/dns/view.c:624,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:625,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/view.c:625,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:627,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - view
    - rootdb
    argTypes:
    - dns_view_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 628
    functionName: dns_view_setrootdb
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - dns_db_iszone
    - DNS_VIEW_VALID
    linkageType: ''
    returnType: void
    signature: void dns_view_setrootdb(dns_view_t *view, dns_db_t *rootdb)
  - 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_transport_list_detach
      Src: /src/bind9/lib/dns/view.c:635,1
    - Dst: dns_transport_list_attach
      Src: /src/bind9/lib/dns/view.c:637,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: 638
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 638
    functionName: dns_view_settransports
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - dns_transport_list_detach
    - dns_transport_list_attach
    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: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_detach
      Src: /src/bind9/lib/dns/view.c:645,1
    - Dst: dns_tsigkeyring_attach
      Src: /src/bind9/lib/dns/view.c:647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - view
    - ring
    argTypes:
    - dns_view_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 648
    functionName: dns_view_setkeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_tsigkeyring_detach
    - dns_tsigkeyring_attach
    - DNS_VIEW_VALID
    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:652,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:652,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:653,1
    - Dst: dns_tsigkeyring_detach
      Src: /src/bind9/lib/dns/view.c:655,1
    - Dst: dns_tsigkeyring_attach
      Src: /src/bind9/lib/dns/view.c:657,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - view
    - ring
    argTypes:
    - dns_view_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 658
    functionName: dns_view_setdynamickeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_tsigkeyring_detach
    - dns_tsigkeyring_attach
    - DNS_VIEW_VALID
    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:662,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:662,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:663,1
    - Dst: dns_tsigkeyring_attach
      Src: /src/bind9/lib/dns/view.c:665,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - view
    - ringp
    argTypes:
    - dns_view_t*
    - dns_tsigkeyring_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 667
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 667
    functionName: dns_view_getdynamickeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_tsigkeyring_attach
    - DNS_VIEW_VALID
    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:675,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:675,1
    - Dst: isc_file_sanitize
      Src: /src/bind9/lib/dns/view.c:678,1
    - Dst: fopen
      Src: /src/bind9/lib/dns/view.c:681,1
    - Dst: dns_tsigkeyring_restore
      Src: /src/bind9/lib/dns/view.c:683,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/view.c:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 669
    functionDepth: 2
    functionLinenumber: 669
    functionLinenumberEnd: 688
    functionName: dns_view_restorekeyring
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_tsigkeyring_restore
    - fopen
    - fclose
    - isc_file_sanitize
    - DNS_VIEW_VALID
    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:692,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - dstport
    argTypes:
    - dns_view_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 694
    functionName: dns_view_setdstport
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:698,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:698,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:699,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:702,1
    - Dst: dns_resolver_freeze
      Src: /src/bind9/lib/dns/view.c:703,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 706
    functionName: dns_view_freeze
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - dns_resolver_freeze
    - DNS_VIEW_VALID
    - 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:710,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:711,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 714
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 714
    functionName: dns_view_thaw
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:721,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:721,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:722,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:724,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:725,1
    - Dst: dns_zt_mount
      Src: /src/bind9/lib/dns/view.c:727,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:731,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - view
    - zone
    argTypes:
    - dns_view_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 716
    functionDepth: 1
    functionLinenumber: 716
    functionLinenumberEnd: 734
    functionName: dns_view_addzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dns_zt_mount
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - DNS_VIEW_VALID
    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:741,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:741,1
    - Dst: dns_zone_prepare_shutdown
      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_unmount
      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: 12
    argCount: 2
    argNames:
    - view
    - zone
    argTypes:
    - dns_view_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 736
    functionDepth: 1
    functionLinenumber: 736
    functionLinenumberEnd: 755
    functionName: dns_view_delzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - rcu_read_unlock
    - dns_zone_prepare_shutdown
    - rcu_read_lock
    - rcu_dereference
    - dns_zt_unmount
    - DNS_VIEW_VALID
    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:763,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:763,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:765,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:766,1
    - Dst: dns_zt_find
      Src: /src/bind9/lib/dns/view.c:768,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:772,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: 775
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 775
    functionName: dns_view_findzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 16
    functionsReached:
    - REQUIRE
    - dns_zt_find
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - DNS_VIEW_VALID
    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: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:796,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:796,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:797,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:798,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:799,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:800,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:805,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:806,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:812,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:813,1
    - Dst: dns_zt_find
      Src: /src/bind9/lib/dns/view.c:815,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:819,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/view.c:820,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/view.c:826,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:828,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/view.c:832,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/view.c:833,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/view.c:833,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:838,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/view.c:843,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:849,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:853,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:854,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:856,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:859,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:869,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:877,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:878,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/view.c:880,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/view.c:882,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:887,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:889,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/view.c:890,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:908,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:909,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:912,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:914,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:916,1
    - Dst: maybe_prime
      Src: /src/bind9/lib/dns/view.c:927,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:928,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:931,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:941,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:946,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:947,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:951,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:953,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/view.c:961,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:967,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:970,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:974,1
    CyclomaticComplexity: 48
    EdgeCount: 48
    ICount: 134
    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: 978
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 978
    functionName: dns_view_find
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - INSIST
    - dns_rdataset_init
    - rcu_dereference
    - maybe_prime
    - DNS_VIEW_VALID
    - dns_zt_find
    - dns_rdataset_isassociated
    - rcu_read_unlock
    - dns_zone_getorigin
    - dns_db_detach
    - dns_name_equal
    - dns_rdataset_clone
    - rcu_read_lock
    - dns_zone_getdb
    - dns_db_detachnode
    - dns_db_attach
    - dns_rdataset_cleanup
    - dns_db_find
    - dns_db_attachnode
    - dns_db_iscache
    - dns_zone_gettype
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/view.c:988,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/view.c:989,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/view.c:990,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:999,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1000,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1006,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1007,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 13
    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: 1012
      start: 980
    functionDepth: 4
    functionLinenumber: 980
    functionLinenumberEnd: 1012
    functionName: dns_view_simplefind
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - dns_fixedname_init
    - dns_rdataset_cleanup
    - dns_fixedname_name
    - dns_view_find
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/dns/view.c:1027,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1032,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/view.c:1035,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1043,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:1046,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1054,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/view.c:1061,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1066,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1073,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1077,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1081,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 35
    argCount: 7
    argNames:
    - view
    - name
    - fname
    - dcname
    - now
    - options
    - rdataset
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - isc_stdtime_t
    - unsigned int
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1085
      start: 1014
    functionDepth: 2
    functionLinenumber: 1014
    functionLinenumberEnd: 1085
    functionName: bestzonecut_zone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_view_findzone
    - dns_db_detach
    - dns_zone_detach
    - dns_rdataset_cleanup
    - dns_db_find
    - dns_zone_getdb
    - dns_zone_gettype
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t bestzonecut_zone(dns_view_t *view, const dns_name_t *name,
      dns_name_t *fname,\n\t\t dns_name_t *dcname, isc_stdtime_t now, unsigned int
      options,\n\t\t dns_rdataset_t *rdataset)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_delegdb_lookup
      Src: /src/bind9/lib/dns/view.c:1094,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 7
    argNames:
    - view
    - name
    - fname
    - dcname
    - now
    - options
    - delegsetp
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - isc_stdtime_t
    - unsigned int
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1087
    functionDepth: 1
    functionLinenumber: 1087
    functionLinenumberEnd: 1107
    functionName: bestzonecut_delegdb
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_delegdb_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t bestzonecut_delegdb(dns_view_t *view, const dns_name_t
      *name, dns_name_t *fname,\n\t\t    dns_name_t *dcname, isc_stdtime_t now, unsigned
      int options,\n\t\t    dns_delegset_t **delegsetp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:1116,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:1117,1
    - Dst: bestzonecut_delegdb
      Src: /src/bind9/lib/dns/view.c:1119,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/view.c:1125,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/view.c:1127,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1130,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1132,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1134,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/view.c:1137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 8
    argNames:
    - view
    - name
    - fname
    - dcname
    - now
    - options
    - rdataset
    - delegsetp
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - isc_stdtime_t
    - unsigned int
    - dns_rdataset_t*
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1139
      start: 1109
    functionDepth: 2
    functionLinenumber: 1109
    functionLinenumberEnd: 1139
    functionName: bestzonecut_zoneorcache
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_name_equal
    - dns_rdataset_cleanup
    - dns_fixedname_initname
    - dns_delegset_detach
    - bestzonecut_delegdb
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: "void bestzonecut_zoneorcache(dns_view_t *view, const dns_name_t *name,\n\t\t\tdns_name_t
      *fname, dns_name_t *dcname,\n\t\t\tisc_stdtime_t now, unsigned int options,\n\t\t\tdns_rdataset_t
      *rdataset, dns_delegset_t **delegsetp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/view.c:1148,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1152,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1157,1
    - Dst: maybe_prime
      Src: /src/bind9/lib/dns/view.c:1164,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - view
    - fname
    - dcname
    - now
    - rdataset
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_name_t*
    - isc_stdtime_t
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1141
    functionDepth: 3
    functionLinenumber: 1141
    functionLinenumberEnd: 1167
    functionName: bestzonecut_rootdb
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_db_find
    - dns_name_copy
    - dns_rdataset_cleanup
    - maybe_prime
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t bestzonecut_rootdb(dns_view_t *view, dns_name_t *fname,
      dns_name_t *dcname,\n\t\t   isc_stdtime_t now, dns_rdataset_t *rdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1177,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1179,1
    - Dst: bestzonecut_zone
      Src: /src/bind9/lib/dns/view.c:1181,1
    - Dst: bestzonecut_delegdb
      Src: /src/bind9/lib/dns/view.c:1189,1
    - Dst: bestzonecut_zoneorcache
      Src: /src/bind9/lib/dns/view.c:1196,1
    - Dst: bestzonecut_rootdb
      Src: /src/bind9/lib/dns/view.c:1204,1
    - Dst: dns_delegset_fromnsrdataset
      Src: /src/bind9/lib/dns/view.c:1221,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1224,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 9
    argNames:
    - view
    - name
    - fname
    - dcname
    - now
    - options
    - usehints
    - usecache
    - delegsetp
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_name_t*
    - dns_name_t*
    - isc_stdtime_t
    - unsigned int
    - bool
    - bool
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1226
      start: 1169
    functionDepth: 4
    functionLinenumber: 1169
    functionLinenumberEnd: 1226
    functionName: dns_view_bestzonecut
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_delegset_fromnsrdataset
    - bestzonecut_rootdb
    - dns_rdataset_cleanup
    - bestzonecut_zoneorcache
    - bestzonecut_delegdb
    - DNS_VIEW_VALID
    - bestzonecut_zone
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_view_bestzonecut(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 usehints, bool usecache,\n\t\t     dns_delegset_t
      **delegsetp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1231,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:1233,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:1234,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/view.c:1235,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: 1241
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1241
    functionName: dns_viewlist_find
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - dns_view_attach
    - strcmp
    - 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:1250,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1251,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:1253,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1258,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1259,1
    - Dst: dns_zt_find
      Src: /src/bind9/lib/dns/view.c:1261,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1266,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:1267,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1269,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1270,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:1276,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1277,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: 1282
      start: 1243
    functionDepth: 1
    functionLinenumber: 1243
    functionLinenumberEnd: 1282
    functionName: dns_viewlist_findzone
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_zt_find
    - dns_zone_detach
    - INSIST
    - rcu_read_unlock
    - dns_zone_attach
    - rcu_read_lock
    - rcu_dereference
    - ISC_LIST_FOREACH
    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:1290,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1290,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1292,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1293,1
    - Dst: dns_zt_asyncload
      Src: /src/bind9/lib/dns/view.c:1295,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1299,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: 1301
      start: 1284
    functionDepth: 1
    functionLinenumber: 1284
    functionLinenumberEnd: 1301
    functionName: dns_view_asyncload
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_zt_asyncload
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - DNS_VIEW_VALID
    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:1307,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/view.c:1309,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/view.c:1311,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: 1315
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1315
    functionName: dns_view_gettsig
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_tsigkey_find
    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:1320,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1320,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1321,1
    - Dst: dns_transport_find
      Src: /src/bind9/lib/dns/view.c:1323,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: 1331
      start: 1317
    functionDepth: 1
    functionLinenumber: 1317
    functionLinenumberEnd: 1331
    functionName: dns_view_gettransport
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_transport_find
    - DNS_VIEW_VALID
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/view.c:1340,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/view.c:1340,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/view.c:1342,1
    - Dst: dns_peer_getkey
      Src: /src/bind9/lib/dns/view.c:1342,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/view.c:1344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - view
    - peeraddr
    - keyp
    argTypes:
    - dns_view_t*
    - isc_netaddr_t*
    - dns_tsigkey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1333
    functionDepth: 2
    functionLinenumber: 1333
    functionLinenumberEnd: 1346
    functionName: dns_view_getpeertsig
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - dns_view_gettsig
    - RETERR
    - dns_peerlist_peerbyaddr
    - dns_peer_getkey
    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:1350,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1351,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/dns/view.c:1353,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: 1355
      start: 1348
    functionDepth: 1
    functionLinenumber: 1348
    functionLinenumberEnd: 1355
    functionName: dns_view_checksig
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - dns_tsig_verify
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1361,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1361,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/view.c:1367,1
    - Dst: dns_cache_flush
      Src: /src/bind9/lib/dns/view.c:1367,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1369,1
    - Dst: dns_cache_attachdb
      Src: /src/bind9/lib/dns/view.c:1370,1
    - Dst: dns_badcache_flush
      Src: /src/bind9/lib/dns/view.c:1372,1
    - Dst: dns_unreachcache_flush
      Src: /src/bind9/lib/dns/view.c:1375,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1378,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1379,1
    - Dst: dns_adb_flush
      Src: /src/bind9/lib/dns/view.c:1381,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1383,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - view
    - fixuponly
    argTypes:
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1357
    functionDepth: 1
    functionLinenumber: 1357
    functionLinenumberEnd: 1386
    functionName: dns_view_flushcache
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_unreachcache_flush
    - dns_db_detach
    - dns_cache_attachdb
    - rcu_read_unlock
    - dns_cache_flush
    - dns_badcache_flush
    - rcu_read_lock
    - rcu_dereference
    - RETERR
    - dns_adb_flush
    - DNS_VIEW_VALID
    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:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1391
      start: 1388
    functionDepth: 1
    functionLinenumber: 1388
    functionLinenumberEnd: 1391
    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:1398,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1398,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1401,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1402,1
    - Dst: dns_adb_flushnames
      Src: /src/bind9/lib/dns/view.c:1404,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1406,1
    - Dst: dns_badcache_flushtree
      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_flushname
      Src: /src/bind9/lib/dns/view.c:1414,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1416,1
    - Dst: dns_badcache_flushname
      Src: /src/bind9/lib/dns/view.c:1418,1
    - Dst: dns_cache_flushnode
      Src: /src/bind9/lib/dns/view.c:1423,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: 1427
      start: 1393
    functionDepth: 1
    functionLinenumber: 1393
    functionLinenumberEnd: 1427
    functionName: dns_view_flushnode
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_adb_flushnames
    - dns_badcache_flushtree
    - rcu_read_unlock
    - dns_badcache_flushname
    - rcu_read_lock
    - rcu_dereference
    - dns_cache_flushnode
    - dns_adb_flushname
    - DNS_VIEW_VALID
    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:1434,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1434,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1436,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1437,1
    - Dst: dns_zt_freezezones
      Src: /src/bind9/lib/dns/view.c:1439,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1443,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - view
    - value
    argTypes:
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1429
    functionDepth: 1
    functionLinenumber: 1429
    functionLinenumberEnd: 1446
    functionName: dns_view_freezezones
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_zt_freezezones
    - REQUIRE
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - DNS_VIEW_VALID
    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:1450,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1450,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:1452,1
    - Dst: dns_ntatable_create
      Src: /src/bind9/lib/dns/view.c:1454,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1455
      start: 1448
    functionDepth: 1
    functionLinenumber: 1448
    functionLinenumberEnd: 1455
    functionName: dns_view_initntatable
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_ntatable_create
    - DNS_VIEW_VALID
    - dns_ntatable_detach
    linkageType: ''
    returnType: void
    signature: void dns_view_initntatable(dns_view_t *view)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1459,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1459,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1460,1
    - Dst: dns_ntatable_attach
      Src: /src/bind9/lib/dns/view.c:1464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - view
    - ntp
    argTypes:
    - dns_view_t*
    - dns_ntatable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1466
      start: 1457
    functionDepth: 1
    functionLinenumber: 1457
    functionLinenumberEnd: 1466
    functionName: dns_view_getntatable
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - dns_ntatable_attach
    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:1470,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1470,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:1472,1
    - Dst: dns_keytable_create
      Src: /src/bind9/lib/dns/view.c:1474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1475
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1475
    functionName: dns_view_initsecroots
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_keytable_create
    - DNS_VIEW_VALID
    - 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:1479,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1479,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1480,1
    - Dst: dns_keytable_attach
      Src: /src/bind9/lib/dns/view.c:1484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - view
    - ktp
    argTypes:
    - dns_view_t*
    - dns_keytable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1477
    functionDepth: 1
    functionLinenumber: 1477
    functionLinenumberEnd: 1486
    functionName: dns_view_getsecroots
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - dns_keytable_attach
    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:1491,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1491,1
    - Dst: dns_ntatable_covered
      Src: /src/bind9/lib/dns/view.c:1497,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: 1498
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1498
    functionName: dns_view_ntacovers
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_ntatable_covered
    - DNS_VIEW_VALID
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1507,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1507,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:1513,1
    - Dst: dns_keytable_issecuredomain
      Src: /src/bind9/lib/dns/view.c:1514,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/view.c:1516,1
    - Dst: dns_ntatable_covered
      Src: /src/bind9/lib/dns/view.c:1518,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/view.c:1520,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 5
    argNames:
    - view
    - name
    - now
    - checknta
    - ntap
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - isc_stdtime_t
    - bool
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1525
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1525
    functionName: dns_view_issecuredomain
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - SET_IF_NOT_NULL
    - dns_ntatable_covered
    - dns_fixedname_initname
    - dns_keytable_issecuredomain
    - DNS_VIEW_VALID
    linkageType: ''
    returnType: bool
    signature: "bool dns_view_issecuredomain(dns_view_t *view, const dns_name_t *name,\n\t\t\tisc_stdtime_t
      now, bool checknta, bool *ntap)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1534,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1535,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1536,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/view.c:1538,1
    - Dst: dns_keytable_deletekey
      Src: /src/bind9/lib/dns/view.c:1550,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/lib/dns/view.c:1559,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:1562,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: 1563
      start: 1527
    functionDepth: 2
    functionLinenumber: 1527
    functionLinenumberEnd: 1563
    functionName: dns_view_untrust
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - dns_keytable_detach
    - dns_view_getsecroots
    - dns_keytable_deletekey
    - dns_keytable_marksecure
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1574,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1574,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1576,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/view.c:1578,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/view.c:1583,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/view.c:1584,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/view.c:1586,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:1600,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/view.c:1601,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/view.c:1608,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/view.c:1615,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:1616,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/view.c:1617,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/view.c:1625,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/view.c:1626,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/view.c:1635,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/view.c:1637,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/view.c:1639,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - view
    - keyname
    - dnskey
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdata_dnskey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1641
      start: 1565
    functionDepth: 2
    functionLinenumber: 1565
    functionLinenumberEnd: 1641
    functionName: dns_view_istrusted
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_keytable_detach
    - dns_keytable_find
    - dns_keynode_dsset
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_rdataset_cleanup
    - dns_rdata_fromstruct
    - dns_view_getsecroots
    - dns_keynode_detach
    - dns_ds_fromkeyrdata
    - dns_rdataset_current
    - dns_rdata_compare
    - DNS_VIEW_VALID
    - isc_buffer_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:1625,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/view.c:1626,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1623
    functionDepth: 1
    functionLinenumber: 1623
    functionLinenumberEnd: 1630
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1658,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1658,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1659,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1660,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:1663,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/view.c:1666,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/view.c:1668,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1669,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/view.c:1669,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:1683,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/view.c:1685,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1698,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/view.c:1701,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:1702,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1703,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1707,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1712,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/view.c:1718,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/view.c:1719,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: 1724
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1724
    functionName: dns_view_searchdlz
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_db_attach
    - dns_db_detach
    - INSIST
    - DNS_DLZ_VALID
    - dns_name_split
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    - dns_name_countlabels
    - DNS_VIEW_VALID
    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:1728,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1726
    functionDepth: 1
    functionLinenumber: 1726
    functionLinenumberEnd: 1730
    functionName: dns_view_getfailttl
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:1734,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - fail_ttl
    argTypes:
    - dns_view_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1736
      start: 1732
    functionDepth: 1
    functionLinenumber: 1732
    functionLinenumberEnd: 1736
    functionName: dns_view_setfailttl
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:1745,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1745,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1752,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/view.c:1752,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/lib/dns/view.c:1754,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1760,1
    - Dst: dns_ntatable_save
      Src: /src/bind9/lib/dns/view.c:1763,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/view.c:1768,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:1774,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/view.c:1778,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/view.c:1783,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1738
    functionDepth: 2
    functionLinenumber: 1738
    functionLinenumberEnd: 1787
    functionName: dns_view_saventa
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - isc_stdio_close
    - REQUIRE
    - isc_stdio_open
    - dns_ntatable_detach
    - CHECK
    - dns_ntatable_save
    - isc_file_remove
    - DNS_VIEW_VALID
    - dns_view_getntatable
    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: 1790
      start: 1789
    functionDepth: 0
    functionLinenumber: 1789
    functionLinenumberEnd: 1790
    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: 1791
      start: 1790
    functionDepth: 0
    functionLinenumber: 1790
    functionLinenumberEnd: 1791
    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:1798,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:1800,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1800,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/view.c:1806,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1807,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/view.c:1807,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1808,1
    - Dst: dns_view_getntatable
      Src: /src/bind9/lib/dns/view.c:1808,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1820,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:1820,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1824,1
    - Dst: TSTR
      Src: /src/bind9/lib/dns/view.c:1826,1
    - Dst: TLEN
      Src: /src/bind9/lib/dns/view.c:1827,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:1829,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/view.c:1833,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:1835,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/view.c:1836,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1837,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/view.c:1837,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1841,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:1841,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1843,1
    - Dst: TSTR
      Src: /src/bind9/lib/dns/view.c:1845,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:1847,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/view.c:1849,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1852,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1855,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:1855,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1857,1
    - Dst: TSTR
      Src: /src/bind9/lib/dns/view.c:1859,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1860,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/view.c:1860,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:1862,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/view.c:1862,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:1866,1
    - Dst: dns_ntatable_add
      Src: /src/bind9/lib/dns/view.c:1874,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/view.c:1877,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/view.c:1878,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/view.c:1886,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/dns/view.c:1890,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/view.c:1891,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1792
    functionDepth: 3
    functionLinenumber: 1792
    functionLinenumberEnd: 1895
    functionName: dns_view_loadnta
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - TLEN
    - isc_lex_gettoken
    - isc_buffer_add
    - dns_time32_fromtext
    - DNS_VIEW_VALID
    - dns_view_getntatable
    - dns_name_fromtext
    - dns_name_format
    - isc_lex_create
    - TSTR
    - isc_buffer_init
    - dns_ntatable_add
    - strcmp
    - isc_stdtime_now
    - isc_lex_openfile
    - isc_log_write
    - dns_ntatable_detach
    - CHECK
    - isc_lex_destroy
    - CLEANUP
    - isc_lex_close
    - dns_fixedname_initname
    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:1902,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1902,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:1904,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:1907,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:1910,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:1913,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1915,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1916,1
    - Dst: dns_zt_setviewcommit
      Src: /src/bind9/lib/dns/view.c:1918,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1920,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/lib/dns/view.c:1923,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1924,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/lib/dns/view.c:1927,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1928,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1930
    functionName: dns_view_setviewcommit
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - rcu_read_unlock
    - dns_zone_attach
    - LOCK
    - dns_zt_setviewcommit
    - rcu_read_lock
    - rcu_dereference
    - dns_zone_setviewcommit
    - DNS_VIEW_VALID
    - UNLOCK
    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:1937,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1937,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:1943,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:1945,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/view.c:1948,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:1950,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/lib/dns/view.c:1953,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1954,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/lib/dns/view.c:1957,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/view.c:1958,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:1960,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:1961,1
    - Dst: dns_zt_setviewrevert
      Src: /src/bind9/lib/dns/view.c:1963,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:1965,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1966
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1966
    functionName: dns_view_setviewrevert
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_zone_setviewrevert
    - dns_zt_setviewrevert
    - rcu_read_unlock
    - dns_zone_attach
    - LOCK
    - rcu_read_lock
    - rcu_dereference
    - DNS_VIEW_VALID
    - UNLOCK
    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:1973,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1973,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/lib/dns/view.c:1975,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1988
      start: 1968
    functionDepth: 1
    functionLinenumber: 1968
    functionLinenumberEnd: 1988
    functionName: dns_view_staleanswerenabled
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 4
    functionsReached:
    - dns_db_getservestalettl
    - REQUIRE
    - DNS_VIEW_VALID
    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:1992,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:1992,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - flush
    argTypes:
    - dns_view_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1995
      start: 1990
    functionDepth: 1
    functionLinenumber: 1990
    functionLinenumberEnd: 1995
    functionName: dns_view_flushonshutdown
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:2001,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2001,1
    - Dst: dns_nametree_add
      Src: /src/bind9/lib/dns/view.c:2003,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/view.c:2004,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2005
      start: 1997
    functionDepth: 1
    functionLinenumber: 1997
    functionLinenumberEnd: 2005
    functionName: dns_view_sfd_add
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - RUNTIME_CHECK
    - DNS_VIEW_VALID
    - dns_nametree_add
    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:2009,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2009,1
    - Dst: dns_nametree_delete
      Src: /src/bind9/lib/dns/view.c:2011,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - name
    argTypes:
    - dns_view_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2012
      start: 2007
    functionDepth: 1
    functionLinenumber: 2007
    functionLinenumberEnd: 2012
    functionName: dns_view_sfd_del
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_nametree_delete
    - DNS_VIEW_VALID
    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:2017,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2017,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/view.c:2019,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/view.c:2020,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: 2022
      start: 2014
    functionDepth: 1
    functionLinenumber: 2014
    functionLinenumberEnd: 2022
    functionName: dns_view_sfd_find
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_nametree_covered
    - REQUIRE
    - DNS_VIEW_VALID
    - dns_name_copy
    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:2027,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2027,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2028,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/view.c:2029,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/view.c:2031,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/view.c:2036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - view
    - resolverp
    argTypes:
    - dns_view_t*
    - dns_resolver_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2038
      start: 2024
    functionDepth: 1
    functionLinenumber: 2024
    functionLinenumberEnd: 2038
    functionName: dns_view_getresolver
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_resolver_attach
    - LOCK
    - DNS_VIEW_VALID
    - UNLOCK
    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:2042,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2042,1
    - Dst: dns_cache_setmaxrrperset
      Src: /src/bind9/lib/dns/view.c:2045,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - view
    - value
    argTypes:
    - dns_view_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2047
      start: 2040
    functionDepth: 1
    functionLinenumber: 2040
    functionLinenumberEnd: 2047
    functionName: dns_view_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - dns_cache_setmaxrrperset
    - REQUIRE
    - DNS_VIEW_VALID
    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:2051,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2051,1
    - Dst: dns_cache_setmaxtypepername
      Src: /src/bind9/lib/dns/view.c:2054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - view
    - value
    argTypes:
    - dns_view_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2056
      start: 2049
    functionDepth: 1
    functionLinenumber: 2049
    functionLinenumberEnd: 2056
    functionName: dns_view_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    - 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:2060,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - view
    - udpsize
    argTypes:
    - dns_view_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2058
    functionDepth: 1
    functionLinenumber: 2058
    functionLinenumberEnd: 2062
    functionName: dns_view_setudpsize
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:2066,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2066,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2068
      start: 2064
    functionDepth: 1
    functionLinenumber: 2064
    functionLinenumberEnd: 2068
    functionName: dns_view_getudpsize
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:2072,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2072,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2074,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2075,1
    - Dst: dns_dispatchmgr_ref
      Src: /src/bind9/lib/dns/view.c:2077,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2079,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - view
    argTypes:
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2070
    functionDepth: 1
    functionLinenumber: 2070
    functionLinenumberEnd: 2082
    functionName: dns_view_getdispatchmgr
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - dns_dispatchmgr_ref
    - DNS_VIEW_VALID
    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:2088,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2095,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2095,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2096,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/view.c:2099,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/view.c:2102,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/view.c:2103,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/view.c:2104,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/view.c:2104,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2105,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/view.c:2105,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2109,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/view.c:2109,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2111,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/view.c:2111,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/view.c:2115,1
    - Dst: dns_keytable_add
      Src: /src/bind9/lib/dns/view.c:2115,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    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: 2120
      start: 2084
    functionDepth: 2
    functionLinenumber: 2084
    functionLinenumberEnd: 2120
    functionName: dns_view_addtrustedkey
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - CLEANUP
    - dns_rdata_init
    - isc_buffer_usedlength
    - isc_buffer_setactive
    - dns_rdata_fromwire
    - dns_ds_fromkeyrdata
    - CHECK
    - dns_rdata_tostruct
    - UNCONST
    - DNS_VIEW_VALID
    - isc_buffer_init
    - dns_keytable_add
    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:2128,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2128,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2130,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2131,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/view.c:2133,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2137,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: 2139
      start: 2122
    functionDepth: 1
    functionLinenumber: 2122
    functionLinenumberEnd: 2139
    functionName: dns_view_apply
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - dns_zt_apply
    - DNS_VIEW_VALID
    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:2145,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2146,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/view.c:2148,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/view.c:2149,1
    - Dst: dns_adb_attach
      Src: /src/bind9/lib/dns/view.c:2151,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/view.c:2153,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - view
    - adbp
    argTypes:
    - dns_view_t*
    - dns_adb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2154
      start: 2141
    functionDepth: 1
    functionLinenumber: 2141
    functionLinenumberEnd: 2154
    functionName: dns_view_getadb
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dns_adb_attach
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - DNS_VIEW_VALID
    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:2158,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - view
    - max_restarts
    argTypes:
    - dns_view_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2162
      start: 2156
    functionDepth: 1
    functionLinenumber: 2156
    functionLinenumberEnd: 2162
    functionName: dns_view_setmaxrestarts
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    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:2166,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - view
    - max_queries
    argTypes:
    - dns_view_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2170
      start: 2164
    functionDepth: 1
    functionLinenumber: 2164
    functionLinenumberEnd: 2170
    functionName: dns_view_setmaxqueries
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    linkageType: ''
    returnType: void
    signature: void dns_view_setmaxqueries(dns_view_t *view, uint16_t max_queries)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/view.c:2174,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/view.c:2174,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - view
    - max_servers
    argTypes:
    - dns_view_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2172
    functionDepth: 1
    functionLinenumber: 2172
    functionLinenumberEnd: 2183
    functionName: dns_view_setmaxdelegationservers
    functionSourceFile: /src/bind9/lib/dns/view.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_VIEW_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_view_setmaxdelegationservers(dns_view_t *view, uint32_t
      max_servers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 93
    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: 175
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 175
    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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    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: 212
      start: 211
    functionDepth: 0
    functionLinenumber: 211
    functionLinenumberEnd: 212
    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: 220
      start: 213
    functionDepth: 0
    functionLinenumber: 213
    functionLinenumberEnd: 220
    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: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    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: 290
      start: 282
    functionDepth: 0
    functionLinenumber: 282
    functionLinenumberEnd: 290
    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: 310
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 310
    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: 315
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 315
    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: 325
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 325
    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: 329
      start: 326
    functionDepth: 0
    functionLinenumber: 326
    functionLinenumberEnd: 329
    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: 344
      start: 339
    functionDepth: 0
    functionLinenumber: 339
    functionLinenumberEnd: 344
    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:353,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:360,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:361,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:362,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:375,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:376,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: 392
      start: 346
    functionDepth: 3
    functionLinenumber: 346
    functionLinenumberEnd: 392
    functionName: gettoken
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 52
    functionsReached:
    - isc_result_totext
    - isc_lex_getsourcename
    - isc_lex_getsourceline
    - isc_lex_gettoken
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - ictx
    argTypes:
    - isc_mem_t*
    - dns_incctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 397
    functionDepth: 1
    functionLinenumber: 397
    functionLinenumberEnd: 411
    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:415,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:415,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/master.c:417,1
    - Dst: incctx_destroy
      Src: /src/bind9/lib/dns/master.c:421,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/master.c:425,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:427,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:428,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/master.c:434,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/master.c:437,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 438
    functionName: loadctx_destroy
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - REQUIRE
    - UNEXPECTED_ERROR
    - isc_lex_destroy
    - isc_result_totext
    - DNS_LCTX_VALID
    - isc_mem_putanddetach
    - isc_refcount_destroy
    - incctx_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:446,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/master.c:449,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/master.c:454,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/master.c:456,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:457,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: 470
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 470
    functionName: incctx_create
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - isc_mem_get
    - dns_name_toregion
    - dns_fixedname_name
    - 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:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:484,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:485,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:487,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:488,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/master.c:488,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:489,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/master.c:489,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:491,1
    - Dst: incctx_create
      Src: /src/bind9/lib/dns/master.c:509,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/master.c:521,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/master.c:530,1
    - Dst: memset
      Src: /src/bind9/lib/dns/master.c:536,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/dns/master.c:541,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/master.c:542,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/master.c:545,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/master.c:547,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/master.c:548,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:549,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/master.c:551,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/master.c:553,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/master.c:554,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: 559
      start: 472
    functionDepth: 2
    functionLinenumber: 472
    functionLinenumberEnd: 559
    functionName: loadctx_create
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_name_fromregion
    - dns_master_initrawheader
    - isc_stdtime_now
    - isc_mem_get
    - isc_lex_setcomments
    - dns_name_toregion
    - dns_fixedname_initname
    - isc_lex_create
    - isc_lex_setspecials
    - memset
    - UNREACHABLE
    - incctx_create
    - dns_name_isabsolute
    - isc_refcount_init
    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: 613
      start: 571
    functionDepth: 0
    functionLinenumber: 571
    functionLinenumberEnd: 613
    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:641,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/master.c:645,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/master.c:648,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/master.c:660,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/master.c:670,1
    - Dst: nibbles
      Src: /src/bind9/lib/dns/master.c:691,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/master.c:694,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:706,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:713,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:721,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/master.c:727,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: 735
      start: 615
    functionDepth: 1
    functionLinenumber: 615
    functionLinenumberEnd: 735
    functionName: genname
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - nibbles
    - isc_textregion_consume
    - sscanf
    - snprintf
    - strlcpy
    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:762,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:763,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:765,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:766,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:767,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:768,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/master.c:770,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:787,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/master.c:788,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:800,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/master.c:800,1
    - Dst: genname
      Src: /src/bind9/lib/dns/master.c:808,1
    - Dst: genname
      Src: /src/bind9/lib/dns/master.c:812,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:817,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:817,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:818,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:818,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:819,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:819,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/master.c:820,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:825,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:826,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:829,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:840,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:840,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:841,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:841,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:842,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:842,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/dns/master.c:844,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:849,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/master.c:850,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/master.c:853,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/dns/master.c:853,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/master.c:858,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/master.c:862,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:863,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:864,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:865,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/master.c:869,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:876,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:879,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:883,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:886,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:889,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: 892
      start: 737
    functionDepth: 3
    functionLinenumber: 737
    functionLinenumberEnd: 892
    functionName: generate
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 9
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - commit
    - isc_buffer_add
    - ISC_LIST_INIT
    - strlen
    - dns_rdatalist_init
    - ISC_LIST_PREPEND
    - dns_name_fromtext
    - dns_name_format
    - RUNTIME_CHECK
    - isc_lex_openbuffer
    - dns_rdatatype_fromtext
    - dns_master_isprimary
    - isc_buffer_init
    - dns_name_issubdomain
    - isc_result_totext
    - sscanf
    - dns_rdata_reset
    - isc_buffer_setactive
    - dns_rdata_fromtext
    - isc_mem_get
    - dns_rdatatype_ismeta
    - ISC_LIST_APPEND
    - isc_lex_close
    - dns_fixedname_initname
    - genname
    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: 905
      start: 894
    functionDepth: 0
    functionLinenumber: 894
    functionLinenumberEnd: 905
    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:924,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:924,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:928,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/master.c:929,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/master.c:931,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/master.c:932,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:941,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:944,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: 947
      start: 907
    functionDepth: 1
    functionLinenumber: 907
    functionLinenumberEnd: 947
    functionName: check_ns
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - DNS_AS_STR
    - inet_pton
    - isc_mem_strdup
    - isc_mem_free
    - strlen
    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:955,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:958,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: 964
      start: 949
    functionDepth: 1
    functionLinenumber: 949
    functionLinenumberEnd: 964
    functionName: check_wildcard
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - dns_name_internalwildcard
    - dns_name_format
    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:968,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - lctx
    - master_file
    argTypes:
    - dns_loadctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 966
    functionDepth: 3
    functionLinenumber: 966
    functionLinenumberEnd: 969
    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:980,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - incctx
    argTypes:
    - dns_incctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 971
    functionDepth: 0
    functionLinenumber: 971
    functionLinenumberEnd: 982
    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: 143
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:1031,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:1031,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:1036,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:1037,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:1043,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:1044,1
    - Dst: dns_rdatacallbacks_t*::setup
      Src: /src/bind9/lib/dns/master.c:1049,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1064,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/master.c:1068,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1074,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1075,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1077,1
    - Dst: WARNUNEXPECTEDEOF
      Src: /src/bind9/lib/dns/master.c:1081,1
    - Dst: incctx_destroy
      Src: /src/bind9/lib/dns/master.c:1088,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/master.c:1089,1
    - Dst: isc_lex_close
      Src: /src/bind9/lib/dns/master.c:1089,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1091,1
    - Dst: POST
      Src: /src/bind9/lib/dns/master.c:1092,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1093,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1125,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1125,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1126,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1128,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1128,1
    - Dst: GETTOKENERR
      Src: /src/bind9/lib/dns/master.c:1129,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/master.c:1132,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1134,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1135,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1140,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1145,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1145,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1160,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1163,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1166,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1166,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1167,1
    - Dst: WARNUNEXPECTEDEOF
      Src: /src/bind9/lib/dns/master.c:1173,1
    - Dst: pushfile
      Src: /src/bind9/lib/dns/master.c:1178,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1180,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1181,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1182,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1185,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1189,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1191,1
    - Dst: POST
      Src: /src/bind9/lib/dns/master.c:1192,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1201,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1201,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/master.c:1205,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1206,1
    - Dst: dns_time64_fromtext
      Src: /src/bind9/lib/dns/master.c:1207,1
    - Dst: DNS_AS_STR
      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: LOGIT
      Src: /src/bind9/lib/dns/master.c:1211,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1218,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1226,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/master.c:1236,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1236,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1243,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1246,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1249,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:1252,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1256,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1257,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1257,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1259,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1260,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1260,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1264,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1265,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1270,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/master.c:1273,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1277,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1281,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1285,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1290,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1293,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1293,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1295,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/master.c:1297,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1297,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1307,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1308,1
    - Dst: generate
      Src: /src/bind9/lib/dns/master.c:1326,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1328,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1329,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/master.c:1335,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1335,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/master.c:1341,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1343,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1344,1
    - Dst: find_free_name
      Src: /src/bind9/lib/dns/master.c:1353,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/master.c:1354,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:1356,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:1358,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:1359,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/master.c:1361,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1363,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1364,1
    - Dst: LOGIT
      Src: /src/bind9/lib/dns/master.c:1365,1
    - Dst: pushfile
      Src: /src/bind9/lib/dns/master.c:1391,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1392,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1393,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1394,1
    - Dst: LOGITFILE
      Src: /src/bind9/lib/dns/master.c:1397,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/master.c:1402,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/master.c:1403,1
    - Dst: POST
      Src: /src/bind9/lib/dns/master.c:1404,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/master.c:1419,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:1421,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1424,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1425,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/master.c:1448,1
    - Dst: is_glue
      Src: /src/bind9/lib/dns/master.c:1451,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:1460,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1464,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1465,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:1481,1
    - Dst: check_wildcard
      Src: /src/bind9/lib/dns/master.c:1490,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1494,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1495,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1498,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1513,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1517,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1518,1
    - Dst: LOGIT
      Src: /src/bind9/lib/dns/master.c:1519,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1538,1
    - Dst: WARNUNEXPECTEDEOF
      Src: /src/bind9/lib/dns/master.c:1547,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/master.c:1549,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1559,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1560,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1571,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1573,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1587,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1591,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/master.c:1595,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1598,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1601,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1605,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1608,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1609,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/master.c:1618,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1622,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:1626,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1629,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1630,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/master.c:1638,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1645,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1646,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/master.c:1661,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/master.c:1663,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1671,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1672,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1688,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/master.c:1695,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1698,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1699,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1700,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1710,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/master.c:1710,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/master.c:1715,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1718,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1719,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1720,1
    - Dst: grow_rdata
      Src: /src/bind9/lib/dns/master.c:1730,1
    - Dst: GETTOKEN
      Src: /src/bind9/lib/dns/master.c:1744,1
    - Dst: check_ns
      Src: /src/bind9/lib/dns/master.c:1745,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/master.c:1746,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1748,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1749,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/master.c:1766,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1771,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1773,1
    - Dst: CHECKNAMESFAIL
      Src: /src/bind9/lib/dns/master.c:1774,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1780,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1781,1
    - Dst: dns_name_isdnssd
      Src: /src/bind9/lib/dns/master.c:1792,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1793,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1794,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/master.c:1795,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/master.c:1804,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/master.c:1806,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_equal
      Src: /src/bind9/lib/dns/master.c:1823,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1826,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1833,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1834,1
    - Dst: dns_rdata_checksvcb
      Src: /src/bind9/lib/dns/master.c:1847,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:1854,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1855,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1856,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/master.c:1865,1
    - Dst: dns_master_isprimary
      Src: /src/bind9/lib/dns/master.c:1866,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/master.c:1867,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:1872,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/master.c:1874,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1880,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1881,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/master.c:1889,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/master.c:1890,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/lib/dns/master.c:1901,1
    - Dst: limit_ttl
      Src: /src/bind9/lib/dns/master.c:1902,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:1918,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:1919,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/master.c:1937,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/master.c:1939,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/master.c:1940,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/master.c:1972,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/master.c:1974,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/master.c:1981,1
    - Dst: grow_rdatalist
      Src: /src/bind9/lib/dns/master.c:1986,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/master.c:1994,1
    - Dst: ISC_LIST_INITANDPREPEND
      Src: /src/bind9/lib/dns/master.c:2000,1
    - Dst: ISC_LIST_INITANDPREPEND
      Src: /src/bind9/lib/dns/master.c:2002,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2026,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2047,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:2049,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:2050,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2054,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:2056,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:2057,1
    - Dst: LOGIT
      Src: /src/bind9/lib/dns/master.c:2069,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2072,1
    - Dst: dns_rdatacallbacks_t*::commit
      Src: /src/bind9/lib/dns/master.c:2077,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2081,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2084,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2087,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2091,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:2094,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2097,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2100,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2103,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2106,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/master.c:2109,1
    CyclomaticComplexity: 240
    EdgeCount: 240
    ICount: 738
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2113
      start: 984
    functionDepth: 4
    functionLinenumber: 984
    functionLinenumberEnd: 2113
    functionName: load_text
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - check_wildcard
    - isc_mem_put
    - INSIST
    - grow_rdata
    - dns_rdata_covers
    - ISC_LIST_INIT
    - strcasecmp
    - RUNTIME_CHECK
    - isc_mem_free
    - dns_rdatatype_issig
    - dns_rdata_tostruct
    - isc_stdtime_now
    - dns_rdata_init
    - ISC_LIST_HEAD
    - isc_serial_lt
    - GETTOKENERR
    - dns_rdataclass_format
    - dns_rdatacallbacks_t*::commit
    - incctx_destroy
    - isc_mem_cput
    - strncasecmp
    - DNS_AS_STR
    - commit
    - dns_rdatalist_init
    - find_free_name
    - dns_name_fromtext
    - pushfile
    - dns_name_isdnssd
    - dns_name_issubdomain
    - UNEXPECTED_ERROR
    - grow_rdatalist
    - WARNUNEXPECTEDEOF
    - dns_rdatatype_format
    - isc_buffer_setactive
    - dns_rdata_fromtext
    - MANYERRS
    - POST
    - DNS_LCTX_VALID
    - isc_lex_close
    - LOGIT
    - LOGITFILE
    - is_glue
    - ISC_LIST_UNLINK
    - SETRESULT
    - dns_master_isprimary
    - dns_time64_fromtext
    - dns_ttl_fromtext
    - dns_name_equal
    - isc_lex_ungettoken
    - check_ns
    - isc_lex_getsourceline
    - dns_rdataclass_fromtext
    - isc_lex_getsourcename
    - dns_name_caseequal
    - REQUIRE
    - ISC_LIST_INITANDPREPEND
    - dns_rdata_checkowner
    - isc_mem_strdup
    - isc_buffer_add
    - CHECKNAMESFAIL
    - dns_rdatatype_atparent
    - dns_name_format
    - ISC_LIST_NEXT
    - dns_rdatatype_fromtext
    - dns_rdatacallbacks_t*::setup
    - generate
    - isc_buffer_init
    - isc_result_totext
    - dns_soa_getminimum
    - atomic_load_acquire
    - limit_ttl
    - dns_rdata_checksvcb
    - isc_mem_get
    - dns_rdatatype_ismeta
    - ISC_LIST_APPEND
    - dns_fixedname_initname
    - GETTOKEN
    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:2081,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2082
      start: 2080
    functionDepth: 1
    functionLinenumber: 2080
    functionLinenumberEnd: 2082
    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:2084,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2085
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2085
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2123,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:2123,1
    - Dst: incctx_create
      Src: /src/bind9/lib/dns/master.c:2128,1
    - Dst: find_free_name
      Src: /src/bind9/lib/dns/master.c:2137,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/master.c:2138,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/master.c:2141,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:2143,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2147,1
    - Dst: dns_loadctx_t*::include_cb
      Src: /src/bind9/lib/dns/master.c:2152,1
    - Dst: incctx_destroy
      Src: /src/bind9/lib/dns/master.c:2157,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - master_file
    - origin
    - lctx
    argTypes:
    - char*
    - dns_name_t*
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2115
    functionDepth: 2
    functionLinenumber: 2115
    functionLinenumberEnd: 2159
    functionName: pushfile
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - find_free_name
    - dns_name_fromregion
    - dns_name_toregion
    - dns_loadctx_t*::include_cb
    - DNS_LCTX_VALID
    - CHECK
    - dns_fixedname_name
    - incctx_create
    - incctx_destroy
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t pushfile(const char *master_file, dns_name_t *origin,
      dns_loadctx_t *lctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2168,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2171,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2171,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/master.c:2172,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2172,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/master.c:2172,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2174,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/master.c:2179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 5
    argNames:
    - do_read
    - buffer
    - len
    - f
    - totallen
    argTypes:
    - bool
    - isc_buffer_t*
    - size_t
    - FILE*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2184
      start: 2165
    functionDepth: 2
    functionLinenumber: 2165
    functionLinenumberEnd: 2184
    functionName: read_and_check
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stdio_read
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_add
    - isc_buffer_availablelength
    - RETERR
    - isc_buffer_used
    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:2196,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:2196,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/master.c:2203,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2205,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:2206,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2208,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:2210,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2211,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2215,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2216,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2224,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2240,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:2242,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2243,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2247,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2248,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2250,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2251,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2252,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2259
      start: 2186
    functionDepth: 3
    functionLinenumber: 2186
    functionLinenumberEnd: 2259
    functionName: load_header
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - REQUIRE
    - dns_master_initrawheader
    - INSIST
    - isc_stdio_read
    - DNS_LCTX_VALID
    - isc_buffer_add
    - isc_buffer_getuint32
    - isc_buffer_init
    - isc_result_totext
    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:2265,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/master.c:2267,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2268,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - lctx
    - master_file
    argTypes:
    - dns_loadctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2272
      start: 2261
    functionDepth: 2
    functionLinenumber: 2261
    functionLinenumberEnd: 2272
    functionName: openfile_raw
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - isc_stdio_open
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openfile_raw(dns_loadctx_t *lctx, const char *master_file)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/master.c:2295,1
    - Dst: load_header
      Src: /src/bind9/lib/dns/master.c:2295,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2298,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2299,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/master.c:2305,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:2306,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/master.c:2308,1
    - Dst: dns_rdatacallbacks_t*::setup
      Src: /src/bind9/lib/dns/master.c:2312,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/master.c:2331,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2332,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2332,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2333,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2342,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2343,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/master.c:2353,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/master.c:2357,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2358,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2380,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/master.c:2380,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/master.c:2381,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/master.c:2385,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2386,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/master.c:2388,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2390,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2391,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2392,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/master.c:2393,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/master.c:2395,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2397,1
    - Dst: isc_buffer_consumedlength
      Src: /src/bind9/lib/dns/master.c:2397,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2400,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2400,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2402,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/master.c:2404,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2407,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2407,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:2410,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2411,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/master.c:2411,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/master.c:2421,1
    - Dst: grow_rdata
      Src: /src/bind9/lib/dns/master.c:2428,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/master.c:2438,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/master.c:2441,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2445,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2448,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2449,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2452,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/master.c:2454,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/master.c:2461,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2469,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2469,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/master.c:2472,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2475,1
    - Dst: read_and_check
      Src: /src/bind9/lib/dns/master.c:2475,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/master.c:2477,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/master.c:2484,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/master.c:2484,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2486,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/master.c:2486,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2489,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/master.c:2497,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/master.c:2498,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2501,1
    - Dst: commit
      Src: /src/bind9/lib/dns/master.c:2504,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2507,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/master.c:2508,1
    - Dst: dns_rdatacallbacks_t*::commit
      Src: /src/bind9/lib/dns/master.c:2527,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2531,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/master.c:2534,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2538,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 137
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2274
    functionDepth: 4
    functionLinenumber: 2274
    functionLinenumberEnd: 2542
    functionName: load_raw
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - commit
    - grow_rdata
    - isc_buffer_add
    - ISC_LIST_INIT
    - RETERR
    - dns_rdatalist_init
    - isc_buffer_consumedlength
    - dns_rdata_fromwire
    - dns_rdatacallbacks_t*::setup
    - read_and_check
    - isc_buffer_getuint16
    - load_header
    - isc_buffer_init
    - isc_result_totext
    - isc_buffer_current
    - dns_rdata_init
    - dns_rdata_reset
    - isc_buffer_setactive
    - isc_buffer_availablelength
    - dns_rdatacallbacks_t*::commit
    - CHECK
    - isc_buffer_clear
    - dns_name_fromwire
    - CLEANUP
    - isc_mem_cput
    - isc_stdio_read
    - isc_mem_get
    - isc_buffer_remaininglength
    - ISC_LIST_APPEND
    - dns_fixedname_initname
    - isc_buffer_getuint32
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t load_raw(dns_loadctx_t *lctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2555,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2561,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2564,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    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: 2569
      start: 2544
    functionDepth: 3
    functionLinenumber: 2544
    functionLinenumberEnd: 2569
    functionName: dns_master_loadfile
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 2
    functionsReached:
    - dns_loadctx_detach
    - loadctx_create
    - INSIST
    - CHECK
    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: 2587
      start: 2583
    functionDepth: 0
    functionLinenumber: 2583
    functionLinenumberEnd: 2587
    functionName: master_load
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void master_load(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/master.c:2594,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2596
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2596
    functionName: master_load_callback
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_loop_detach
    - dns_loadctx_detach
    linkageType: ''
    returnType: void
    signature: void master_load_callback(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/master.c:2602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2603
      start: 2598
    functionDepth: 2
    functionLinenumber: 2598
    functionLinenumberEnd: 2603
    functionName: master_load_done
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void master_load_done(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2618,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2619,1
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2621,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2629,1
    - Dst: dns_loadctx_ref
      Src: /src/bind9/lib/dns/master.c:2633,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/master.c:2634,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/master.c:2635,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/master.c:2635,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    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: 2640
      start: 2605
    functionDepth: 3
    functionLinenumber: 2605
    functionLinenumberEnd: 2640
    functionName: dns_master_loadfileasync
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_loadctx_detach
    - isc_loop_attach
    - dns_loadctx_ref
    - isc_work_enqueue
    - isc_loop
    - loadctx_create
    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:2649,1
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2651,1
    - Dst: isc_lex_openstream
      Src: /src/bind9/lib/dns/master.c:2654,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2657,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2659,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: 2661
      start: 2642
    functionDepth: 3
    functionLinenumber: 2642
    functionLinenumberEnd: 2661
    functionName: dns_master_loadstream
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_loadctx_detach
    - INSIST
    - isc_lex_openstream
    - loadctx_create
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/master.c:2670,1
    - Dst: loadctx_create
      Src: /src/bind9/lib/dns/master.c:2672,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/master.c:2675,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/dns/master.c:2675,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2678,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/master.c:2681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    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: 2683
      start: 2663
    functionDepth: 3
    functionLinenumber: 2663
    functionLinenumberEnd: 2683
    functionName: dns_master_loadbuffer
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_loadctx_detach
    - INSIST
    - isc_lex_openbuffer
    - CHECK
    - loadctx_create
    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:2695,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/master.c:2697,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2699,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2700,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2701,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2702,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2705,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2706,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2708,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2712,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2713,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2714,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2715,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2718,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2719,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2721,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2725,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2727,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: 2730
      start: 2689
    functionDepth: 1
    functionLinenumber: 2689
    functionLinenumberEnd: 2730
    functionName: grow_rdatalist
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 1
    functionsReached:
    - isc_mem_cput
    - ISC_LIST_UNLINK
    - isc_mem_cget
    - INSIST
    - ISC_LIST_APPEND
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - ISC_LIST
    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:2705,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2706,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2704
    functionDepth: 1
    functionLinenumber: 2704
    functionLinenumberEnd: 2710
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 143
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LIST_APPEND
    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:2718,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2719,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2723
      start: 2717
    functionDepth: 1
    functionLinenumber: 2717
    functionLinenumberEnd: 2723
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 143
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LIST_APPEND
    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:2741,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/master.c:2743,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2748,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2749,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2750,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2751,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2752,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2755,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2756,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2758,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2766,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/master.c:2767,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2768,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2769,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2770,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2773,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2774,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2776,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2780,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/master.c:2782,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: 2785
      start: 2736
    functionDepth: 1
    functionLinenumber: 2736
    functionLinenumberEnd: 2785
    functionName: grow_rdata
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 2
    functionsReached:
    - isc_mem_cput
    - ISC_LIST_UNLINK
    - isc_mem_cget
    - INSIST
    - ISC_LIST_APPEND
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - ISC_LIST
    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:2755,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2756,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2758,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2760
      start: 2754
    functionDepth: 1
    functionLinenumber: 2754
    functionLinenumberEnd: 2760
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 144
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LIST_APPEND
    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:2773,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2774,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/master.c:2776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2778
      start: 2772
    functionDepth: 1
    functionLinenumber: 2772
    functionLinenumberEnd: 2778
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 144
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LIST_APPEND
    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:2793,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/master.c:2794,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/master.c:2795,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/master.c:2796,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/master.c:2802,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/master.c:2804,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/master.c:2805,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/master.c:2810,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - this
    - lctx
    argTypes:
    - dns_rdatalist_t*
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2813
      start: 2787
    functionDepth: 1
    functionLinenumber: 2787
    functionLinenumberEnd: 2813
    functionName: resign_fromlist
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - INSIST
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - isc_serial_gt
    - dns_rdata_tostruct
    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:2831,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/master.c:2832,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/master.c:2833,1
    - Dst: resign_fromlist
      Src: /src/bind9/lib/dns/master.c:2842,1
    - Dst: dns_rdatacallbacks_t*::update
      Src: /src/bind9/lib/dns/master.c:2844,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/master.c:2848,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2852,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/master.c:2856,1
    - Dst: MANYERRS
      Src: /src/bind9/lib/dns/master.c:2859,1
    - Dst: SETRESULT
      Src: /src/bind9/lib/dns/master.c:2860,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/master.c:2864,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: 2868
      start: 2820
    functionDepth: 2
    functionLinenumber: 2820
    functionLinenumberEnd: 2868
    functionName: commit
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 16
    functionsReached:
    - dns_rdatacallbacks_t*::update
    - ISC_LIST_UNLINK
    - dns_name_format
    - resign_fromlist
    - dns_rdataset_init
    - SETRESULT
    - MANYERRS
    - ISC_LIST_FOREACH
    - dns_rdatalist_tordataset
    - isc_result_totext
    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:2883,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/master.c:2893,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/master.c:2894,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/master.c:2895,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/master.c:2896,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/master.c:2897,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - head
    - owner
    argTypes:
    - rdatalist_head_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2902
      start: 2874
    functionDepth: 1
    functionLinenumber: 2874
    functionLinenumberEnd: 2902
    functionName: is_glue
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 1
    functionsReached:
    - dns_name_init
    - dns_name_fromregion
    - dns_name_equal
    - dns_rdata_toregion
    - ISC_LIST_FOREACH
    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:2906,1
    - Dst: DNS_LCTX_VALID
      Src: /src/bind9/lib/dns/master.c:2906,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/master.c:2908,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - lctx
    argTypes:
    - dns_loadctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2909
      start: 2904
    functionDepth: 1
    functionLinenumber: 2904
    functionLinenumberEnd: 2909
    functionName: dns_loadctx_cancel
    functionSourceFile: /src/bind9/lib/dns/master.c
    functionUses: 0
    functionsReached:
    - DNS_LCTX_VALID
    - REQUIRE
    - atomic_store_release
    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:2913,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2914
      start: 2911
    functionDepth: 0
    functionLinenumber: 2911
    functionLinenumberEnd: 2914
    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:
    - isc_mem_attach
    - REQUIRE
    - dns_qpmulti_create
    - isc_mem_get
    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:
    - isc_mem_attach
    - dns_name_dup
    - isc_refcount_init
    - isc_mem_get
    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:
    - REQUIRE
    - dns_name_init
    - dns_qp_compact
    - isc_mem_get
    - ISC_LIST_APPEND
    - new_forwarders
    - dns_qpmulti_commit
    - dns_forwarders_detach
    - ISC_LIST_FOREACH
    - VALID_FWDTABLE
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_name_dup
    - ISC_LINK_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:
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_APPEND
    - new_forwarders
    - dns_qpmulti_commit
    - dns_forwarders_detach
    - ISC_LIST_FOREACH
    - VALID_FWDTABLE
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_compact
    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:
    - REQUIRE
    - dns_qpread_destroy
    - dns_qpmulti_query
    - dns_forwarders_ref
    - VALID_FWDTABLE
    - dns_qp_lookup
    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:
    - REQUIRE
    - isc_mem_putanddetach
    - dns_qpmulti_destroy
    - 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_LIST_UNLINK
    - isc_mem_put
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - dns_name_free
    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: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 92
    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: 100
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 100
    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:112,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/journal.c:113,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/journal.c:113,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/journal.c:116,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/journal.c:121,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/journal.c:122,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/journal.c:128,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:133,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/journal.c:134,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:136,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/journal.c:138,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/journal.c:139,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/journal.c:143,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/journal.c:145,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: 147
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 147
    functionName: dns_db_createsoatuple
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - dns_name_copy
    - dns_db_detachnode
    - UNEXPECTED_ERROR
    - dns_rdataset_getownercase
    - dns_db_origin
    - dns_rdataset_first
    - dns_difftuple_create
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - dns_db_findnode
    - dns_rdataset_current
    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: 240
      start: 239
    functionDepth: 0
    functionLinenumber: 239
    functionLinenumberEnd: 240
    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: 241
      start: 240
    functionDepth: 0
    functionLinenumber: 240
    functionLinenumberEnd: 241
    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: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    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: 343
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 343
    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:346,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - raw
    - cooked
    argTypes:
    - journal_rawpos_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 344
    functionDepth: 0
    functionLinenumber: 344
    functionLinenumberEnd: 348
    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:352,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - raw
    - cooked
    argTypes:
    - journal_rawpos_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 354
    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:358,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/journal.c:360,1
    - Dst: journal_pos_decode
      Src: /src/bind9/lib/dns/journal.c:361,1
    - Dst: journal_pos_decode
      Src: /src/bind9/lib/dns/journal.c:362,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:363,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:364,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - raw
    - cooked
    argTypes:
    - journal_rawheader_t*
    - journal_header_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 366
    functionName: journal_header_decode
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_pos_decode
    - memmove
    - INSIST
    - decode_uint32
    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:372,1
    - Dst: memset
      Src: /src/bind9/lib/dns/journal.c:374,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/journal.c:375,1
    - Dst: journal_pos_encode
      Src: /src/bind9/lib/dns/journal.c:376,1
    - Dst: journal_pos_encode
      Src: /src/bind9/lib/dns/journal.c:377,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:378,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:379,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - cooked
    - raw
    argTypes:
    - journal_header_t*
    - journal_rawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 384
    functionName: journal_header_encode
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - encode_uint32
    - journal_pos_encode
    - memset
    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:393,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:395,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - j
    - offset
    argTypes:
    - dns_journal_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 402
    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:408,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:413,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:415,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: 420
      start: 404
    functionDepth: 2
    functionLinenumber: 404
    functionLinenumberEnd: 420
    functionName: journal_read
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_stdio_read
    - isc_result_totext
    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:426,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:428,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:430,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: 435
      start: 422
    functionDepth: 2
    functionLinenumber: 422
    functionLinenumberEnd: 435
    functionName: journal_write
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_stdio_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:441,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:443,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:445,1
    - Dst: isc_stdio_sync
      Src: /src/bind9/lib/dns/journal.c:448,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:450,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 456
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:468,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:468,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:469,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:471,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:472,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:479,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:479,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:480,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:481,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:482,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:483,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 2
    argNames:
    - j
    - xhdr
    argTypes:
    - dns_journal_t*
    - journal_xhdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 461
    functionDepth: 3
    functionLinenumber: 461
    functionLinenumberEnd: 491
    functionName: journal_read_xhdr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_read
    - RETERR
    - 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:498,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:499,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:500,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:501,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:504,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:505,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:506,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:507,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:508,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: 510
      start: 493
    functionDepth: 3
    functionLinenumber: 493
    functionLinenumberEnd: 510
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:520,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:520,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - j
    - rrhdr
    argTypes:
    - dns_journal_t*
    - journal_rrhdr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 523
    functionName: journal_read_rrhdr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_read
    - RETERR
    - 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:535,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/journal.c:537,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:539,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:541,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:551,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:554,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/journal.c:556,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/journal.c:557,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/journal.c:559,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:561,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:563,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:564,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:565,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:566,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:569,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:571,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:573,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:575,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:576,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 33
    argCount: 3
    argNames:
    - mctx
    - downgrade
    - filename
    argTypes:
    - isc_mem_t*
    - bool
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 581
    functionName: journal_file_create
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - isc_stdio_open
    - isc_mem_cget
    - memmove
    - INSIST
    - isc_stdio_write
    - isc_mem_put
    - isc_log_write
    - journal_header_encode
    - ISC_CHECKED_MUL
    - isc_file_remove
    - isc_result_totext
    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:591,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:593,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/journal.c:595,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/journal.c:597,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/journal.c:599,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:602,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:603,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:607,1
    - Dst: journal_file_create
      Src: /src/bind9/lib/dns/journal.c:607,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/journal.c:611,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:613,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:617,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:619,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:620,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:630,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:630,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:631,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:631,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/journal.c:633,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/journal.c:647,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:656,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:659,1
    - Dst: journal_header_decode
      Src: /src/bind9/lib/dns/journal.c:661,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:672,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:674,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:676,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:676,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/journal.c:678,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:683,1
    - Dst: decode_uint32
      Src: /src/bind9/lib/dns/journal.c:685,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:688,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/journal.c:695,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/journal.c:696,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:703,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:704,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:715,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:719,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/journal.c:722,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:724,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/journal.c:726,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: 728
      start: 583
    functionDepth: 3
    functionLinenumber: 583
    functionLinenumberEnd: 728
    functionName: journal_open
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - INSIST
    - journal_seek
    - journal_read
    - isc_mem_strdup
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - isc_stdio_close
    - isc_stdio_open
    - isc_mem_cget
    - dns_name_init
    - memcmp
    - isc_mem_free
    - isc_buffer_init
    - isc_result_totext
    - journal_file_create
    - dns_rdata_init
    - isc_log_write
    - CHECK
    - journal_header_decode
    - CLEANUP
    - isc_mem_cput
    - isc_mem_get
    - decode_uint32
    - ISC_CHECKED_MUL
    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:741,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/journal.c:744,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/journal.c:745,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/journal.c:750,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:755,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: 759
      start: 730
    functionDepth: 4
    functionLinenumber: 730
    functionLinenumberEnd: 759
    functionName: dns_journal_open
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - journal_open
    - strcmp
    - strlen
    - 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:792,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/journal.c:805,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 821
      start: 773
    functionDepth: 1
    functionLinenumber: 773
    functionLinenumberEnd: 821
    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:833,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:837,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:839,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:843,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:843,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:844,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:844,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:849,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:851,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:855,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:855,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:856,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:856,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:867,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:867,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:869,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:869,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:871,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:872,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/journal.c:880,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:882,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:883,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: 894
      start: 823
    functionDepth: 4
    functionLinenumber: 823
    functionLinenumberEnd: 894
    functionName: maybe_fixup_xhdr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - journal_seek
    - journal_read
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_serial_le
    - CHECK
    - journal_read_xhdr
    - isc_serial_gt
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:918,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:918,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:920,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:920,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:930,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:930,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:933,1
    - Dst: maybe_fixup_xhdr
      Src: /src/bind9/lib/dns/journal.c:933,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:940,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:942,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:958,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - j
    - pos
    argTypes:
    - dns_journal_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 912
    functionDepth: 5
    functionLinenumber: 912
    functionLinenumberEnd: 970
    functionName: journal_next
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - maybe_fixup_xhdr
    - DNS_JOURNAL_VALID
    - journal_seek
    - isc_log_write
    - RETERR
    - isc_serial_le
    - CHECK
    - journal_read_xhdr
    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:986,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/dns/journal.c:987,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:988,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: 993
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 993
    functionName: index_find
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - DNS_SERIAL_GT
    - DNS_SERIAL_GE
    - POS_VALID
    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:1016,1
    - Dst: POS_INVALIDATE
      Src: /src/bind9/lib/dns/journal.c:1030,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1034,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1035,1
    - Dst: POS_VALID
      Src: /src/bind9/lib/dns/journal.c:1035,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - j
    - pos
    argTypes:
    - dns_journal_t*
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1041
    functionName: index_add
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - INSIST
    - POS_VALID
    - 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:1054,1
    - Dst: POS_INVALIDATE
      Src: /src/bind9/lib/dns/journal.c:1055,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - j
    - serial
    argTypes:
    - dns_journal_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1058
      start: 1047
    functionDepth: 1
    functionLinenumber: 1047
    functionLinenumberEnd: 1058
    functionName: index_invalidate
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - DNS_SERIAL_GT
    - POS_INVALIDATE
    linkageType: ''
    returnType: void
    signature: void index_invalidate(dns_journal_t *j, uint32_t serial)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1083,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1083,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1085,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1088,1
    - Dst: index_find
      Src: /src/bind9/lib/dns/journal.c:1097,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1100,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:1103,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:1103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 3
    argNames:
    - j
    - serial
    - pos
    argTypes:
    - dns_journal_t*
    - uint32_t
    - journal_pos_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1079
    functionDepth: 6
    functionLinenumber: 1079
    functionLinenumberEnd: 1107
    functionName: journal_find
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_SERIAL_GT
    - DNS_JOURNAL_VALID
    - journal_next
    - index_find
    - RETERR
    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:1114,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1115,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1122,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:1124,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1133,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1133,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1140,1
    - Dst: journal_write_xhdr
      Src: /src/bind9/lib/dns/journal.c:1140,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1109
    functionDepth: 4
    functionLinenumber: 1109
    functionLinenumberEnd: 1147
    functionName: dns_journal_begin_transaction
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - journal_write_xhdr
    - DNS_JOURNAL_VALID
    - journal_seek
    - CHECK
    - JOURNAL_EMPTY
    - ISC_CHECKED_MUL
    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:1158,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/journal.c:1158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1159,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1161,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1162,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1163,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/journal.c:1169,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/journal.c:1173,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1184,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:1192,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1194,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/journal.c:1199,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/journal.c:1203,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/journal.c:1208,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/journal.c:1209,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/journal.c:1210,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/journal.c:1211,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/journal.c:1212,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1213,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/journal.c:1213,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/journal.c:1214,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/journal.c:1219,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1220,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1228,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:1228,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1234,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 46
    argCount: 2
    argNames:
    - j
    - diff
    argTypes:
    - dns_journal_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1237
      start: 1149
    functionDepth: 3
    functionLinenumber: 1149
    functionLinenumberEnd: 1237
    functionName: dns_journal_writediff
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - DNS_DIFF_VALID
    - isc_mem_get
    - isc_buffer_putmem
    - isc_buffer_putuint32
    - dns_diff_print
    - INSIST
    - isc_log_write
    - isc_buffer_putuint16
    - isc_buffer_availablelength
    - ISC_LOG_DEBUG
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    - journal_write
    - CHECK
    - dns_soa_getserial
    - isc_buffer_init
    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:1245,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1246,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1253,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1253,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:1254,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1255,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1255,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1256,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:1256,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1257,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1257,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1266,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1272,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1273,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1280,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1282,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1298,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1312,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1313,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1316,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:1316,1
    - Dst: index_invalidate
      Src: /src/bind9/lib/dns/journal.c:1318,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:1321,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1329,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1329,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1339,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1339,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1340,1
    - Dst: journal_write_xhdr
      Src: /src/bind9/lib/dns/journal.c:1340,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:1348,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:1352,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1353,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1353,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1354,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:1354,1
    - Dst: index_add
      Src: /src/bind9/lib/dns/journal.c:1359,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1365,1
    - Dst: index_to_disk
      Src: /src/bind9/lib/dns/journal.c:1365,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1370,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:1370,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 61
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1381
      start: 1239
    functionDepth: 6
    functionLinenumber: 1239
    functionLinenumberEnd: 1381
    functionName: dns_journal_commit
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - journal_write_xhdr
    - journal_fsync
    - index_add
    - DNS_SERIAL_GT
    - DNS_JOURNAL_VALID
    - journal_next
    - journal_seek
    - index_to_disk
    - isc_log_write
    - journal_write
    - journal_header_encode
    - CHECK
    - JOURNAL_EMPTY
    - index_invalidate
    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:1387,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/journal.c:1387,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1388,1
    - Dst: dns_journal_begin_transaction
      Src: /src/bind9/lib/dns/journal.c:1388,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1389,1
    - Dst: dns_journal_writediff
      Src: /src/bind9/lib/dns/journal.c:1389,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1390,1
    - Dst: dns_journal_commit
      Src: /src/bind9/lib/dns/journal.c:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - j
    - diff
    argTypes:
    - dns_journal_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1383
    functionDepth: 7
    functionLinenumber: 1383
    functionLinenumberEnd: 1394
    functionName: dns_journal_write_transaction
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - dns_journal_writediff
    - dns_diff_sort
    - dns_journal_commit
    - CHECK
    - dns_journal_begin_transaction
    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:1400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1401,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1401,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/lib/dns/journal.c:1407,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:1409,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/journal.c:1413,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1417,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1420,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/journal.c:1423,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/journal.c:1426,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/journal.c:1429,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - journalp
    argTypes:
    - dns_journal_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1430
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1430
    functionName: dns_journal_destroy
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - isc_stdio_close
    - REQUIRE
    - isc_mem_cput
    - isc_mem_put
    - DNS_JOURNAL_VALID
    - isc_mem_free
    - dns_name_invalidate
    - isc_mem_putanddetach
    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:1453,1
    - Dst: DNS_JOURNAL_VALID
      Src: /src/bind9/lib/dns/journal.c:1453,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/journal.c:1454,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/journal.c:1454,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:1456,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1463,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1464,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1469,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/journal.c:1469,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1474,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/journal.c:1474,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1479,1
    - Dst: journal_find
      Src: /src/bind9/lib/dns/journal.c:1479,1
    - Dst: dns_journal_last_serial
      Src: /src/bind9/lib/dns/journal.c:1481,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/journal.c:1489,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1491,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/journal.c:1491,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/journal.c:1492,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/journal.c:1493,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:1500,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1503,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/journal.c:1503,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/journal.c:1504,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/journal.c:1505,1
    - Dst: dns_journal_current_rr
      Src: /src/bind9/lib/dns/journal.c:1512,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1525,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:1530,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:1539,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:1540,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1543,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1544,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1547,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1548,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/journal.c:1548,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1549,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1556,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1559,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1560,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1563,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1564,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/journal.c:1564,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1565,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/journal.c:1570,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1575,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1578,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1581,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1583,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: 1586
      start: 1439
    functionDepth: 7
    functionLinenumber: 1439
    functionLinenumberEnd: 1586
    functionName: dns_journal_rollforward
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_newversion
    - isc_mem_put
    - INSIST
    - dns_difftuple_create
    - ISC_LOG_DEBUG
    - dns_diff_apply
    - DNS_DB_VALID
    - dns_journal_first_serial
    - dns_journal_current_rr
    - dns_db_getsoaserial
    - isc_buffer_init
    - dns_journal_last_serial
    - DNS_JOURNAL_VALID
    - dns_diff_print
    - dns_diff_append
    - isc_log_write
    - journal_find
    - dns_db_closeversion
    - CHECK
    - dns_diff_clear
    - CLEANUP
    - dns_journal_first_rr
    - dns_journal_next_rr
    - dns_journal_iter_init
    - dns_diff_init
    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:1602,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/journal.c:1604,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1606,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:1607,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1610,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/journal.c:1612,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1617,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1619,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1620,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1621,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/journal.c:1624,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1627,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/journal.c:1628,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1632,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:1634,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1641,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/journal.c:1642,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/journal.c:1644,1
    - Dst: dns_journal_last_serial
      Src: /src/bind9/lib/dns/journal.c:1645,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1647,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/journal.c:1647,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/journal.c:1649,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/journal.c:1650,1
    - Dst: dns_journal_current_rr
      Src: /src/bind9/lib/dns/journal.c:1659,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1671,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:1676,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1680,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/journal.c:1687,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:1695,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:1698,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1701,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1702,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1712,1
    - Dst: dns_diff_print
      Src: /src/bind9/lib/dns/journal.c:1715,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1716,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1721,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1727,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1730,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:1733,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:1734,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: 1737
      start: 1588
    functionDepth: 5
    functionLinenumber: 1588
    functionLinenumberEnd: 1737
    functionName: dns_journal_print
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - dns_difftuple_create
    - fprintf
    - dns_journal_destroy
    - ISC_LOG_DEBUG
    - dns_journal_open
    - dns_journal_first_serial
    - dns_journal_current_rr
    - isc_buffer_init
    - fputc
    - isc_result_totext
    - dns_journal_last_serial
    - dns_diff_print
    - dns_diff_append
    - isc_log_write
    - CHECK
    - dns_diff_clear
    - CLEANUP
    - dns_journal_first_rr
    - dns_journal_next_rr
    - dns_journal_iter_init
    - dns_diff_init
    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:1745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1743
    functionDepth: 1
    functionLinenumber: 1743
    functionLinenumberEnd: 1746
    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: 1751
      start: 1748
    functionDepth: 0
    functionLinenumber: 1748
    functionLinenumberEnd: 1751
    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: 1756
      start: 1753
    functionDepth: 0
    functionLinenumber: 1753
    functionLinenumberEnd: 1756
    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: 1761
      start: 1758
    functionDepth: 0
    functionLinenumber: 1758
    functionLinenumberEnd: 1761
    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:1765,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - j
    - sourceserial
    argTypes:
    - dns_journal_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1774
    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:1778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - j
    - sourceserial
    argTypes:
    - dns_journal_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1785
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1785
    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:1814,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:1816,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/journal.c:1821,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: 1822
      start: 1811
    functionDepth: 2
    functionLinenumber: 1811
    functionLinenumberEnd: 1822
    functionName: size_buffer
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_buffer_clear
    - isc_mem_put
    - isc_mem_get
    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:1829,1
    - Dst: journal_find
      Src: /src/bind9/lib/dns/journal.c:1829,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1830,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1832,1
    - Dst: journal_find
      Src: /src/bind9/lib/dns/journal.c:1832,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:1833,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1848,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1848,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1849,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:1849,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1852,1
    - Dst: maybe_fixup_xhdr
      Src: /src/bind9/lib/dns/journal.c:1852,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:1860,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:1862,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:1868,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1872,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:1881,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: 1889
      start: 1824
    functionDepth: 7
    functionLinenumber: 1824
    functionLinenumberEnd: 1889
    functionName: dns_journal_iter_init
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - maybe_fixup_xhdr
    - INSIST
    - journal_next
    - journal_seek
    - journal_find
    - isc_serial_le
    - CHECK
    - journal_read_xhdr
    - ISC_CHECKED_MUL
    - CLEANUP
    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:1899,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:1899,1
    - Dst: read_one_rr
      Src: /src/bind9/lib/dns/journal.c:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1891
    functionDepth: 3
    functionLinenumber: 1891
    functionLinenumberEnd: 1909
    functionName: dns_journal_first_rr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 3
    functionsReached:
    - journal_seek
    - read_one_rr
    - CHECK
    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:1923,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1937,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:1937,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1939,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:1943,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1947,1
    - Dst: maybe_fixup_xhdr
      Src: /src/bind9/lib/dns/journal.c:1947,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:1952,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1954,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:1960,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1969,1
    - Dst: journal_read_rrhdr
      Src: /src/bind9/lib/dns/journal.c:1969,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:1978,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:1983,1
    - Dst: size_buffer
      Src: /src/bind9/lib/dns/journal.c:1986,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:1987,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:1987,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/journal.c:1988,1
    - Dst: size_buffer
      Src: /src/bind9/lib/dns/journal.c:1996,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/journal.c:2003,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2005,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/journal.c:2005,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2011,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2012,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/journal.c:2015,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/journal.c:2016,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/journal.c:2017,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/journal.c:2018,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2021,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2026,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2032,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2033,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/journal.c:2035,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/journal.c:2036,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2037,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/journal.c:2037,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/journal.c:2044,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 62
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 1911
    functionDepth: 5
    functionLinenumber: 1911
    functionLinenumberEnd: 2052
    functionName: read_one_rr
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - maybe_fixup_xhdr
    - isc_buffer_remaininglength
    - journal_read
    - dns_rdata_reset
    - journal_read_rrhdr
    - isc_buffer_setactive
    - isc_log_write
    - isc_buffer_add
    - dns_rdata_fromwire
    - isc_serial_le
    - isc_buffer_getuint16
    - CHECK
    - journal_read_xhdr
    - isc_buffer_getuint32
    - size_buffer
    - dns_soa_getserial
    - CLEANUP
    - dns_name_fromwire
    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:2056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2058
      start: 2054
    functionDepth: 6
    functionLinenumber: 2054
    functionLinenumberEnd: 2058
    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:2063,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: 2067
      start: 2060
    functionDepth: 1
    functionLinenumber: 2060
    functionLinenumberEnd: 2067
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:2092,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/journal.c:2092,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/journal.c:2094,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/journal.c:2101,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:2105,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:2106,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:2108,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/journal.c:2110,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/journal.c:2112,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/journal.c:2117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    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: 2120
      start: 2083
    functionDepth: 1
    functionLinenumber: 2083
    functionLinenumberEnd: 2120
    functionName: get_name_diff
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_difftuple_create
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_diff_append
    - RETERR
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - dns_dbiterator_current
    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:2101,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:2105,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:2106,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:2108,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/journal.c:2110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2111
      start: 2099
    functionDepth: 1
    functionLinenumber: 2099
    functionLinenumberEnd: 2111
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/journal.c:2105,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/journal.c:2106,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/journal.c:2108,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2109
      start: 2103
    functionDepth: 1
    functionLinenumber: 2103
    functionLinenumberEnd: 2109
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdataset_current
    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:2139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2128
    functionDepth: 1
    functionLinenumber: 2128
    functionLinenumberEnd: 2141
    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:2151,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/journal.c:2151,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2152,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/journal.c:2152,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/journal.c:2153,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/journal.c:2154,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/journal.c:2157,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/journal.c:2158,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2166,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2167,1
    - Dst: rdata_order
      Src: /src/bind9/lib/dns/journal.c:2171,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2173,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2174,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2178,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2179,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2182,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/journal.c:2189,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/journal.c:2192,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/journal.c:2194,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2199,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2200,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 52
    argCount: 2
    argNames:
    - diff
    - r
    argTypes:
    - dns_diff_t[]
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2204
      start: 2143
    functionDepth: 2
    functionLinenumber: 2143
    functionLinenumberEnd: 2204
    functionName: dns_diff_subtract
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - dns_diff_sort
    - INSIST
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - ISC_LIST_HEAD
    - rdata_order
    - ISC_LIST_INIT
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_diff_subtract(dns_diff_t diff[2], dns_diff_t *r)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:2222,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/journal.c:2223,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/journal.c:2225,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/journal.c:2226,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:2228,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/journal.c:2228,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/journal.c:2229,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/journal.c:2234,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/journal.c:2235,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2240,1
    - Dst: get_name_diff
      Src: /src/bind9/lib/dns/journal.c:2240,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/journal.c:2242,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/journal.c:2246,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2252,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2252,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2253,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2253,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2259,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2261,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2261,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/journal.c:2267,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/journal.c:2267,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/journal.c:2268,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2270,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2272,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2272,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/journal.c:2277,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2279,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2279,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2283,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2284,1
    - Dst: dns_diff_subtract
      Src: /src/bind9/lib/dns/journal.c:2284,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2285,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2285,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2286,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2286,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2291,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2294,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2297,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2297,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2298,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2298,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/journal.c:2301,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/journal.c:2304,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:2305,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:2306,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 76
    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: 2308
      start: 2206
    functionDepth: 3
    functionLinenumber: 2206
    functionLinenumberEnd: 2308
    functionName: diff_namespace
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_dbiterator_next
    - dns_dbiterator_destroy
    - INSIST
    - dns_dbiterator_first
    - ISC_LIST_APPENDLIST
    - ISC_LIST_EMPTY
    - dns_diff_subtract
    - dns_fixedname_name
    - dns_name_compare
    - RETERR
    - get_name_diff
    - dns_diff_init
    - CHECK
    - dns_fixedname_init
    - dns_diff_clear
    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:2322,1
    - Dst: dns_db_diffx
      Src: /src/bind9/lib/dns/journal.c:2324,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/journal.c:2326,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: 2329
      start: 2316
    functionDepth: 1
    functionLinenumber: 2316
    functionLinenumberEnd: 2329
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/journal.c:2338,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/journal.c:2338,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2342,1
    - Dst: diff_namespace
      Src: /src/bind9/lib/dns/journal.c:2342,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2343,1
    - Dst: diff_namespace
      Src: /src/bind9/lib/dns/journal.c:2343,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2346,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2347,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/journal.c:2348,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2351,1
    - Dst: dns_journal_write_transaction
      Src: /src/bind9/lib/dns/journal.c:2351,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    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: 2360
      start: 2331
    functionDepth: 8
    functionLinenumber: 2331
    functionLinenumberEnd: 2360
    functionName: dns_db_diffx
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 4
    functionsReached:
    - diff_namespace
    - dns_journal_open
    - ISC_LIST_EMPTY
    - dns_journal_destroy
    - isc_log_write
    - RETERR
    - ISC_LOG_DEBUG
    - CHECK
    - dns_journal_write_transaction
    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:2367,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/journal.c:2368,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2369,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/journal.c:2370,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2371,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2371,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/journal.c:2372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2377
      start: 2362
    functionDepth: 3
    functionLinenumber: 2362
    functionLinenumberEnd: 2377
    functionName: rrcount
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc_buffer_add
    - isc_buffer_getuint32
    - isc_buffer_init
    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:2384,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/journal.c:2385,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2386,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2387,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/journal.c:2390,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/journal.c:2392,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/journal.c:2395,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - buf
    - size
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2379
    functionDepth: 3
    functionLinenumber: 2379
    functionLinenumberEnd: 2399
    functionName: check_delta
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 0
    functionsReached:
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc_buffer_add
    - isc_buffer_getuint32
    - isc_buffer_init
    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:2422,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/journal.c:2424,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/journal.c:2425,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/journal.c:2429,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/journal.c:2431,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/journal.c:2433,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/journal.c:2435,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:2437,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:2440,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/journal.c:2460,1
    - Dst: JOURNAL_EMPTY
      Src: /src/bind9/lib/dns/journal.c:2461,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2462,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:2466,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/journal.c:2467,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2469,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/journal.c:2477,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2490,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2494,1
    - Dst: journal_open
      Src: /src/bind9/lib/dns/journal.c:2494,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2495,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2495,1
    - Dst: POS_VALID
      Src: /src/bind9/lib/dns/journal.c:2509,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/dns/journal.c:2510,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2521,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:2521,1
    - Dst: DNS_SERIAL_GE
      Src: /src/bind9/lib/dns/journal.c:2526,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2537,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2539,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:2539,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2550,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2550,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:2570,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2574,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2578,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2584,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:2586,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:2587,1
    - Dst: check_delta
      Src: /src/bind9/lib/dns/journal.c:2594,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2599,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2599,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2600,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:2600,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2604,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2604,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2605,1
    - Dst: journal_read_xhdr
      Src: /src/bind9/lib/dns/journal.c:2605,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:2609,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/journal.c:2612,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2619,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:2621,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2622,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:2622,1
    - Dst: check_delta
      Src: /src/bind9/lib/dns/journal.c:2624,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2625,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2628,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/journal.c:2639,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/journal.c:2650,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2652,1
    - Dst: rrcount
      Src: /src/bind9/lib/dns/journal.c:2661,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2662,1
    - Dst: journal_write_xhdr
      Src: /src/bind9/lib/dns/journal.c:2662,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2664,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2664,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:2671,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/journal.c:2679,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/journal.c:2680,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/journal.c:2682,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2683,1
    - Dst: journal_read
      Src: /src/bind9/lib/dns/journal.c:2683,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2684,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2684,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2690,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:2690,1
    - Dst: journal_header_encode
      Src: /src/bind9/lib/dns/journal.c:2695,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2696,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2696,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2697,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2697,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2698,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:2698,1
    - Dst: index_add
      Src: /src/bind9/lib/dns/journal.c:2705,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2706,1
    - Dst: journal_next
      Src: /src/bind9/lib/dns/journal.c:2706,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2712,1
    - Dst: index_to_disk
      Src: /src/bind9/lib/dns/journal.c:2712,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2713,1
    - Dst: journal_fsync
      Src: /src/bind9/lib/dns/journal.c:2713,1
    - Dst: POST
      Src: /src/bind9/lib/dns/journal.c:2716,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2722,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2723,1
    - Dst: rename
      Src: /src/bind9/lib/dns/journal.c:2736,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:2738,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2742,1
    - Dst: rename
      Src: /src/bind9/lib/dns/journal.c:2744,1
    - Dst: rename
      Src: /src/bind9/lib/dns/journal.c:2747,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:2750,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/journal.c:2753,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/journal.c:2760,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/journal.c:2762,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2765,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/journal.c:2768,1
    CyclomaticComplexity: 62
    EdgeCount: 62
    ICount: 196
    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: 2771
      start: 2401
    functionDepth: 6
    functionLinenumber: 2401
    functionLinenumberEnd: 2771
    functionName: dns_journal_compact
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - journal_write_xhdr
    - index_add
    - isc_mem_put
    - INSIST
    - journal_seek
    - journal_read
    - ISC_MIN
    - dns_journal_destroy
    - strlen
    - journal_header_encode
    - JOURNAL_EMPTY
    - isc_file_remove
    - journal_fsync
    - DNS_SERIAL_GT
    - dns_journal_first_serial
    - RUNTIME_CHECK
    - index_to_disk
    - snprintf
    - journal_write
    - journal_read_xhdr
    - strcmp
    - journal_next
    - rename
    - isc_log_write
    - rrcount
    - CHECK
    - CLEANUP
    - check_delta
    - isc_mem_get
    - POST
    - journal_open
    - isc_serial_le
    - DNS_SERIAL_GE
    - isc_serial_gt
    - ISC_CHECKED_MUL
    - POS_VALID
    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:2782,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:2787,1
    - Dst: encode_uint32
      Src: /src/bind9/lib/dns/journal.c:2789,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/journal.c:2792,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2794,1
    - Dst: journal_seek
      Src: /src/bind9/lib/dns/journal.c:2794,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/journal.c:2795,1
    - Dst: journal_write
      Src: /src/bind9/lib/dns/journal.c:2795,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - j
    argTypes:
    - dns_journal_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2773
    functionDepth: 3
    functionLinenumber: 2773
    functionLinenumberEnd: 2799
    functionName: index_to_disk
    functionSourceFile: /src/bind9/lib/dns/journal.c
    functionUses: 2
    functionsReached:
    - INSIST
    - journal_seek
    - encode_uint32
    - journal_write
    - 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:
    - UNUSED
    - isc_buffer_allocate
    - isc_mem_get
    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_mem_put
    - isc_buffer_free
    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_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    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:
    - isc_buffer_putmem
    - gss_error_tostring
    - gss_get_mic
    - isc_buffer_availablelength
    - isc_buffer_usedregion
    - gss_log
    - REGION_TO_GBUFFER
    - gss_release_buffer
    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:
    - gss_error_tostring
    - isc_buffer_usedregion
    - gss_log
    - REGION_TO_GBUFFER
    - gss_verify_mic
    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:
    - isc_base64_decodestring
    - isc_buffer_free
    - gss_import_sec_context
    - strlen
    - isc_buffer_allocate
    - isc_buffer_remainingregion
    - REGION_TO_GBUFFER
    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:
    - gss_export_sec_context
    - isc_mem_get
    - fprintf
    - RUNTIME_CHECK
    - isc_base64_totext
    - GBUFFER_TO_REGION
    - gss_release_buffer
    - isc_buffer_init
    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: 76
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 76
    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: 97
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 97
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    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: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    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: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    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: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    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: 125
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 125
    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: 126
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 126
    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:182,1
    - Dst: qp_common_character
      Src: /src/bind9/lib/dns/qp.c:190,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:216,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 217
    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: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    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:244,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/qp.c:244,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/qp.c:247,1
    - Dst: ENCODE_NAMESPACE
      Src: /src/bind9/lib/dns/qp.c:251,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:274,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: 276
      start: 241
    functionDepth: 1
    functionLinenumber: 241
    functionLinenumberEnd: 276
    functionName: dns_qpkey_fromname
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dns_name_offsets
    - ENSURE
    - ENCODE_NAMESPACE
    - 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:285,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/qp.c:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:287,1
    - Dst: dns_name_reset
      Src: /src/bind9/lib/dns/qp.c:289,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:291,1
    - Dst: DECODE_NAMESPACE
      Src: /src/bind9/lib/dns/qp.c:291,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:299,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:301,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:302,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:303,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qp.c:314,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/qp.c:326,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:329,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:334,1
    - Dst: qp_common_character
      Src: /src/bind9/lib/dns/qp.c:336,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:337,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:340,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/qp.c:354,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/qp.c:358,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: 359
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 359
    functionName: dns_qpkey_toname
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - qpkey_bit
    - INSIST
    - SET_IF_NOT_NULL
    - DECODE_NAMESPACE
    - qp_common_character
    - isc_buffer_putuint8
    - isc_buffer_used
    - isc_buffer_base
    - ISC_MAGIC_VALID
    - dns_name_reset
    - UNREACHABLE
    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:382,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:384,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:385,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: 391
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 391
    functionName: qpkey_compare
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - qpkey_bit
    - ISC_MAX
    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:410,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/qp.c:411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 412
    functionName: chunk_size_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ISC_MAX
    - sysconf
    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:417,1
    - Dst: mmap
      Src: /src/bind9/lib/dns/qp.c:418,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qp.c:420,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:423,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - qp
    - len
    argTypes:
    - dns_qp_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 425
    functionName: chunk_get_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - mmap
    - RUNTIME_CHECK
    - chunk_size_raw
    - isc_mem_allocate
    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:430,1
    - Dst: munmap
      Src: /src/bind9/lib/dns/qp.c:430,1
    - Dst: chunk_size_raw
      Src: /src/bind9/lib/dns/qp.c:430,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:432,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - ptr
    argTypes:
    - dns_qp_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 434
    functionName: chunk_free_raw
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - chunk_size_raw
    - munmap
    - isc_mem_free
    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:441,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: 443
      start: 436
    functionDepth: 1
    functionLinenumber: 436
    functionLinenumberEnd: 443
    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:452,1
    - Dst: chunk_size_raw
      Src: /src/bind9/lib/dns/qp.c:454,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qp.c:455,1
    - Dst: mprotect
      Src: /src/bind9/lib/dns/qp.c:455,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - chunk
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 445
    functionDepth: 2
    functionLinenumber: 445
    functionLinenumberEnd: 457
    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: 462
      start: 461
    functionDepth: 0
    functionLinenumber: 461
    functionLinenumberEnd: 462
    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: 463
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 463
    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: 465
      start: 464
    functionDepth: 0
    functionLinenumber: 464
    functionLinenumberEnd: 465
    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:481,1
    - Dst: ref_cell
      Src: /src/bind9/lib/dns/qp.c:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - ref
    argTypes:
    - dns_qp_t*
    - dns_qpref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 479
    functionDepth: 1
    functionLinenumber: 479
    functionLinenumberEnd: 488
    functionName: cells_immutable
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ref_chunk
    - ref_cell
    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:500,1
    - Dst: stdc_leading_zeros
      Src: /src/bind9/lib/dns/qp.c:501,1
    - Dst: ISC_CLAMP
      Src: /src/bind9/lib/dns/qp.c:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - prev_capacity
    - size
    argTypes:
    - uint32_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 504
    functionName: next_capacity
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ISC_CLAMP
    - ISC_MAX3
    - stdc_leading_zeros
    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: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: INSIST
      Src: /src/bind9/lib/dns/qp.c:514,1
    - Dst: next_capacity
      Src: /src/bind9/lib/dns/qp.c:516,1
    - Dst: chunk_get_raw
      Src: /src/bind9/lib/dns/qp.c:518,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:528,1
    - Dst: make_ref
      Src: /src/bind9/lib/dns/qp.c:530,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: 531
      start: 509
    functionDepth: 3
    functionLinenumber: 509
    functionLinenumberEnd: 531
    functionName: chunk_alloc
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - chunk_get_raw
    - next_capacity
    - INSIST
    - TRACE
    - make_ref
    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:544,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:546,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/dns/qp.c:547,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:550,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:551,1
    - Dst: memset
      Src: /src/bind9/lib/dns/qp.c:553,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/qp.c:554,1
    - Dst: isc_mem_reallocate
      Src: /src/bind9/lib/dns/qp.c:560,1
    - Dst: memset
      Src: /src/bind9/lib/dns/qp.c:561,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:565,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - qp
    - newmax
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 566
    functionName: realloc_chunk_arrays
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - memmove
    - STRUCT_FLEX_SIZE
    - TRACE
    - isc_mem_allocate
    - isc_mem_reallocate
    - memset
    - qpbase_unref
    - isc_refcount_init
    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:578,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:581,1
    - Dst: realloc_chunk_arrays
      Src: /src/bind9/lib/dns/qp.c:582,1
    - Dst: GROWTH_FACTOR
      Src: /src/bind9/lib/dns/qp.c:582,1
    - Dst: chunk_alloc
      Src: /src/bind9/lib/dns/qp.c:583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - qp
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 572
    functionDepth: 4
    functionLinenumber: 572
    functionLinenumberEnd: 584
    functionName: alloc_slow
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - realloc_chunk_arrays
    - ENSURE
    - chunk_alloc
    - GROWTH_FACTOR
    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:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 589
    functionDepth: 5
    functionLinenumber: 589
    functionLinenumberEnd: 592
    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:605,1
    - Dst: alloc_slow
      Src: /src/bind9/lib/dns/qp.c:607,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - qp
    - size
    argTypes:
    - dns_qp_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 597
    functionDepth: 5
    functionLinenumber: 597
    functionLinenumberEnd: 609
    functionName: alloc_twigs
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - make_ref
    - alloc_slow
    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:623,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:627,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:628,1
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:630,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:632,1
    - Dst: zero_twigs
      Src: /src/bind9/lib/dns/qp.c:635,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:635,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: 638
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 638
    functionName: free_twigs
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ref_chunk
    - cells_immutable
    - ref_ptr
    - ENSURE
    - zero_twigs
    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:648,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:649,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: 652
      start: 645
    functionDepth: 1
    functionLinenumber: 645
    functionLinenumberEnd: 652
    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: 665
      start: 662
    functionDepth: 0
    functionLinenumber: 662
    functionLinenumberEnd: 665
    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:677,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:678,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - qp
    - chunk
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 682
      start: 672
    functionDepth: 0
    functionLinenumber: 672
    functionLinenumberEnd: 682
    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:691,1
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp.c:698,1
    - Dst: node_pointer
      Src: /src/bind9/lib/dns/qp.c:698,1
    - Dst: detach_leaf
      Src: /src/bind9/lib/dns/qp.c:699,1
    - Dst: reader_valid
      Src: /src/bind9/lib/dns/qp.c:700,1
    - Dst: unpack_reader
      Src: /src/bind9/lib/dns/qp.c:702,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:704,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:705,1
    - Dst: chunk_discount
      Src: /src/bind9/lib/dns/qp.c:709,1
    - Dst: chunk_free_raw
      Src: /src/bind9/lib/dns/qp.c:710,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - qp
    - chunk
    argTypes:
    - dns_qp_t*
    - dns_qpchunk_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 713
    functionName: chunk_free
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - unpack_reader
    - node_pointer
    - chunk_discount
    - chunk_free_raw
    - reader_valid
    - TRACE
    - isc_mem_free
    - node_tag
    - detach_leaf
    - 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:722,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:725,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:728,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:733,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qp.c:734,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:737,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:738,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 742
    functionName: recycle
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - atomic_fetch_add_relaxed
    - isc_time_monotonic
    - chunk_free
    - chunk_usage
    - LOG_STATS
    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:749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:750,1
    - Dst: QPRCU_VALID
      Src: /src/bind9/lib/dns/qp.c:750,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:752,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:752,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:754,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:762,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:764,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:764,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:772,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:777,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:781,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:783,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:791,1
    - Dst: dns_qpmulti_detach
      Src: /src/bind9/lib/dns/qp.c:793,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:794,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 747
    functionDepth: 4
    functionLinenumber: 747
    functionLinenumberEnd: 796
    functionName: reclaim_chunks_cb
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_detach
    - REQUIRE
    - LOG_STATS
    - INSIST
    - LOCK
    - isc_time_monotonic
    - isc_mem_putanddetach
    - STRUCT_FLEX_SIZE
    - chunk_free
    - caa_container_of
    - QPMULTI_VALID
    - QP_VALID
    - UNLOCK
    - QPRCU_VALID
    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:808,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:821,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:821,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:827,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:831,1
    - Dst: chunk_discount
      Src: /src/bind9/lib/dns/qp.c:836,1
    - Dst: dns_qpmulti_ref
      Src: /src/bind9/lib/dns/qp.c:844,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qp.c:845,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:847,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 848
      start: 802
    functionDepth: 1
    functionLinenumber: 802
    functionLinenumberEnd: 848
    functionName: reclaim_chunks
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_mem_get
    - chunk_discount
    - STRUCT_FLEX_SIZE
    - dns_qpmulti_ref
    - chunk_usage
    - LOG_STATS
    - call_rcu
    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:858,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/qp.c:862,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:865,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:876,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:881,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:885,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:886,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 854
    functionDepth: 4
    functionLinenumber: 854
    functionLinenumberEnd: 891
    functionName: marksweep_chunks
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_time_monotonic
    - chunk_free
    - ISC_LIST_FOREACH
    - LOG_STATS
    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:909,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:910,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:911,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:912,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:913,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:915,1
    - Dst: free_twigs
      Src: /src/bind9/lib/dns/qp.c:916,1
    - Dst: attach_twigs
      Src: /src/bind9/lib/dns/qp.c:917,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 921
      start: 907
    functionDepth: 6
    functionLinenumber: 907
    functionLinenumberEnd: 921
    functionName: evacuate
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - attach_twigs
    - ref_ptr
    - move_twigs
    - alloc_twigs
    - free_twigs
    - branch_twigs_size
    - branch_twigs_ref
    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:932,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:933,1
    - Dst: MOVABLE_ROOT
      Src: /src/bind9/lib/dns/qp.c:933,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:935,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 930
    functionDepth: 7
    functionLinenumber: 930
    functionLinenumberEnd: 936
    functionName: make_root_mutable
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ref_ptr
    - cells_immutable
    - evacuate
    - MOVABLE_ROOT
    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:940,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:940,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:941,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:941,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 943
      start: 938
    functionDepth: 7
    functionLinenumber: 938
    functionLinenumberEnd: 943
    functionName: make_twigs_mutable
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - cells_immutable
    - make_node
    - branch_index
    - evacuate
    - 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:962,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:963,1
    - Dst: ref_chunk
      Src: /src/bind9/lib/dns/qp.c:964,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:967,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:969,1
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:971,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:973,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:974,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:977,1
    - Dst: compact_recursive
      Src: /src/bind9/lib/dns/qp.c:978,1
    - Dst: evacuate
      Src: /src/bind9/lib/dns/qp.c:983,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:985,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:988,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:988,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 19
    argCount: 2
    argNames:
    - qp
    - parent
    argTypes:
    - dns_qp_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 991
      start: 960
    functionDepth: 7
    functionLinenumber: 960
    functionLinenumberEnd: 991
    functionName: compact_recursive
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - ref_chunk
    - cells_immutable
    - ref_ptr
    - make_node
    - is_branch
    - branch_index
    - evacuate
    - compact_recursive
    - chunk_usage
    - branch_twigs_size
    - branch_twigs_ref
    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:995,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:999,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1002,1
    - Dst: compact_recursive
      Src: /src/bind9/lib/dns/qp.c:1006,1
    - Dst: MOVABLE_ROOT
      Src: /src/bind9/lib/dns/qp.c:1006,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:1010,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qp.c:1011,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:1013,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1017
      start: 993
    functionDepth: 8
    functionLinenumber: 993
    functionLinenumberEnd: 1017
    functionName: compact
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 15
    functionsReached:
    - atomic_fetch_add_relaxed
    - isc_time_monotonic
    - MOVABLE_ROOT
    - compact_recursive
    - alloc_reset
    - LOG_STATS
    linkageType: ''
    returnType: void
    signature: void compact(dns_qp_t *qp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1021,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1021,1
    - Dst: QP_NEEDGC
      Src: /src/bind9/lib/dns/qp.c:1022,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1026,1
    - Dst: compact
      Src: /src/bind9/lib/dns/qp.c:1029,1
    - Dst: recycle
      Src: /src/bind9/lib/dns/qp.c:1030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - qp
    - mode
    argTypes:
    - dns_qp_t*
    - dns_qpgc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1019
    functionDepth: 9
    functionLinenumber: 1019
    functionLinenumberEnd: 1031
    functionName: dns_qp_compact
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - recycle
    - compact
    - alloc_reset
    - QP_VALID
    - QP_NEEDGC
    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:1055,1
    - Dst: QP_AUTOGC
      Src: /src/bind9/lib/dns/qp.c:1056,1
    - Dst: compact
      Src: /src/bind9/lib/dns/qp.c:1057,1
    - Dst: recycle
      Src: /src/bind9/lib/dns/qp.c:1058,1
    - Dst: QP_AUTOGC
      Src: /src/bind9/lib/dns/qp.c:1065,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qp.c:1066,1
    - Dst: TRIENAME
      Src: /src/bind9/lib/dns/qp.c:1071,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: 1076
      start: 1053
    functionDepth: 9
    functionLinenumber: 1053
    functionLinenumberEnd: 1076
    functionName: squash_twigs
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - TRIENAME
    - recycle
    - QP_AUTOGC
    - compact
    - isc_log_write
    - 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:1085,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1085,1
    - Dst: QP_NEEDGC
      Src: /src/bind9/lib/dns/qp.c:1095,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1115
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1115
    functionName: dns_qp_memusage
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - QP_VALID
    - QP_NEEDGC
    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:1119,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1119,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1120,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1123,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1123,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/lib/dns/qp.c:1125,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1133,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1117
    functionDepth: 2
    functionLinenumber: 1117
    functionLinenumberEnd: 1135
    functionName: dns_qpmulti_memusage
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - LOCK
    - dns_qp_memusage
    - QPMULTI_VALID
    - QP_VALID
    - UNLOCK
    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:1140,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/qp.c:1141,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/qp.c:1142,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: 1143
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1143
    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:1152,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1153,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1155,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1158,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1158,1
    - Dst: write_protect
      Src: /src/bind9/lib/dns/qp.c:1173,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1184
    functionName: transaction_open
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - write_protect
    - LOCK
    - QPMULTI_VALID
    - 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:1200,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1201,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1198
    functionDepth: 6
    functionLinenumber: 1198
    functionLinenumberEnd: 1209
    functionName: dns_qpmulti_write
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - TRACE
    - transaction_open
    - 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:1235,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1236,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:1240,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:1241,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1244,1
    - Dst: QPBASE_VALID
      Src: /src/bind9/lib/dns/qp.c:1244,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1245,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qp.c:1247,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:1249,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:1250,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1252,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1255,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1256
      start: 1233
    functionDepth: 6
    functionLinenumber: 1233
    functionLinenumberEnd: 1256
    functionName: dns_qpmulti_update
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - memmove
    - INSIST
    - transaction_open
    - isc_refcount_increment
    - QPBASE_VALID
    - TRACE
    - isc_mem_allocate
    - alloc_reset
    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:1260,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1262,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1266,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1269,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:1271,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1272,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1275,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1277,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1279,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1283,1
    - Dst: cells_immutable
      Src: /src/bind9/lib/dns/qp.c:1283,1
    - Dst: free_twigs
      Src: /src/bind9/lib/dns/qp.c:1284,1
    - Dst: compact
      Src: /src/bind9/lib/dns/qp.c:1289,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1290,1
    - Dst: chunk_shrink_raw
      Src: /src/bind9/lib/dns/qp.c:1291,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1295,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1299,1
    - Dst: make_reader
      Src: /src/bind9/lib/dns/qp.c:1300,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qp.c:1302,1
    - Dst: rcu_assign_pointer
      Src: /src/bind9/lib/dns/qp.c:1304,1
    - Dst: QP_NEEDGC
      Src: /src/bind9/lib/dns/qp.c:1307,1
    - Dst: recycle
      Src: /src/bind9/lib/dns/qp.c:1308,1
    - Dst: reclaim_chunks
      Src: /src/bind9/lib/dns/qp.c:1312,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1315,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1258
    functionDepth: 9
    functionLinenumber: 1258
    functionLinenumberEnd: 1316
    functionName: dns_qpmulti_commit
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - INSIST
    - make_reader
    - alloc_twigs
    - isc_refcount_increment
    - compact
    - QP_NEEDGC
    - UNLOCK
    - reclaim_chunks
    - TRACE
    - isc_mem_free
    - free_twigs
    - cells_immutable
    - recycle
    - chunk_shrink_raw
    - qpbase_unref
    - ref_ptr
    - QPMULTI_VALID
    - rcu_assign_pointer
    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:1325,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1327,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1330,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:1332,1
    - Dst: chunk_free
      Src: /src/bind9/lib/dns/qp.c:1337,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1343,1
    - Dst: qpbase_unref
      Src: /src/bind9/lib/dns/qp.c:1354,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1356,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1358,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1361,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qp.c:1362,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1363,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1364,1
    - Dst: isc_time_monotonic
      Src: /src/bind9/lib/dns/qp.c:1366,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/qp.c:1367,1
    - Dst: LOG_STATS
      Src: /src/bind9/lib/dns/qp.c:1369,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1372,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 2
    argNames:
    - multi
    - qptp
    argTypes:
    - dns_qpmulti_t*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1321
    functionDepth: 4
    functionLinenumber: 1321
    functionLinenumberEnd: 1373
    functionName: dns_qpmulti_rollback
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - LOG_STATS
    - atomic_fetch_add_relaxed
    - memmove
    - INSIST
    - UNLOCK
    - isc_time_monotonic
    - TRACE
    - isc_mem_free
    - chunk_free
    - QPMULTI_VALID
    - qpbase_unref
    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:1382,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/qp.c:1383,1
    - Dst: QP_INIT
      Src: /src/bind9/lib/dns/qp.c:1385,1
    - Dst: unpack_reader
      Src: /src/bind9/lib/dns/qp.c:1387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - multi
    - qpr
    argTypes:
    - dns_qpmulti_t*
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1390
      start: 1380
    functionDepth: 1
    functionLinenumber: 1380
    functionLinenumberEnd: 1390
    functionName: reader_open
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - unpack_reader
    - rcu_dereference
    - dns_qpreader
    - QP_INIT
    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:1398,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1398,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1399,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/qp.c:1401,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qp.c:1402,1
    - Dst: reader_open
      Src: /src/bind9/lib/dns/qp.c:1404,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - qp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1406
      start: 1396
    functionDepth: 2
    functionLinenumber: 1396
    functionLinenumberEnd: 1406
    functionName: dns_qpmulti_query
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_tid
    - rcu_read_lock
    - QPMULTI_VALID
    - reader_open
    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:1410,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1410,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1411,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1411,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1412,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/qp.c:1412,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qp.c:1414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - multi
    - qp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpread_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1408
    functionDepth: 1
    functionLinenumber: 1408
    functionLinenumberEnd: 1415
    functionName: dns_qpread_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - rcu_read_unlock
    - isc_tid
    - QPMULTI_VALID
    - 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:1423,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1423,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1424,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qp.c:1426,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1428,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/qp.c:1433,1
    - Dst: reader_open
      Src: /src/bind9/lib/dns/qp.c:1435,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1436,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/qp.c:1440,1
    - Dst: chunk_usage
      Src: /src/bind9/lib/dns/qp.c:1448,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/qp.c:1455,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1458,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qp.c:1460,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 2
    argNames:
    - multi
    - qpsp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpsnap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1461
      start: 1421
    functionDepth: 2
    functionLinenumber: 1421
    functionLinenumberEnd: 1461
    functionName: dns_qpmulti_snapshot
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - rcu_read_unlock
    - LOCK
    - rcu_read_lock
    - isc_mem_allocate
    - chunk_usage
    - ISC_LIST_INITANDAPPEND
    - QPMULTI_VALID
    - reader_open
    - UNLOCK
    - isc_refcount_init
    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:1465,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1466,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1468,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1473,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qp.c:1475,1
    - Dst: marksweep_chunks
      Src: /src/bind9/lib/dns/qp.c:1481,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1483,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1486,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - multi
    - qpsp
    argTypes:
    - dns_qpmulti_t*
    - dns_qpsnap_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1487
      start: 1463
    functionDepth: 5
    functionLinenumber: 1463
    functionLinenumberEnd: 1487
    functionName: dns_qpsnap_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - LOCK
    - isc_mem_free
    - QPMULTI_VALID
    - UNLOCK
    - 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:1497,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1498,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1499,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:1501,1
    - Dst: QP_INIT
      Src: /src/bind9/lib/dns/qp.c:1502,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:1503,1
    - Dst: alloc_reset
      Src: /src/bind9/lib/dns/qp.c:1504,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1505,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 4
    argNames:
    - mctx
    - methods
    - uctx
    - qptp
    argTypes:
    - isc_mem_t*
    - dns_qpmethods_t*
    - void*
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1494
    functionDepth: 6
    functionLinenumber: 1494
    functionLinenumberEnd: 1507
    functionName: dns_qp_create
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 12
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - TRACE
    - QP_INIT
    - 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:1512,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:1514,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qp.c:1517,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/qp.c:1518,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qp.c:1519,1
    - Dst: QP_INIT
      Src: /src/bind9/lib/dns/qp.c:1528,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:1529,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1531,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: 1533
      start: 1509
    functionDepth: 1
    functionLinenumber: 1509
    functionLinenumberEnd: 1533
    functionName: dns_qpmulti_create
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_mutex_init
    - isc_mem_get
    - TRACE
    - ISC_LIST_INIT
    - QP_INIT
    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:1543,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:1547,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:1548,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/qp.c:1549,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/qp.c:1549,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1550,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/qp.c:1551,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - qp
    argTypes:
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1553
      start: 1535
    functionDepth: 4
    functionLinenumber: 1535
    functionLinenumberEnd: 1553
    functionName: destroy_guts
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_refcount_current
    - ENSURE
    - chunk_free
    linkageType: ''
    returnType: void
    signature: void destroy_guts(dns_qp_t *qp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1558,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1558,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1564,1
    - Dst: TRACE
      Src: /src/bind9/lib/dns/qp.c:1566,1
    - Dst: destroy_guts
      Src: /src/bind9/lib/dns/qp.c:1567,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - qptp
    argTypes:
    - dns_qp_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1555
    functionDepth: 5
    functionLinenumber: 1555
    functionLinenumberEnd: 1569
    functionName: dns_qp_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - destroy_guts
    - isc_mem_putanddetach
    - TRACE
    - 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:1573,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1573,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1576,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1578,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/qp.c:1580,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:1581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - multi
    argTypes:
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1582
      start: 1571
    functionDepth: 1
    functionLinenumber: 1571
    functionLinenumberEnd: 1582
    functionName: qpmulti_free_mem
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - LOCK
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - QPMULTI_VALID
    - UNLOCK
    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:1592,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1593,1
    - Dst: QPRCU_VALID
      Src: /src/bind9/lib/dns/qp.c:1593,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1595,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1598,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1598,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qp.c:1601,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1604,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1604,1
    - Dst: destroy_guts
      Src: /src/bind9/lib/dns/qp.c:1606,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qp.c:1608,1
    - Dst: dns_qpmulti_detach
      Src: /src/bind9/lib/dns/qp.c:1610,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qp.c:1611,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1590
    functionDepth: 5
    functionLinenumber: 1590
    functionLinenumberEnd: 1613
    functionName: qpmulti_destroy_guts_cb
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - dns_qpmulti_detach
    - REQUIRE
    - destroy_guts
    - LOCK
    - STRUCT_FLEX_SIZE
    - isc_mem_putanddetach
    - caa_container_of
    - QPMULTI_VALID
    - QP_VALID
    - UNLOCK
    - QPRCU_VALID
    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:1621,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1622,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp.c:1622,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1628,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1628,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1630,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qp.c:1630,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qp.c:1632,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/qp.c:1632,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qp.c:1637,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qp.c:1638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - qpmp
    argTypes:
    - dns_qpmulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1639
      start: 1615
    functionDepth: 1
    functionLinenumber: 1615
    functionLinenumberEnd: 1639
    functionName: dns_qpmulti_destroy
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_EMPTY
    - STRUCT_FLEX_SIZE
    - QPMULTI_VALID
    - QP_VALID
    - call_rcu
    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:1661,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1661,1
    - Dst: make_leaf
      Src: /src/bind9/lib/dns/qp.c:1663,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:1664,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1668,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1669,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:1671,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1685,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:1686,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:1687,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1688,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:1689,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1690,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp.c:1690,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1691,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:1695,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:1696,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:1700,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:1701,1
    - Dst: make_root_mutable
      Src: /src/bind9/lib/dns/qp.c:1704,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:1705,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:1706,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:1707,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:1710,1
    - Dst: make_twigs_mutable
      Src: /src/bind9/lib/dns/qp.c:1713,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:1714,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1715,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1715,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:1716,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1721,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1722,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:1730,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:1736,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1742,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1742,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:1745,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1747,1
    - Dst: alloc_twigs
      Src: /src/bind9/lib/dns/qp.c:1748,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1749,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1750,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:1753,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:1754,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp.c:1757,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:1758,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:1760,1
    - Dst: squash_twigs
      Src: /src/bind9/lib/dns/qp.c:1762,1
    - Dst: attach_leaf
      Src: /src/bind9/lib/dns/qp.c:1764,1
    - Dst: attach_twigs
      Src: /src/bind9/lib/dns/qp.c:1767,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: 1772
      start: 1646
    functionDepth: 10
    functionLinenumber: 1646
    functionLinenumberEnd: 1772
    functionName: dns_qp_insert
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - INSIST
    - make_node
    - move_twigs
    - alloc_twigs
    - branch_index
    - leaf_qpkey
    - QP_VALID
    - branch_twigs_ref
    - branch_twig_ptr
    - branch_has_twig
    - prefetch_twigs
    - squash_twigs
    - make_leaf
    - is_branch
    - branch_key_offset
    - branch_keybit
    - qpkey_bit
    - attach_twigs
    - qpkey_compare
    - make_twigs_mutable
    - branch_twig_pos
    - ref_ptr
    - make_root_mutable
    - branch_twigs_size
    - attach_leaf
    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:1777,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1777,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1778,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:1780,1
    - Dst: make_root_mutable
      Src: /src/bind9/lib/dns/qp.c:1786,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:1787,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:1788,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:1789,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:1790,1
    - Dst: make_twigs_mutable
      Src: /src/bind9/lib/dns/qp.c:1793,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:1795,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:1799,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:1800,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1806,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:1806,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1807,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:1807,1
    - Dst: detach_leaf
      Src: /src/bind9/lib/dns/qp.c:1808,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1813,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1814,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:1814,1
    - Dst: free_twigs
      Src: /src/bind9/lib/dns/qp.c:1815,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1824,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:1825,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp.c:1826,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1827,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:1828,1
    - Dst: squash_twigs
      Src: /src/bind9/lib/dns/qp.c:1835,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp.c:1841,1
    - Dst: branch_index
      Src: /src/bind9/lib/dns/qp.c:1841,1
    - Dst: move_twigs
      Src: /src/bind9/lib/dns/qp.c:1842,1
    - Dst: squash_twigs
      Src: /src/bind9/lib/dns/qp.c:1843,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: 1847
      start: 1774
    functionDepth: 10
    functionLinenumber: 1774
    functionLinenumberEnd: 1847
    functionName: dns_qp_deletekey
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - INSIST
    - SET_IF_NOT_NULL
    - make_node
    - move_twigs
    - leaf_pval
    - branch_index
    - get_root
    - leaf_qpkey
    - QP_VALID
    - branch_twigs_ref
    - branch_twig_ptr
    - branch_has_twig
    - prefetch_twigs
    - squash_twigs
    - is_branch
    - detach_leaf
    - branch_keybit
    - free_twigs
    - leaf_ival
    - qpkey_compare
    - make_twigs_mutable
    - branch_twig_pos
    - ref_ptr
    - make_root_mutable
    - branch_twigs_size
    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:1853,1
    - Dst: dns_qp_deletekey
      Src: /src/bind9/lib/dns/qp.c:1854,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: 1855
      start: 1849
    functionDepth: 11
    functionLinenumber: 1849
    functionLinenumberEnd: 1855
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:1862,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1863,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1863,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1864,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - qpr
    - chain
    argTypes:
    - dns_qpreadable_t
    - dns_qpchain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1874
      start: 1860
    functionDepth: 1
    functionLinenumber: 1860
    functionLinenumberEnd: 1874
    functionName: dns_qpchain_init
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - QP_VALID
    - dns_qpreader
    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:1878,1
    - Dst: QPCHAIN_VALID
      Src: /src/bind9/lib/dns/qp.c:1878,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - chain
    argTypes:
    - dns_qpchain_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1881
      start: 1876
    functionDepth: 1
    functionLinenumber: 1876
    functionLinenumberEnd: 1881
    functionName: dns_qpchain_length
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - QPCHAIN_VALID
    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:1888,1
    - Dst: QPCHAIN_VALID
      Src: /src/bind9/lib/dns/qp.c:1888,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1889,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1892,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:1892,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:1893,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - chain
    - level
    - pval_r
    - ival_r
    argTypes:
    - dns_qpchain_t*
    - unsigned int
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1894
      start: 1883
    functionDepth: 1
    functionLinenumber: 1883
    functionLinenumberEnd: 1894
    functionName: dns_qpchain_node
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - leaf_ival
    - SET_IF_NOT_NULL
    - leaf_pval
    - QPCHAIN_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_qpchain_node(dns_qpchain_t *chain, unsigned int level, void
      **pval_r,\n\t\t uint32_t *ival_r)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:1902,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1903,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1903,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1904,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - qpr
    - qpi
    argTypes:
    - dns_qpreadable_t
    - dns_qpiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1918
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1918
    functionName: dns_qpiter_init
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - QP_VALID
    - dns_qpreader
    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:1930,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:1930,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:1932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - qpi
    - forward
    argTypes:
    - dns_qpiter_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1936
      start: 1924
    functionDepth: 1
    functionLinenumber: 1924
    functionLinenumberEnd: 1936
    functionName: last_twig
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - ref_ptr
    - branch_twigs_size
    - branch_twigs_ref
    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:1948,1
    - Dst: QPITER_VALID
      Src: /src/bind9/lib/dns/qp.c:1948,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:1952,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:1952,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:1954,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1962,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:1972,1
    - Dst: last_twig
      Src: /src/bind9/lib/dns/qp.c:1973,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:1983,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2006,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:2008,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:2009,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:2009,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:2010,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2014,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2017,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2017,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2018,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2018,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 4
    argNames:
    - forward
    - qpi
    - pval_r
    - ival_r
    argTypes:
    - bool
    - dns_qpiter_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2020
      start: 1943
    functionDepth: 2
    functionLinenumber: 1943
    functionLinenumberEnd: 2020
    functionName: iterate
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 10
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - leaf_ival
    - last_twig
    - INSIST
    - ref_ptr
    - SET_IF_NOT_NULL
    - is_branch
    - leaf_pval
    - QPITER_VALID
    - get_root
    - branch_twigs_size
    - QP_VALID
    - branch_twigs_ref
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t iterate(bool forward, dns_qpiter_t *qpi, void **pval_r,
      uint32_t *ival_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate
      Src: /src/bind9/lib/dns/qp.c:2024,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - qpi
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2022
    functionDepth: 3
    functionLinenumber: 2022
    functionLinenumberEnd: 2025
    functionName: dns_qpiter_next
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - iterate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_qpiter_next(dns_qpiter_t *qpi, void **pval_r, uint32_t
      *ival_r)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: iterate
      Src: /src/bind9/lib/dns/qp.c:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - qpi
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2030
      start: 2027
    functionDepth: 3
    functionLinenumber: 2027
    functionLinenumberEnd: 2030
    functionName: dns_qpiter_prev
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 1
    functionsReached:
    - iterate
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_qpiter_prev(dns_qpiter_t *qpi, void **pval_r, uint32_t
      *ival_r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2036,1
    - Dst: QPITER_VALID
      Src: /src/bind9/lib/dns/qp.c:2036,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2039,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2043,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2043,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2044,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2044,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - qpi
    - pval_r
    - ival_r
    argTypes:
    - dns_qpiter_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2046
      start: 2032
    functionDepth: 1
    functionLinenumber: 2032
    functionLinenumberEnd: 2046
    functionName: dns_qpiter_current
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - leaf_ival
    - SET_IF_NOT_NULL
    - is_branch
    - leaf_pval
    - QPITER_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_qpiter_current(dns_qpiter_t *qpi, void **pval_r, uint32_t
      *ival_r)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpreader
      Src: /src/bind9/lib/dns/qp.c:2056,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2062,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:2062,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2063,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:2065,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2070,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:2071,1
    - Dst: branch_keybit
      Src: /src/bind9/lib/dns/qp.c:2072,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2073,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:2076,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:2079,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:2080,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2086,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2086,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2087,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2087,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: 2089
      start: 2053
    functionDepth: 2
    functionLinenumber: 2053
    functionLinenumberEnd: 2089
    functionName: dns_qp_getkey
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - branch_twig_ptr
    - REQUIRE
    - leaf_ival
    - dns_qpreader
    - branch_has_twig
    - prefetch_twigs
    - SET_IF_NOT_NULL
    - is_branch
    - leaf_pval
    - get_root
    - leaf_qpkey
    - branch_keybit
    - QP_VALID
    - qpkey_compare
    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:2095,1
    - Dst: dns_qp_getkey
      Src: /src/bind9/lib/dns/qp.c:2096,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: 2097
      start: 2091
    functionDepth: 3
    functionLinenumber: 2091
    functionLinenumberEnd: 2097
    functionName: dns_qp_getname
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 2
    functionsReached:
    - dns_qp_getkey
    - dns_qpkey_fromname
    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:2108,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: 2109
      start: 2099
    functionDepth: 0
    functionLinenumber: 2099
    functionLinenumberEnd: 2109
    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:2113,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qp.c:2115,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qp.c:2117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_qpiter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2111
    functionDepth: 4
    functionLinenumber: 2111
    functionLinenumberEnd: 2118
    functionName: prevleaf
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_qpiter_prev
    linkageType: ''
    returnType: void
    signature: void prevleaf(dns_qpiter_t *it)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2122,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp.c:2123,1
    - Dst: branch_twigs_size
      Src: /src/bind9/lib/dns/qp.c:2123,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp.c:2126,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: 2129
      start: 2120
    functionDepth: 1
    functionLinenumber: 2120
    functionLinenumberEnd: 2129
    functionName: greatest_leaf
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - branch_twigs_size
    - is_branch
    - branch_twigs_ref
    - ref_ptr
    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:2133,1
    - Dst: branch_twigs
      Src: /src/bind9/lib/dns/qp.c:2134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - qp
    - n
    argTypes:
    - dns_qpreader_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2137
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2137
    functionName: anyleaf
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - is_branch
    - branch_twigs
    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:2142,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2143,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: 2147
      start: 2139
    functionDepth: 1
    functionLinenumber: 2139
    functionLinenumberEnd: 2147
    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:2167,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2167,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:2170,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:2171,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2185,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:2186,1
    - Dst: prevleaf
      Src: /src/bind9/lib/dns/qp.c:2187,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2197,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2209,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2210,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2213,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2213,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:2222,1
    - Dst: prevleaf
      Src: /src/bind9/lib/dns/qp.c:2223,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2228,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2228,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:2231,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2231,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:2233,1
    - Dst: branch_twigs
      Src: /src/bind9/lib/dns/qp.c:2234,1
    - Dst: twig_offset
      Src: /src/bind9/lib/dns/qp.c:2235,1
    - Dst: greatest_leaf
      Src: /src/bind9/lib/dns/qp.c:2242,1
    - Dst: prevleaf
      Src: /src/bind9/lib/dns/qp.c:2248,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: 2250
      start: 2162
    functionDepth: 5
    functionLinenumber: 2162
    functionLinenumberEnd: 2250
    functionName: fix_iterator
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - qpkey_bit
    - INSIST
    - prefetch_twigs
    - greatest_leaf
    - is_branch
    - branch_key_offset
    - branch_twigs
    - leaf_qpkey
    - prevleaf
    - qpkey_compare
    - twig_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: 2267
      start: 2259
    functionDepth: 0
    functionLinenumber: 2259
    functionLinenumberEnd: 2267
    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:2273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp.c:2284,1
    - Dst: QP_VALID
      Src: /src/bind9/lib/dns/qp.c:2284,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/qp.c:2286,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/lib/dns/qp.c:2295,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qp.c:2296,1
    - Dst: get_root
      Src: /src/bind9/lib/dns/qp.c:2298,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2311,1
    - Dst: prefetch_twigs
      Src: /src/bind9/lib/dns/qp.c:2312,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp.c:2314,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2315,1
    - Dst: branch_twigs
      Src: /src/bind9/lib/dns/qp.c:2316,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2332,1
    - Dst: qpkey_bit
      Src: /src/bind9/lib/dns/qp.c:2333,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2334,1
    - Dst: add_link
      Src: /src/bind9/lib/dns/qp.c:2336,1
    - Dst: branch_has_twig
      Src: /src/bind9/lib/dns/qp.c:2339,1
    - Dst: branch_twig_ptr
      Src: /src/bind9/lib/dns/qp.c:2346,1
    - Dst: anyleaf
      Src: /src/bind9/lib/dns/qp.c:2353,1
    - Dst: fix_iterator
      Src: /src/bind9/lib/dns/qp.c:2365,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp.c:2370,1
    - Dst: is_branch
      Src: /src/bind9/lib/dns/qp.c:2370,1
    - Dst: leaf_qpkey
      Src: /src/bind9/lib/dns/qp.c:2372,1
    - Dst: qpkey_compare
      Src: /src/bind9/lib/dns/qp.c:2373,1
    - Dst: fix_chain
      Src: /src/bind9/lib/dns/qp.c:2380,1
    - Dst: add_link
      Src: /src/bind9/lib/dns/qp.c:2383,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2385,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2385,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2386,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2386,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2398,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp.c:2398,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qp.c:2399,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp.c:2399,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 7
    argNames:
    - qpr
    - name
    - space
    - iter
    - chain
    - pval_r
    - ival_r
    argTypes:
    - dns_qpreadable_t
    - dns_name_t*
    - dns_namespace_t
    - dns_qpiter_t*
    - dns_qpchain_t*
    - void**
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2413
      start: 2269
    functionDepth: 6
    functionLinenumber: 2269
    functionLinenumberEnd: 2413
    functionName: dns_qp_lookup
    functionSourceFile: /src/bind9/lib/dns/qp.c
    functionUses: 5
    functionsReached:
    - fix_iterator
    - REQUIRE
    - INSIST
    - SET_IF_NOT_NULL
    - leaf_pval
    - get_root
    - leaf_qpkey
    - QP_VALID
    - branch_twig_ptr
    - dns_qpchain_init
    - branch_has_twig
    - prefetch_twigs
    - is_branch
    - fix_chain
    - branch_key_offset
    - anyleaf
    - branch_twigs
    - dns_qpiter_init
    - leaf_ival
    - qpkey_bit
    - add_link
    - qpkey_compare
    - dns_qpkey_fromname
    - dns_qpreader
    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_qpiter_t *iter, dns_qpchain_t *chain,\n\t
      \     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:
    - Dst: fgetc
      Src: /src/bind9/lib/dns/resconf.c:134,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 138
    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:150,1
    - Dst: isspace
      Src: /src/bind9/lib/dns/resconf.c:151,1
    - Dst: eatline
      Src: /src/bind9/lib/dns/resconf.c:154,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 8
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 158
    functionName: eatwhite
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - fgetc
    - isspace
    - eatline
    linkageType: ''
    returnType: int
    signature: int eatwhite(FILE *fp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:172,1
    - Dst: eatwhite
      Src: /src/bind9/lib/dns/resconf.c:177,1
    - Dst: isspace
      Src: /src/bind9/lib/dns/resconf.c:185,1
    - Dst: fgetc
      Src: /src/bind9/lib/dns/resconf.c:192,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 3
    argNames:
    - fp
    - buffer
    - size
    argTypes:
    - FILE*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 196
    functionName: getword
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - eatwhite
    - REQUIRE
    - fgetc
    - isspace
    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:207,1
    - Dst: getaddrinfo
      Src: /src/bind9/lib/dns/resconf.c:212,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resconf.c:217,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:219,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/resconf.c:220,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resconf.c:230,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:231,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:233,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:235,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:237,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/resconf.c:238,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/resconf.c:240,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/resconf.c:244,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resconf.c:245,1
    - Dst: freeaddrinfo
      Src: /src/bind9/lib/dns/resconf.c:248,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 3
    argNames:
    - mctx
    - address_str
    - nameservers
    argTypes:
    - isc_mem_t*
    - char*
    - isc_sockaddrlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 251
    functionName: add_server
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - memmove
    - isc_mem_put
    - isc_mem_get
    - getaddrinfo
    - freeaddrinfo
    - ISC_LIST_APPEND
    - memcmp
    - memset
    - ISC_LINK_INIT
    - CLEANUP
    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:258,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resconf.c:262,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:263,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:267,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/resconf.c:269,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resconf.c:271,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: 278
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 278
    functionName: create_addr
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - memmove
    - inet_pton
    - memcmp
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t create_addr(const char *buffer, isc_netaddr_t *addr, int
      convert_zero)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:285,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:286,1
    - Dst: eatwhite
      Src: /src/bind9/lib/dns/resconf.c:289,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/resconf.c:300,1
    - Dst: add_server
      Src: /src/bind9/lib/dns/resconf.c:300,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 304
    functionName: resconf_parsenameserver
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - eatwhite
    - getword
    - strlen
    - RETERR
    - 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:311,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:312,1
    - Dst: eatwhite
      Src: /src/bind9/lib/dns/resconf.c:315,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:323,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/resconf.c:331,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 334
    functionName: resconf_parsedomain
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - eatwhite
    - getword
    - isc_mem_strdup
    - isc_mem_free
    - strlen
    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:338,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resconf.c:339,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:340,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: free_search
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_put
    - ISC_LIST_UNLINK
    - 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:354,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/resconf.c:356,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resconf.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - conf
    - domain
    argTypes:
    - irs_resconf_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 363
    functionName: add_search
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - isc_mem_strdup
    - isc_mem_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t add_search(irs_resconf_t *conf, char *domain)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:374,1
    - Dst: free_search
      Src: /src/bind9/lib/dns/resconf.c:380,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:382,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:383,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/resconf.c:387,1
    - Dst: add_search
      Src: /src/bind9/lib/dns/resconf.c:387,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:393,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:397,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 365
    functionDepth: 3
    functionLinenumber: 365
    functionLinenumberEnd: 400
    functionName: resconf_parsesearch
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - getword
    - isc_mem_free
    - strlen
    - RETERR
    - add_search
    - free_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:409,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:410,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:414,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/resconf.c:419,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resconf.c:425,1
    - Dst: create_addr
      Src: /src/bind9/lib/dns/resconf.c:427,1
    - Dst: create_addr
      Src: /src/bind9/lib/dns/resconf.c:433,1
    - Dst: memset
      Src: /src/bind9/lib/dns/resconf.c:442,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:451,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 456
      start: 402
    functionDepth: 3
    functionLinenumber: 402
    functionLinenumberEnd: 456
    functionName: resconf_parsesortlist
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - create_addr
    - getword
    - INSIST
    - strlen
    - strchr
    - memset
    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:463,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - word
    - number
    argTypes:
    - char*
    - uint8_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 472
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 472
    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:480,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:481,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:485,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:486,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/resconf.c:488,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resconf.c:489,1
    - Dst: resconf_optionnumber
      Src: /src/bind9/lib/dns/resconf.c:489,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/resconf.c:490,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resconf.c:491,1
    - Dst: resconf_optionnumber
      Src: /src/bind9/lib/dns/resconf.c:491,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/resconf.c:492,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resconf.c:493,1
    - Dst: resconf_optionnumber
      Src: /src/bind9/lib/dns/resconf.c:493,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:499,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - conf
    - fp
    argTypes:
    - irs_resconf_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 505
      start: 474
    functionDepth: 3
    functionLinenumber: 474
    functionLinenumberEnd: 505
    functionName: resconf_parseoption
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 0
    functionsReached:
    - strcmp
    - getword
    - strlen
    - strncmp
    - CHECK
    - resconf_optionnumber
    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:516,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:518,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:518,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:519,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resconf.c:521,1
    - Dst: fopen
      Src: /src/bind9/lib/dns/resconf.c:531,1
    - Dst: feof
      Src: /src/bind9/lib/dns/resconf.c:532,1
    - Dst: ferror
      Src: /src/bind9/lib/dns/resconf.c:532,1
    - Dst: getword
      Src: /src/bind9/lib/dns/resconf.c:533,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:535,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resconf.c:543,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:545,1
    - Dst: resconf_parsenameserver
      Src: /src/bind9/lib/dns/resconf.c:546,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:547,1
    - Dst: resconf_parsedomain
      Src: /src/bind9/lib/dns/resconf.c:548,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:549,1
    - Dst: resconf_parsesearch
      Src: /src/bind9/lib/dns/resconf.c:550,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:551,1
    - Dst: resconf_parsesortlist
      Src: /src/bind9/lib/dns/resconf.c:552,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/resconf.c:553,1
    - Dst: resconf_parseoption
      Src: /src/bind9/lib/dns/resconf.c:554,1
    - Dst: eatline
      Src: /src/bind9/lib/dns/resconf.c:559,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/resconf.c:569,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:575,1
    - Dst: free_search
      Src: /src/bind9/lib/dns/resconf.c:589,1
    - Dst: add_search
      Src: /src/bind9/lib/dns/resconf.c:590,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resconf.c:595,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resconf.c:595,1
    - Dst: add_server
      Src: /src/bind9/lib/dns/resconf.c:598,1
    - Dst: add_server
      Src: /src/bind9/lib/dns/resconf.c:599,1
    - Dst: irs_resconf_destroy
      Src: /src/bind9/lib/dns/resconf.c:606,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: 615
      start: 508
    functionDepth: 4
    functionLinenumber: 508
    functionLinenumberEnd: 615
    functionName: irs_resconf_load
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - strlen
    - resconf_parsedomain
    - eatline
    - fclose
    - getword
    - fopen
    - irs_resconf_destroy
    - add_search
    - resconf_parsenameserver
    - resconf_parsesearch
    - free_search
    - strcmp
    - ferror
    - ISC_LIST_EMPTY
    - feof
    - isc_mem_get
    - resconf_parsesortlist
    - add_server
    - resconf_parseoption
    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:621,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resconf.c:624,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:624,1
    - Dst: free_search
      Src: /src/bind9/lib/dns/resconf.c:626,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resconf.c:628,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resconf.c:629,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:630,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resconf.c:634,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resconf.c:637,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - confp
    argTypes:
    - irs_resconf_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 617
    functionDepth: 2
    functionLinenumber: 617
    functionLinenumberEnd: 638
    functionName: irs_resconf_destroy
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - IRS_RESCONF_VALID
    - isc_mem_free
    - ISC_LIST_FOREACH
    - free_search
    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:642,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:642,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 645
    functionName: irs_resconf_getnameservers
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - IRS_RESCONF_VALID
    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:649,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 652
    functionName: irs_resconf_getsearchlist
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - IRS_RESCONF_VALID
    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:656,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 654
    functionDepth: 1
    functionLinenumber: 654
    functionLinenumberEnd: 659
    functionName: irs_resconf_getndots
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - IRS_RESCONF_VALID
    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:663,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 666
    functionName: irs_resconf_getattempts
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - IRS_RESCONF_VALID
    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:670,1
    - Dst: IRS_RESCONF_VALID
      Src: /src/bind9/lib/dns/resconf.c:670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - conf
    argTypes:
    - irs_resconf_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 673
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 673
    functionName: irs_resconf_gettimeout
    functionSourceFile: /src/bind9/lib/dns/resconf.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - IRS_RESCONF_VALID
    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: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    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:141,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:142,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/stats.c:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - statsp
    argTypes:
    - dns_stats_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: dns_stats_attach
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_STATS_VALID
    - isc_refcount_increment
    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:153,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:153,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/stats.c:158,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/stats.c:159,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/stats.c:160,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/stats.c:161,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - statsp
    argTypes:
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 163
    functionName: dns_stats_detach
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_STATS_VALID
    - isc_refcount_decrement
    - isc_mem_putanddetach
    - isc_stats_detach
    - 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:171,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/stats.c:174,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/stats.c:176,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/stats.c:181,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: 183
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 183
    functionName: create_stats
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - isc_stats_create
    - isc_refcount_init
    - isc_mem_get
    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:187,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:189,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: 190
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 190
    functionName: dns_generalstats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - create_stats
    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:194,1
    - Dst: isc_statsmulti_create
      Src: /src/bind9/lib/dns/stats.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - isc_statsmulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 192
    functionDepth: 2
    functionLinenumber: 192
    functionLinenumberEnd: 197
    functionName: dns_rdatatypestats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_statsmulti_create
    linkageType: ''
    returnType: void
    signature: void dns_rdatatypestats_create(isc_mem_t *mctx, isc_statsmulti_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:201,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 205
    functionName: dns_rdatasetstats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - create_stats
    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:209,1
    - Dst: isc_statsmulti_create
      Src: /src/bind9/lib/dns/stats.c:211,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - isc_statsmulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 212
    functionName: dns_opcodestats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_statsmulti_create
    linkageType: ''
    returnType: void
    signature: void dns_opcodestats_create(isc_mem_t *mctx, isc_statsmulti_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:216,1
    - Dst: isc_statsmulti_create
      Src: /src/bind9/lib/dns/stats.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - isc_statsmulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 2
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: dns_rcodestats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_statsmulti_create
    linkageType: ''
    returnType: void
    signature: void dns_rcodestats_create(isc_mem_t *mctx, isc_statsmulti_t **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:223,1
    - Dst: create_stats
      Src: /src/bind9/lib/dns/stats.c:229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - statsp
    argTypes:
    - isc_mem_t*
    - dns_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 231
    functionName: dns_dnssecsignstats_create
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - create_stats
    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:238,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:238,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:240,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - counter
    argTypes:
    - dns_stats_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 241
    functionName: dns_generalstats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_STATS_VALID
    - isc_stats_increment
    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: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    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:255,1
    - Dst: rdatatype2counter
      Src: /src/bind9/lib/dns/stats.c:257,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/lib/dns/stats.c:258,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - stats
    - type
    argTypes:
    - isc_statsmulti_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 259
    functionName: dns_rdatatypestats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - rdatatype2counter
    - isc_statsmulti_increment
    linkageType: ''
    returnType: void
    signature: void dns_rdatatypestats_increment(isc_statsmulti_t *stats, dns_rdatatype_t
      type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:266,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:275,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:279,1
    - Dst: rdatatype2counter
      Src: /src/bind9/lib/dns/stats.c:285,1
    - Dst: DNS_RDATASTATSTYPE_BASE
      Src: /src/bind9/lib/dns/stats.c:285,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:287,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:293,1
    - Dst: DNS_RDATASTATSTYPE_ATTR
      Src: /src/bind9/lib/dns/stats.c:297,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:305,1
    - Dst: isc_stats_decrement
      Src: /src/bind9/lib/dns/stats.c:307,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: 309
      start: 261
    functionDepth: 2
    functionLinenumber: 261
    functionLinenumberEnd: 309
    functionName: update_rdatasetstats
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - DNS_RDATASTATSTYPE_ATTR
    - isc_stats_decrement
    - DNS_RDATASTATSTYPE_BASE
    - isc_stats_increment
    - rdatatype2counter
    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:314,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:314,1
    - Dst: update_rdatasetstats
      Src: /src/bind9/lib/dns/stats.c:317,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - rrsettype
    argTypes:
    - dns_stats_t*
    - dns_rdatastatstype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 318
    functionName: dns_rdatasetstats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - update_rdatasetstats
    - DNS_STATS_VALID
    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:323,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:323,1
    - Dst: update_rdatasetstats
      Src: /src/bind9/lib/dns/stats.c:326,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - rrsettype
    argTypes:
    - dns_stats_t*
    - dns_rdatastatstype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 320
    functionDepth: 3
    functionLinenumber: 320
    functionLinenumberEnd: 327
    functionName: dns_rdatasetstats_decrement
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - update_rdatasetstats
    - DNS_STATS_VALID
    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:331,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/lib/dns/stats.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - stats
    - code
    argTypes:
    - isc_statsmulti_t*
    - dns_opcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: dns_opcodestats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_statsmulti_increment
    linkageType: ''
    returnType: void
    signature: void dns_opcodestats_increment(isc_statsmulti_t *stats, dns_opcode_t
      code)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:338,1
    - Dst: isc_statsmulti_increment
      Src: /src/bind9/lib/dns/stats.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - stats
    - code
    argTypes:
    - isc_statsmulti_t*
    - dns_rcode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 2
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: dns_rcodestats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_statsmulti_increment
    linkageType: ''
    returnType: void
    signature: void dns_rcodestats_increment(isc_statsmulti_t *stats, dns_rcode_t
      code)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/stats.c:350,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:350,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/lib/dns/stats.c:352,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:361,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:364,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:372,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:374,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:375,1
    - Dst: isc_stats_resize
      Src: /src/bind9/lib/dns/stats.c:381,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:386,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:387,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:388,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/stats.c:391,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: 392
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 392
    functionName: dns_dnssecsignstats_increment
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stats_ncounters
    - DNS_STATS_VALID
    - isc_stats_increment
    - isc_stats_set
    - isc_stats_resize
    - isc_stats_get_counter
    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:398,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:398,1
    - Dst: isc_stats_ncounters
      Src: /src/bind9/lib/dns/stats.c:400,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:409,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:412,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:413,1
    - Dst: isc_stats_set
      Src: /src/bind9/lib/dns/stats.c:415,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: 420
      start: 394
    functionDepth: 2
    functionLinenumber: 394
    functionLinenumberEnd: 420
    functionName: dns_dnssecsignstats_clear
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stats_ncounters
    - DNS_STATS_VALID
    - isc_stats_set
    - isc_stats_get_counter
    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:428,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:428,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/stats.c:430,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: 432
      start: 425
    functionDepth: 2
    functionLinenumber: 425
    functionLinenumberEnd: 432
    functionName: dns_generalstats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_STATS_VALID
    - 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:445,1
    - Dst: dump_fn
      Src: /src/bind9/lib/dns/stats.c:447,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: 448
      start: 434
    functionDepth: 1
    functionLinenumber: 434
    functionLinenumberEnd: 448
    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:454,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: 455
      start: 450
    functionDepth: 2
    functionLinenumber: 450
    functionLinenumberEnd: 455
    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:462,1
    - Dst: isc_statsmulti_dump
      Src: /src/bind9/lib/dns/stats.c:466,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg0
    - options
    argTypes:
    - isc_statsmulti_t*
    - dns_rdatatypestats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 457
    functionDepth: 2
    functionLinenumber: 457
    functionLinenumberEnd: 467
    functionName: dns_rdatatypestats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc_statsmulti_dump
    linkageType: ''
    returnType: void
    signature: "void dns_rdatatypestats_dump(isc_statsmulti_t *stats,\n\t\t\tdns_rdatatypestats_dumper_t
      dump_fn, void *arg0,\n\t\t\tunsigned int options)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dump_rdentry
      Src: /src/bind9/lib/dns/stats.c:505,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: 507
      start: 469
    functionDepth: 2
    functionLinenumber: 469
    functionLinenumberEnd: 507
    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:514,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:514,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/stats.c:519,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: 520
      start: 509
    functionDepth: 2
    functionLinenumber: 509
    functionLinenumberEnd: 520
    functionName: dns_rdatasetstats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_STATS_VALID
    - 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:526,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: 527
      start: 522
    functionDepth: 0
    functionLinenumber: 522
    functionLinenumberEnd: 527
    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:534,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:539,1
    - Dst: isc_stats_get_counter
      Src: /src/bind9/lib/dns/stats.c:544,1
    - Dst: dump_fn
      Src: /src/bind9/lib/dns/stats.c:549,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: 551
      start: 529
    functionDepth: 2
    functionLinenumber: 529
    functionLinenumberEnd: 551
    functionName: dnssec_statsdump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 0
    functionsReached:
    - isc_stats_ncounters
    - dump_fn
    - isc_stats_get_counter
    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:559,1
    - Dst: DNS_STATS_VALID
      Src: /src/bind9/lib/dns/stats.c:559,1
    - Dst: dnssec_statsdump
      Src: /src/bind9/lib/dns/stats.c:564,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: 566
      start: 553
    functionDepth: 3
    functionLinenumber: 553
    functionLinenumberEnd: 566
    functionName: dns_dnssecsignstats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_STATS_VALID
    - dnssec_statsdump
    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:572,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: 573
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 573
    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:579,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: 580
      start: 575
    functionDepth: 0
    functionLinenumber: 575
    functionLinenumberEnd: 580
    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:587,1
    - Dst: isc_statsmulti_dump
      Src: /src/bind9/lib/dns/stats.c:591,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg0
    - options
    argTypes:
    - isc_statsmulti_t*
    - dns_opcodestats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 582
    functionDepth: 2
    functionLinenumber: 582
    functionLinenumberEnd: 592
    functionName: dns_opcodestats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_statsmulti_dump
    linkageType: ''
    returnType: void
    signature: "void dns_opcodestats_dump(isc_statsmulti_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:599,1
    - Dst: isc_statsmulti_dump
      Src: /src/bind9/lib/dns/stats.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - stats
    - dump_fn
    - arg0
    - options
    argTypes:
    - isc_statsmulti_t*
    - dns_rcodestats_dumper_t
    - void*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 604
    functionName: dns_rcodestats_dump
    functionSourceFile: /src/bind9/lib/dns/stats.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_statsmulti_dump
    linkageType: ''
    returnType: void
    signature: "void dns_rcodestats_dump(isc_statsmulti_t *stats, dns_rcodestats_dumper_t
      dump_fn,\n\t\t    void *arg0, unsigned int options)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rcode.c:226,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rcode.c:227,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rcode.c:233,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rcode.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 221
    functionDepth: 2
    functionLinenumber: 221
    functionLinenumberEnd: 236
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 3
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - strlen
    - memmove
    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:246,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rcode.c:257,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rcode.c:262,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/rcode.c:264,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/rcode.c:266,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: 276
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 276
    functionName: maybe_numeric
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - snprintf
    - isc_parse_uint32
    - isdigit
    - INSIST
    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:284,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rcode.c:291,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rcode.c:293,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: 300
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 300
    functionName: dns_mnemonic_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - maybe_numeric
    - strlen
    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:309,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rcode.c:313,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:314,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: 315
      start: 302
    functionDepth: 0
    functionLinenumber: 302
    functionLinenumberEnd: 315
    functionName: dns_mnemonic_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - snprintf
    - str_totext
    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:320,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rcodep
    - source
    argTypes:
    - dns_rcode_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 317
    functionDepth: 3
    functionLinenumber: 317
    functionLinenumberEnd: 323
    functionName: dns_rcode_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcode
    - target
    argTypes:
    - dns_rcode_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 328
    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:333,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rcodep
    - source
    argTypes:
    - dns_rcode_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 330
    functionDepth: 3
    functionLinenumber: 330
    functionLinenumberEnd: 336
    functionName: dns_tsigrcode_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rcode
    - target
    argTypes:
    - dns_rcode_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 338
    functionDepth: 1
    functionLinenumber: 338
    functionLinenumberEnd: 341
    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:346,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - certp
    - source
    argTypes:
    - dns_cert_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 349
    functionName: dns_cert_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:353,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cert
    - target
    argTypes:
    - dns_cert_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 354
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 354
    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:359,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - secalgp
    - source
    argTypes:
    - dns_secalg_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 356
    functionDepth: 3
    functionLinenumber: 356
    functionLinenumberEnd: 362
    functionName: dns_secalg_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - secalg
    - target
    argTypes:
    - dns_secalg_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 367
    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:375,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:376,1
    - Dst: dns_secalg_totext
      Src: /src/bind9/lib/dns/rcode.c:377,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:378,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: 383
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 383
    functionName: dns_secalg_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - isc_buffer_usedregion
    - dns_secalg_totext
    - isc_buffer_init
    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:388,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dstalgp
    - source
    argTypes:
    - dst_algorithm_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 385
    functionDepth: 3
    functionLinenumber: 385
    functionLinenumberEnd: 391
    functionName: dst_privatedns_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - target
    argTypes:
    - dst_algorithm_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 396
    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:404,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:405,1
    - Dst: dns_privatedns_totext
      Src: /src/bind9/lib/dns/rcode.c:406,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:407,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: 412
      start: 398
    functionDepth: 2
    functionLinenumber: 398
    functionLinenumberEnd: 412
    functionName: dns_privatedns_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_privatedns_totext
    - isc_buffer_usedregion
    - isc_buffer_init
    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:417,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dstalgp
    - source
    argTypes:
    - dst_algorithm_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 420
    functionName: dst_privateoid_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - target
    argTypes:
    - dst_algorithm_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 425
    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:433,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:434,1
    - Dst: dns_privateoid_totext
      Src: /src/bind9/lib/dns/rcode.c:435,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:436,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: 441
      start: 427
    functionDepth: 2
    functionLinenumber: 427
    functionLinenumberEnd: 441
    functionName: dns_privateoid_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_usedregion
    - dns_privateoid_totext
    - isc_buffer_init
    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:446,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - secprotop
    - source
    argTypes:
    - dns_secproto_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 449
    functionName: dns_secproto_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - secproto
    - target
    argTypes:
    - dns_secproto_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 454
    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:459,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - hashalg
    - source
    argTypes:
    - unsigned char*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 462
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 462
    functionName: dns_hashalg_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:473,1
    - Dst: memchr
      Src: /src/bind9/lib/dns/rcode.c:488,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rcode.c:495,1
    - Dst: warn
      Src: /src/bind9/lib/dns/rcode.c:505,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - flagsp
    - source
    argTypes:
    - dns_keyflags_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 516
      start: 464
    functionDepth: 2
    functionLinenumber: 464
    functionLinenumberEnd: 516
    functionName: dns_keyflags_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - strncasecmp
    - maybe_numeric
    - warn
    - memchr
    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:521,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:521,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dsdigestp
    - source
    argTypes:
    - dns_dsdigest_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 518
    functionDepth: 3
    functionLinenumber: 518
    functionLinenumberEnd: 524
    functionName: dns_dsdigest_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 7
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - dsdigest
    - target
    argTypes:
    - dns_dsdigest_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 529
      start: 526
    functionDepth: 1
    functionLinenumber: 526
    functionLinenumberEnd: 529
    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:537,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:538,1
    - Dst: dns_dsdigest_totext
      Src: /src/bind9/lib/dns/rcode.c:539,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:540,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: 545
      start: 531
    functionDepth: 2
    functionLinenumber: 531
    functionLinenumberEnd: 545
    functionName: dns_dsdigest_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_dsdigest_totext
    - isc_buffer_usedregion
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void dns_dsdigest_format(dns_dsdigest_t typ, char *cp, unsigned int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rcode.c:555,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rcode.c:556,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - schemep
    - source
    argTypes:
    - dns_dsyncscheme_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 551
    functionDepth: 3
    functionLinenumber: 551
    functionLinenumberEnd: 559
    functionName: dns_dsyncscheme_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RETERR
    - dns_mnemonic_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dsyncscheme_fromtext(dns_dsyncscheme_t *schemep, isc_textregion_t
      *source)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_mnemonic_totext
      Src: /src/bind9/lib/dns/rcode.c:563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - scheme
    - target
    argTypes:
    - dns_dsyncscheme_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 564
    functionName: dns_dsyncscheme_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - dns_mnemonic_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dsyncscheme_totext(dns_dsyncscheme_t scheme, isc_buffer_t
      *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rcode.c:572,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:573,1
    - Dst: dns_dsyncscheme_totext
      Src: /src/bind9/lib/dns/rcode.c:574,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:575,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - scheme
    - cp
    - size
    argTypes:
    - dns_dsyncscheme_t
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 566
    functionDepth: 2
    functionLinenumber: 566
    functionLinenumberEnd: 580
    functionName: dns_dsyncscheme_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_usedregion
    - dns_dsyncscheme_totext
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void dns_dsyncscheme_format(dns_dsyncscheme_t scheme, char *cp, unsigned
      int size)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rcode.c:596,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:598,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:606,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:607,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rcode.c:611,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rcode.c:621,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rcode.c:623,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:631,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:632,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:635,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:638,1
    - Dst: COMPARE
      Src: /src/bind9/lib/dns/rcode.c:641,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 32
    argCount: 2
    argNames:
    - classp
    - source
    argTypes:
    - dns_rdataclass_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 648
    functionName: dns_rdataclass_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 27
    functionsReached:
    - strncasecmp
    - COMPARE
    - strtoul
    - isc_ascii_tolower
    - snprintf
    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: 595
      start: 588
    functionDepth: 0
    functionLinenumber: 588
    functionLinenumberEnd: 595
    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:654,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:656,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:658,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:660,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:662,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:664,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/rcode.c:666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - rdclass
    - target
    argTypes:
    - dns_rdataclass_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 668
      start: 650
    functionDepth: 1
    functionLinenumber: 650
    functionLinenumberEnd: 668
    functionName: dns_rdataclass_totext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 2
    functionsReached:
    - dns_rdataclass_tounknowntext
    - str_totext
    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:674,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rcode.c:675,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rdclass
    - target
    argTypes:
    - dns_rdataclass_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 676
    functionName: dns_rdataclass_tounknowntext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 2
    functionsReached:
    - snprintf
    - str_totext
    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:688,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/rcode.c:689,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rcode.c:694,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/rcode.c:695,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rcode.c:701,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: 703
      start: 678
    functionDepth: 2
    functionLinenumber: 678
    functionLinenumberEnd: 703
    functionName: dns_rdataclass_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 32
    functionsReached:
    - dns_rdataclass_totext
    - isc_buffer_availablelength
    - isc_buffer_putuint8
    - strlcpy
    - isc_buffer_init
    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:708,1
    - Dst: dns_mnemonic_fromtext
      Src: /src/bind9/lib/dns/rcode.c:708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dstalgp
    - source
    argTypes:
    - dst_algorithm_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 705
    functionDepth: 3
    functionLinenumber: 705
    functionLinenumberEnd: 711
    functionName: dst_algorithm_fromtext
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 8
    functionsReached:
    - RETERR
    - dns_mnemonic_fromtext
    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:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - alg
    - target
    argTypes:
    - dst_algorithm_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 716
    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:724,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rcode.c:725,1
    - Dst: dst_algorithm_totext
      Src: /src/bind9/lib/dns/rcode.c:726,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rcode.c:727,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: 732
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 732
    functionName: dst_algorithm_format
    functionSourceFile: /src/bind9/lib/dns/rcode.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dst_algorithm_totext
    - isc_buffer_init
    - isc_buffer_usedregion
    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:
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:63,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - arg
    - data
    argTypes:
    - void*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 64
    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:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - counter
    argTypes:
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 66
    functionDepth: 2
    functionLinenumber: 66
    functionLinenumberEnd: 71
    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:78,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 80
    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:93,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dnssec.c:95,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dnssec.c:97,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dnssec.c:98,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/dnssec.c:99,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:101,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dnssec.c:102,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/dnssec.c:110,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:111,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/dnssec.c:112,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/dnssec.c:117,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:120,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: 122
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 122
    functionName: rdataset_to_sortedarray
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - qsort
    - isc_mem_cput
    - isc_mem_cget
    - dns_rdata_init
    - dns_rdataset_next
    - dns_rdataset_first
    - dns_rdataset_init
    - dns_rdataset_clone
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdataset_count
    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:130,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:131,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:132,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:133,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:135,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:138,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:139,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnssec.c:140,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/lib/dns/dnssec.c:141,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: 142
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: dns_dnssec_keyfromrdata
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - INSIST
    - dst_key_fromdns
    - dns_rdata_toregion
    - isc_buffer_add
    - isc_buffer_init
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:150,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:154,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:154,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:156,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:158,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:158,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:159,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:161,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:161,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:163,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:166,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 4
    argNames:
    - ctx
    - downcase
    - sigrdata
    - rrsig
    argTypes:
    - dst_context_t*
    - bool
    - dns_rdata_t*
    - dns_rdata_rrsig_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 167
    functionName: digest_sig
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - INSIST
    - RUNTIME_CHECK
    - dns_name_toregion
    - dns_rdata_toregion
    - dns_fixedname_name
    - dns_name_downcase
    - RETERR
    - dns_fixedname_init
    - dst_context_adddata
    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: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:188,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/dnssec.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:194,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/dnssec.c:207,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:208,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:209,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:209,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:209,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:210,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/dnssec.c:212,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:212,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/dnssec.c:215,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:215,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/dnssec.c:216,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/dnssec.c:217,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:223,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:224,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/dnssec.c:224,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnssec.c:230,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dnssec.c:232,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/dnssec.c:234,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:235,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:241,1
    - Dst: digest_sig
      Src: /src/bind9/lib/dns/dnssec.c:250,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:255,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:256,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:256,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:256,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:258,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:258,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:263,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:264,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnssec.c:265,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:266,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:267,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/dnssec.c:268,1
    - Dst: rdataset_to_sortedarray
      Src: /src/bind9/lib/dns/dnssec.c:270,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:274,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:284,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:292,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:300,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:301,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:302,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:303,1
    - Dst: dns_rdata_digest
      Src: /src/bind9/lib/dns/dnssec.c:311,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:317,1
    - Dst: dst_context_sign
      Src: /src/bind9/lib/dns/dnssec.c:318,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:322,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:328,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dnssec.c:332,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:334,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dnssec.c:336,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:337,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 111
    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: 340
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 340
    functionName: dns_dnssec_sign
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dst_algorithm_tosecalg
    - memmove
    - isc_mem_put
    - isc_buffer_putuint32
    - digest_sig
    - isc_buffer_add
    - RETERR
    - dst_context_sign
    - dns_name_init
    - dst_context_destroy
    - RUNTIME_CHECK
    - dns_name_toregion
    - isc_buffer_putuint16
    - dst_key_sigsize
    - dst_context_create
    - dns_rdata_compare
    - isc_buffer_init
    - dns_rdata_init
    - dst_key_alg
    - dst_key_name
    - dns_name_iswildcard
    - dns_name_clone
    - dns_fixedname_init
    - dns_name_countlabels
    - isc_mem_cput
    - isc_mem_get
    - dst_key_id
    - dns_rdata_fromstruct
    - dns_rdata_digest
    - dns_name_downcase
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - rdataset_to_sortedarray
    - isc_buffer_free
    - dns_fixedname_name
    - dst_context_adddata
    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: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:359,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:360,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:362,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:363,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:365,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:365,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:371,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:372,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:377,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:382,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:383,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:385,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:386,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:399,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:400,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:405,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:406,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/dnssec.c:411,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:412,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:419,1
    - Dst: digest_sig
      Src: /src/bind9/lib/dns/dnssec.c:428,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dnssec.c:436,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/dnssec.c:437,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:438,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/dnssec.c:438,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:438,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/dnssec.c:441,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:441,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:442,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/dnssec.c:445,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:445,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:450,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dnssec.c:452,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dnssec.c:453,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:454,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:456,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnssec.c:458,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:459,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:460,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/dnssec.c:461,1
    - Dst: rdataset_to_sortedarray
      Src: /src/bind9/lib/dns/dnssec.c:463,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:468,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:478,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:486,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:494,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dnssec.c:495,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:496,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:501,1
    - Dst: dns_rdata_digest
      Src: /src/bind9/lib/dns/dnssec.c:505,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/dnssec.c:513,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:516,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:517,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dnssec.c:518,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:522,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:524,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dnssec.c:528,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:530,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/dnssec.c:536,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:543,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:548,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/dnssec.c:548,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dnssec.c:550,1
    - Dst: inc_stat
      Src: /src/bind9/lib/dns/dnssec.c:553,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 146
    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: 557
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 557
    functionName: dns_dnssec_verify
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - memmove
    - dst_context_verify
    - dns_name_split
    - isc_buffer_putuint32
    - dns_rdata_freestruct
    - digest_sig
    - isc_buffer_add
    - RETERR
    - ISC_LOG_DEBUG
    - dst_context_destroy
    - dns_name_format
    - dns_name_concatenate
    - RUNTIME_CHECK
    - dns_name_toregion
    - isc_buffer_putuint16
    - dst_context_create
    - dns_rdata_compare
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_rdata_tostruct
    - inc_stat
    - dns_name_issubdomain
    - isc_stdtime_now
    - dns_name_equal
    - isc_log_write
    - isc_serial_lt
    - dns_fixedname_init
    - dns_name_countlabels
    - isc_mem_cput
    - dns_rdata_digest
    - dns_name_downcase
    - isc_buffer_usedregion
    - rdataset_to_sortedarray
    - dns_fixedname_name
    - dst_context_adddata
    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:568,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:569,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:572,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:574,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:576,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:578,1
    - Dst: dst_key_is_published
      Src: /src/bind9/lib/dns/dnssec.c:589,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/dnssec.c:590,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/dnssec.c:591,1
    - Dst: dst_key_is_revoked
      Src: /src/bind9/lib/dns/dnssec.c:592,1
    - Dst: dst_key_is_removed
      Src: /src/bind9/lib/dns/dnssec.c:593,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 559
    functionDepth: 1
    functionLinenumber: 559
    functionLinenumberEnd: 608
    functionName: dns_dnssec_keyactive
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - dst_key_is_signing
    - dst_key_flags
    - dst_key_getprivateformat
    - RUNTIME_CHECK
    - dst_key_getbool
    - dst_key_is_published
    - dst_key_is_removed
    - dst_key_is_revoked
    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:632,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:633,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dnssec.c:643,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dnssec.c:651,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dnssec.c:655,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 621
    functionDepth: 1
    functionLinenumber: 621
    functionLinenumberEnd: 660
    functionName: syncpublish
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - dst_key_getstate
    - dst_key_getprivateformat
    - dst_key_gettime
    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:682,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:683,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dnssec.c:693,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dnssec.c:700,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 708
      start: 672
    functionDepth: 1
    functionLinenumber: 672
    functionLinenumberEnd: 708
    functionName: syncdelete
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dst_key_getstate
    - dst_key_getprivateformat
    - dst_key_gettime
    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: 711
      start: 710
    functionDepth: 0
    functionLinenumber: 710
    functionLinenumberEnd: 711
    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:729,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:730,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:732,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:733,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dnssec.c:738,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/dnssec.c:745,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:745,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:752,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:757,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/dnssec.c:759,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/dnssec.c:760,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:760,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:765,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:767,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:767,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:775,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:775,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:778,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:779,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:779,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:784,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:785,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:785,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:791,1
    - Dst: dns_message_renderheader
      Src: /src/bind9/lib/dns/dnssec.c:792,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:793,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:794,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:794,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:799,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/dnssec.c:800,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:801,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:801,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:803,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/dnssec.c:803,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnssec.c:805,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:807,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:808,1
    - Dst: dst_context_sign
      Src: /src/bind9/lib/dns/dnssec.c:808,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:809,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dnssec.c:812,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dnssec.c:813,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:814,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/dnssec.c:814,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:818,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/dnssec.c:820,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/dnssec.c:823,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:826,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/dnssec.c:828,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/dnssec.c:829,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dnssec.c:836,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:839,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:842,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 76
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - dns_message_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 712
    functionDepth: 3
    functionLinenumber: 712
    functionLinenumberEnd: 846
    functionName: dns_dnssec_signmessage
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_algorithm_tosecalg
    - isc_mem_put
    - dns_message_renderheader
    - dns_message_takebuffer
    - dns_message_gettemprdatalist
    - memset
    - isc_region_consume
    - dns_rdatalist_tordataset
    - dst_context_sign
    - dns_name_init
    - dst_context_destroy
    - dst_key_sigsize
    - is_response
    - dst_context_create
    - isc_buffer_init
    - dns_message_gettemprdata
    - isc_stdtime_now
    - dst_key_alg
    - dst_key_name
    - dns_name_clone
    - CHECK
    - isc_mem_get
    - ISC_LIST_APPEND
    - dst_key_id
    - dns_rdata_fromstruct
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    - dns_message_gettemprdataset
    - dst_context_adddata
    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:862,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:863,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:864,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:872,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:878,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:880,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/dnssec.c:880,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:881,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:883,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:883,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnssec.c:887,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:890,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnssec.c:892,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:898,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:901,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnssec.c:903,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/dnssec.c:904,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnssec.c:906,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:909,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:909,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnssec.c:911,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:914,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/dnssec.c:914,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:920,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:922,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:922,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/dnssec.c:927,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:928,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:928,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:934,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:939,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/dnssec.c:940,1
    - Dst: htons
      Src: /src/bind9/lib/dns/dnssec.c:941,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dnssec.c:942,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:949,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:949,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:956,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/dnssec.c:956,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/dnssec.c:960,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:969,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/dnssec.c:970,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/dnssec.c:976,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/dnssec.c:979,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 82
    argCount: 3
    argNames:
    - source
    - msg
    - key
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 983
      start: 848
    functionDepth: 2
    functionLinenumber: 848
    functionLinenumberEnd: 983
    functionName: dns_dnssec_verifymessage
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - dst_context_verify
    - dns_rdata_freestruct
    - dns_rdata_toregion
    - htons
    - dst_context_destroy
    - ntohs
    - is_response
    - dst_context_create
    - dns_rdata_tostruct
    - isc_stdtime_now
    - dns_name_equal
    - dns_rdataset_first
    - dst_key_name
    - isc_serial_lt
    - dns_rdataset_current
    - CHECK
    - CLEANUP
    - isc_buffer_usedregion
    - dst_context_adddata
    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:992,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:995,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:996,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:998,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:999,1
    - Dst: dns_dnssec_signs
      Src: /src/bind9/lib/dns/dnssec.c:1002,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: 1004
      start: 988
    functionDepth: 1
    functionLinenumber: 988
    functionLinenumberEnd: 1004
    functionName: dns_dnssec_selfsigns
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_dnssec_signs
    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:1016,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/dnssec.c:1021,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1025,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1026,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1028,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1031,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1032,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1033,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/dnssec.c:1036,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1040,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1045,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: 1047
      start: 1006
    functionDepth: 4
    functionLinenumber: 1006
    functionLinenumberEnd: 1047
    functionName: dns_dnssec_signs
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - dns_dnssec_keyfromrdata
    - INSIST
    - RUNTIME_CHECK
    - dst_key_id
    - dns_rdataset_current
    - dns_dnssec_verify
    - dst_key_free
    - dns_rdata_tostruct
    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:1031,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1032,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1033,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/dnssec.c:1036,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1040,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1029
    functionDepth: 4
    functionLinenumber: 1029
    functionLinenumberEnd: 1044
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_dnssec_verify
    - dst_key_free
    - dns_rdata_tostruct
    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: 1054
      start: 1049
    functionDepth: 0
    functionLinenumber: 1049
    functionLinenumberEnd: 1054
    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:1058,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1068,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1069,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/dns/dnssec.c:1071,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - keyset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1056
    functionDepth: 1
    functionLinenumber: 1056
    functionLinenumberEnd: 1077
    functionName: dns_dnssec_haszonekey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - REQUIRE
    - dns_dnssec_iszonekey
    - dns_rdataset_current
    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:1068,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1069,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/dns/dnssec.c:1071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1074
      start: 1064
    functionDepth: 1
    functionLinenumber: 1064
    functionLinenumberEnd: 1074
    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:1086,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnssec.c:1087,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:1106,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1108,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dnssec.c:1110,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1112,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/lib/dns/dnssec.c:1116,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1117,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dnssec.c:1122,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: 1124
      start: 1079
    functionDepth: 1
    functionLinenumber: 1079
    functionLinenumberEnd: 1124
    functionName: dns_dnsseckey_create
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dst_key_flags
    - dst_key_getprivateformat
    - INSIST
    - isc_mem_get
    - dst_key_getbool
    - ISC_LINK_INIT
    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:1130,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1134,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnssec.c:1136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - mctx
    - dkp
    argTypes:
    - isc_mem_t*
    - dns_dnsseckey_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1137
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1137
    functionName: dns_dnsseckey_destroy
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - dst_key_free
    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:1143,1
    - Dst: dst_key_is_published
      Src: /src/bind9/lib/dns/dnssec.c:1145,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/dnssec.c:1146,1
    - Dst: dst_key_is_revoked
      Src: /src/bind9/lib/dns/dnssec.c:1148,1
    - Dst: dst_key_is_removed
      Src: /src/bind9/lib/dns/dnssec.c:1149,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1183,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1186,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dns_dnsseckey_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1198
      start: 1139
    functionDepth: 1
    functionLinenumber: 1139
    functionLinenumberEnd: 1198
    functionName: dns_dnssec_get_hints
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_is_signing
    - dst_key_flags
    - dst_key_setflags
    - dst_key_is_published
    - dst_key_is_removed
    - dst_key_is_revoked
    linkageType: ''
    returnType: void
    signature: void dns_dnssec_get_hints(dns_dnsseckey_t *key, isc_stdtime_t now)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_dir_init
      Src: /src/bind9/lib/dns/dnssec.c:1211,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1216,1
    - Dst: isc_dir_open
      Src: /src/bind9/lib/dns/dnssec.c:1216,1
    - Dst: isc_dir_read
      Src: /src/bind9/lib/dns/dnssec.c:1219,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/dnssec.c:1222,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/dnssec.c:1228,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/dnssec.c:1245,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1256,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/lib/dns/dnssec.c:1266,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1272,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dnssec.c:1277,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/lib/dns/dnssec.c:1281,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/dnssec.c:1283,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:1286,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:1288,1
    - Dst: isc_dir_close
      Src: /src/bind9/lib/dns/dnssec.c:1297,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1300,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 60
    argCount: 7
    argNames:
    - directory
    - rrtypekey
    - namebuf
    - len
    - mctx
    - now
    - list
    argTypes:
    - char*
    - bool
    - char*
    - unsigned int
    - isc_mem_t*
    - isc_stdtime_t
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1303
    functionName: findmatchingkeys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 5
    functionsReached:
    - strncasecmp
    - strcmp
    - isc_dir_close
    - dns_dnsseckey_create
    - isc_result_totext
    - ISC_LIST_APPEND
    - dns_dnsseckey_destroy
    - isc_log_write
    - isc_dir_init
    - dst_key_fromnamedfile
    - dns_dnssec_get_hints
    - CHECK
    - isdigit
    - dst_key_free
    - isc_dir_read
    - isc_dir_open
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findmatchingkeys(const char *directory, bool rrtypekey,
      char *namebuf,\n\t\t unsigned int len, 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:1320,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/dnssec.c:1321,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1323,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1324,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/dnssec.c:1324,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/dnssec.c:1325,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1328,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1328,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1329,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1329,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1331,1
    - Dst: findmatchingkeys
      Src: /src/bind9/lib/dns/dnssec.c:1331,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1334,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/dnssec.c:1336,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1338,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1340,1
    - Dst: findmatchingkeys
      Src: /src/bind9/lib/dns/dnssec.c:1340,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dnssec.c:1349,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/dnssec.c:1351,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1357,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:1358,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dnssec.c:1359,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1360,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:1361,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 34
    argCount: 8
    argNames:
    - origin
    - kasp
    - keydir
    - keystores
    - now
    - rrtypekey
    - mctx
    - keylist
    argTypes:
    - dns_name_t*
    - dns_kasp_t*
    - char*
    - dns_keystorelist_t*
    - isc_stdtime_t
    - bool
    - isc_mem_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1309
    functionDepth: 3
    functionLinenumber: 1309
    functionLinenumberEnd: 1364
    functionName: dns_dnssec_findmatchingkeys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - strcmp
    - findmatchingkeys
    - ISC_LIST_UNLINK
    - INSIST
    - isc_buffer_usedlength
    - ISC_LIST_APPENDLIST
    - ISC_LIST_EMPTY
    - dns_dnsseckey_destroy
    - dns_kasp_getname
    - ISC_LIST_INIT
    - dns_kasp_key_keystore
    - dns_keystore_directory
    - ISC_LIST_FOREACH
    - CHECK
    - dns_name_tofilenametext
    - dst_key_free
    - isc_buffer_init
    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, bool rrtypekey, 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:1336,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1338,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1340,1
    - Dst: findmatchingkeys
      Src: /src/bind9/lib/dns/dnssec.c:1340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1345
      start: 1335
    functionDepth: 3
    functionLinenumber: 1335
    functionLinenumberEnd: 1345
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 154
    functionsReached:
    - dns_kasp_key_keystore
    - findmatchingkeys
    - dns_keystore_directory
    - CHECK
    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:1379,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1380,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1380,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1381,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1381,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:1382,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1382,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1382,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/dnssec.c:1397,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/dnssec.c:1397,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1407,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:1408,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:1409,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/lib/dns/dnssec.c:1413,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/dnssec.c:1418,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:1420,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: 1422
      start: 1373
    functionDepth: 2
    functionLinenumber: 1373
    functionLinenumberEnd: 1422
    functionName: addkey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dnsseckey_create
    - dns_name_equal
    - dst_key_alg
    - dst_key_name
    - dst_key_isprivate
    - ISC_LIST_APPEND
    - dst_key_id
    - dns_dnsseckey_destroy
    - ISC_LIST_FOREACH
    - dst_key_free
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1434,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1434,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dnssec.c:1436,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dnssec.c:1437,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1438,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1441,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1442,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:1447,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1448,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1449,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1450,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1451,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/dnssec.c:1461,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - keylist
    - rrsigs
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1463
      start: 1428
    functionDepth: 1
    functionLinenumber: 1428
    functionLinenumberEnd: 1463
    functionName: mark_active_keys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_isassociated
    - dst_key_alg
    - RUNTIME_CHECK
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_rdata_reset
    - dns_rdataset_clone
    - dst_key_id
    - dst_algorithm_fromdata
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:1447,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1448,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1449,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1450,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1451,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1444
    functionDepth: 1
    functionLinenumber: 1444
    functionLinenumberEnd: 1458
    functionName: (&sigs)
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dst_algorithm_fromdata
    - dns_rdataset_current
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&sigs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1471,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1471,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dnssec.c:1472,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/dnssec.c:1472,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/dnssec.c:1474,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1474,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1474,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1475,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/dnssec.c:1479,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1480,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/dnssec.c:1481,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1481,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1482,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1483,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: 1492
      start: 1465
    functionDepth: 1
    functionLinenumber: 1465
    functionLinenumberEnd: 1492
    functionName: keyfromfile
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dst_key_alg
    - dst_key_name
    - dst_key_fromfile
    - dst_key_id
    - dns_kasp_getname
    - dns_kasp_key_keystore
    - dns_keystore_directory
    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:1479,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/dnssec.c:1480,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/dnssec.c:1481,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1481,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1482,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1483,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1488
      start: 1478
    functionDepth: 1
    functionLinenumber: 1478
    functionLinenumberEnd: 1488
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 156
    functionsReached:
    - dst_key_alg
    - dst_key_name
    - dst_key_fromfile
    - dst_key_id
    - dns_kasp_key_keystore
    - dns_keystore_directory
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(kasp), kkey, link)
  - BBCount: 22
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1507,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1507,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dnssec.c:1509,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dnssec.c:1511,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1519,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1521,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1523,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1524,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1526,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/dns/dnssec.c:1530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1534,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/dnssec.c:1534,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1535,1
    - Dst: is_zone_key
      Src: /src/bind9/lib/dns/dnssec.c:1537,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:1542,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1542,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1547,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1552,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1558,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/dnssec.c:1560,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1561,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1568,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1580,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1582,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1584,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/dnssec.c:1590,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1592,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1594,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1605,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/dnssec.c:1606,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1607,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1607,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1608,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:1616,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1616,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/dnssec.c:1618,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1618,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnssec.c:1620,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1622,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1625,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dnssec.c:1629,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1635,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1637,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1641,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1647,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:1647,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1649,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1652,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1655,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1658,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1662,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1663,1
    - Dst: mark_active_keys
      Src: /src/bind9/lib/dns/dnssec.c:1663,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1666,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1667,1
    - Dst: mark_active_keys
      Src: /src/bind9/lib/dns/dnssec.c:1667,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/dnssec.c:1673,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1675,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1678,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1681,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 107
    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: 1684
      start: 1497
    functionDepth: 3
    functionLinenumber: 1497
    functionLinenumberEnd: 1684
    functionName: dns_dnssec_keylistfromrdataset
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_dnssec_keyfromrdata
    - dst_algorithm_supported
    - dns_secalg_format
    - dst_key_setttl
    - dns_rdataset_init
    - dst_key_getfilename
    - is_zone_key
    - dns_rdataset_isassociated
    - dns_name_format
    - RUNTIME_CHECK
    - snprintf
    - dst_key_setflags
    - dst_key_free
    - dns_rdata_tostruct
    - isc_buffer_init
    - isc_result_totext
    - mark_active_keys
    - addkey
    - dst_key_flags
    - dns_name_equal
    - dst_key_alg
    - dst_key_name
    - dst_key_getttl
    - dns_rdataset_clone
    - isc_log_write
    - dns_rdataset_current
    - CHECK
    - dns_kasp_offlineksk
    - dst_key_pubcompare
    - dns_rdataset_cleanup
    - dst_algorithm_fromdata
    - dst_key_id
    - keyfromfile
    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:1517,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1519,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1521,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:1523,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1524,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/dnssec.c:1526,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/dns/dnssec.c:1530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1534,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/dnssec.c:1534,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1535,1
    - Dst: is_zone_key
      Src: /src/bind9/lib/dns/dnssec.c:1537,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dnssec.c:1542,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1542,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1547,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1552,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1558,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/dnssec.c:1560,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1561,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1568,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:1580,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1582,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/dnssec.c:1584,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/dnssec.c:1590,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1592,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/dnssec.c:1594,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1605,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/dnssec.c:1606,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1607,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1607,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1608,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:1616,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1616,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/dnssec.c:1618,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1618,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnssec.c:1620,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1622,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1625,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dnssec.c:1629,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1635,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1637,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1641,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dnssec.c:1647,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:1647,1
    - Dst: addkey
      Src: /src/bind9/lib/dns/dnssec.c:1649,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1652,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1655,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dnssec.c:1658,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 83
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1660
    functionName: (&keys)
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_dnssec_keyfromrdata
    - dst_algorithm_supported
    - dns_secalg_format
    - dst_key_setttl
    - dst_key_getfilename
    - is_zone_key
    - dns_name_format
    - RUNTIME_CHECK
    - snprintf
    - dst_key_setflags
    - dst_key_free
    - isc_buffer_init
    - dns_rdata_tostruct
    - isc_result_totext
    - addkey
    - dst_key_flags
    - dns_name_equal
    - dst_key_alg
    - dst_key_name
    - dst_key_getttl
    - isc_log_write
    - dns_rdataset_current
    - CHECK
    - dns_kasp_offlineksk
    - dst_key_pubcompare
    - dst_algorithm_fromdata
    - dst_key_id
    - keyfromfile
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&keys)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnssec.c:1692,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1693,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dnssec.c:1693,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:1695,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dnssec.c:1696,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dnssec.c:1697,1
    - Dst: dst_key_class
      Src: /src/bind9/lib/dns/dnssec.c:1697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key
    - buf
    - bufsize
    - target
    argTypes:
    - dst_key_t*
    - unsigned char*
    - int
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1700
      start: 1686
    functionDepth: 2
    functionLinenumber: 1686
    functionLinenumberEnd: 1700
    functionName: dns_dnssec_make_dnskey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_rdata_fromregion
    - dns_rdata_reset
    - RETERR
    - isc_buffer_usedregion
    - dst_key_todns
    - isc_buffer_init
    - dst_key_class
    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:1707,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/dnssec.c:1708,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: 1709
      start: 1702
    functionDepth: 1
    functionLinenumber: 1702
    functionLinenumberEnd: 1709
    functionName: addrdata
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_appendminimal
    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:1716,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/dnssec.c:1717,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: 1718
      start: 1711
    functionDepth: 1
    functionLinenumber: 1711
    functionLinenumberEnd: 1718
    functionName: delrdata
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_appendminimal
    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:1729,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1730,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:1730,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:1731,1
    - Dst: report
      Src: /src/bind9/lib/dns/dnssec.c:1733,1
    - Dst: report
      Src: /src/bind9/lib/dns/dnssec.c:1740,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/dnssec.c:1744,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dnssec.c:1745,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:1749,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: 1753
      start: 1720
    functionDepth: 3
    functionLinenumber: 1720
    functionLinenumberEnd: 1753
    functionName: publish_key
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - addrdata
    - isc_stdtime_now
    - report
    - dst_key_format
    - dns_rdata_reset
    - dst_key_settime
    - dns_dnssec_make_dnskey
    - CHECK
    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:1765,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:1765,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:1766,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1766,1
    - Dst: report
      Src: /src/bind9/lib/dns/dnssec.c:1767,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:1768,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1770,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:1770,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:1771,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: 1775
      start: 1755
    functionDepth: 3
    functionLinenumber: 1755
    functionLinenumberEnd: 1775
    functionName: remove_key
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_secalg_format
    - dns_name_format
    - dst_key_name
    - dst_key_alg
    - report
    - dst_key_id
    - dns_dnssec_make_dnskey
    - CHECK
    - delrdata
    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:1780,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:1785,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:1786,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1787,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1791,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1777
    functionDepth: 1
    functionLinenumber: 1777
    functionLinenumberEnd: 1793
    functionName: exists
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 28
    functionsReached:
    - dns_rdata_compare
    - dns_rdataset_clone
    - dns_rdataset_current
    - dns_rdataset_disassociate
    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:1785,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:1786,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/dnssec.c:1787,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1790
      start: 1782
    functionDepth: 1
    functionLinenumber: 1782
    functionLinenumberEnd: 1790
    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:1802,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:1804,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/dnssec.c:1808,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1810,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1818,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1818,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/dnssec.c:1820,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1822,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:1826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    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: 1830
      start: 1795
    functionDepth: 3
    functionLinenumber: 1795
    functionLinenumberEnd: 1830
    functionName: add_cds
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - addrdata
    - dns_rdataset_isassociated
    - dst_key_name
    - isc_log_write
    - dns_dsdigest_format
    - 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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1838,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dnssec.c:1840,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:1840,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1844,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/dnssec.c:1846,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1848,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    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: 1856
      start: 1832
    functionDepth: 3
    functionLinenumber: 1832
    functionLinenumberEnd: 1856
    functionName: delete_cds
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - dst_key_name
    - isc_log_write
    - RETERR
    - dns_dsdigest_format
    - delrdata
    - 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: 25
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1870,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1871,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnssec.c:1872,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1874,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1878,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1882,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1884,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1886,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:1886,1
    - Dst: syncpublish
      Src: /src/bind9/lib/dns/dnssec.c:1890,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:1892,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1894,1
    - Dst: add_cds
      Src: /src/bind9/lib/dns/dnssec.c:1895,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1907,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1908,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1910,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:1915,1
    - Dst: syncdelete
      Src: /src/bind9/lib/dns/dnssec.c:1921,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:1923,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1925,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:1930,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1955,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:1956,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:1957,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:1963,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1971,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1972,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:1983,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dnssec.c:1985,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:1988,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:1990,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/dnssec.c:1990,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:1993,1
    - Dst: delete_cds
      Src: /src/bind9/lib/dns/dnssec.c:1997,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2020,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2021,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2022,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:2027,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 98
    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: 2041
      start: 1858
    functionDepth: 4
    functionLinenumber: 1858
    functionLinenumberEnd: 2041
    functionName: dns_dnssec_syncupdate
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - addrdata
    - dns_rdataset_isassociated
    - add_cds
    - dst_key_name
    - syncdelete
    - dst_key_format
    - isc_log_write
    - dns_dnssec_make_dnskey
    - ISC_LIST_FOREACH
    - CHECK
    - syncpublish
    - delrdata
    - delete_cds
    - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dnssec.c:2058,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dnssec.c:2063,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnssec.c:2065,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2068,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2069,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2071,1
    - Dst: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:2076,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2080,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2080,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2082,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:2087,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: addrdata
      Src: /src/bind9/lib/dns/dnssec.c:2101,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/dnssec.c:2105,1
    - Dst: exists
      Src: /src/bind9/lib/dns/dnssec.c:2106,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2108,1
    - Dst: delrdata
      Src: /src/bind9/lib/dns/dnssec.c:2113,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    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: 2123
      start: 2043
    functionDepth: 2
    functionLinenumber: 2043
    functionLinenumberEnd: 2123
    functionName: dns_dnssec_syncdelete
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - addrdata
    - dns_rdataset_isassociated
    - dns_name_format
    - dns_rdata_fromregion
    - isc_log_write
    - delrdata
    - 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:2149,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2153,1
    - Dst: publish_key
      Src: /src/bind9/lib/dns/dnssec.c:2153,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:2157,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dnssec.c:2166,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2169,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/dnssec.c:2170,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2187,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2193,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2194,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2195,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:2199,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dnssec.c:2199,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/dnssec.c:2200,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2202,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2204,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:2213,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2217,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2218,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2223,1
    - Dst: publish_key
      Src: /src/bind9/lib/dns/dnssec.c:2223,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2225,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2234,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/dnssec.c:2251,1
    - Dst: dst_key_copy_metadata
      Src: /src/bind9/lib/dns/dnssec.c:2254,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2258,1
    - Dst: remove_key
      Src: /src/bind9/lib/dns/dnssec.c:2258,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2260,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2263,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2264,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:2272,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dnssec.c:2275,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2282,1
    - Dst: remove_key
      Src: /src/bind9/lib/dns/dnssec.c:2282,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2284,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2286,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2287,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dnssec.c:2295,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:2297,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2300,1
    - Dst: publish_key
      Src: /src/bind9/lib/dns/dnssec.c:2300,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2302,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dnssec.c:2303,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2320,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnssec.c:2329,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dnssec.c:2344,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dnssec.c:2345,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/dnssec.c:2346,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: 2353
      start: 2131
    functionDepth: 4
    functionLinenumber: 2131
    functionLinenumberEnd: 2353
    functionName: dns_dnssec_updatekeys
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 1
    functionsReached:
    - dst_key_copy_metadata
    - publish_key
    - ISC_LIST_UNLINK
    - dst_key_flags
    - dst_key_alg
    - remove_key
    - dst_key_pubcompare
    - dst_key_getttl
    - dst_key_format
    - ISC_LIST_EMPTY
    - ISC_LIST_APPEND
    - dns_dnsseckey_destroy
    - isc_log_write
    - dst_key_id
    - ISC_LIST_FOREACH
    - CHECK
    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:2365,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2366,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/dnssec.c:2371,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:2372,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:2374,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2375,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:2377,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dnssec.c:2378,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:2384,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:2390,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: 2396
      start: 2355
    functionDepth: 1
    functionLinenumber: 2355
    functionLinenumberEnd: 2396
    functionName: dns_dnssec_matchdskey
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdata_toregion
    - dst_region_computeid
    - dns_rdataset_current
    - dns_rdata_compare
    - dns_rdata_tostruct
    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:2371,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dnssec.c:2372,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/dnssec.c:2374,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/dnssec.c:2375,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/dnssec.c:2377,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dnssec.c:2378,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/dnssec.c:2384,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/dnssec.c:2390,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2393
      start: 2368
    functionDepth: 1
    functionLinenumber: 2368
    functionLinenumberEnd: 2393
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dnssec.c
    functionUses: 2
    functionsReached:
    - dns_ds_buildrdata
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdata_toregion
    - dst_region_computeid
    - dns_rdataset_current
    - dns_rdata_compare
    - dns_rdata_tostruct
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:61,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:62,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:71,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/private.c:78,1
    - Dst: NONSEC
      Src: /src/bind9/lib/dns/private.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 17
    argCount: 2
    argNames:
    - param
    - privateset
    argTypes:
    - dns_rdata_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 93
    functionName: ignore
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - NONSEC
    - dns_nsec3param_fromprivate
    - memcmp
    - CREATE
    - dns_rdataset_current
    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:61,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:62,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:71,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/private.c:78,1
    - Dst: NONSEC
      Src: /src/bind9/lib/dns/private.c:87,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 56
    functionDepth: 1
    functionLinenumber: 56
    functionLinenumberEnd: 91
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 2
    functionsReached:
    - NONSEC
    - dns_nsec3param_fromprivate
    - memcmp
    - CREATE
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(privateset)
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/private.c:108,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/private.c:109,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/private.c:110,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:112,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/private.c:112,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/private.c:114,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:118,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/private.c:121,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:124,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:127,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:128,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:130,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:131,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/private.c:136,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:140,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:147,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:148,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:149,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:150,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:157,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:158,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/private.c:163,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:166,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:172,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:173,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:174,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:175,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:186,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:187,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:192,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:212,1
    - Dst: ignore
      Src: /src/bind9/lib/dns/private.c:213,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:227,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:231,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:232,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/private.c:233,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:244,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:245,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:258,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:266,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:268,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/private.c:275,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/private.c:276,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/private.c:277,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/private.c:279,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 116
    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: 282
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 282
    functionName: dns_private_chains
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 1
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - ignore
    - dns_rdataset_isassociated
    - dns_nsec3param_fromprivate
    - SET_IF_NOT_NULL
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - CREATE
    - REMOVE
    - dns_rdataset_current
    - CHECK
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/private.c:157,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:158,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/private.c:163,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/private.c:166,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 168
    functionName: (&privateset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - SET_IF_NOT_NULL
    - REMOVE
    - dns_rdataset_current
    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:186,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:187,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:192,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 195
    functionName: (&privateset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - CREATE
    - dns_rdataset_current
    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:212,1
    - Dst: ignore
      Src: /src/bind9/lib/dns/private.c:213,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 202
    functionDepth: 2
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: (&nsec3paramset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - ignore
    - dns_rdataset_current
    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:244,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/private.c:245,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/private.c:258,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 240
    functionDepth: 1
    functionLinenumber: 240
    functionLinenumberEnd: 262
    functionName: (&privateset)
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - CREATE
    - dns_rdataset_current
    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:300,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/private.c:303,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:306,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/private.c:306,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:317,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:319,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:321,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/private.c:324,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/private.c:325,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:326,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/private.c:326,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/private.c:330,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/dns/private.c:330,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:333,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:345,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:347,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:349,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:351,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/private.c:354,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/private.c:355,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:356,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/private.c:367,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:372,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:374,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:376,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:378,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/private.c:381,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/private.c:382,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/private.c:383,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/private.c:388,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 71
    argCount: 2
    argNames:
    - private
    - buf
    argTypes:
    - dns_rdata_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 392
    functionName: dns_private_totext
    functionSourceFile: /src/bind9/lib/dns/private.c
    functionUses: 4
    functionsReached:
    - CLEANUP
    - dst_algorithm_tosecalg
    - isc_buffer_init
    - dns_secalg_format
    - dns_nsec3param_fromprivate
    - dns_rdata_totext
    - dns_rdata_reset
    - dns_rdata_fromstruct
    - snprintf
    - CHECK
    - isc_buffer_putuint8
    - dns_rdata_tostruct
    - isc_buffer_putstr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_private_totext(dns_rdata_t *private, isc_buffer_t
      *buf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rootns.c:86,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:92,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rootns.c:93,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:93,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:94,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - rootns
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 99
    functionName: in_rootns
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - RETERR
    - dns_rdataset_current
    - dns_name_compare
    - dns_rdata_tostruct
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t in_rootns(dns_rdataset_t *rootns, dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rootns.c:92,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rootns.c:93,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rootns.c:93,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:94,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 90
    functionDepth: 1
    functionLinenumber: 90
    functionLinenumberEnd: 97
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 2
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_compare
    - RETERR
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rootns)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/rootns.c:106,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:108,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:113,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:115,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: 125
      start: 101
    functionDepth: 2
    functionLinenumber: 101
    functionLinenumberEnd: 125
    functionName: check_node
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_name_compare
    - in_rootns
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    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:106,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rootns.c:108,1
    - Dst: in_rootns
      Src: /src/bind9/lib/dns/rootns.c:113,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/rootns.c:115,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 122
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_name_compare
    - in_rootns
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/rootns.c:133,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rootns.c:138,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rootns.c:140,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/rootns.c:141,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:143,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/rootns.c:143,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:145,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rootns.c:145,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:146,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rootns.c:146,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:147,1
    - Dst: check_node
      Src: /src/bind9/lib/dns/rootns.c:147,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rootns.c:148,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rootns.c:149,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/rootns.c:153,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rootns.c:155,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rootns.c:158,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/rootns.c:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 127
    functionDepth: 3
    functionLinenumber: 127
    functionLinenumberEnd: 164
    functionName: check_hints
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - isc_stdtime_now
    - dns_db_allrdatasets
    - dns_rdataset_init
    - dns_rdatasetiter_destroy
    - dns_rdataset_cleanup
    - dns_db_find
    - dns_fixedname_initname
    - check_node
    - CHECK
    - dns_dbiterator_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_hints(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:145,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rootns.c:145,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:146,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rootns.c:146,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:147,1
    - Dst: check_node
      Src: /src/bind9/lib/dns/rootns.c:147,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rootns.c:148,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rootns.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 3
    functionLinenumber: 144
    functionLinenumberEnd: 150
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - check_node
    - CHECK
    - dns_dbiterator_current
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH(dbiter)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rootns.c:175,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:177,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/rootns.c:177,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rootns.c:180,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rootns.c:181,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rootns.c:182,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/rootns.c:184,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:185,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/rootns.c:185,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/lib/dns/rootns.c:190,1
    - Dst: dns_master_loadbuffer
      Src: /src/bind9/lib/dns/rootns.c:198,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/rootns.c:204,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rootns.c:209,1
    - Dst: check_hints
      Src: /src/bind9/lib/dns/rootns.c:211,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:212,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rootns.c:220,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rootns.c:225,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rootns.c:228,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 4
    argNames:
    - mctx
    - rdclass
    - filename
    - target
    argTypes:
    - isc_mem_t*
    - dns_rdataclass_t
    - char*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 166
    functionDepth: 4
    functionLinenumber: 166
    functionLinenumberEnd: 232
    functionName: dns_rootns_create
    functionSourceFile: /src/bind9/lib/dns/rootns.c
    functionUses: 3
    functionsReached:
    - dns_db_endload
    - REQUIRE
    - dns_db_detach
    - check_hints
    - dns_db_create
    - dns_rdatacallbacks_init
    - isc_result_totext
    - isc_log_write
    - isc_buffer_add
    - strlen
    - CHECK
    - dns_master_loadbuffer
    - dns_db_beginload
    - isc_buffer_init
    - dns_master_loadfile
    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: 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
    - REQUIRE
    - memmove
    - isc_mem_get
    - isc_netaddr_prefixok
    - dns_acl_attach
    - memcmp
    - memset
    - ISC_LINK_INIT
    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
    - REQUIRE
    - isc_mem_putanddetach
    - ISC_LIST_UNLINK
    linkageType: ''
    returnType: void
    signature: void dns_dns64_destroy(dns_dns64list_t *list, dns_dns64_t **dns64p)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dns64.c:149,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:149,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:160,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/dns64.c:161,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dns64.c:162,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:162,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:170,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:172,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:186,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    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: 188
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 188
    functionName: dns_dns64_aaaafroma
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - RETERR
    - dns_acl_match
    - isc_netaddr_fromin
    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:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - list
    - dns64
    argTypes:
    - dns_dns64list_t*
    - dns_dns64_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 193
    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:208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:212,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/dns64.c:212,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/dns64.c:215,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:231,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:269,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:270,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:271,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:273,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: 304
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 304
    functionName: dns_dns64_aaaaok
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - memmove
    - isc_netaddr_fromin6
    - ISC_LIST_NEXT
    - dns_rdataset_current
    - dns_acl_match
    - dns_rdataset_count
    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:269,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:270,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:271,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dns64.c:273,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 288
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 2
    functionsReached:
    - dns_acl_match
    - memmove
    - dns_rdataset_current
    - isc_netaddr_fromin6
    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: 391
      start: 342
    functionDepth: 0
    functionLinenumber: 342
    functionLinenumberEnd: 391
    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:401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:402,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dns64.c:404,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/dns64.c:405,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dns64.c:406,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/dns64.c:407,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:411,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:415,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:425,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:426,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:429,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dns64.c:436,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:437,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:438,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: 457
      start: 393
    functionDepth: 1
    functionLinenumber: 393
    functionLinenumberEnd: 457
    functionName: dns_dns64_findprefix
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - dns_rdataset_init
    - isc_netaddr_fromin6
    - dns_rdataset_clone
    - dns_rdataset_current
    - memset
    - search
    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:411,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:415,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:425,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:426,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:429,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dns64.c:436,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:437,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:438,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 447
    functionName: (&outer)
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - isc_netaddr_fromin6
    - dns_rdataset_current
    - memset
    - search
    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:425,1
    - Dst: search
      Src: /src/bind9/lib/dns/dns64.c:426,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:429,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dns64.c:436,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/dns64.c:437,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/dns64.c:438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 442
    functionName: (&inner)
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - isc_netaddr_fromin6
    - dns_rdataset_current
    - memset
    - search
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&inner)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:469,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dns64.c:470,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/dns64.c:472,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dns64.c:474,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/dns64.c:474,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/dns64.c:476,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/dns64.c:482,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/dns64.c:488,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:489,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/dns64.c:490,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dns64.c:496,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dns64.c:497,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/dns64.c:498,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dns64.c:499,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dns64.c:500,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dns64.c:502,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dns64.c:506,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/dns64.c:508,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/dns64.c:509,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/dns64.c:510,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dns64.c:517,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dns64.c:518,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dns64.c:519,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/dns64.c:520,1
    - Dst: dns_message_puttemprdatalist
      Src: /src/bind9/lib/dns/dns64.c:522,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: 525
      start: 459
    functionDepth: 3
    functionLinenumber: 459
    functionLinenumberEnd: 525
    functionName: dns_dns64_apply
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - isc_buffer_forward
    - dns_message_takebuffer
    - dns_message_gettemprdatalist
    - isc_buffer_add
    - isc_buffer_remainingregion
    - dns_rdatalist_tordataset
    - dns_rdata_fromregion
    - isc_buffer_availableregion
    - dns_message_gettemprdata
    - isc_netaddr_fromsockaddr
    - ISC_LIST_EMPTY
    - dns_dns64_aaaafroma
    - dns_rdataset_current
    - dns_message_puttemprdata
    - dns_message_puttemprdatalist
    - ISC_LIST_APPEND
    - isc_buffer_allocate
    - ISC_LIST_FOREACH
    - isc_buffer_free
    - dns_rdataset_count
    - dns_message_gettemprdataset
    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:482,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/dns64.c:488,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:489,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/dns64.c:490,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dns64.c:496,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dns64.c:497,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/dns64.c:498,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dns64.c:499,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dns64.c:500,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dns64.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 480
    functionDepth: 2
    functionLinenumber: 480
    functionLinenumberEnd: 504
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 2
    functionsReached:
    - dns_message_gettemprdata
    - INSIST
    - isc_buffer_forward
    - dns_rdata_fromregion
    - ISC_LIST_APPEND
    - dns_dns64_aaaafroma
    - isc_buffer_availableregion
    - isc_buffer_add
    - dns_rdataset_current
    - isc_buffer_remainingregion
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(a)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/dns64.c:488,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dns64.c:489,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/dns64.c:490,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dns64.c:496,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dns64.c:497,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/dns64.c:498,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/dns64.c:499,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dns64.c:500,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dns64.c:502,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 503
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dns64.c
    functionUses: 159
    functionsReached:
    - dns_message_gettemprdata
    - INSIST
    - isc_buffer_forward
    - dns_rdata_fromregion
    - ISC_LIST_APPEND
    - dns_dns64_aaaafroma
    - isc_buffer_availableregion
    - isc_buffer_add
    - isc_buffer_remainingregion
    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: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    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: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    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: 124
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 124
    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: 129
      start: 125
    functionDepth: 0
    functionLinenumber: 125
    functionLinenumberEnd: 129
    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: 136
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 136
    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: 187
      start: 186
    functionDepth: 0
    functionLinenumber: 186
    functionLinenumberEnd: 187
    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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    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: 190
      start: 188
    functionDepth: 0
    functionLinenumber: 188
    functionLinenumberEnd: 190
    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: 191
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 191
    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:237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rpz_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 239
    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:263,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 268
    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:307,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 37
    argCount: 1
    argNames:
    - policy
    argTypes:
    - dns_rpz_policy_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 310
    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:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 312
    functionDepth: 0
    functionLinenumber: 312
    functionLinenumberEnd: 336
    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:346,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 27
    argCount: 1
    argNames:
    - zbit
    argTypes:
    - dns_rpz_zbits_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 372
    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:397,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: 399
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 399
    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:406,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:411,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:414,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: 416
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 416
    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: 450
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 450
    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:614,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 619
    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:630,1
    - Dst: KEY_IS_IPV4
      Src: /src/bind9/lib/dns/rpz.c:631,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:644,1
    - Dst: KEY_IS_IPV4
      Src: /src/bind9/lib/dns/rpz.c:645,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:658,1
    - Dst: KEY_IS_IPV4
      Src: /src/bind9/lib/dns/rpz.c:659,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:668,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:673,1
    - Dst: fix_qname_skip_recurse
      Src: /src/bind9/lib/dns/rpz.c:674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:677,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:679,1
    - Dst: fix_qname_skip_recurse
      Src: /src/bind9/lib/dns/rpz.c:680,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: 683
      start: 621
    functionDepth: 3
    functionLinenumber: 621
    functionLinenumberEnd: 683
    functionName: adj_trigger_cnt
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - KEY_IS_IPV4
    - DNS_RPZ_ZBIT
    - fix_qname_skip_recurse
    - UNREACHABLE
    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:691,1
    - Dst: DNS_RPZ_WORD_MASK
      Src: /src/bind9/lib/dns/rpz.c:708,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: 716
      start: 685
    functionDepth: 1
    functionLinenumber: 685
    functionLinenumberEnd: 716
    functionName: new_node
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - DNS_RPZ_WORD_MASK
    - isc_mem_get
    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:723,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:725,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:726,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: 730
      start: 718
    functionDepth: 2
    functionLinenumber: 718
    functionLinenumberEnd: 730
    functionName: badname
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - dns_name_format
    - 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:754,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:755,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:767,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:805,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:807,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rpz.c:811,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rpz.c:821,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rpz.c:822,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rpz.c:823,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: 825
      start: 743
    functionDepth: 2
    functionLinenumber: 743
    functionLinenumberEnd: 825
    functionName: ip2name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - KEY_IS_IPV4
    - INSIST
    - dns_name_fromtext
    - snprintf
    - isc_buffer_add
    - isc_buffer_init
    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:833,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rpz.c:837,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:841,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rpz.c:842,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/rpz.c:847,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rpz.c:848,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: 854
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 854
    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:876,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:877,1
    - Dst: make_addr_set
      Src: /src/bind9/lib/dns/rpz.c:879,1
    - Dst: DNS_RPZ_ZBIT
      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: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:885,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:888,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:891,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rpz.c:892,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:897,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rpz.c:898,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rpz.c:901,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:903,1
    - Dst: badname
      Src: /src/bind9/lib/dns/rpz.c:910,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/rpz.c:916,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:1002,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rpz.c:1013,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:1018,1
    - Dst: ip2name
      Src: /src/bind9/lib/dns/rpz.c:1019,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:1022,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1025,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1026,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 109
    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: 1035
      start: 861
    functionDepth: 3
    functionLinenumber: 861
    functionLinenumberEnd: 1035
    functionName: name2ipkey
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ip2name
    - dns_name_init
    - badname
    - dns_name_equal
    - dns_name_format
    - strtoul
    - make_addr_set
    - DNS_RPZ_WORD_MASK
    - DNS_RPZ_ZBIT
    - dns_name_getlabelsequence
    - strlen
    - strchr
    - dns_fixedname_initname
    - isc_log_write
    - isc_log_wouldlog
    - dns_name_countlabels
    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:1048,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1049,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/rpz.c:1056,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rpz.c:1058,1
    - Dst: make_nm_set
      Src: /src/bind9/lib/dns/rpz.c:1059,1
    - Dst: make_nm_set
      Src: /src/bind9/lib/dns/rpz.c:1062,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rpz.c:1063,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1066,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:1067,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:1070,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:1072,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rpz.c:1074,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/rpz.c:1075,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: 1076
      start: 1041
    functionDepth: 2
    functionLinenumber: 1041
    functionLinenumberEnd: 1076
    functionName: name2data
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_concatenate
    - dns_name_iswildcard
    - dns_name_getlabelsequence
    - memset
    - make_nm_set
    - dns_name_countlabels
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rpz.c:1089,1
    - Dst: stdc_leading_zeros
      Src: /src/bind9/lib/dns/rpz.c:1097,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rpz.c:1101,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    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: 1102
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1102
    functionName: diff_keys
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - stdc_leading_zeros
    - ISC_MIN
    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: 1121
      start: 1108
    functionDepth: 0
    functionLinenumber: 1108
    functionLinenumberEnd: 1121
    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:1154,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1164,1
    - Dst: diff_keys
      Src: /src/bind9/lib/dns/rpz.c:1186,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1218,1
    - Dst: new_node
      Src: /src/bind9/lib/dns/rpz.c:1234,1
    - Dst: DNS_RPZ_IP_BIT
      Src: /src/bind9/lib/dns/rpz.c:1241,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1245,1
    - Dst: trim_zbits
      Src: /src/bind9/lib/dns/rpz.c:1263,1
    - Dst: trim_zbits
      Src: /src/bind9/lib/dns/rpz.c:1265,1
    - Dst: trim_zbits
      Src: /src/bind9/lib/dns/rpz.c:1266,1
    - Dst: DNS_RPZ_IP_BIT
      Src: /src/bind9/lib/dns/rpz.c:1269,1
    - Dst: new_node
      Src: /src/bind9/lib/dns/rpz.c:1284,1
    - Dst: new_node
      Src: /src/bind9/lib/dns/rpz.c:1285,1
    - Dst: DNS_RPZ_IP_BIT
      Src: /src/bind9/lib/dns/rpz.c:1292,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:1298,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: 1302
      start: 1131
    functionDepth: 2
    functionLinenumber: 1131
    functionLinenumberEnd: 1302
    functionName: search
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 9
    functionsReached:
    - diff_keys
    - new_node
    - DNS_RPZ_IP_BIT
    - trim_zbits
    - set_sum_pair
    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:1316,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:1325,1
    - Dst: search
      Src: /src/bind9/lib/dns/rpz.c:1326,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1342,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1343,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1346,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:1350,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1352,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: 1354
      start: 1307
    functionDepth: 4
    functionLinenumber: 1307
    functionLinenumberEnd: 1354
    functionName: add_cidr
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - name2ipkey
    - dns_name_format
    - isc_log_write
    - adj_trigger_cnt
    - search
    - isc_result_totext
    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:1358,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/rpz.c:1363,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/rpz.c:1365,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/rpz.c:1366,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/rpz.c:1369,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: 1374
      start: 1356
    functionDepth: 1
    functionLinenumber: 1356
    functionLinenumberEnd: 1374
    functionName: new_nmdata
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_get
    - fprintf
    - 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:1382,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/rpz.c:1383,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1386,1
    - Dst: new_nmdata
      Src: /src/bind9/lib/dns/rpz.c:1387,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/rpz.c:1388,1
    - Dst: nmdata_detach
      Src: /src/bind9/lib/dns/rpz.c:1389,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/rpz.c:1411,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/rpz.c:1412,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: 1415
      start: 1376
    functionDepth: 11
    functionLinenumber: 1376
    functionLinenumberEnd: 1415
    functionName: add_nm
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - INSIST
    - nmdata_detach
    - new_nmdata
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_compact
    - dns_qp_getname
    - dns_qpmulti_commit
    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:1430,1
    - Dst: name2data
      Src: /src/bind9/lib/dns/rpz.c:1431,1
    - Dst: add_nm
      Src: /src/bind9/lib/dns/rpz.c:1433,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:1443,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:1444,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1445,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: 1448
      start: 1417
    functionDepth: 12
    functionLinenumber: 1417
    functionLinenumberEnd: 1448
    functionName: add_name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 3
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - add_nm
    - dns_fixedname_initname
    - adj_trigger_cnt
    - name2data
    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:1458,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1459,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rpz.c:1463,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/rpz.c:1469,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/rpz.c:1470,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/rpz.c:1471,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/rpz.c:1473,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/rpz.c:1475,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 3
    argNames:
    - view
    - rpzsp
    - first_time
    argTypes:
    - dns_view_t*
    - dns_rpz_zones_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1453
    functionDepth: 2
    functionLinenumber: 1453
    functionLinenumberEnd: 1479
    functionName: dns_rpz_new_zones
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mutex_init
    - isc_rwlock_init
    - isc_mem_get
    - dns_qpmulti_create
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rpz_new_zones(dns_view_t *view, dns_rpz_zones_t **rpzsp,
      bool first_time)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1485,1
    - Dst: DNS_RPZ_ZONES_VALID
      Src: /src/bind9/lib/dns/rpz.c:1485,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1486,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rpz.c:1492,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1492,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rpz.c:1494,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/rpz.c:1506,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1508,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1509,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1510,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1511,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1512,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1513,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1514,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1515,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rpz.c:1516,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/rpz.c:1518,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - rpzs
    - rpzp
    argTypes:
    - dns_rpz_zones_t*
    - dns_rpz_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1526
      start: 1481
    functionDepth: 3
    functionLinenumber: 1481
    functionLinenumberEnd: 1526
    functionName: dns_rpz_new_zone
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_init
    - isc_mem_get
    - DNS_RPZ_ZONES_VALID
    - isc_time_settoepoch
    - RETERR
    - dns__rpz_shuttingdown
    - isc_ht_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:1533,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1533,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1534,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1534,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1536,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:1547,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/rpz.c:1549,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rpz.c:1551,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rpz.c:1555,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/rpz.c:1556,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/rpz.c:1562,1
    - Dst: dns__rpz_timer_start
      Src: /src/bind9/lib/dns/rpz.c:1563,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1568,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1569,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/rpz.c:1570,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:1574,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/rpz.c:1576,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1580,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - db
    - fn_arg
    argTypes:
    - dns_db_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1528
    functionDepth: 2
    functionLinenumber: 1528
    functionLinenumberEnd: 1583
    functionName: dns_rpz_dbupdate_callback
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns__rpz_timer_start
    - REQUIRE
    - dns_db_attach
    - dns_db_detach
    - dns_name_format
    - RUNTIME_CHECK
    - LOCK
    - isc_log_write
    - DNS_RPZ_ZONE_VALID
    - ISC_LOG_DEBUG
    - dns_db_updatenotify_unregister
    - dns_db_closeversion
    - dns_db_currentversion
    - UNLOCK
    - DNS_DB_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rpz_dbupdate_callback(dns_db_t *db, void *fn_arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1587,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1587,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1588,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1588,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1590,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/rpz.c:1591,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1594,1
    - Dst: atomic_fetch_sub_acq_rel
      Src: /src/bind9/lib/dns/rpz.c:1594,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1599,1
    - Dst: atomic_fetch_sub_acq_rel
      Src: /src/bind9/lib/dns/rpz.c:1599,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1602,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - db
    - rpz
    argTypes:
    - dns_db_t*
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1603
      start: 1585
    functionDepth: 1
    functionLinenumber: 1585
    functionLinenumberEnd: 1603
    functionName: dns_rpz_dbupdate_unregister
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - LOCK
    - DNS_RPZ_ZONE_VALID
    - atomic_fetch_sub_acq_rel
    - dns_db_updatenotify_unregister
    - UNLOCK
    - DNS_DB_VALID
    linkageType: ''
    returnType: void
    signature: void dns_rpz_dbupdate_unregister(dns_db_t *db, dns_rpz_zone_t *rpz)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1607,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1607,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1608,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1608,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1610,1
    - Dst: atomic_fetch_add_acq_rel
      Src: /src/bind9/lib/dns/rpz.c:1613,1
    - Dst: dns_db_updatenotify_register
      Src: /src/bind9/lib/dns/rpz.c:1615,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - db
    - rpz
    argTypes:
    - dns_db_t*
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1605
    functionDepth: 1
    functionLinenumber: 1605
    functionLinenumberEnd: 1617
    functionName: dns_rpz_dbupdate_register
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNLOCK
    - dns_db_updatenotify_register
    - LOCK
    - DNS_RPZ_ZONE_VALID
    - atomic_fetch_add_acq_rel
    - DNS_DB_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:1625,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1625,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/rpz.c:1627,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/rpz.c:1628,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1633,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1634,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/rpz.c:1640,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/rpz.c:1642,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/rpz.c:1645,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/rpz.c:1647,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/rpz.c:1648,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - rpz
    argTypes:
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1619
    functionDepth: 3
    functionLinenumber: 1619
    functionLinenumberEnd: 1649
    functionName: dns__rpz_timer_start
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_time_now
    - isc_time_microdiff
    - isc_timer_create
    - isc_timer_start
    - dns_name_format
    - isc_log_write
    - DNS_RPZ_ZONE_VALID
    - isc_loop
    - isc_interval_set
    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:1654,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1654,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/rpz.c:1656,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/rpz.c:1657,1
    - Dst: dns_rpz_zones_unref
      Src: /src/bind9/lib/dns/rpz.c:1660,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1651
    functionDepth: 2
    functionLinenumber: 1651
    functionLinenumberEnd: 1661
    functionName: dns__rpz_timer_stop
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_timer_destroy
    - DNS_RPZ_ZONE_VALID
    - dns_rpz_zones_unref
    - isc_timer_stop
    linkageType: ''
    returnType: void
    signature: void dns__rpz_timer_stop(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1668,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1668,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1670,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1673,1
    - Dst: dns__rpz_timer_start
      Src: /src/bind9/lib/dns/rpz.c:1677,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:1680,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rpz.c:1681,1
    - Dst: atomic_fetch_add_acq_rel
      Src: /src/bind9/lib/dns/rpz.c:1685,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1688,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1690,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1692,1
    - Dst: dns_rpz_zones_unref
      Src: /src/bind9/lib/dns/rpz.c:1694,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1663
    functionDepth: 4
    functionLinenumber: 1663
    functionLinenumberEnd: 1695
    functionName: update_rpz_done_cb
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns__rpz_timer_start
    - REQUIRE
    - dns_db_detach
    - dns_name_format
    - UNLOCK
    - LOCK
    - isc_log_write
    - DNS_RPZ_ZONE_VALID
    - dns_rpz_zones_unref
    - dns_db_closeversion
    - atomic_fetch_add_acq_rel
    - isc_result_totext
    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:1706,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:1708,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/rpz.c:1710,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1712,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1715,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/rpz.c:1719,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1721,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1724,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1728,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1730,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rpz.c:1737,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1737,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rpz.c:1739,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1741,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1744,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/rpz.c:1748,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rpz.c:1749,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rpz.c:1751,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1754,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1758,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rpz.c:1759,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/rpz.c:1763,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rpz.c:1765,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rpz.c:1766,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1770,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1775,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/rpz.c:1780,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/rpz.c:1783,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1785,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1786,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1790,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/rpz.c:1795,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/dns/rpz.c:1798,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1807,1
    - Dst: rpz_add
      Src: /src/bind9/lib/dns/rpz.c:1808,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1809,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1812,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1813,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:1818,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rpz.c:1819,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/rpz.c:1819,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1820,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1821,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/rpz.c:1822,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/rpz.c:1828,1
    - Dst: uv_sleep
      Src: /src/bind9/lib/dns/rpz.c:1831,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1834,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/rpz.c:1840,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 84
    argCount: 2
    argNames:
    - rpz
    - newnodes
    argTypes:
    - dns_rpz_zone_t*
    - isc_ht_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1843
      start: 1697
    functionDepth: 4
    functionLinenumber: 1697
    functionLinenumberEnd: 1843
    functionName: update_nodes
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_destroy
    - INSIST
    - dns_db_allrdatasets
    - ISC_LOG_DEBUG
    - isc_ht_add
    - dns_dbiterator_current
    - UNLOCK
    - dns_name_format
    - RUNTIME_CHECK
    - uv_sleep
    - isc_ht_find
    - isc_result_totext
    - dns_db_createiterator
    - dns_dbiterator_next
    - dns_rdatasetiter_destroy
    - rpz_add
    - LOCK
    - isc_log_write
    - CHECK
    - dns__rpz_shuttingdown
    - isc_log_wouldlog
    - dns_db_detachnode
    - dns_rdatasetiter_first
    - dns_dbiterator_first
    - dns_name_downcase
    - dns_fixedname_initname
    - isc_ht_delete
    - dns_dbiterator_pause
    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:1852,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/rpz.c:1854,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/rpz.c:1856,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/rpz.c:1857,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1863,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/lib/dns/rpz.c:1868,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rpz.c:1871,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1873,1
    - Dst: rpz_del
      Src: /src/bind9/lib/dns/rpz.c:1874,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1875,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1877,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/rpz.c:1882,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 1
    argNames:
    - rpz
    argTypes:
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1885
      start: 1845
    functionDepth: 4
    functionLinenumber: 1845
    functionLinenumberEnd: 1885
    functionName: cleanup_nodes
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_ht_iter_delcurrent_next
    - isc_ht_iter_create
    - dns_name_fromregion
    - rpz_del
    - INSIST
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_destroy
    - isc_ht_iter_currentkey
    - dns_fixedname_initname
    - dns__rpz_shuttingdown
    - UNLOCK
    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:1891,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1893,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1900
      start: 1887
    functionDepth: 1
    functionLinenumber: 1887
    functionLinenumberEnd: 1900
    functionName: dns__rpz_shuttingdown
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 3
    functionsReached:
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns__rpz_shuttingdown(dns_rpz_zones_t *rpzs)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1908,1
    - Dst: dns__rpz_shuttingdown
      Src: /src/bind9/lib/dns/rpz.c:1910,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/rpz.c:1915,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rpz.c:1917,1
    - Dst: update_nodes
      Src: /src/bind9/lib/dns/rpz.c:1917,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rpz.c:1919,1
    - Dst: cleanup_nodes
      Src: /src/bind9/lib/dns/rpz.c:1919,1
    - Dst: ISC_SWAP
      Src: /src/bind9/lib/dns/rpz.c:1922,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/rpz.c:1925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1902
    functionDepth: 5
    functionLinenumber: 1902
    functionLinenumberEnd: 1929
    functionName: update_rpz_cb
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_ht_destroy
    - update_nodes
    - ISC_SWAP
    - cleanup_nodes
    - CHECK
    - dns__rpz_shuttingdown
    - isc_ht_init
    linkageType: ''
    returnType: void
    signature: void update_rpz_cb(void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1936,1
    - Dst: DNS_RPZ_ZONE_VALID
      Src: /src/bind9/lib/dns/rpz.c:1936,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1937,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/rpz.c:1937,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1938,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:1939,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:1941,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/rpz.c:1951,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:1952,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:1956,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:1957,1
    - Dst: dns_rpz_zones_ref
      Src: /src/bind9/lib/dns/rpz.c:1960,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/rpz.c:1961,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/rpz.c:1963,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/rpz.c:1966,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:1968,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1969
      start: 1931
    functionDepth: 3
    functionLinenumber: 1931
    functionLinenumberEnd: 1969
    functionName: dns__rpz_timer_cb
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - isc_timer_destroy
    - dns_rpz_zones_ref
    - isc_time_now
    - INSIST
    - dns_name_format
    - LOCK
    - isc_log_write
    - DNS_RPZ_ZONE_VALID
    - isc_work_enqueue
    - UNLOCK
    - DNS_DB_VALID
    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:1999,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1974
    functionDepth: 1
    functionLinenumber: 1974
    functionLinenumberEnd: 2002
    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:2009,1
    - Dst: dns_rpz_zones_ref
      Src: /src/bind9/lib/dns/rpz.c:2011,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/rpz.c:2012,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rpz
    argTypes:
    - dns_rpz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2014
      start: 2004
    functionDepth: 2
    functionLinenumber: 2004
    functionLinenumberEnd: 2014
    functionName: dns__rpz_shutdown
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - dns_rpz_zones_ref
    - 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:2027,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2028,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2030,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2031,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2033,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2034,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2036,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2037,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2039,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2040,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2042,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2043,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2045,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2046,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2048,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2049,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rpz.c:2051,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rpz.c:2052,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/rpz.c:2056,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/rpz.c:2058,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/rpz.c:2060,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2062,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/rpz.c:2064,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rpz.c:2066,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 1
    argNames:
    - rpzp
    argTypes:
    - dns_rpz_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2067
      start: 2016
    functionDepth: 3
    functionLinenumber: 2016
    functionLinenumberEnd: 2067
    functionName: dns_rpz_zone_destroy
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_name_dynamic
    - INSIST
    - isc_mem_put
    - isc_ht_destroy
    - dns_db_updatenotify_unregister
    - dns_db_closeversion
    - dns_name_free
    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:2071,1
    - Dst: dns_rpz_zone_destroy
      Src: /src/bind9/lib/dns/rpz.c:2079,1
    - Dst: cidr_free
      Src: /src/bind9/lib/dns/rpz.c:2082,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/rpz.c:2084,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/rpz.c:2087,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/rpz.c:2088,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/rpz.c:2089,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2090
      start: 2069
    functionDepth: 4
    functionLinenumber: 2069
    functionLinenumberEnd: 2090
    functionName: dns__rpz_zones_destroy
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_rwlock_destroy
    - dns_rpz_zone_destroy
    - cidr_free
    - isc_mem_putanddetach
    - dns_qpmulti_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:2094,1
    - Dst: DNS_RPZ_ZONES_VALID
      Src: /src/bind9/lib/dns/rpz.c:2094,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/rpz.c:2099,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2101,1
    - Dst: dns__rpz_shutdown
      Src: /src/bind9/lib/dns/rpz.c:2113,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2115,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - rpzs
    argTypes:
    - dns_rpz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 2092
    functionDepth: 3
    functionLinenumber: 2092
    functionLinenumberEnd: 2116
    functionName: dns_rpz_zones_shutdown
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns__rpz_shutdown
    - DNS_RPZ_ZONES_VALID
    - LOCK
    - UNLOCK
    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:2134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2139,1
    - Dst: type_from_name
      Src: /src/bind9/lib/dns/rpz.c:2141,1
    - Dst: add_name
      Src: /src/bind9/lib/dns/rpz.c:2145,1
    - Dst: add_cidr
      Src: /src/bind9/lib/dns/rpz.c:2150,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: 2157
      start: 2127
    functionDepth: 5
    functionLinenumber: 2127
    functionLinenumberEnd: 2157
    functionName: rpz_add
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - type_from_name
    - REQUIRE
    - add_name
    - add_cidr
    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:2176,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:2182,1
    - Dst: search
      Src: /src/bind9/lib/dns/rpz.c:2183,1
    - Dst: set_sum_pair
      Src: /src/bind9/lib/dns/rpz.c:2197,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:2199,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rpz.c:2240,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2246,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: 2247
      start: 2162
    functionDepth: 4
    functionLinenumber: 2162
    functionLinenumberEnd: 2247
    functionName: del_cidr
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - name2ipkey
    - isc_mem_put
    - adj_trigger_cnt
    - set_sum_pair
    - search
    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:2262,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rpz.c:2269,1
    - Dst: name2data
      Src: /src/bind9/lib/dns/rpz.c:2270,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/rpz.c:2272,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2275,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2279,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/rpz.c:2297,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:2304,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:2305,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:2309,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:2314,1
    - Dst: adj_trigger_cnt
      Src: /src/bind9/lib/dns/rpz.c:2315,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2316,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/rpz.c:2320,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/rpz.c:2321,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 36
    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: 2322
      start: 2249
    functionDepth: 12
    functionLinenumber: 2249
    functionLinenumberEnd: 2322
    functionName: del_name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - dns_name_format
    - isc_log_write
    - dns_fixedname_initname
    - dns_qp_deletename
    - dns_qpmulti_write
    - adj_trigger_cnt
    - dns_qpmulti_commit
    - dns_qp_compact
    - dns_qp_getname
    - name2data
    - isc_result_totext
    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:2333,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rpz.c:2338,1
    - Dst: type_from_name
      Src: /src/bind9/lib/dns/rpz.c:2340,1
    - Dst: del_name
      Src: /src/bind9/lib/dns/rpz.c:2344,1
    - Dst: del_cidr
      Src: /src/bind9/lib/dns/rpz.c:2349,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: 2354
      start: 2327
    functionDepth: 5
    functionLinenumber: 2327
    functionLinenumberEnd: 2354
    functionName: rpz_del
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - type_from_name
    - REQUIRE
    - del_cidr
    - del_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:2376,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2378,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rpz.c:2387,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:2399,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rpz.c:2410,1
    - Dst: ntohl
      Src: /src/bind9/lib/dns/rpz.c:2412,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:2425,1
    - Dst: make_addr_set
      Src: /src/bind9/lib/dns/rpz.c:2435,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/rpz.c:2437,1
    - Dst: search
      Src: /src/bind9/lib/dns/rpz.c:2438,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2443,1
    - Dst: zbit_to_num
      Src: /src/bind9/lib/dns/rpz.c:2454,1
    - Dst: zbit_to_num
      Src: /src/bind9/lib/dns/rpz.c:2457,1
    - Dst: zbit_to_num
      Src: /src/bind9/lib/dns/rpz.c:2460,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rpz.c:2463,1
    - Dst: ip2name
      Src: /src/bind9/lib/dns/rpz.c:2465,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/rpz.c:2466,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:2471,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:2473,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: 2477
      start: 2364
    functionDepth: 3
    functionLinenumber: 2364
    functionLinenumberEnd: 2477
    functionName: dns_rpz_find_ip
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - ntohl
    - RWUNLOCK
    - ip2name
    - memmove
    - RWLOCK
    - zbit_to_num
    - make_addr_set
    - isc_log_write
    - UNREACHABLE
    - search
    - isc_result_totext
    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:2498,1
    - Dst: dns_qpchain_init
      Src: /src/bind9/lib/dns/rpz.c:2499,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/rpz.c:2501,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2505,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/rpz.c:2514,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/rpz.c:2516,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2517,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rpz.c:2533,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rpz.c:2534,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rpz.c:2537,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/rpz.c:2541,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: 2543
      start: 2483
    functionDepth: 7
    functionLinenumber: 2483
    functionLinenumberEnd: 2543
    functionName: dns_rpz_find_name
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - dns_qpchain_init
    - dns_qpread_destroy
    - INSIST
    - dns_qpmulti_query
    - dns_name_format
    - isc_result_totext
    - isc_log_write
    - dns_qp_lookup
    - dns_qpchain_length
    - dns_qpchain_node
    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:2555,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2556,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rpz.c:2557,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rpz.c:2558,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rpz.c:2559,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/rpz.c:2560,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2565,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/rpz.c:2569,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:2573,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rpz.c:2583,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2591,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2598,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2605,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rpz.c:2612,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: 2620
      start: 2548
    functionDepth: 1
    functionLinenumber: 2548
    functionLinenumberEnd: 2620
    functionName: dns_rpz_decode_cname
    functionSourceFile: /src/bind9/lib/dns/rpz.c
    functionUses: 1
    functionsReached:
    - INSIST
    - dns_name_equal
    - dns_rdataset_first
    - dns_rdata_reset
    - dns_name_iswildcard
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_rdata_tostruct
    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:2624,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/rpz.c:2625,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - data
    argTypes:
    - nmdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2626
      start: 2622
    functionDepth: 1
    functionLinenumber: 2622
    functionLinenumberEnd: 2626
    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:2638,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: 2639
      start: 2634
    functionDepth: 1
    functionLinenumber: 2634
    functionLinenumberEnd: 2639
    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:2645,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: 2646
      start: 2641
    functionDepth: 1
    functionLinenumber: 2641
    functionLinenumberEnd: 2646
    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:2652,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: 2653
      start: 2648
    functionDepth: 2
    functionLinenumber: 2648
    functionLinenumberEnd: 2653
    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:2658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2659
      start: 2655
    functionDepth: 0
    functionLinenumber: 2655
    functionLinenumberEnd: 2659
    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:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: CASEFULLYLOWER
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    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: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: CASESET
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    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: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: EXISTS
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    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: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: IGNORE
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    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: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: OPTOUT
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    functionUses: 4
    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: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: RESIGN
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: RESIGN(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: peek_uint16
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    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: 46
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 46
    functionName: get_uint16
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    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: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: put_uint16
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_uint16(buffer, val)
  - 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: 77
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 77
    functionName: DNS__VECHEADER_CONNECT
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__VECHEADER_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: 78
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 78
    functionName: DNS__VECHEADER_CONCAT
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__VECHEADER_CONCAT(x,y)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 9
    argNames:
    - (
    - iter
    - ','
    - header
    - ','
    - rdclass
    - ','
    - res
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 81
    functionName: DNS_VECHEADER_FOREACH_RES
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_VECHEADER_FOREACH_RES(iter, header, rdclass, res)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - iter
    - ','
    - header
    - ','
    - rdclass
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 83
    functionName: DNS_VECHEADER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rdatavec_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_VECHEADER_FOREACH(iter, header, rdclass)
  - 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: 16
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - htobe16
    - isc_mem_get
    - dns__ede_checkandupdateedeused
    - isc_log_write
    - strlen
    - ISC_LOG_DEBUG
    - DNS_EDE_VALID
    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:
    - dns_ede_init
    - REQUIRE
    - isc_mem_put
    - DNS_EDE_VALID
    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_reset
    - REQUIRE
    - DNS_EDE_VALID
    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:
    - REQUIRE
    - memmove
    - INSIST
    - isc_mem_get
    - dns__ede_checkandupdateedeused
    - isc_log_write
    - ISC_LOG_DEBUG
    - DNS_EDE_VALID
    - ISC_U8TO16_BE
    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: 37
    functionsReached:
    - REQUIRE
    - memset
    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: 86
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 86
    functionName: dns_rdatalist_tordataset
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 43
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    - 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:91,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:92,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - rdatalist
    argTypes:
    - dns_rdataset_t*
    - dns_rdatalist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 95
    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:107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 114
    functionName: dns__rdatalist_first
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    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:125,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: dns__rdatalist_next
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    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:139,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/rdatalist.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 142
    functionName: dns__rdatalist_current
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    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:147,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:148,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: 153
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 153
    functionName: dns__rdatalist_clone
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: "void dns__rdatalist_clone(const 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:160,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 170
    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:178,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:180,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/rdatalist.c:184,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:192,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 218
    functionName: dns__rdatalist_addnoqname
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdatatype_isnsec
    - 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:229,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:230,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rdatalist.c:235,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:237,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/rdatalist.c:241,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:249,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdatalist.c:260,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:261,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:262,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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: 264
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 264
    functionName: dns__rdatalist_getnoqname
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_dynamic
    - dns_rdatatype_isnsec
    - dns_rdataset_clone
    - ISC_LIST_FOREACH
    - dns_name_clone
    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:272,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:274,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/rdatalist.c:278,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:286,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 266
    functionDepth: 1
    functionLinenumber: 266
    functionLinenumberEnd: 311
    functionName: dns__rdatalist_addclosest
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdatatype_isnsec
    - 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:322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatalist.c:323,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rdatalist.c:328,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:330,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/rdatalist.c:334,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/rdatalist.c:342,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdatalist.c:353,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:354,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/rdatalist.c:355,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    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: 357
      start: 313
    functionDepth: 1
    functionLinenumber: 313
    functionLinenumberEnd: 357
    functionName: dns__rdatalist_getclosest
    functionSourceFile: /src/bind9/lib/dns/rdatalist.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_dynamic
    - dns_rdatatype_isnsec
    - dns_rdataset_clone
    - ISC_LIST_FOREACH
    - dns_name_clone
    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:369,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 379
      start: 359
    functionDepth: 0
    functionLinenumber: 359
    functionLinenumberEnd: 379
    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: 404
      start: 381
    functionDepth: 0
    functionLinenumber: 381
    functionLinenumberEnd: 404
    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:
    - REQUIRE
    - UNREACHABLE
    - 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:
    - snprintf
    - REQUIRE
    - strlen
    - isc_netaddr_format
    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:244,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/sdlz.c:245,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:246,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/sdlz.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 241
    functionDepth: 2
    functionLinenumber: 241
    functionLinenumberEnd: 248
    functionName: sdlz_log
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - va_start
    - ISC_LOG_DEBUG
    - 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:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 254
    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:300,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: 302
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 302
    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:321,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/sdlz.c:323,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/sdlz.c:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 325
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 332
    functionsReached:
    - dns_name_free
    - isc_mem_putanddetach
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroy(dns_db_t *db)
  - BBCount: 1
    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: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 335
    functionName: currentversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 18
    functionsReached:
    - REQUIRE
    - VALID_SDLZDB
    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:343,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:343,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:349,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::newversion
      Src: /src/bind9/lib/dns/sdlz.c:351,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:355,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/sdlz.c:357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 337
    functionDepth: 3
    functionLinenumber: 337
    functionLinenumberEnd: 363
    functionName: newversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 21
    functionsReached:
    - dns_sdlz_db_t*::dlzimp::methods::newversion
    - REQUIRE
    - dns_name_format
    - sdlz_log
    - VALID_SDLZDB
    - isc_result_totext
    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:370,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:370,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:371,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: 374
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: attachversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_SDLZDB
    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:382,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:382,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:390,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:391,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:393,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::closeversion
      Src: /src/bind9/lib/dns/sdlz.c:395,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:399,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: 404
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 404
    functionName: closeversion
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 40
    functionsReached:
    - REQUIRE
    - dns_name_format
    - sdlz_log
    - dns_sdlz_db_t*::dlzimp::methods::closeversion
    - VALID_SDLZDB
    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:410,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/sdlz.c:414,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/sdlz.c:415,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/sdlz.c:416,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/sdlz.c:417,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/sdlz.c:418,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/sdlz.c:419,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/sdlz.c:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - sdlz
    - nodep
    argTypes:
    - dns_sdlz_db_t*
    - dns_sdlznode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 426
    functionName: createnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 1
    functionsReached:
    - dns_db_attach
    - dns_name_init
    - dns_rdatacallbacks_init
    - isc_mem_get
    - ISC_LIST_INIT
    - ISC_LINK_INIT
    - isc_refcount_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:437,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/sdlz.c:442,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:443,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/sdlz.c:444,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:445,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:446,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:447,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:449,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:450,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/sdlz.c:453,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:454,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:455,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:456,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/sdlz.c:459,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/sdlz.c:460,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:464,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/sdlz.c:466,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 1
    argNames:
    - node
    argTypes:
    - dns_sdlznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 428
    functionDepth: 3
    functionLinenumber: 428
    functionLinenumberEnd: 467
    functionName: destroynode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_db_detach
    - isc_mem_put
    - dns_name_dynamic
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - isc_buffer_free
    - dns_name_free
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroynode(dns_sdlznode_t *node)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:483,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:484,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:487,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:490,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:495,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:496,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/sdlz.c:497,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:498,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:499,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:499,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:501,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:501,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:503,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:505,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:506,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:506,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:508,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:510,1
    - Dst: createnode
      Src: /src/bind9/lib/dns/sdlz.c:510,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:512,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:515,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:516,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:518,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::lookup
      Src: /src/bind9/lib/dns/sdlz.c:521,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:538,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:539,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/sdlz.c:545,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/sdlz.c:550,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:551,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/sdlz.c:553,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:556,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:562,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:563,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:566,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:569,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::lookup
      Src: /src/bind9/lib/dns/sdlz.c:571,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:580,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/sdlz.c:587,1
    - Dst: destroynode
      Src: /src/bind9/lib/dns/sdlz.c:588,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:593,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:597,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/sdlz.c:599,1
    - Dst: destroynode
      Src: /src/bind9/lib/dns/sdlz.c:600,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/sdlz.c:605,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/sdlz.c:606,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 80
    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: 611
      start: 469
    functionDepth: 3
    functionLinenumber: 469
    functionLinenumberEnd: 611
    functionName: getnodedata
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_ascii_strtolower
    - destroynode
    - isc_refcount_decrementz
    - RETERR
    - dns_name_dup
    - dns_name_init
    - dns_name_concatenate
    - createnode
    - dns_sdlz_db_t*::dlzimp::methods::lookup
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_name_dynamic
    - dns_name_equal
    - dns_name_getlabelsequence
    - MAYBE_LOCK
    - dns_fixedname_init
    - dns_name_countlabels
    - MAYBE_UNLOCK
    - dns_name_totext
    - dns_fixedname_name
    - VALID_SDLZDB
    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:617,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: 618
      start: 613
    functionDepth: 4
    functionLinenumber: 613
    functionLinenumberEnd: 618
    functionName: findnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 31
    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_clientinfomethods_t *methods, dns_clientinfo_t *clientinfo,\n\t dns_dbnode_t
      **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/sdlz.c:626,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/sdlz.c:628,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 635
      start: 620
    functionDepth: 1
    functionLinenumber: 620
    functionLinenumberEnd: 635
    functionName: sdlznode_attachnode
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - fprintf
    - UNUSED
    - isc_refcount_increment
    linkageType: ''
    returnType: void
    signature: "void sdlznode_attachnode(dns_dbnode_t *source,\n\t\t    dns_dbnode_t
      **targetp DNS__DB_FLARG)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:669,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:669,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:681,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:682,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:682,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:684,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:686,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/sdlz.c:690,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/sdlz.c:694,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:699,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:701,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::allnodes
      Src: /src/bind9/lib/dns/sdlz.c:702,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:704,1
    - Dst: dbiterator_destroy
      Src: /src/bind9/lib/dns/sdlz.c:707,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/sdlz.c:712,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/sdlz.c:713,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 34
    argCount: 3
    argNames:
    - db
    - options
    - iteratorp
    argTypes:
    - dns_db_t*
    - unsigned int
    - dns_dbiterator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 719
      start: 660
    functionDepth: 3
    functionLinenumber: 660
    functionLinenumberEnd: 719
    functionName: createiterator
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 14
    functionsReached:
    - MAYBE_UNLOCK
    - REQUIRE
    - dns_db_attach
    - isc_ascii_strtolower
    - ISC_LIST_UNLINK
    - isc_mem_get
    - dns_name_totext
    - VALID_SDLZDB
    - RETERR
    - ISC_LIST_INIT
    - MAYBE_LOCK
    - dns_sdlz_db_t*::dlzimp::methods::allnodes
    - ISC_LIST_PREPEND
    - dbiterator_destroy
    - isc_buffer_putuint8
    - isc_buffer_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:726,1
    - Dst: VALID_SDLZNODE
      Src: /src/bind9/lib/dns/sdlz.c:726,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:730,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:731,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:732,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:733,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:734,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/sdlz.c:736,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:740,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/sdlz.c:745,1
    - Dst: list_tordataset
      Src: /src/bind9/lib/dns/sdlz.c:751,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: 754
      start: 721
    functionDepth: 1
    functionLinenumber: 721
    functionLinenumberEnd: 754
    functionName: findrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 35
    functionsReached:
    - REQUIRE
    - UNUSED
    - VALID_SDLZNODE
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - dns_rdatatype_issig
    - list_tordataset
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:771,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:771,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:772,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:773,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:776,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/sdlz.c:778,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:782,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:783,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/sdlz.c:785,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/sdlz.c:788,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:808,1
    - Dst: getnodedata
      Src: /src/bind9/lib/dns/sdlz.c:809,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:823,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:839,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/sdlz.c:847,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/sdlz.c:848,1
    - Dst: sdlznode_detachnode
      Src: /src/bind9/lib/dns/sdlz.c:861,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:877,1
    - Dst: findrdataset
      Src: /src/bind9/lib/dns/sdlz.c:887,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/sdlz.c:901,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/sdlz.c:905,1
    - Dst: sdlznode_detachnode
      Src: /src/bind9/lib/dns/sdlz.c:911,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 89
    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: 915
      start: 756
    functionDepth: 4
    functionLinenumber: 756
    functionLinenumberEnd: 915
    functionName: find
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 90
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - UNUSED
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_name_getlabelsequence
    - dns_fixedname_initname
    - sdlznode_detachnode
    - getnodedata
    - dns_rdataset_disassociate
    - findrdataset
    - dns_name_countlabels
    - VALID_SDLZDB
    - dns_name_issubdomain
    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,\n     dns_clientinfomethods_t
      *methods, dns_clientinfo_t *clientinfo,\n     dns_rdataset_t *rdataset, dns_rdataset_t
      *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:924,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:924,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:926,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:929,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:930,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:932,1
    - Dst: sdlznode_attachnode
      Src: /src/bind9/lib/dns/sdlz.c:938,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: 947
      start: 917
    functionDepth: 2
    functionLinenumber: 917
    functionLinenumberEnd: 947
    functionName: allrdatasets
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 18
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_mem_get
    - sdlznode_attachnode
    - VALID_SDLZDB
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:962,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:962,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:970,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:972,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/sdlz.c:976,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/sdlz.c:978,1
    - Dst: dns_master_stylecreate
      Src: /src/bind9/lib/dns/sdlz.c:978,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/sdlz.c:981,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/sdlz.c:981,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/sdlz.c:984,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/sdlz.c:985,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/sdlz.c:988,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/sdlz.c:989,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:991,1
    - Dst: mod_function
      Src: /src/bind9/lib/dns/sdlz.c:992,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:994,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:997,1
    - Dst: dns_master_styledestroy
      Src: /src/bind9/lib/dns/sdlz.c:999,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    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: 1003
      start: 949
    functionDepth: 3
    functionLinenumber: 949
    functionLinenumberEnd: 1003
    functionName: modrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 2
    functionsReached:
    - MAYBE_UNLOCK
    - REQUIRE
    - UNUSED
    - dns_master_stylecreate
    - CLEANUP
    - dns_master_styledestroy
    - dns_name_format
    - isc_buffer_usedlength
    - isc_buffer_free
    - dns_master_rdatasettotext
    - isc_buffer_base
    - isc_buffer_allocate
    - MAYBE_LOCK
    - CHECK
    - mod_function
    - VALID_SDLZDB
    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:1012,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1013,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1014,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:1014,1
    - Dst: modrdataset
      Src: /src/bind9/lib/dns/sdlz.c:1020,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: 1023
      start: 1005
    functionDepth: 1
    functionLinenumber: 1005
    functionLinenumberEnd: 1023
    functionName: addrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 22
    functionsReached:
    - modrdataset
    - REQUIRE
    - UNUSED
    - VALID_SDLZDB
    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:1032,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1033,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:1033,1
    - Dst: modrdataset
      Src: /src/bind9/lib/dns/sdlz.c:1039,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: 1042
      start: 1025
    functionDepth: 1
    functionLinenumber: 1025
    functionLinenumberEnd: 1042
    functionName: subtractrdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 5
    functionsReached:
    - modrdataset
    - REQUIRE
    - UNUSED
    - VALID_SDLZDB
    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:1053,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1055,1
    - Dst: VALID_SDLZDB
      Src: /src/bind9/lib/dns/sdlz.c:1055,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:1062,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/sdlz.c:1063,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1065,1
    - Dst: dns_sdlz_db_t*::dlzimp::methods::delrdataset
      Src: /src/bind9/lib/dns/sdlz.c:1066,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1068,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: 1071
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1071
    functionName: deleterdataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 17
    functionsReached:
    - MAYBE_UNLOCK
    - REQUIRE
    - UNUSED
    - dns_sdlz_db_t*::dlzimp::methods::delrdataset
    - dns_rdatatype_format
    - dns_name_format
    - MAYBE_LOCK
    - VALID_SDLZDB
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:1142,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:1144,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/sdlz.c:1147,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: 1150
      start: 1137
    functionDepth: 1
    functionLinenumber: 1137
    functionLinenumberEnd: 1150
    functionName: dbiterator_seek
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 4
    functionsReached:
    - ISC_LIST_NEXT
    - ISC_LIST_HEAD
    - dns_name_equal
    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: sdlznode_attachnode
      Src: /src/bind9/lib/dns/sdlz.c:1187,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/sdlz.c:1190,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: 1194
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1194
    functionName: dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 16
    functionsReached:
    - dns_name_copy
    - sdlznode_attachnode
    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:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - dns_dbiterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1200
      start: 1196
    functionDepth: 0
    functionLinenumber: 1196
    functionLinenumberEnd: 1200
    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:1204,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/sdlz.c:1205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1202
    functionDepth: 1
    functionLinenumber: 1202
    functionLinenumberEnd: 1207
    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: sdlznode_attachnode
      Src: /src/bind9/lib/dns/sdlz.c:1227,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: 1228
      start: 1221
    functionDepth: 2
    functionLinenumber: 1221
    functionLinenumberEnd: 1228
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 16
    functionsReached:
    - sdlznode_attachnode
    linkageType: ''
    returnType: void
    signature: "void rdataset_clone(const dns_rdataset_t *source,\n\t       dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/sdlz.c:1249,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/sdlz.c:1251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - rdatalist
    - ISC_ATTR_UNUSED
    - node
    - rdataset
    argTypes:
    - dns_rdatalist_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1252
      start: 1241
    functionDepth: 2
    functionLinenumber: 1241
    functionLinenumberEnd: 1252
    functionName: list_tordataset
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 46
    functionsReached:
    - dns_rdatalist_tordataset
    - dns_db_attachnode
    linkageType: ''
    returnType: void
    signature: "void list_tordataset(dns_rdatalist_t *rdatalist, dns_db_t *db ISC_ATTR_UNUSED,\n\t\tdns_dbnode_t
      *node, dns_rdataset_t *rdataset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1274,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1279,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/sdlz.c:1289,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/sdlz.c:1290,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/sdlz.c:1292,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/sdlz.c:1295,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: 1303
      start: 1265
    functionDepth: 1
    functionLinenumber: 1265
    functionLinenumberEnd: 1303
    functionName: dns_sdlzcreateDBP
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_name_init
    - isc_mem_get
    - dns_name_dup
    - isc_refcount_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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1325,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:1330,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:1331,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:1331,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:1332,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:1335,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/sdlz.c:1336,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:1337,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/dns/sdlz.c:1337,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:1338,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:1341,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:1342,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1348,1
    - Dst: dns_sdlzimplementation_t*::methods::allowzonexfr
      Src: /src/bind9/lib/dns/sdlz.c:1349,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1351,1
    - Dst: dns_sdlzcreateDBP
      Src: /src/bind9/lib/dns/sdlz.c:1357,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 28
    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: 1367
      start: 1305
    functionDepth: 3
    functionLinenumber: 1305
    functionLinenumberEnd: 1367
    functionName: dns_sdlzallowzonexfr
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - MAYBE_UNLOCK
    - REQUIRE
    - isc_ascii_strtolower
    - dns_sdlzimplementation_t*::methods::allowzonexfr
    - dns_name_totext
    - isc_netaddr_fromsockaddr
    - isc_netaddr_totext
    - RETERR
    - MAYBE_LOCK
    - isc_buffer_putuint8
    - dns_sdlzcreateDBP
    - isc_buffer_init
    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:1376,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1381,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1382,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1383,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/sdlz.c:1384,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1390,1
    - Dst: dns_sdlzimplementation_t*::methods::create
      Src: /src/bind9/lib/dns/sdlz.c:1391,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1393,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1398,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1398,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1400,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: 1404
      start: 1369
    functionDepth: 3
    functionLinenumber: 1369
    functionLinenumberEnd: 1404
    functionName: dns_sdlzcreate
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - MAYBE_UNLOCK
    - REQUIRE
    - UNUSED
    - ISC_LOG_DEBUG
    - MAYBE_LOCK
    - sdlz_log
    - dns_sdlzimplementation_t*::methods::create
    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:1411,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1411,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1417,1
    - Dst: dns_sdlzimplementation_t*::methods::destroy
      Src: /src/bind9/lib/dns/sdlz.c:1418,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1419,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - driverdata
    - dbdata
    argTypes:
    - void*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1421
      start: 1406
    functionDepth: 3
    functionLinenumber: 1406
    functionLinenumberEnd: 1421
    functionName: dns_sdlzdestroy
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - MAYBE_UNLOCK
    - dns_sdlzimplementation_t*::methods::destroy
    - ISC_LOG_DEBUG
    - MAYBE_LOCK
    - sdlz_log
    linkageType: ''
    returnType: void
    signature: void dns_sdlzdestroy(void *driverdata, void **dbdata)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1437,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1438,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/sdlz.c:1443,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:1444,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/sdlz.c:1444,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/sdlz.c:1445,1
    - Dst: isc_ascii_strtolower
      Src: /src/bind9/lib/dns/sdlz.c:1448,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1451,1
    - Dst: dns_sdlzimplementation_t*::methods::findzone
      Src: /src/bind9/lib/dns/sdlz.c:1452,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1454,1
    - Dst: dns_sdlzcreateDBP
      Src: /src/bind9/lib/dns/sdlz.c:1461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    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: 1466
      start: 1423
    functionDepth: 3
    functionLinenumber: 1423
    functionLinenumberEnd: 1466
    functionName: dns_sdlzfindzone
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - MAYBE_UNLOCK
    - REQUIRE
    - isc_ascii_strtolower
    - dns_sdlzimplementation_t*::methods::findzone
    - dns_name_totext
    - RETERR
    - MAYBE_LOCK
    - isc_buffer_putuint8
    - dns_sdlzcreateDBP
    - isc_buffer_init
    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:1474,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1480,1
    - Dst: dns_sdlzimplementation_t*::methods::configure
      Src: /src/bind9/lib/dns/sdlz.c:1481,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1483,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: 1489
      start: 1468
    functionDepth: 1
    functionLinenumber: 1468
    functionLinenumberEnd: 1489
    functionName: dns_sdlzconfigure
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - MAYBE_UNLOCK
    - REQUIRE
    - MAYBE_LOCK
    - 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:1506,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:1518,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/sdlz.c:1523,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/sdlz.c:1526,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/sdlz.c:1531,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/sdlz.c:1534,1
    - Dst: dst_key_tkeytoken
      Src: /src/bind9/lib/dns/sdlz.c:1535,1
    - Dst: isc_buffer_region
      Src: /src/bind9/lib/dns/sdlz.c:1541,1
    - Dst: MAYBE_LOCK
      Src: /src/bind9/lib/dns/sdlz.c:1545,1
    - Dst: dns_sdlzimplementation_t*::methods::ssumatch
      Src: /src/bind9/lib/dns/sdlz.c:1546,1
    - Dst: MAYBE_UNLOCK
      Src: /src/bind9/lib/dns/sdlz.c:1550,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: 1552
      start: 1491
    functionDepth: 3
    functionLinenumber: 1491
    functionLinenumberEnd: 1552
    functionName: dns_sdlzssumatch
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dst_key_tkeytoken
    - REQUIRE
    - MAYBE_UNLOCK
    - isc_netaddr_format
    - dns_rdatatype_format
    - dns_name_format
    - dst_key_format
    - MAYBE_LOCK
    - dns_sdlzimplementation_t*::methods::ssumatch
    - isc_buffer_region
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1577,1
    - Dst: VALID_SDLZLOOKUP
      Src: /src/bind9/lib/dns/sdlz.c:1577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1578,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1579,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1584,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:1585,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/sdlz.c:1585,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:1587,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/sdlz.c:1592,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1596,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/sdlz.c:1597,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/sdlz.c:1601,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1613,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/sdlz.c:1614,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/sdlz.c:1623,1
    - Dst: initial_size
      Src: /src/bind9/lib/dns/sdlz.c:1625,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/sdlz.c:1627,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1627,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/sdlz.c:1628,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1628,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/sdlz.c:1630,1
    - Dst: isc_lex_openbuffer
      Src: /src/bind9/lib/dns/sdlz.c:1630,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/sdlz.c:1633,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/sdlz.c:1635,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:1639,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/sdlz.c:1651,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/sdlz.c:1654,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/sdlz.c:1655,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1658,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/sdlz.c:1665,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1668,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/sdlz.c:1670,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 73
    argCount: 4
    argNames:
    - lookup
    - type
    - ttl
    - data
    argTypes:
    - dns_sdlzlookup_t*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1562
    functionDepth: 3
    functionLinenumber: 1562
    functionLinenumberEnd: 1673
    functionName: dns_sdlz_putrr
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - isc_buffer_add
    - strlen
    - RETERR
    - dns_rdatalist_init
    - ISC_LIST_NEXT
    - isc_lex_openbuffer
    - dns_rdatatype_fromtext
    - isc_lex_create
    - initial_size
    - dns_rdata_init
    - ISC_LIST_HEAD
    - dns_rdata_fromtext
    - CHECK
    - VALID_SDLZLOOKUP
    - isc_lex_destroy
    - CLEANUP
    - isc_mem_get
    - ISC_LIST_APPEND
    - isc_buffer_allocate
    - isc_buffer_free
    - isc_buffer_constinit
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/sdlz.c:1686,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/sdlz.c:1693,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1693,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/sdlz.c:1694,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/sdlz.c:1694,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:1696,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/sdlz.c:1696,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/sdlz.c:1700,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/sdlz.c:1701,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/sdlz.c:1704,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:1705,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/sdlz.c:1707,1
    - Dst: createnode
      Src: /src/bind9/lib/dns/sdlz.c:1707,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/sdlz.c:1708,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/sdlz.c:1709,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/sdlz.c:1711,1
    - Dst: dns_sdlz_putrr
      Src: /src/bind9/lib/dns/sdlz.c:1716,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 5
    argNames:
    - allnodes
    - name
    - type
    - ttl
    - data
    argTypes:
    - dns_sdlzallnodes_t*
    - char*
    - char*
    - dns_ttl_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1717
      start: 1675
    functionDepth: 4
    functionLinenumber: 1675
    functionLinenumberEnd: 1717
    functionName: dns_sdlz_putnamedrr
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dns_name_equal
    - ISC_LIST_HEAD
    - dns_sdlz_putrr
    - dns_name_getlabelsequence
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - RETERR
    - createnode
    - dns_name_dup
    - ISC_LIST_PREPEND
    - isc_buffer_constinit
    - dns_name_countlabels
    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:1725,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1726,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/sdlz.c:1728,1
    - Dst: dns_sdlz_putrr
      Src: /src/bind9/lib/dns/sdlz.c:1734,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: 1735
      start: 1719
    functionDepth: 4
    functionLinenumber: 1719
    functionLinenumberEnd: 1735
    functionName: dns_sdlz_putsoa
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 0
    functionsReached:
    - snprintf
    - REQUIRE
    - dns_sdlz_putrr
    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:1747,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1748,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1750,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1751,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1753,1
    - Dst: sdlz_log
      Src: /src/bind9/lib/dns/sdlz.c:1758,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1758,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/sdlz.c:1764,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/sdlz.c:1774,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/sdlz.c:1780,1
    - Dst: dns_dlzregister
      Src: /src/bind9/lib/dns/sdlz.c:1788,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1802,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/sdlz.c:1808,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: 1810
      start: 1737
    functionDepth: 3
    functionLinenumber: 1737
    functionLinenumberEnd: 1810
    functionName: dns_sdlzregister
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mutex_init
    - dns_dlzregister
    - isc_mem_get
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - sdlz_log
    - 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:1817,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/sdlz.c:1817,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/sdlz.c:1822,1
    - Dst: dns_dlzunregister
      Src: /src/bind9/lib/dns/sdlz.c:1828,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/sdlz.c:1831,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/sdlz.c:1837,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - sdlzimp
    argTypes:
    - dns_sdlzimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1812
    functionDepth: 3
    functionLinenumber: 1812
    functionLinenumberEnd: 1838
    functionName: dns_sdlzunregister
    functionSourceFile: /src/bind9/lib/dns/sdlz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_dlzunregister
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - sdlz_log
    - 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:1845,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: 1849
      start: 1840
    functionDepth: 2
    functionLinenumber: 1840
    functionLinenumberEnd: 1849
    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
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_cget
    - isc_mem_get
    - 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_acl_detach
    - dns_acl_create
    - dns_iptable_addprefix
    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: 9
    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:
    - REQUIRE
    - isc_netaddr_fromv4mapped
    - ISC_RADIX_FAMILY
    - NETADDR_TO_PREFIX_T
    - isc_radix_search
    - IN6_IS_ADDR_V4MAPPED
    - isc_refcount_destroy
    - dns_aclelement_match
    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:
    - REQUIRE
    - ISC_LIST_FOREACH
    - DNS_ACL_VALID
    - dns_acl_match
    - UNCONST
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_creget
      Src: /src/bind9/lib/dns/acl.c:284,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:308,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:314,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/acl.c:320,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/acl.c:321,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:346,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/acl.c:347,1
    - Dst: dns_iptable_merge
      Src: /src/bind9/lib/dns/acl.c:347,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:348,1
    - Dst: dns_acl_node_count
      Src: /src/bind9/lib/dns/acl.c:349,1
    - Dst: dns_acl_merge_ports_transports
      Src: /src/bind9/lib/dns/acl.c:355,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 3
    argNames:
    - dest
    - source
    - pos
    argTypes:
    - dns_acl_t*
    - dns_acl_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 358
    functionName: dns_acl_merge
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 3
    functionsReached:
    - dns_name_init
    - isc_mem_creget
    - dns_acl_attach
    - RETERR
    - dns_name_dup
    - dns_iptable_merge
    - dns_acl_merge_ports_transports
    - dns_acl_node_count
    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:380,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:391,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/acl.c:398,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:399,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:399,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/acl.c:400,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/acl.c:407,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/acl.c:408,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:408,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/acl.c:409,1
    - Dst: dns_geoip_match
      Src: /src/bind9/lib/dns/acl.c:417,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/acl.c:420,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/acl.c:423,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/acl.c:425,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:427,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: 451
      start: 370
    functionDepth: 3
    functionLinenumber: 370
    functionLinenumberEnd: 451
    functionName: dns_aclelement_match
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - dns_acl_detach
    - dns_name_equal
    - INSIST
    - dns_acl_attach
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - dns_geoip_match
    - dns_acl_match
    - UNREACHABLE
    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:455,1
    - Dst: ISC_LIST_DEQUEUE
      Src: /src/bind9/lib/dns/acl.c:456,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/acl.c:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - acl
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 459
    functionName: dns__acl_destroy_port_transports
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - ISC_LIST_FOREACH
    - ISC_LIST_DEQUEUE
    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:463,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/acl.c:463,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/acl.c:465,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/acl.c:471,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:473,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/acl.c:477,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/acl.c:481,1
    - Dst: dns_iptable_detach
      Src: /src/bind9/lib/dns/acl.c:484,1
    - Dst: dns__acl_destroy_port_transports
      Src: /src/bind9/lib/dns/acl.c:487,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/acl.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 1
    argNames:
    - dacl
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 490
    functionName: dns__acl_destroy
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - INSIST
    - ISC_LINK_LINKED
    - dns__acl_destroy_port_transports
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_name_free
    - dns_acl_detach
    - dns_iptable_detach
    - 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:503,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 501
    functionDepth: 1
    functionLinenumber: 501
    functionLinenumberEnd: 504
    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:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 506
    functionDepth: 1
    functionLinenumber: 506
    functionLinenumberEnd: 509
    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:531,1
    - Dst: IN6_IS_ADDR_LOOPBACK
      Src: /src/bind9/lib/dns/acl.c:537,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 2
    argNames:
    - prefix
    - data
    argTypes:
    - isc_prefix_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 515
    functionDepth: 1
    functionLinenumber: 515
    functionLinenumberEnd: 546
    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:565,1
    - Dst: isc_radix_process
      Src: /src/bind9/lib/dns/acl.c:567,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/acl.c:569,1
    - Dst: dns_acl_isinsecure
      Src: /src/bind9/lib/dns/acl.c:589,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/acl.c:601,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 1
    argNames:
    - a
    argTypes:
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 607
      start: 556
    functionDepth: 2
    functionLinenumber: 556
    functionLinenumberEnd: 607
    functionName: dns_acl_isinsecure
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 3
    functionsReached:
    - LOCK
    - dns_acl_isinsecure
    - UNREACHABLE
    - isc_radix_process
    - UNLOCK
    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:621,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: 626
      start: 612
    functionDepth: 3
    functionLinenumber: 612
    functionLinenumberEnd: 626
    functionName: dns_acl_allowed
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 5
    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:633,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/acl.c:635,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/acl.c:639,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/acl.c:640,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/dns/acl.c:642,1
    - Dst: dns_acl_create
      Src: /src/bind9/lib/dns/acl.c:643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - envp
    argTypes:
    - isc_mem_t*
    - dns_aclenv_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 646
      start: 631
    functionDepth: 2
    functionLinenumber: 631
    functionLinenumberEnd: 646
    functionName: dns_aclenv_create
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - ISC_REFCOUNT_INITIALIZER
    - dns_acl_create
    - isc_mem_get
    - isc_refcount_init
    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:650,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:650,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:651,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:651,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:652,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:652,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:654,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:654,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:655,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:655,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/acl.c:668,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:670,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:671,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: 672
      start: 648
    functionDepth: 1
    functionLinenumber: 648
    functionLinenumberEnd: 672
    functionName: dns_aclenv_set
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_ACLENV
    - dns_acl_ref
    - DNS_ACL_VALID
    - rcu_xchg_pointer
    - dns_acl_detach
    - synchronize_rcu
    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:676,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:676,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:677,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:677,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/acl.c:679,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:685,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:685,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/acl.c:686,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:686,1
    - Dst: dns_acl_ref
      Src: /src/bind9/lib/dns/acl.c:688,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/acl.c:688,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/acl.c:689,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:689,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/acl.c:691,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:693,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/acl.c:694,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/acl.c:702,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:709,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - target
    - source
    argTypes:
    - dns_aclenv_t*
    - dns_aclenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 674
    functionDepth: 1
    functionLinenumber: 674
    functionLinenumberEnd: 711
    functionName: dns_aclenv_copy
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_ACLENV
    - INSIST
    - dns_acl_ref
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - DNS_ACL_VALID
    - rcu_xchg_pointer
    - dns_acl_detach
    - synchronize_rcu
    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:715,1
    - Dst: VALID_ACLENV
      Src: /src/bind9/lib/dns/acl.c:715,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:725,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/acl.c:726,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/acl.c:728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - aclenv
    argTypes:
    - dns_aclenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 729
      start: 713
    functionDepth: 1
    functionLinenumber: 713
    functionLinenumberEnd: 729
    functionName: dns__aclenv_destroy
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - REQUIRE
    - isc_mem_putanddetach
    - VALID_ACLENV
    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:742,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:742,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:743,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/acl.c:745,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/acl.c:751,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/acl.c:753,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: 755
      start: 737
    functionDepth: 1
    functionLinenumber: 737
    functionLinenumberEnd: 755
    functionName: dns_acl_add_port_transports
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_APPEND
    - DNS_ACL_VALID
    - ISC_LINK_INIT
    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:759,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:759,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/acl.c:760,1
    - Dst: DNS_ACL_VALID
      Src: /src/bind9/lib/dns/acl.c:760,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/acl.c:767,1
    - Dst: dns_acl_add_port_transports
      Src: /src/bind9/lib/dns/acl.c:782,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: 785
      start: 757
    functionDepth: 2
    functionLinenumber: 757
    functionLinenumberEnd: 785
    functionName: dns_acl_merge_ports_transports
    functionSourceFile: /src/bind9/lib/dns/acl.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - ISC_LIST_FOREACH
    - DNS_ACL_VALID
    - dns_acl_add_port_transports
    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:
    - REQUIRE
    - isc_mem_callocate
    - ARRAY_SIZE
    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:
    - REQUIRE
    - isc_mem_free
    - CCTX_VALID
    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:
    - REQUIRE
    - CCTX_VALID
    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:
    - REQUIRE
    - CCTX_VALID
    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:
    - REQUIRE
    - dns_compress_setmultiuse
    - CCTX_VALID
    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:
    - REQUIRE
    - CCTX_VALID
    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_usedlength
    - match_wirename
    - isc_buffer_base
    - 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:
    - isc_buffer_usedlength
    - ISC_SWAP
    - slot_index
    - probe_distance
    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: 17
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    - probe_distance
    - hash_label
    - INSIST
    - CCTX_VALID
    - insert
    - dns_name_offsets
    - slot_index
    - match_suffix
    - dns_name_isabsolute
    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:
    - REQUIRE
    - slot_index
    - probe_distance
    - CCTX_VALID
    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:
    - dns_name_copy
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - isc_hashmap_add
    - dns_name_hash
    - dns_fixedname_initname
    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:
    - isc_mem_attach
    - list_add
    - isc_refcount_init
    - isc_mem_get
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - isc_mem_strdup
    - VALID_TRANSPORT
    - isc_mem_free
    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:
    - REQUIRE
    - UNREACHABLE
    - 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: 14
    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: CHECK
      Src: /src/bind9/lib/dns/transport.c:439,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:440,1
    - Dst: isc_tlsctx_set_protocols
      Src: /src/bind9/lib/dns/transport.c:442,1
    - Dst: dns_transport_get_ciphers
      Src: /src/bind9/lib/dns/transport.c:444,1
    - Dst: isc_tlsctx_set_cipherlist
      Src: /src/bind9/lib/dns/transport.c:446,1
    - Dst: dns_transport_get_cipher_suites
      Src: /src/bind9/lib/dns/transport.c:448,1
    - Dst: isc_tlsctx_set_cipher_suites
      Src: /src/bind9/lib/dns/transport.c:450,1
    - Dst: dns_transport_get_prefer_server_ciphers
      Src: /src/bind9/lib/dns/transport.c:453,1
    - Dst: isc_tlsctx_prefer_server_ciphers
      Src: /src/bind9/lib/dns/transport.c:456,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/transport.c:475,1
    - Dst: isc_tls_cert_store_create
      Src: /src/bind9/lib/dns/transport.c:475,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:481,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/transport.c:487,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/transport.c:488,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/transport.c:499,1
    - Dst: isc_tlsctx_enable_peer_verification
      Src: /src/bind9/lib/dns/transport.c:499,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:510,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/transport.c:512,1
    - Dst: isc_tlsctx_load_certificate
      Src: /src/bind9/lib/dns/transport.c:512,1
    - Dst: isc_tlsctx_enable_dot_client_alpn
      Src: /src/bind9/lib/dns/transport.c:517,1
    - Dst: isc_tlsctx_client_session_cache_create
      Src: /src/bind9/lib/dns/transport.c:519,1
    - Dst: isc_tlsctx_cache_add
      Src: /src/bind9/lib/dns/transport.c:525,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:542,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/dns/transport.c:543,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/dns/transport.c:560,1
    - Dst: isc_tlsctx_client_session_cache_detach
      Src: /src/bind9/lib/dns/transport.c:562,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:571,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/transport.c:580,1
    - Dst: isc_tlsctx_free
      Src: /src/bind9/lib/dns/transport.c:589,1
    - Dst: isc_tls_cert_store_free
      Src: /src/bind9/lib/dns/transport.c:600,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 81
    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: 604
      start: 383
    functionDepth: 6
    functionLinenumber: 383
    functionLinenumberEnd: 604
    functionName: dns_transport_get_tlsctx
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_tlsctx_client_session_cache_create
    - dns_transport_get_remote_hostname
    - isc_tlsctx_prefer_server_ciphers
    - isc_tlsctx_load_certificate
    - isc_tlsctx_cache_find
    - isc_netaddr_format
    - dns_transport_get_tls_versions
    - isc_tlsctx_client_session_cache_detach
    - isc_sockaddr_pf
    - isc_tlsctx_set_cipherlist
    - isc_tlsctx_free
    - isc_tls_cert_store_create
    - dns_transport_get_prefer_server_ciphers
    - dns_transport_get_cipher_suites
    - isc_netaddr_fromsockaddr
    - isc_tls_cert_store_free
    - CHECK
    - isc_tlsctx_createclient
    - dns_transport_get_keyfile
    - dns_transport_get_cafile
    - VALID_TRANSPORT
    - isc_tlsctx_set_protocols
    - isc_tlsctx_cache_add
    - dns_transport_get_certfile
    - isc_tlsctx_set_cipher_suites
    - isc_tlsctx_enable_dot_client_alpn
    - dns_transport_get_tlsname
    - dns_transport_get_always_verify_remote
    - dns_transport_get_ciphers
    - isc_tlsctx_enable_peer_verification
    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:608,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:612,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:615,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:618,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:621,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:624,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:627,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:630,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/transport.c:634,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/transport.c:637,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - transport
    argTypes:
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 638
      start: 606
    functionDepth: 1
    functionLinenumber: 606
    functionLinenumberEnd: 638
    functionName: transport_destroy
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - isc_mem_free
    - isc_mem_putanddetach
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void transport_destroy(dns_transport_t *transport)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:642,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:643,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/transport.c:645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_transport_t*
    - dns_transport_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 640
    functionDepth: 1
    functionLinenumber: 640
    functionLinenumberEnd: 648
    functionName: dns_transport_attach
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_refcount_increment
    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:654,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:655,1
    - Dst: VALID_TRANSPORT
      Src: /src/bind9/lib/dns/transport.c:655,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/transport.c:660,1
    - Dst: transport_destroy
      Src: /src/bind9/lib/dns/transport.c:661,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - transportp
    argTypes:
    - dns_transport_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 650
    functionDepth: 2
    functionLinenumber: 650
    functionLinenumberEnd: 663
    functionName: dns_transport_detach
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_refcount_decrement
    - VALID_TRANSPORT
    - transport_destroy
    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:672,1
    - Dst: VALID_TRANSPORT_LIST
      Src: /src/bind9/lib/dns/transport.c:672,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:673,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/transport.c:677,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/transport.c:678,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/transport.c:678,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/transport.c:681,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/transport.c:683,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: 686
      start: 665
    functionDepth: 3
    functionLinenumber: 665
    functionLinenumberEnd: 686
    functionName: dns_transport_find
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - VALID_TRANSPORT_LIST
    - RWLOCK
    - dns_name_hash
    - isc_refcount_increment
    - isc_hashmap_find
    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:690,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/transport.c:694,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/transport.c:696,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/transport.c:697,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/transport.c:702,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 688
    functionDepth: 3
    functionLinenumber: 688
    functionLinenumberEnd: 706
    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_hashmap_create
    - isc_refcount_init
    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:711,1
    - Dst: VALID_TRANSPORT_LIST
      Src: /src/bind9/lib/dns/transport.c:711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:712,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/transport.c:714,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: 717
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 717
    functionName: dns_transport_list_attach
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_TRANSPORT_LIST
    - isc_refcount_increment
    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:721,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/transport.c:732,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/transport.c:733,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/lib/dns/transport.c:735,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/transport.c:738,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/transport.c:739,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/transport.c:741,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/transport.c:742,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/transport.c:744,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/transport.c:745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_transport_list_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 719
    functionDepth: 3
    functionLinenumber: 719
    functionLinenumberEnd: 746
    functionName: transport_list_destroy
    functionSourceFile: /src/bind9/lib/dns/transport.c
    functionUses: 0
    functionsReached:
    - dns_transport_detach
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_create
    - isc_rwlock_destroy
    - isc_hashmap_destroy
    - isc_mem_putanddetach
    - isc_hashmap_iter_delcurrent_next
    - isc_refcount_destroy
    - isc_hashmap_iter_current
    - 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:752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/transport.c:753,1
    - Dst: VALID_TRANSPORT_LIST
      Src: /src/bind9/lib/dns/transport.c:753,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/transport.c:758,1
    - Dst: transport_list_destroy
      Src: /src/bind9/lib/dns/transport.c:759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - listp
    argTypes:
    - dns_transport_list_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 748
    functionDepth: 4
    functionLinenumber: 748
    functionLinenumberEnd: 761
    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:775,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_transport_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 777
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 777
    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:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - dns_name_isabsolute
    - fprintf
    - isc_log_write
    - 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: 3
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:
    - REQUIRE
    - DNS_DB_VALID
    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:
    - REQUIRE
    - DNS_DB_VALID
    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: 11
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:
    - REQUIRE
    - DNS_DB_VALID
    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:
    - REQUIRE
    - DNS_DB_VALID
    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: 8
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:
    - REQUIRE
    - DNS_CALLBACK_VALID
    - DNS_DB_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
    - REQUIRE
    - DNS_CALLBACK_VALID
    - DNS_DB_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_endload(dns_db_t *db, dns_rdatacallbacks_t *callbacks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:310,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:310,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:311,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:311,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:312,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/db.c:312,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - db
    - ver
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 318
    functionName: dns_db_beginupdate
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_iszone
    - DNS_CALLBACK_VALID
    - DNS_DB_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_beginupdate(dns_db_t *db, dns_dbversion_t *ver,\n\t\t
      \  dns_rdatacallbacks_t *callbacks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:326,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:327,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:327,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:328,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/db.c:328,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 335
    functionName: dns_db_commitupdate
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_iszone
    - DNS_CALLBACK_VALID
    - DNS_DB_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_commitupdate(dns_db_t *db, dns_rdatacallbacks_t
      *callbacks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:343,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:343,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:344,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:345,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/db.c:345,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 352
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 352
    functionName: dns_db_abortupdate
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_iszone
    - DNS_CALLBACK_VALID
    - DNS_DB_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_db_abortupdate(dns_db_t *db, dns_rdatacallbacks_t
      *callbacks)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:364,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:364,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/db.c:370,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/db.c:371,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/db.c:371,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/lib/dns/db.c:372,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/db.c:375,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 4
    argNames:
    - db
    - filename
    - format
    - options
    argTypes:
    - dns_db_t*
    - char*
    - dns_masterformat_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 354
    functionDepth: 4
    functionLinenumber: 354
    functionLinenumberEnd: 388
    functionName: dns_db_load
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 12
    functionsReached:
    - dns_master_loadfile
    - REQUIRE
    - dns_db_endload
    - dns_rdatacallbacks_init
    - RETERR
    - dns_db_beginload
    - DNS_DB_VALID
    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:400,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:400,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:401,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 405
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 405
    functionName: dns_db_currentversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 18
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:413,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:413,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:414,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:415,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 421
      start: 407
    functionDepth: 1
    functionLinenumber: 407
    functionLinenumberEnd: 421
    functionName: dns_db_newversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:430,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:430,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:433,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/db.c:437,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: 438
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 438
    functionName: dns_db_attachversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - ENSURE
    - DNS_DB_VALID
    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:447,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:447,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:449,1
    - Dst: call_updatenotify
      Src: /src/bind9/lib/dns/db.c:454,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/db.c:457,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: 458
      start: 440
    functionDepth: 1
    functionLinenumber: 440
    functionLinenumberEnd: 458
    functionName: dns__db_closeversion
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ENSURE
    - call_updatenotify
    - DNS_DB_VALID
    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:473,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:473,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:474,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    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: 482
      start: 464
    functionDepth: 1
    functionLinenumber: 464
    functionLinenumberEnd: 482
    functionName: dns__db_findnode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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_clientinfomethods_t *methods, 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:491,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:491,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:492,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: 496
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 496
    functionName: dns__db_findnsec3node
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:510,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:510,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:511,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:512,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:513,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/db.c:513,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:514,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:514,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:515,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:516,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:517,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:518,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    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: 527
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 527
    functionName: dns__db_find
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_rdataset_isassociated
    - DNS_RDATASET_VALID
    - dns_name_hasbuffer
    - DNS_DB_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_clientinfomethods_t
      *methods, dns_clientinfo_t *clientinfo,\n\t     dns_rdataset_t *rdataset,\n\t
      \    dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:535,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:536,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 529
    functionDepth: 1
    functionLinenumber: 529
    functionLinenumberEnd: 540
    functionName: dns__db_attachnode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns__db_attachnode(dns_dbnode_t *source, dns_dbnode_t **targetp
      DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:560,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:560,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:561,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:562,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: 566
      start: 557
    functionDepth: 1
    functionLinenumber: 557
    functionLinenumberEnd: 566
    functionName: dns_db_transfernode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:579,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:579,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:580,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:581,1
    - Dst: dns_db_t*::methods::createiterator
      Src: /src/bind9/lib/dns/db.c:585,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: 588
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 588
    functionName: dns_db_createiterator
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 14
    functionsReached:
    - dns_db_t*::methods::createiterator
    - REQUIRE
    - DNS_DB_VALID
    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:599,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:599,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:600,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:601,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:601,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:602,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:603,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/db.c:603,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:604,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:605,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:606,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:607,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: 612
      start: 594
    functionDepth: 1
    functionLinenumber: 594
    functionLinenumberEnd: 612
    functionName: dns__db_findrdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_rdataset_isassociated
    - DNS_RDATASET_VALID
    - dns_rdatatype_issig
    - DNS_DB_VALID
    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:623,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:623,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:624,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: 628
      start: 614
    functionDepth: 1
    functionLinenumber: 614
    functionLinenumberEnd: 628
    functionName: dns__db_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:639,1
    - Dst: DNS_DB_VALID
      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:644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:646,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:647,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:647,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:648,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:649,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:650,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:651,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: 659
      start: 630
    functionDepth: 1
    functionLinenumber: 630
    functionLinenumberEnd: 659
    functionName: dns__db_addrdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    - dns_rdataset_isassociated
    - DNS_DB_VALID
    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:671,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:671,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:672,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:673,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:674,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:674,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:675,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:675,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:676,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:677,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:678,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/db.c:679,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: 687
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 687
    functionName: dns__db_subtractrdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    - dns_rdataset_isassociated
    - DNS_DB_VALID
    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:698,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:698,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:699,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:700,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: 708
      start: 689
    functionDepth: 1
    functionLinenumber: 689
    functionLinenumberEnd: 708
    functionName: dns__db_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:718,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:718,1
    - Dst: dns_db_isstub
      Src: /src/bind9/lib/dns/db.c:718,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/db.c:720,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/db.c:720,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/db.c:720,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/db.c:722,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/db.c:723,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/db.c:729,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/db.c:733,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/db.c:734,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:735,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:737,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/db.c:738,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/db.c:739,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/db.c:740,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/db.c:741,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/db.c:746,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/db.c:749,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 30
    argCount: 3
    argNames:
    - db
    - ver
    - serialp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 751
    functionName: dns_db_getsoaserial
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_db_detachnode
    - INSIST
    - dns_db_origin
    - dns_rdataset_first
    - dns_rdataset_next
    - isc_buffer_forward
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_db_isstub
    - isc_buffer_add
    - dns_db_iszone
    - RETERR
    - dns_rdataset_disassociate
    - dns_db_findnode
    - dns_rdataset_current
    - isc_buffer_getuint32
    - isc_buffer_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:755,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 761
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 761
    functionName: dns_db_nodecount
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_db_nodecount(dns_db_t *db)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:768,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:769,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/db.c:771,1
    - Dst: impfind
      Src: /src/bind9/lib/dns/db.c:772,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:774,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/db.c:778,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/db.c:783,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/db.c:784,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/db.c:785,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:786,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: 791
      start: 763
    functionDepth: 1
    functionLinenumber: 763
    functionLinenumberEnd: 791
    functionName: dns_db_register
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_mem_get
    - ISC_LIST_APPEND
    - impfind
    - ISC_LINK_INIT
    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:797,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/db.c:801,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/db.c:802,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/db.c:803,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/db.c:804,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/db.c:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - dbimp
    argTypes:
    - dns_dbimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 793
    functionDepth: 1
    functionLinenumber: 793
    functionLinenumberEnd: 806
    functionName: dns_db_unregister
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - ISC_LIST_UNLINK
    - RWLOCK
    - ENSURE
    - isc_mem_putanddetach
    linkageType: ''
    returnType: void
    signature: void dns_db_unregister(dns_dbimplementation_t **dbimp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:810,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:810,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:811,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:811,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:812,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - db
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 808
    functionDepth: 2
    functionLinenumber: 808
    functionLinenumberEnd: 823
    functionName: dns__db_getoriginnode
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_iszone
    - DNS_DB_VALID
    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:827,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:827,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 834
    functionName: dns_db_getrrsetstats
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:838,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:838,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 845
    functionName: dns_db_setcachestats
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:852,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:852,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:853,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:853,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: 862
      start: 847
    functionDepth: 2
    functionLinenumber: 847
    functionLinenumberEnd: 862
    functionName: dns_db_getnsec3parameters
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_db_iszone
    - DNS_DB_VALID
    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:867,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:867,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:868,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:868,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: 875
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 875
    functionName: dns_db_getsize
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_iszone
    - DNS_DB_VALID
    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: 4
    argNames:
    - db
    - node
    - rdataset
    - resign
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 877
    functionDepth: 0
    functionLinenumber: 877
    functionLinenumberEnd: 885
    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_dbnode_t *node,\n\t\t
      \     dns_rdataset_t *rdataset, 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: 895
      start: 887
    functionDepth: 0
    functionLinenumber: 887
    functionLinenumberEnd: 895
    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:899,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/db.c:901,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/db.c:905,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/db.c:907,1
    - Dst: dns_dbonupdatelistener_t*::onupdate
      Src: /src/bind9/lib/dns/db.c:908,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/db.c:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 897
    functionDepth: 1
    functionLinenumber: 897
    functionLinenumberEnd: 913
    functionName: call_updatenotify
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - dns_dbonupdatelistener_t*::onupdate
    - rcu_read_lock
    - rcu_dereference
    - cds_lfht_is_node_deleted
    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:918,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/db.c:919,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 920
      start: 915
    functionDepth: 1
    functionLinenumber: 915
    functionLinenumberEnd: 920
    functionName: updatenotify_free
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - caa_container_of
    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:925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - _key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 922
    functionDepth: 0
    functionLinenumber: 922
    functionLinenumberEnd: 930
    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:938,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:939,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/db.c:943,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/db.c:944,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/db.c:948,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/db.c:950,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/db.c:952,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:953,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/db.c:955,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/db.c:957,1
    - Dst: updatenotify_free
      Src: /src/bind9/lib/dns/db.c:960,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: 962
      start: 935
    functionDepth: 3
    functionLinenumber: 935
    functionLinenumberEnd: 962
    functionName: dns_db_updatenotify_register
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - INSIST
    - isc_mem_get
    - cds_lfht_add_unique
    - rcu_read_unlock
    - isc_hash32
    - updatenotify_free
    - rcu_read_lock
    - rcu_dereference
    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:967,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/db.c:971,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/db.c:974,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/db.c:976,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/db.c:977,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/db.c:978,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/db.c:981,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/db.c:982,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/db.c:983,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/db.c:985,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/db.c:987,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: 988
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 988
    functionName: dns_db_updatenotify_unregister
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - cds_lfht_lookup
    - INSIST
    - cds_lfht_iter_get_node
    - rcu_read_unlock
    - isc_hash32
    - rcu_read_lock
    - rcu_dereference
    - caa_container_of
    - cds_lfht_del
    - call_rcu
    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:992,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:992,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 990
    functionDepth: 1
    functionLinenumber: 990
    functionLinenumberEnd: 999
    functionName: dns_db_setservestalettl
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:1003,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1003,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1010
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1010
    functionName: dns_db_getservestalettl
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:1014,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1014,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1015,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1012
    functionDepth: 1
    functionLinenumber: 1012
    functionLinenumberEnd: 1021
    functionName: dns_db_setservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:1025,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1025,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1026,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1023
    functionDepth: 1
    functionLinenumber: 1023
    functionLinenumberEnd: 1032
    functionName: dns_db_getservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:1036,1
    - Dst: dns_db_iszone
      Src: /src/bind9/lib/dns/db.c:1036,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1037,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1044
      start: 1034
    functionDepth: 2
    functionLinenumber: 1034
    functionLinenumberEnd: 1044
    functionName: dns_db_setgluecachestats
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_iszone
    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:1050,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1051,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1052,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/db.c:1052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1053,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1054,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - db
    - version
    - owner_name
    - rdataset
    - msg
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1046
    functionDepth: 1
    functionLinenumber: 1046
    functionLinenumberEnd: 1063
    functionName: dns_db_addglue
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    - DNS_DB_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_db_addglue(dns_db_t *db, dns_dbversion_t *version,\n\t
      \      const dns_name_t *owner_name, dns_rdataset_t *rdataset,\n\t       dns_message_t
      *msg)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1067,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - dns_dbnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1071
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1071
    functionName: dns_db_expiredata
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_db_expiredata(dns_dbnode_t *node, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1075,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - dns_dbnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1079
      start: 1073
    functionDepth: 1
    functionLinenumber: 1073
    functionLinenumberEnd: 1079
    functionName: dns_db_deletedata
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dns_db_deletedata(dns_dbnode_t *node, void *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1083,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1083,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1081
    functionDepth: 1
    functionLinenumber: 1081
    functionLinenumberEnd: 1088
    functionName: dns_db_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:1092,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/db.c:1092,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1097
      start: 1090
    functionDepth: 1
    functionLinenumber: 1090
    functionLinenumberEnd: 1097
    functionName: dns_db_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_DB_VALID
    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:1108,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/db.c:1109,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/db.c:1110,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/db.c:1111,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/db.c:1113,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/db.c:1118,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: 1119
      start: 1099
    functionDepth: 3
    functionLinenumber: 1099
    functionLinenumberEnd: 1119
    functionName: dns__db_logtoomanyrecords
    functionSourceFile: /src/bind9/lib/dns/db.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_format
    - dns_name_format
    - isc_log_write
    - dns_rdataclass_format
    - isc_result_totext
    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:1123,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/db.c:1124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - db
    - b
    argTypes:
    - dns_db_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1130
      start: 1121
    functionDepth: 1
    functionLinenumber: 1121
    functionLinenumberEnd: 1130
    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
    - REQUIRE
    - isc_mem_get
    - dns_qpmulti_create
    - strlcpy
    - isc_refcount_init
    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:
    - isc_mem_putanddetach
    - dns_qpmulti_destroy
    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:
    - isc_mem_attach
    - dns_name_dup
    - isc_refcount_init
    - isc_mem_get
    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:
    - REQUIRE
    - VALID_NAMETREE
    - isc_mem_cget
    - memmove
    - INSIST
    - newnode::newnode
    - matchbit
    - dns_qp_deletename
    - dns_qpmulti_commit
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_compact
    - count::count
    - dns_qp_getname
    - bits::bits
    - UNREACHABLE
    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:
    - REQUIRE
    - VALID_NAMETREE
    - INSIST
    - dns_qp_deletename
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_compact
    - count::count
    - UNREACHABLE
    - dns_qpmulti_commit
    - newnode
    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:
    - REQUIRE
    - VALID_NAMETREE
    - dns_qpread_destroy
    - dns_ntnode_attach
    - dns_qpmulti_query
    - 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: 7
    functionLinenumber: 275
    functionLinenumberEnd: 307
    functionName: dns_nametree_covered
    functionSourceFile: /src/bind9/lib/dns/nametree.c
    functionUses: 4
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - VALID_NAMETREE
    - dns_qpread_destroy
    - dns_qpmulti_query
    - matchbit
    - dns_qp_lookup
    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: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/badcache.c:86,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/badcache.c:87,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/badcache.c:93,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:95,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/badcache.c:97,1
    - Dst: CDS_INIT_LIST_HEAD
      Src: /src/bind9/lib/dns/badcache.c:99,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/badcache.c:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 105
    functionName: dns_badcache_new
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 8
    functionsReached:
    - isc_mem_attach
    - isc_mem_cget
    - INSIST
    - isc_mem_get
    - cds_lfht_new
    - isc_loopmgr_nloops
    - CDS_INIT_LIST_HEAD
    linkageType: ''
    returnType: dns_badcache_t
    signature: 'dns_badcache_t *

      dns_badcache_new(isc_mem_t *mctx)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:110,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:110,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:118,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:119,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/badcache.c:119,1
    - Dst: bcentry_destroy
      Src: /src/bind9/lib/dns/badcache.c:120,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/badcache.c:122,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/badcache.c:122,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/badcache.c:124,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/badcache.c:126,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - bcp
    argTypes:
    - dns_badcache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 127
    functionName: dns_badcache_destroy
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - isc_mem_cput
    - cds_lfht_for_each_entry
    - INSIST
    - RUNTIME_CHECK
    - VALID_BADCACHE
    - isc_mem_putanddetach
    - cds_lfht_destroy
    - cds_lfht_del
    - 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:132,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/badcache.c:135,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 136
    functionName: bcentry_match
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - caa_container_of
    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:141,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/badcache.c:142,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/badcache.c:143,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/badcache.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns__bckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 145
    functionName: bcentry_hash
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - isc_hash32_finalize
    - isc_hash32_init
    - isc_hash32_hash
    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:151,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/badcache.c:153,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/badcache.c:153,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: 155
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 155
    functionName: bcentry_lookup
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - cds_lfht_lookup
    - cds_lfht_entry
    - cds_lfht_iter_get_node
    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:161,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/badcache.c:162,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/badcache.c:167,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/badcache.c:168,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/badcache.c:171,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/badcache.c:172,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: 175
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 175
    functionName: bcentry_new
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - CDS_LIST_HEAD_INIT
    - isc_mem_get
    - isc_loop_ref
    - isc_loop_getmctx
    - dns_name_dup
    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:179,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/badcache.c:182,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/badcache.c:184,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/badcache.c:185,1
    - Dst: isc_loop_unref
      Src: /src/bind9/lib/dns/badcache.c:187,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: bcentry_destroy
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - isc_loop_getmctx
    - isc_loop_unref
    - caa_container_of
    - dns_name_free
    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:194,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/badcache.c:194,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/badcache.c:196,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/badcache.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: bcentry_evict_async
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - isc_loop
    - cds_list_del
    - call_rcu
    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:202,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/badcache.c:203,1
    - Dst: bcentry_evict_async
      Src: /src/bind9/lib/dns/badcache.c:204,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/badcache.c:208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ht
    - bad
    argTypes:
    - struct cds_lfht*
    - dns_bcentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 200
    functionDepth: 2
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: bcentry_evict
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - cds_lfht_del
    - bcentry_evict_async
    - isc_loop
    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:214,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:217,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: 222
      start: 212
    functionDepth: 3
    functionLinenumber: 212
    functionLinenumberEnd: 222
    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: 228
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 228
    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:239,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: 246
      start: 233
    functionDepth: 4
    functionLinenumber: 233
    functionLinenumberEnd: 246
    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:239,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 238
    functionDepth: 4
    functionLinenumber: 238
    functionLinenumberEnd: 245
    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:251,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:252,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/badcache.c:254,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/badcache.c:255,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/badcache.c:258,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:263,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:264,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:265,1
    - Dst: bcentry_hash
      Src: /src/bind9/lib/dns/badcache.c:271,1
    - Dst: bcentry_new
      Src: /src/bind9/lib/dns/badcache.c:274,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/badcache.c:277,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/badcache.c:280,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:282,1
    - Dst: cds_list_add_tail_rcu
      Src: /src/bind9/lib/dns/badcache.c:287,1
    - Dst: bcentry_purge
      Src: /src/bind9/lib/dns/badcache.c:289,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:291,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: 292
      start: 248
    functionDepth: 5
    functionLinenumber: 248
    functionLinenumberEnd: 292
    functionName: dns_badcache_add
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - INSIST
    - bcentry_hash
    - cds_lfht_add_unique
    - rcu_read_unlock
    - VALID_BADCACHE
    - isc_tid
    - rcu_read_lock
    - rcu_dereference
    - isc_loop
    - bcentry_new
    - caa_container_of
    - bcentry_evict
    - cds_list_add_tail_rcu
    - bcentry_purge
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:297,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:298,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:302,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:303,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:304,1
    - Dst: bcentry_hash
      Src: /src/bind9/lib/dns/badcache.c:310,1
    - Dst: bcentry_lookup
      Src: /src/bind9/lib/dns/badcache.c:312,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:314,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/badcache.c:316,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/badcache.c:319,1
    - Dst: bcentry_purge
      Src: /src/bind9/lib/dns/badcache.c:321,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    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: 326
      start: 294
    functionDepth: 5
    functionLinenumber: 294
    functionLinenumberEnd: 326
    functionName: dns_badcache_find
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - INSIST
    - bcentry_hash
    - SET_IF_NOT_NULL
    - bcentry_lookup
    - rcu_read_unlock
    - VALID_BADCACHE
    - rcu_read_lock
    - rcu_dereference
    - isc_tid
    - bcentry_alive
    - bcentry_purge
    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:330,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:330,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:332,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:333,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:334,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:339,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:340,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - bc
    argTypes:
    - dns_badcache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 328
    functionDepth: 3
    functionLinenumber: 328
    functionLinenumberEnd: 344
    functionName: dns_badcache_flush
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - VALID_BADCACHE
    - rcu_read_lock
    - rcu_dereference
    - bcentry_evict
    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:348,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:349,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/badcache.c:351,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:353,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:354,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:355,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:359,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/badcache.c:360,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:361,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:366,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:369,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bc
    - name
    argTypes:
    - dns_badcache_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 346
    functionDepth: 4
    functionLinenumber: 346
    functionLinenumberEnd: 370
    functionName: dns_badcache_flushname
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - INSIST
    - cds_lfht_for_each_entry
    - dns_name_equal
    - rcu_read_unlock
    - VALID_BADCACHE
    - rcu_read_lock
    - rcu_dereference
    - bcentry_alive
    - bcentry_evict
    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:374,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:375,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/badcache.c:377,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:379,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:380,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:381,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:385,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/badcache.c:386,1
    - Dst: bcentry_evict
      Src: /src/bind9/lib/dns/badcache.c:387,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:392,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - bc
    - name
    argTypes:
    - dns_badcache_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 372
    functionDepth: 4
    functionLinenumber: 372
    functionLinenumberEnd: 396
    functionName: dns_badcache_flushtree
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - INSIST
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - VALID_BADCACHE
    - rcu_read_lock
    - rcu_dereference
    - bcentry_alive
    - bcentry_evict
    - dns_name_issubdomain
    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:403,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/badcache.c:404,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/badcache.c:405,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: 407
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 407
    functionName: bcentry_print
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dns_rdatatype_format
    - dns_name_format
    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:412,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:414,1
    - Dst: VALID_BADCACHE
      Src: /src/bind9/lib/dns/badcache.c:414,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/badcache.c:415,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/badcache.c:417,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/badcache.c:419,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/badcache.c:420,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/badcache.c:421,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/badcache.c:424,1
    - Dst: bcentry_alive
      Src: /src/bind9/lib/dns/badcache.c:425,1
    - Dst: bcentry_print
      Src: /src/bind9/lib/dns/badcache.c:426,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/badcache.c:430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - bc
    - cachename
    - fp
    argTypes:
    - dns_badcache_t*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 431
      start: 409
    functionDepth: 4
    functionLinenumber: 409
    functionLinenumberEnd: 431
    functionName: dns_badcache_print
    functionSourceFile: /src/bind9/lib/dns/badcache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - INSIST
    - cds_lfht_for_each_entry
    - fprintf
    - bcentry_print
    - rcu_read_unlock
    - VALID_BADCACHE
    - rcu_read_lock
    - rcu_dereference
    - bcentry_alive
    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:48,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/ncache.c:49,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - b
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 46
    functionDepth: 2
    functionLinenumber: 46
    functionLinenumberEnd: 52
    functionName: atomic_getuint8
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - isc_buffer_forward
    - isc_buffer_current
    - atomic_load_relaxed
    linkageType: ''
    returnType: uint8_t
    signature: uint8_t atomic_getuint8(isc_buffer_t *b)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:62,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/ncache.c:66,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:67,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:68,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:72,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/ncache.c:74,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:75,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:76,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:83,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ncache.c:87,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:87,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - rdataset
    - buffer
    argTypes:
    - dns_rdataset_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 54
    functionDepth: 3
    functionLinenumber: 54
    functionLinenumberEnd: 91
    functionName: copy_rdataset
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_rdata_toregion
    - isc_buffer_putuint16
    - isc_buffer_copyregion
    - isc_buffer_availableregion
    - RETERR
    - dns_rdataset_current
    - dns_rdataset_count
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t copy_rdataset(dns_rdataset_t *rdataset, isc_buffer_t *buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:72,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/ncache.c:74,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:75,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:76,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:83,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ncache.c:87,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:87,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 70
    functionDepth: 3
    functionLinenumber: 70
    functionLinenumberEnd: 88
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 2
    functionsReached:
    - INSIST
    - dns_rdata_toregion
    - isc_buffer_putuint16
    - isc_buffer_copyregion
    - isc_buffer_availableregion
    - RETERR
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:118,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/ncache.c:128,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/ncache.c:129,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:138,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/ncache.c:142,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/ncache.c:151,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/ncache.c:165,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ncache.c:166,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:166,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:171,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:175,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ncache.c:177,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ncache.c:183,1
    - Dst: copy_rdataset
      Src: /src/bind9/lib/dns/ncache.c:183,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/ncache.c:189,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:190,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/ncache.c:197,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:199,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:221,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/ncache.c:225,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/ncache.c:226,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/ncache.c:239,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    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: 246
      start: 93
    functionDepth: 4
    functionLinenumber: 93
    functionLinenumberEnd: 246
    functionName: dns_ncache_add
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_forward
    - dns_rdataset_init
    - RETERR
    - dns_rdatalist_init
    - isc_buffer_remainingregion
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    - dns_name_toregion
    - isc_buffer_putuint16
    - isc_buffer_availableregion
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_rdata_init
    - dns_db_class
    - copy_rdataset
    - dns_rdatatype_isnsec
    - ISC_LIST_APPEND
    - isc_buffer_copyregion
    - ISC_LIST_FOREACH
    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, bool optout, bool secure,\n\t       dns_rdataset_t
      *addedrdataset)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/ncache.c:142,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/ncache.c:151,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/ncache.c:165,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ncache.c:166,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/ncache.c:166,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:171,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:175,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/ncache.c:177,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ncache.c:183,1
    - Dst: copy_rdataset
      Src: /src/bind9/lib/dns/ncache.c:183,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/ncache.c:189,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:190,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/ncache.c:197,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:199,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 140
    functionDepth: 4
    functionLinenumber: 140
    functionLinenumberEnd: 204
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - isc_buffer_forward
    - dns_rdatatype_isnsec
    - dns_name_toregion
    - ISC_LIST_APPEND
    - isc_buffer_copyregion
    - isc_buffer_putuint16
    - isc_buffer_availableregion
    - RETERR
    - ISC_LIST_FOREACH
    - isc_buffer_remainingregion
    - isc_buffer_putuint8
    - copy_rdataset
    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:265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:267,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:274,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:276,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:277,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:278,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:279,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:280,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:281,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:282,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:285,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:286,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:287,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:288,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:295,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:296,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:297,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:298,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:299,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:303,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:304,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/dns/ncache.c:307,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/ncache.c:315,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/ncache.c:316,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:325,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:330,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:331,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/ncache.c:332,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:338,1
    - Dst: dns_rdata_towire
      Src: /src/bind9/lib/dns/ncache.c:343,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:352,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:354,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:360,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/ncache.c:360,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/ncache.c:368,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: 373
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 373
    functionName: dns_ncache_towire
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_forward
    - isc_buffer_putuint32
    - isc_buffer_add
    - dns_rdata_towire
    - isc_buffer_remainingregion
    - dns_name_init
    - isc_buffer_putuint16
    - isc_buffer_availableregion
    - dns_rdatatype_isdnssec
    - isc_buffer_getuint16
    - isc_buffer_init
    - dns_rdata_reset
    - dns_name_towire
    - dns_compress_setpermitted
    - dns_rdataset_current
    - dns_compress_rollback
    - dns_name_fromregion
    - isc_buffer_remaininglength
    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:274,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:276,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:277,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:278,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:279,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:280,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:281,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:282,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:285,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:286,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:287,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:288,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:295,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:296,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:297,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:298,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:299,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:303,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:304,1
    - Dst: dns_rdatatype_isdnssec
      Src: /src/bind9/lib/dns/ncache.c:307,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/ncache.c:315,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/ncache.c:316,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ncache.c:325,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:330,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:331,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/ncache.c:332,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:338,1
    - Dst: dns_rdata_towire
      Src: /src/bind9/lib/dns/ncache.c:343,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:352,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/ncache.c:354,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:360,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/ncache.c:360,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 361
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 2
    functionsReached:
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - isc_buffer_forward
    - isc_buffer_putuint32
    - isc_buffer_remaininglength
    - dns_rdata_reset
    - dns_name_towire
    - isc_buffer_putuint16
    - isc_buffer_add
    - isc_buffer_availableregion
    - dns_rdatatype_isdnssec
    - dns_rdata_towire
    - dns_compress_setpermitted
    - dns_rdataset_current
    - isc_buffer_remainingregion
    - isc_buffer_getuint16
    - isc_buffer_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: 398
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 398
    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: 417
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 417
    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:425,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 430
    functionName: rdataset_current
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 158
    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: 438
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 438
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 16
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void rdataset_clone(const dns_rdataset_t *source,\n\t       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: 449
      start: 440
    functionDepth: 0
    functionLinenumber: 440
    functionLinenumberEnd: 449
    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:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - trust
    argTypes:
    - dns_rdataset_t*
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 451
    functionDepth: 1
    functionLinenumber: 451
    functionLinenumberEnd: 458
    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:481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:482,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/ncache.c:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:484,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:485,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:486,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/ncache.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:487,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/ncache.c:489,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/ncache.c:490,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:493,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:495,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:496,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:497,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:498,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:499,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:500,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:501,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:504,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:505,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:507,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:508,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:509,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:510,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/ncache.c:515,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:518,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: 532
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 532
    functionName: dns_ncache_getrdataset
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdataset_isassociated
    - INSIST
    - dns_name_equal
    - isc_buffer_forward
    - atomic_getuint8
    - dns_rdataset_init
    - DNS_RDATASET_VALID
    - dns_rdataset_clone
    - isc_buffer_add
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - isc_buffer_remainingregion
    - isc_buffer_getuint16
    - isc_buffer_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:493,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:495,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:496,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:497,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:498,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:499,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:500,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:501,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:504,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:505,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:507,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:508,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:509,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:510,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 491
    functionDepth: 3
    functionLinenumber: 491
    functionLinenumberEnd: 514
    functionName: (&rclone)
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - dns_name_equal
    - isc_buffer_forward
    - atomic_getuint8
    - isc_buffer_add
    - dns_rdataset_current
    - isc_buffer_remainingregion
    - isc_buffer_getuint16
    - isc_buffer_init
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rclone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:549,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:551,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:552,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/ncache.c:552,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/ncache.c:554,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/ncache.c:555,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:558,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:560,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:561,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:562,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:563,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:564,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:565,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:566,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:567,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:569,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:570,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:571,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:574,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:579,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:580,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:581,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:582,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:586,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:591,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:592,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/ncache.c:594,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:596,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/ncache.c:601,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:604,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: 618
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 618
    functionName: dns_ncache_getsigrdataset
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_forward
    - dns_rdataset_init
    - isc_buffer_add
    - isc_buffer_remainingregion
    - dns_rdataset_disassociate
    - isc_region_consume
    - dns_name_init
    - dns_rdataset_isassociated
    - dns_rdata_fromregion
    - isc_buffer_getuint16
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_name_equal
    - atomic_getuint8
    - dns_rdata_reset
    - dns_rdataset_clone
    - dns_rdataset_current
    - dns_name_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:558,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:560,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:561,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:562,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:563,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:564,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:565,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:566,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:567,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:569,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:570,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:571,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/ncache.c:574,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:579,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:580,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:581,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/ncache.c:582,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:586,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:591,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:592,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/ncache.c:594,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 600
    functionName: (&rclone)
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - dns_name_equal
    - isc_buffer_forward
    - atomic_getuint8
    - dns_rdata_fromregion
    - dns_rdata_reset
    - isc_buffer_add
    - dns_rdataset_current
    - isc_buffer_remainingregion
    - isc_buffer_getuint16
    - isc_region_consume
    - isc_buffer_init
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rclone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:633,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:634,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:635,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:636,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/ncache.c:637,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/ncache.c:637,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/ncache.c:639,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ncache.c:640,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ncache.c:641,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/ncache.c:643,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:644,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/ncache.c:645,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:646,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/ncache.c:647,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:650,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/ncache.c:651,1
    - Dst: atomic_getuint8
      Src: /src/bind9/lib/dns/ncache.c:652,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:653,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/ncache.c:654,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ncache.c:662,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/ncache.c:667,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/ncache.c:668,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/ncache.c:670,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 3
    argNames:
    - ncacherdataset
    - found
    - rdataset
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 620
    functionDepth: 3
    functionLinenumber: 620
    functionLinenumberEnd: 685
    functionName: dns_ncache_current
    functionSourceFile: /src/bind9/lib/dns/ncache.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dns_rdata_tostruct
    - dns_name_init
    - dns_name_fromregion
    - dns_rdataset_isassociated
    - INSIST
    - atomic_getuint8
    - isc_buffer_forward
    - dns_rdata_fromregion
    - dns_rdata_reset
    - isc_buffer_add
    - dns_rdataset_current
    - isc_buffer_remainingregion
    - isc_buffer_getuint16
    - isc_buffer_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:
    - (
    - zone
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: DNS_ZONE_VALID
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_ZONE_VALID(zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - checkds
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: DNS_CHECKDS_VALID
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 40
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 40
    functionName: DNS_STUB_VALID
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    functionName: DNS_ZONEMGR_VALID
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    functionName: DNS_FORWARD_VALID
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: DNS_IO_VALID
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_IO_VALID(load)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - z
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 85
    functionName: LOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 91
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 91
    functionName: UNLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: LOCKED_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 100
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 100
    functionName: TRYLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 102
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 102
    functionName: LOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 103
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 103
    functionName: UNLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 104
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 104
    functionName: LOCKED_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    functionName: TRYLOCK_ZONE
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    functionName: ZONEDB_INITLOCK
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    functionName: ZONEDB_DESTROYLOCK
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    functionName: ZONEDB_LOCK
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 114
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 114
    functionName: ZONEDB_UNLOCK
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZONEDB_UNLOCK(l, t)
  - 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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    functionName: DNS_ZONE_FLAG
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: DNS_ZONE_SETFLAG
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 121
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 121
    functionName: DNS_ZONE_CLRFLAG
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 176
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 176
    functionName: DNS_ZONE_OPTION
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 177
      start: 176
    functionDepth: 0
    functionLinenumber: 176
    functionLinenumberEnd: 177
    functionName: DNS_ZONE_SETOPTION
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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: 178
      start: 177
    functionDepth: 0
    functionLinenumber: 177
    functionLinenumberEnd: 178
    functionName: DNS_ZONE_CLROPTION
    functionSourceFile: /src/bind9/lib/dns/zone_p.h
    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:
    - (
    - fallback
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 31
    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: 35
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 35
    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: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    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: 154
      start: 153
    functionDepth: 0
    functionLinenumber: 153
    functionLinenumberEnd: 154
    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: 157
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 157
    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: 160
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 160
    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: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    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: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    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: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    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: 170
      start: 168
    functionDepth: 0
    functionLinenumber: 168
    functionLinenumberEnd: 170
    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:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 215
    functionDepth: 2
    functionLinenumber: 215
    functionLinenumberEnd: 241
    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: 257
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 257
    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:268,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/dispatch.c:272,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/dispatch.c:273,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/dispatch.c:274,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dispatch.c:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - mgr
    - level
    - fmt
    argTypes:
    - dns_dispatchmgr_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 263
    functionDepth: 2
    functionLinenumber: 263
    functionLinenumberEnd: 278
    functionName: mgr_log
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 4
    functionsReached:
    - vsnprintf
    - va_start
    - isc_log_write
    - isc_log_wouldlog
    - va_end
    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:283,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mgr
    - counter
    argTypes:
    - dns_dispatchmgr_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 280
    functionDepth: 2
    functionLinenumber: 280
    functionLinenumberEnd: 285
    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:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mgr
    - counter
    argTypes:
    - dns_dispatchmgr_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 287
    functionDepth: 2
    functionLinenumber: 287
    functionLinenumberEnd: 292
    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:304,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/dispatch.c:308,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/dispatch.c:309,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/dispatch.c:316,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dispatch.c:318,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - disp
    - level
    - fmt
    argTypes:
    - dns_dispatch_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 298
    functionDepth: 2
    functionLinenumber: 298
    functionLinenumberEnd: 320
    functionName: dispatch_log
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - isc_log_write
    - isc_log_wouldlog
    - va_end
    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:332,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/dispatch.c:336,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/dispatch.c:337,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/dispatch.c:344,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:346,1
    - Dst: socktype2str
      Src: /src/bind9/lib/dns/dispatch.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - resp
    - level
    - fmt
    argTypes:
    - dns_dispentry_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 326
    functionDepth: 3
    functionLinenumber: 326
    functionLinenumberEnd: 348
    functionName: dispentry_log
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dispatch_log
    - socktype2str
    - vsnprintf
    - va_start
    - isc_log_wouldlog
    - va_end
    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:365,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/dispatch.c:380,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/dispatch.c:381,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: 387
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 387
    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:393,1
    - Dst: isc_sockaddr_hash_ex
      Src: /src/bind9/lib/dns/dispatch.c:395,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/dispatch.c:396,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/dispatch.c:397,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/dispatch.c:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - dispentry
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 389
    functionDepth: 2
    functionLinenumber: 389
    functionLinenumberEnd: 400
    functionName: qid_hash
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_hash32_finalize
    - isc_sockaddr_hash_ex
    - isc_hash32_init
    - isc_hash32_hash
    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:405,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:409,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 410
      start: 402
    functionDepth: 2
    functionLinenumber: 402
    functionLinenumberEnd: 410
    functionName: qid_match
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - caa_container_of
    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:414,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    functionName: dispentry_destroy_rcu
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - caa_container_of
    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:427,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:429,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:434,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:434,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:435,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:435,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:436,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:436,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:438,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:438,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:441,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:441,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/dns/dispatch.c:444,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/dispatch.c:448,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/dispatch.c:452,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:455,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/dispatch.c:457,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 419
    functionDepth: 6
    functionLinenumber: 419
    functionLinenumberEnd: 458
    functionName: dispentry_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dns_transport_detach
    - INSIST
    - dispentry_cancel
    - ISC_LINK_LINKED
    - isc_nmhandle_detach
    - isc_tlsctx_cache_detach
    - ISC_LOG_DEBUG
    - dispentry_log
    - dns_dispatch_detach
    - call_rcu
    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:472,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/dispatch.c:476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - resp
    - now
    argTypes:
    - dns_dispentry_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 477
    functionName: dispentry_runtime
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_time_microdiff
    - isc_time_isepoch
    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:509,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:509,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:510,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:510,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:514,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:514,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:515,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:528,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:528,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:530,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/dns/dispatch.c:542,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/dispatch.c:543,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/dispatch.c:549,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:553,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:553,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:555,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:557,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:557,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dispatch.c:567,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dispatch.c:568,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/lib/dns/dispatch.c:569,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:572,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:573,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:573,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:578,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:578,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:596,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:597,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:597,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/dispatch.c:599,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:614,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:616,1
    - Dst: udp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:634,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:638,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:638,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:640,1
    - Dst: dns_dispentry_t*::response
      Src: /src/bind9/lib/dns/dispatch.c:641,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:644,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 70
    argCount: 4
    argNames:
    - handle
    - eresult
    - region
    - arg
    argTypes:
    - isc_nmhandle_t*
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 493
    functionDepth: 4
    functionLinenumber: 493
    functionLinenumberEnd: 645
    functionName: udp_recv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - VALID_DISPATCH
    - isc_buffer_add
    - ISC_LOG_DEBUG
    - udp_dispatch_getnext
    - dns_dispentry_t*::response
    - isc_netaddr_format
    - isc_sockaddr_equal
    - isc_loop_now
    - inc_stats
    - isc_buffer_init
    - isc_result_totext
    - dispentry_runtime
    - dns_message_peekheader
    - VALID_RESPONSE
    - isc_netaddr_fromsockaddr
    - isc_tid
    - isc_nmhandle_peeraddr
    - isc_log_wouldlog
    - dns_acl_match
    - dns_dispentry_detach
    - dispentry_log
    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:650,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - disp
    - respp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 659
    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:669,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:669,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dispatch.c:676,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dispatch.c:677,1
    - Dst: dns_message_peekheader
      Src: /src/bind9/lib/dns/dispatch.c:678,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:680,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:680,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:684,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:684,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:693,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:693,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dispatch.c:704,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:716,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:716,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:717,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 3
    argNames:
    - disp
    - region
    - respp
    argTypes:
    - dns_dispatch_t*
    - isc_region_t*
    - dns_dispentry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 661
    functionDepth: 3
    functionLinenumber: 661
    functionLinenumberEnd: 720
    functionName: tcp_recv_success
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dispatch_log
    - dns_message_peekheader
    - isc_buffer_add
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    - isc_buffer_init
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tcp_recv_success(dns_dispatch_t *disp, isc_region_t *region,\n\t\t
      dns_dispentry_t **respp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:725,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:726,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:727,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:728,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: 731
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 731
    functionName: tcp_recv_add
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dispentry_ref
    - INSIST
    - ISC_LIST_APPEND
    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:739,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:740,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: 743
      start: 733
    functionDepth: 2
    functionLinenumber: 733
    functionLinenumberEnd: 743
    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:747,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:748,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:750,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:750,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:751,1
    - Dst: response
      Src: /src/bind9/lib/dns/dispatch.c:752,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - resps
    - region
    argTypes:
    - dns_displist_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 745
    functionDepth: 4
    functionLinenumber: 745
    functionLinenumberEnd: 755
    functionName: tcp_recv_processall
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - response
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    - dispentry_log
    - dns_dispentry_detach
    - isc_result_totext
    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:781,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:781,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:783,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:783,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:784,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:787,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:787,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:789,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/dns/dispatch.c:791,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:793,1
    - Dst: tcp_recv_oldest
      Src: /src/bind9/lib/dns/dispatch.c:802,1
    - Dst: tcp_recv_success
      Src: /src/bind9/lib/dns/dispatch.c:806,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:814,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dispatch.c:835,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:837,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/dispatch.c:840,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:843,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:845,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:865,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:866,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:866,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:868,1
    - Dst: tcp_recv_shutdown
      Src: /src/bind9/lib/dns/dispatch.c:869,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:872,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:873,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:876,1
    - Dst: tcp_recv_shutdown
      Src: /src/bind9/lib/dns/dispatch.c:877,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dispatch.c:884,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:887,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:888,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:890,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:892,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:896,1
    - Dst: tcp_recv_processall
      Src: /src/bind9/lib/dns/dispatch.c:901,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:903,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: 904
      start: 770
    functionDepth: 5
    functionLinenumber: 770
    functionLinenumberEnd: 904
    functionName: tcp_recv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dispatch_log
    - INSIST
    - VALID_DISPATCH
    - tcp_recv_add
    - ISC_LOG_DEBUG
    - dns_dispatch_detach
    - isc_sockaddr_format
    - tcp_startrecv
    - tcp_recv_success
    - tcp_recv_oldest
    - rcu_read_unlock
    - ISC_LIST_NEXT
    - isc_loop_now
    - tcp_recv_processall
    - tcp_recv_shutdown
    - isc_result_totext
    - dispentry_runtime
    - ISC_LIST_HEAD
    - isc_tid
    - rcu_read_lock
    - isc_nmhandle_peeraddr
    - isc_nmhandle_settimeout
    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_getportrange
      Src: /src/bind9/lib/dns/dispatch.c:916,1
    - Dst: isc_portset_create
      Src: /src/bind9/lib/dns/dispatch.c:918,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/lib/dns/dispatch.c:919,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: 920
      start: 912
    functionDepth: 3
    functionLinenumber: 912
    functionLinenumberEnd: 920
    functionName: create_default_portset
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_portset_create
    - isc_portset_addrange
    - isc_net_getportrange
    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:928,1
    - Dst: isc_portset_nports
      Src: /src/bind9/lib/dns/dispatch.c:929,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dispatch.c:933,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dispatch.c:937,1
    - Dst: isc_portset_isset
      Src: /src/bind9/lib/dns/dispatch.c:941,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:942,1
    - Dst: isc_portset_isset
      Src: /src/bind9/lib/dns/dispatch.c:945,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:946,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:950,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:953,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:960,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: 967
      start: 922
    functionDepth: 2
    functionLinenumber: 922
    functionLinenumberEnd: 967
    functionName: setavailports
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 3
    functionsReached:
    - isc_mem_cput
    - isc_mem_cget
    - INSIST
    - isc_portset_isset
    - isc_portset_nports
    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:979,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:980,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:982,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/dispatch.c:985,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dispatch.c:989,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dispatch.c:992,1
    - Dst: isc_mem_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: 21
    argCount: 2
    argNames:
    - mctx
    - mgrp
    argTypes:
    - isc_mem_t*
    - dns_dispatchmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 973
    functionDepth: 4
    functionLinenumber: 973
    functionLinenumberEnd: 1019
    functionName: dns_dispatchmgr_create
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 17
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_cget
    - isc_mem_get
    - cds_lfht_new
    - fprintf
    - isc_loopmgr_nloops
    - setavailports
    - create_default_portset
    - isc_portset_destroy
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dispatchmgr_create(isc_mem_t *mctx, 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
    - REQUIRE
    - VALID_DISPATCHMGR
    - dns_acl_detach
    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:
    - REQUIRE
    - VALID_DISPATCHMGR
    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:
    - REQUIRE
    - VALID_DISPATCHMGR
    - setavailports
    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_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:1081,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - mgr
    argTypes:
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1082
      start: 1049
    functionDepth: 2
    functionLinenumber: 1049
    functionLinenumberEnd: 1082
    functionName: dispatchmgr_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dns_acl_detach
    - REQUIRE
    - isc_mem_cput
    - isc_stats_detach
    - RUNTIME_CHECK
    - isc_mem_putanddetach
    - VALID_DISPATCHMGR
    - cds_lfht_destroy
    - 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:1086,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1086,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1087,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/dispatch.c:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mgr
    - stats
    argTypes:
    - dns_dispatchmgr_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1084
    functionDepth: 2
    functionLinenumber: 1084
    functionLinenumberEnd: 1090
    functionName: dns_dispatchmgr_setstats
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_DISPATCHMGR
    - 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:1100,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1101,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:1108,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dispatch.c:1117,1
    - Dst: dns_dispatchmgr_attach
      Src: /src/bind9/lib/dns/dispatch.c:1119,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dispatch.c:1121,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dispatch.c:1124,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: 1127
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1127
    functionName: dispatch_allocate
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - fprintf
    - VALID_DISPATCHMGR
    - dns_dispatchmgr_attach
    - isc_refcount_init
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32_init
      Src: /src/bind9/lib/dns/dispatch.c:1140,1
    - Dst: isc_sockaddr_hash_ex
      Src: /src/bind9/lib/dns/dispatch.c:1142,1
    - Dst: isc_sockaddr_hash_ex
      Src: /src/bind9/lib/dns/dispatch.c:1144,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/dispatch.c:1148,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/dispatch.c:1150,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/dispatch.c:1152,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - struct dispatch_key*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1136
    functionDepth: 2
    functionLinenumber: 1136
    functionLinenumberEnd: 1153
    functionName: dispatch_hash
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_hash32_finalize
    - isc_sockaddr_hash_ex
    - isc_hash32_init
    - isc_hash32_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:1157,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:1162,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/dispatch.c:1164,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1155
    functionDepth: 2
    functionLinenumber: 1155
    functionLinenumberEnd: 1165
    functionName: dispatch_match
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - caa_container_of
    linkageType: ''
    returnType: int
    signature: int dispatch_match(struct cds_lfht_node *node, const void *key0)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1176,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1176,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1178,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1187,1
    - Dst: cds_lfht_for_each_entry_duplicate
      Src: /src/bind9/lib/dns/dispatch.c:1190,1
    - Dst: dispatch_hash
      Src: /src/bind9/lib/dns/dispatch.c:1190,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1193,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1193,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1194,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:1202,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:1207,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1214,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1221,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1225,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:1233,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 6
    argNames:
    - mgr
    - localaddr
    - destaddr
    - transport
    - disptype
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - dns_dispatchtype_t
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1167
    functionDepth: 3
    functionLinenumber: 1167
    functionLinenumberEnd: 1242
    functionName: dispatch_gettcp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_dispatch_attach
    - INSIST
    - rcu_read_unlock
    - dispatch_hash
    - isc_tid
    - rcu_read_lock
    - VALID_DISPATCHMGR
    - cds_lfht_for_each_entry_duplicate
    - dns_dispatch_detach
    - UNREACHABLE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dispatch_gettcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t
      *localaddr,\n\t\tconst isc_sockaddr_t *destaddr, dns_transport_t *transport,\n\t\tdns_dispatchtype_t
      disptype, dns_dispatch_t **dispp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1250,1
    - Dst: dispatch_allocate
      Src: /src/bind9/lib/dns/dispatch.c:1252,1
    - Dst: isc_random16
      Src: /src/bind9/lib/dns/dispatch.c:1255,1
    - Dst: dns_transport_attach
      Src: /src/bind9/lib/dns/dispatch.c:1259,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/dispatch.c:1266,1
    - Dst: isc_sockaddr_anyofpf
      Src: /src/bind9/lib/dns/dispatch.c:1267,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/dispatch.c:1268,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1281,1
    - Dst: cds_lfht_add
      Src: /src/bind9/lib/dns/dispatch.c:1282,1
    - Dst: dispatch_hash
      Src: /src/bind9/lib/dns/dispatch.c:1282,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 7
    argNames:
    - mgr
    - localaddr
    - destaddr
    - transport
    - disptype
    - options
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - dns_dispatchtype_t
    - dns_dispatchopt_t
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1288
      start: 1244
    functionDepth: 3
    functionLinenumber: 1244
    functionLinenumberEnd: 1288
    functionName: dispatch_createtcp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 6
    functionsReached:
    - isc_sockaddr_setport
    - isc_sockaddr_anyofpf
    - rcu_read_unlock
    - dispatch_hash
    - isc_tid
    - rcu_read_lock
    - isc_sockaddr_pf
    - dns_transport_attach
    - isc_random16
    - dispatch_allocate
    - cds_lfht_add
    linkageType: ''
    returnType: void
    signature: "void dispatch_createtcp(dns_dispatchmgr_t *mgr, const isc_sockaddr_t
      *localaddr,\n\t\t   const isc_sockaddr_t *destaddr, dns_transport_t *transport,\n\t\t
      \  dns_dispatchtype_t disptype, dns_dispatchopt_t options,\n\t\t   dns_dispatch_t
      **dispp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1295,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1295,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1296,1
    - Dst: dispatch_gettcp
      Src: /src/bind9/lib/dns/dispatch.c:1303,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:1306,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1309,1
    - Dst: mgr_log
      Src: /src/bind9/lib/dns/dispatch.c:1312,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1312,1
    - Dst: dispatch_createtcp
      Src: /src/bind9/lib/dns/dispatch.c:1326,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:1329,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1332,1
    - Dst: mgr_log
      Src: /src/bind9/lib/dns/dispatch.c:1335,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 7
    argNames:
    - mgr
    - localaddr
    - destaddr
    - transport
    - disptype
    - options
    - dispp
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - dns_dispatchtype_t
    - dns_dispatchopt_t
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1290
    functionDepth: 4
    functionLinenumber: 1290
    functionLinenumberEnd: 1342
    functionName: dns_dispatch_createtcp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - dispatch_gettcp
    - mgr_log
    - dispatch_createtcp
    - VALID_DISPATCHMGR
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - isc_sockaddr_format
    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_dispatchtype_t disptype,\n\t\t       dns_dispatchopt_t
      options, dns_dispatch_t **dispp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1350,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1352,1
    - Dst: dispatch_createudp
      Src: /src/bind9/lib/dns/dispatch.c:1354,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1354,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: 1360
      start: 1344
    functionDepth: 1
    functionLinenumber: 1344
    functionLinenumberEnd: 1360
    functionName: dns_dispatch_createudp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 10
    functionsReached:
    - isc_tid
    - REQUIRE
    - VALID_DISPATCHMGR
    - dispatch_createudp
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_anyofpf
      Src: /src/bind9/lib/dns/dispatch.c:1372,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/dispatch.c:1372,1
    - Dst: isc_sockaddr_eqaddr
      Src: /src/bind9/lib/dns/dispatch.c:1373,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dispatch.c:1374,1
    - Dst: isc_nm_checkaddr
      Src: /src/bind9/lib/dns/dispatch.c:1374,1
    - Dst: dispatch_allocate
      Src: /src/bind9/lib/dns/dispatch.c:1377,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:1379,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1382,1
    - Dst: mgr_log
      Src: /src/bind9/lib/dns/dispatch.c:1384,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1384,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    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: 1401
      start: 1362
    functionDepth: 3
    functionLinenumber: 1362
    functionLinenumberEnd: 1401
    functionName: dispatch_createudp
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 11
    functionsReached:
    - dispatch_allocate
    - isc_nm_checkaddr
    - isc_sockaddr_eqaddr
    - mgr_log
    - isc_log_wouldlog
    - RETERR
    - ISC_LOG_DEBUG
    - isc_sockaddr_pf
    - isc_sockaddr_format
    - isc_sockaddr_anyofpf
    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:1405,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1409
    functionName: dispatch_destroy_rcu
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - caa_container_of
    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:1414,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/dispatch.c:1421,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1424,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1425,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1425,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1426,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1426,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:1428,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1428,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:1431,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1431,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/dns/dispatch.c:1434,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/dispatch.c:1437,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/dispatch.c:1439,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/dispatch.c:1441,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - disp
    argTypes:
    - dns_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1442
      start: 1411
    functionDepth: 3
    functionLinenumber: 1411
    functionLinenumberEnd: 1442
    functionName: dispatch_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dispatch_log
    - dns_transport_detach
    - INSIST
    - isc_nmhandle_detach
    - ISC_LIST_EMPTY
    - isc_tid
    - ISC_LOG_DEBUG
    - dns_dispatchmgr_detach
    - cds_lfht_del
    - call_rcu
    linkageType: ''
    returnType: void
    signature: void dispatch_destroy(dns_dispatch_t *disp)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1458,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1458,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1459,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1461,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1462,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1466,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1467,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1468,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1468,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1469,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/dispatch.c:1475,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:1476,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dispatch.c:1494,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dispatch.c:1497,1
    - Dst: setup_socket
      Src: /src/bind9/lib/dns/dispatch.c:1500,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dispatch.c:1503,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/dispatch.c:1504,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1510,1
    - Dst: isc_random16
      Src: /src/bind9/lib/dns/dispatch.c:1536,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/dispatch.c:1538,1
    - Dst: qid_hash
      Src: /src/bind9/lib/dns/dispatch.c:1539,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dispatch.c:1558,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1559,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dispatch.c:1563,1
    - Dst: dns_transport_attach
      Src: /src/bind9/lib/dns/dispatch.c:1566,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/dispatch.c:1570,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:1573,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/dispatch.c:1587,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1587,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/dispatch.c:1590,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1594,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    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: 1600
      start: 1450
    functionDepth: 3
    functionLinenumber: 1450
    functionLinenumberEnd: 1600
    functionName: dns_dispatch_add
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 9
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_put
    - qid_hash
    - setup_socket
    - fprintf
    - VALID_DISPATCH
    - cds_lfht_del
    - isc_tlsctx_cache_attach
    - dns_dispatch_attach
    - isc_sockaddr_getport
    - cds_lfht_add_unique
    - rcu_read_unlock
    - inc_stats
    - isc_tid
    - rcu_read_lock
    - dns_transport_attach
    - isc_refcount_init
    - isc_mem_get
    - isc_random16
    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:1604,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1604,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1605,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1605,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1611,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1611,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:1614,1
    - Dst: dispentry_runtime
      Src: /src/bind9/lib/dns/dispatch.c:1615,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1621,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1621,1
    - Dst: udp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:1624,1
    - Dst: tcp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:1627,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1630,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1602
    functionDepth: 4
    functionLinenumber: 1602
    functionLinenumberEnd: 1634
    functionName: dns_dispatch_getnext
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - dispentry_runtime
    - VALID_RESPONSE
    - VALID_DISPATCH
    - isc_tid
    - isc_loop_now
    - ISC_LOG_DEBUG
    - tcp_dispatch_getnext
    - dispentry_log
    - UNREACHABLE
    - udp_dispatch_getnext
    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:1641,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1641,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1642,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1642,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1643,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1643,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1648,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1648,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1649,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1649,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1652,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1652,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1654,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:1658,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1659,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1672,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1672,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/lib/dns/dispatch.c:1674,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1682,1
    - Dst: dec_stats
      Src: /src/bind9/lib/dns/dispatch.c:1685,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/dispatch.c:1687,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1693,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1693,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1694,1
    - Dst: dns_dispentry_t*::response
      Src: /src/bind9/lib/dns/dispatch.c:1695,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - resp
    - result
    argTypes:
    - dns_dispentry_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1697
      start: 1639
    functionDepth: 4
    functionLinenumber: 1639
    functionLinenumberEnd: 1697
    functionName: udp_dispentry_cancel
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_dispentry_t*::response
    - VALID_RESPONSE
    - ISC_LINK_LINKED
    - isc_nm_cancelread
    - dec_stats
    - VALID_DISPATCH
    - isc_tid
    - VALID_DISPATCHMGR
    - ISC_LOG_DEBUG
    - dispentry_log
    - cds_lfht_del
    - UNREACHABLE
    - state2str
    - isc_result_totext
    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:1704,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1704,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1705,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1705,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1706,1
    - Dst: VALID_DISPATCHMGR
      Src: /src/bind9/lib/dns/dispatch.c:1706,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1711,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1711,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1712,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1712,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1715,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1715,1
    - Dst: state2str
      Src: /src/bind9/lib/dns/dispatch.c:1717,1
    - Dst: tcp_recv_add
      Src: /src/bind9/lib/dns/dispatch.c:1730,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1733,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/dispatch.c:1733,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/dispatch.c:1735,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1736,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/dns/dispatch.c:1755,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:1756,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1759,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1759,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:1762,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1766,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1766,1
    - Dst: isc_nm_cancelread
      Src: /src/bind9/lib/dns/dispatch.c:1769,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1779,1
    - Dst: dec_stats
      Src: /src/bind9/lib/dns/dispatch.c:1782,1
    - Dst: tcp_recv_processall
      Src: /src/bind9/lib/dns/dispatch.c:1796,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - resp
    - result
    argTypes:
    - dns_dispentry_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1797
      start: 1702
    functionDepth: 5
    functionLinenumber: 1702
    functionLinenumberEnd: 1797
    functionName: tcp_dispentry_cancel
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - ISC_LINK_LINKED
    - VALID_DISPATCH
    - tcp_recv_add
    - ISC_LOG_DEBUG
    - tcp_startrecv
    - tcp_recv_processall
    - isc_result_totext
    - VALID_RESPONSE
    - isc_nm_cancelread
    - ISC_LIST_EMPTY
    - dec_stats
    - isc_tid
    - VALID_DISPATCHMGR
    - UNREACHABLE
    - isc_nmhandle_settimeout
    - dispentry_log
    - state2str
    - isc_nmhandle_cleartimeout
    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:1801,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1801,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1802,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1802,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/dispatch.c:1806,1
    - Dst: udp_dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:1809,1
    - Dst: tcp_dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:1812,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1815,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/dispatch.c:1817,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - resp
    - result
    argTypes:
    - dns_dispentry_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1818
      start: 1799
    functionDepth: 6
    functionLinenumber: 1799
    functionLinenumberEnd: 1818
    functionName: dispentry_cancel
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - udp_dispentry_cancel
    - tcp_dispentry_cancel
    - VALID_RESPONSE
    - rcu_read_unlock
    - VALID_DISPATCH
    - rcu_read_lock
    - UNREACHABLE
    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:1822,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1822,1
    - Dst: dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:1827,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:1828,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - respp
    argTypes:
    - dns_dispentry_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1820
    functionDepth: 7
    functionLinenumber: 1820
    functionLinenumberEnd: 1829
    functionName: dns_dispatch_done
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - dispentry_cancel
    - REQUIRE
    - VALID_RESPONSE
    - dns_dispentry_detach
    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:1833,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:1833,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1835,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1835,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:1837,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:1838,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1839,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1839,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:1840,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - handle
    - resp
    argTypes:
    - isc_nmhandle_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1842
      start: 1831
    functionDepth: 8
    functionLinenumber: 1831
    functionLinenumberEnd: 1842
    functionName: udp_startrecv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_nm_read
    - VALID_RESPONSE
    - ISC_LOG_DEBUG
    - dispentry_log
    - isc_nmhandle_attach
    - dns_dispentry_ref
    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:1846,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:1846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1847,1
    - Dst: dns_dispatch_ref
      Src: /src/bind9/lib/dns/dispatch.c:1849,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1851,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1851,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1853,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/dispatch.c:1853,1
    - Dst: dispatch_log
      Src: /src/bind9/lib/dns/dispatch.c:1855,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1855,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:1859,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - disp
    - resp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1861
      start: 1844
    functionDepth: 8
    functionLinenumber: 1844
    functionLinenumberEnd: 1861
    functionName: tcp_startrecv
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dispatch_log
    - isc_nm_read
    - INSIST
    - VALID_DISPATCH
    - dns_dispatch_ref
    - ISC_LOG_DEBUG
    - isc_time_isepoch
    - dispentry_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:1866,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1866,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1867,1
    - Dst: dns_dispentry_t*::connected
      Src: /src/bind9/lib/dns/dispatch.c:1869,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:1870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1863
    functionDepth: 4
    functionLinenumber: 1863
    functionLinenumberEnd: 1871
    functionName: resp_connected
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dns_dispentry_t*::connected
    - ISC_LOG_DEBUG
    - dispentry_log
    - dns_dispentry_detach
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void resp_connected(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/dispatch.c:1878,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/dns/dispatch.c:1882,1
    - Dst: isc_nmhandle_peeraddr
      Src: /src/bind9/lib/dns/dispatch.c:1883,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1885,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1887,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1890,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:1892,1
    - Dst: dispatch_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:1898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1901,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1901,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:1902,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dispatch.c:1908,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1909,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:1910,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:1917,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1919,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1919,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dispatch.c:1926,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:1932,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/dns/dispatch.c:1933,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:1935,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:1937,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1943,1
    - Dst: resp_connected
      Src: /src/bind9/lib/dns/dispatch.c:1945,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:1948,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: 1949
      start: 1873
    functionDepth: 9
    functionLinenumber: 1873
    functionLinenumberEnd: 1949
    functionName: tcp_connected
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - dispatch_log
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LOG_DEBUG
    - dns_dispatch_detach
    - isc_sockaddr_format
    - tcp_startrecv
    - isc_result_totext
    - ISC_LIST_HEAD
    - isc_tid
    - isc_nmhandle_peeraddr
    - isc_log_wouldlog
    - resp_connected
    - ISC_LIST_APPEND
    - isc_nmhandle_settimeout
    - ISC_LIST_FOREACH
    - dispentry_log
    - isc_nmhandle_attach
    - isc_nmhandle_localaddr
    - isc_nmhandle_cleartimeout
    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:1943,1
    - Dst: resp_connected
      Src: /src/bind9/lib/dns/dispatch.c:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1946
      start: 1942
    functionDepth: 5
    functionLinenumber: 1942
    functionLinenumberEnd: 1946
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 173
    functionsReached:
    - ISC_LIST_UNLINK
    - resp_connected
    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:1956,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1956,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:1957,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:1959,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:1959,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1963,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dispatch.c:1966,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:1969,1
    - Dst: udp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:1977,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/dispatch.c:1981,1
    - Dst: setup_socket
      Src: /src/bind9/lib/dns/dispatch.c:1985,1
    - Dst: udp_dispatch_connect
      Src: /src/bind9/lib/dns/dispatch.c:1987,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:1999,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:1999,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:2000,1
    - Dst: dns_dispentry_t*::connected
      Src: /src/bind9/lib/dns/dispatch.c:2001,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:2004,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: 2005
      start: 1951
    functionDepth: 9
    functionLinenumber: 1951
    functionLinenumberEnd: 2005
    functionName: udp_connected
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_sockaddr_getport
    - setup_socket
    - dns_dispentry_t*::connected
    - udp_startrecv
    - isc_tid
    - ISC_LOG_DEBUG
    - dispentry_log
    - dns_dispentry_detach
    - UNREACHABLE
    - udp_dispatch_connect
    - isc_result_totext
    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:2009,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:2009,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:2011,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2012,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2013,1
    - Dst: isc_nm_udpconnect
      Src: /src/bind9/lib/dns/dispatch.c:2015,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - disp
    - resp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2007
    functionDepth: 3
    functionLinenumber: 2007
    functionLinenumberEnd: 2017
    functionName: udp_dispatch_connect
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_APPEND
    - isc_tid
    - isc_loop_now
    - isc_nm_udpconnect
    - dns_dispentry_ref
    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:2024,1
    - Dst: isc_tls_valid_sni_hostname
      Src: /src/bind9/lib/dns/dispatch.c:2031,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2036
      start: 2019
    functionDepth: 2
    functionLinenumber: 2019
    functionLinenumberEnd: 2036
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/dispatch.c:2045,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dispatch.c:2049,1
    - Dst: dns_transport_get_tlsctx
      Src: /src/bind9/lib/dns/dispatch.c:2049,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2056,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:2056,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:2062,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2063,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2064,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:2069,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/dispatch.c:2071,1
    - Dst: dns_dispatch_ref
      Src: /src/bind9/lib/dns/dispatch.c:2074,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2075,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2075,1
    - Dst: get_tls_sni_hostname
      Src: /src/bind9/lib/dns/dispatch.c:2079,1
    - Dst: isc_nm_streamdnsconnect
      Src: /src/bind9/lib/dns/dispatch.c:2081,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:2090,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2091,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2092,1
    - Dst: isc_loop_now
      Src: /src/bind9/lib/dns/dispatch.c:2097,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2100,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2101,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2101,1
    - Dst: isc_nmhandle_cleartimeout
      Src: /src/bind9/lib/dns/dispatch.c:2107,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:2109,1
    - Dst: tcp_startrecv
      Src: /src/bind9/lib/dns/dispatch.c:2112,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2116,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/dispatch.c:2117,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2121,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 48
    argCount: 2
    argNames:
    - disp
    - resp
    argTypes:
    - dns_dispatch_t*
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2125
      start: 2038
    functionDepth: 9
    functionLinenumber: 2038
    functionLinenumberEnd: 2125
    functionName: tcp_dispatch_connect
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - RETERR
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - tcp_startrecv
    - dns_dispentry_ref
    - isc_loop_now
    - dns_dispatch_ref
    - dns_transport_get_type
    - isc_tid
    - dns_transport_get_tlsctx
    - UNREACHABLE
    - get_tls_sni_hostname
    - ISC_LIST_APPEND
    - isc_nmhandle_settimeout
    - isc_async_run
    - dispentry_log
    - isc_nm_streamdnsconnect
    - isc_nmhandle_cleartimeout
    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:2129,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2130,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2130,1
    - Dst: tcp_dispatch_connect
      Src: /src/bind9/lib/dns/dispatch.c:2136,1
    - Dst: udp_dispatch_connect
      Src: /src/bind9/lib/dns/dispatch.c:2139,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2143,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - resp
    argTypes:
    - dns_dispentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2145
      start: 2127
    functionDepth: 10
    functionLinenumber: 2127
    functionLinenumberEnd: 2145
    functionName: dns_dispatch_connect
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - tcp_dispatch_connect
    - VALID_RESPONSE
    - VALID_DISPATCH
    - UNREACHABLE
    - udp_dispatch_connect
    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:2151,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2155,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2155,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2157,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2157,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dispatch.c:2158,1
    - Dst: dns_dispentry_t*::sent
      Src: /src/bind9/lib/dns/dispatch.c:2160,1
    - Dst: dispentry_cancel
      Src: /src/bind9/lib/dns/dispatch.c:2163,1
    - Dst: dns_dispentry_detach
      Src: /src/bind9/lib/dns/dispatch.c:2166,1
    - Dst: isc_nmhandle_detach
      Src: /src/bind9/lib/dns/dispatch.c:2167,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: 2168
      start: 2147
    functionDepth: 7
    functionLinenumber: 2147
    functionLinenumberEnd: 2168
    functionName: send_done
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dispentry_cancel
    - VALID_RESPONSE
    - isc_nmhandle_detach
    - VALID_DISPATCH
    - ISC_LOG_DEBUG
    - dispentry_log
    - dns_dispentry_detach
    - dns_dispentry_t*::sent
    - isc_result_totext
    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:2173,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2173,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dispatch.c:2176,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2185,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:2186,1
    - Dst: dns_dispatch_ref
      Src: /src/bind9/lib/dns/dispatch.c:2189,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:2190,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: 2192
      start: 2170
    functionDepth: 8
    functionLinenumber: 2170
    functionLinenumberEnd: 2192
    functionName: tcp_dispatch_getnext
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - isc_nm_read
    - INSIST
    - ISC_LIST_APPEND
    - isc_nmhandle_settimeout
    - dns_dispatch_ref
    - ISC_LOG_DEBUG
    - dispentry_log
    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:2201,1
    - Dst: isc_nmhandle_settimeout
      Src: /src/bind9/lib/dns/dispatch.c:2202,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2205,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2205,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2207,1
    - Dst: isc_nm_read
      Src: /src/bind9/lib/dns/dispatch.c:2208,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - resp
    - timeout
    argTypes:
    - dns_dispentry_t*
    - int64_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2194
    functionDepth: 8
    functionLinenumber: 2194
    functionLinenumberEnd: 2210
    functionName: udp_dispatch_getnext
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - isc_nm_read
    - INSIST
    - isc_nmhandle_settimeout
    - ISC_LOG_DEBUG
    - dispentry_log
    - dns_dispentry_ref
    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:2214,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2215,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2215,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2219,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2221,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/dispatch.c:2221,1
    - Dst: udp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:2224,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2228,1
    - Dst: tcp_dispatch_getnext
      Src: /src/bind9/lib/dns/dispatch.c:2230,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 2
    argNames:
    - resp
    - timeout
    argTypes:
    - dns_dispentry_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2235
      start: 2212
    functionDepth: 9
    functionLinenumber: 2212
    functionLinenumberEnd: 2235
    functionName: dns_dispatch_resume
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - VALID_RESPONSE
    - VALID_DISPATCH
    - isc_tid
    - ISC_LOG_DEBUG
    - tcp_dispatch_getnext
    - dispentry_log
    - UNREACHABLE
    - udp_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:2239,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2239,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2240,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2240,1
    - Dst: dispentry_log
      Src: /src/bind9/lib/dns/dispatch.c:2245,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dispatch.c:2245,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:2248,1
    - Dst: isc_nmhandle_attach
      Src: /src/bind9/lib/dns/dispatch.c:2251,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2254,1
    - Dst: dns_dispentry_ref
      Src: /src/bind9/lib/dns/dispatch.c:2256,1
    - Dst: isc_nm_send
      Src: /src/bind9/lib/dns/dispatch.c:2257,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - resp
    - r
    argTypes:
    - dns_dispentry_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2237
    functionDepth: 6
    functionLinenumber: 2237
    functionLinenumberEnd: 2258
    functionName: dns_dispatch_send
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESPONSE
    - isc_nm_send
    - VALID_DISPATCH
    - ISC_LOG_DEBUG
    - dispentry_log
    - isc_nmhandle_attach
    - UNREACHABLE
    - dns_dispentry_ref
    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:2262,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - disp
    - addrp
    argTypes:
    - dns_dispatch_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2270
      start: 2260
    functionDepth: 1
    functionLinenumber: 2260
    functionLinenumberEnd: 2270
    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:2274,1
    - Dst: VALID_RESPONSE
      Src: /src/bind9/lib/dns/dispatch.c:2274,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2275,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2275,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2276,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/dns/dispatch.c:2282,1
    - Dst: isc_nmhandle_localaddr
      Src: /src/bind9/lib/dns/dispatch.c:2285,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dispatch.c:2288,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - resp
    - addrp
    argTypes:
    - dns_dispentry_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2290
      start: 2272
    functionDepth: 2
    functionLinenumber: 2272
    functionLinenumberEnd: 2290
    functionName: dns_dispentry_getlocaladdress
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_RESPONSE
    - VALID_DISPATCH
    - isc_nmhandle_localaddr
    - UNREACHABLE
    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:2294,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dispatch.c:2301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - dset
    argTypes:
    - dns_dispatchset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2304
      start: 2292
    functionDepth: 1
    functionLinenumber: 2292
    functionLinenumberEnd: 2304
    functionName: dns_dispatchset_get
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - isc_tid
    - INSIST
    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:2314,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2314,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dispatch.c:2316,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dispatch.c:2320,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dispatch.c:2323,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/dispatch.c:2325,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/dispatch.c:2329,1
    - Dst: dispatch_createudp
      Src: /src/bind9/lib/dns/dispatch.c:2332,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:2345,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:2347,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:2350,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: 2352
      start: 2306
    functionDepth: 4
    functionLinenumber: 2306
    functionLinenumberEnd: 2352
    functionName: dns_dispatchset_create
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_dispatch_attach
    - isc_mem_cget
    - isc_mem_cput
    - isc_mem_get
    - VALID_DISPATCH
    - isc_mem_putanddetach
    - dns_dispatch_detach
    - dispatch_createudp
    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:2356,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/dispatch.c:2362,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/dispatch.c:2364,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dispatch.c:2366,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dsetp
    argTypes:
    - dns_dispatchset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2367
      start: 2354
    functionDepth: 1
    functionLinenumber: 2354
    functionLinenumberEnd: 2367
    functionName: dns_dispatchset_destroy
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - isc_mem_cput
    - dns_dispatch_detach
    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:2371,1
    - Dst: VALID_DISPATCH
      Src: /src/bind9/lib/dns/dispatch.c:2371,1
    - Dst: isc_nm_xfr_checkperm
      Src: /src/bind9/lib/dns/dispatch.c:2377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - disp
    argTypes:
    - dns_dispatch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2378
      start: 2369
    functionDepth: 2
    functionLinenumber: 2369
    functionLinenumberEnd: 2378
    functionName: dns_dispatch_checkperm
    functionSourceFile: /src/bind9/lib/dns/dispatch.c
    functionUses: 0
    functionsReached:
    - VALID_DISPATCH
    - REQUIRE
    - isc_nm_xfr_checkperm
    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: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 76
    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:91,1
    - Dst: EVP_PKEY_new_raw_public_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:93,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:96,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: 101
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 101
    functionName: raw_key_to_ossl
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_PKEY_new_raw_public_key
    - dst__openssl_toresult
    - EVP_PKEY_new_raw_private_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:110,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:113,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/openssleddsa_link.c:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 106
    functionDepth: 3
    functionLinenumber: 106
    functionLinenumberEnd: 119
    functionName: openssleddsa_createctx
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - isc_buffer_allocate
    - REQUIRE
    - UNUSED
    - openssleddsa_alg_info
    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:125,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:127,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:129,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 132
    functionName: openssleddsa_destroyctx
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - openssleddsa_alg_info
    - isc_buffer_free
    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:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:144,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:146,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/dns/openssleddsa_link.c:151,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/openssleddsa_link.c:152,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:153,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:154,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:155,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 134
    functionDepth: 3
    functionLinenumber: 134
    functionLinenumberEnd: 160
    functionName: openssleddsa_adddata
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - openssleddsa_alg_info
    - isc_buffer_length
    - isc_buffer_copyregion
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    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:169,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:174,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:181,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:183,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:186,1
    - Dst: EVP_DigestSignInit
      Src: /src/bind9/lib/dns/openssleddsa_link.c:188,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:189,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:189,1
    - Dst: EVP_DigestSign
      Src: /src/bind9/lib/dns/openssleddsa_link.c:192,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:195,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:195,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/openssleddsa_link.c:198,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:202,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:203,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 162
    functionDepth: 3
    functionLinenumber: 162
    functionLinenumberEnd: 207
    functionName: openssleddsa_sign
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_free
    - EVP_DigestSign
    - openssleddsa_alg_info
    - isc_buffer_add
    - isc_buffer_availableregion
    - isc_buffer_usedregion
    - EVP_MD_CTX_new
    - dst__openssl_toresult3
    - isc_buffer_free
    - EVP_DigestSignInit
    - CLEANUP
    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:216,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:220,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:223,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:227,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:230,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/bind9/lib/dns/openssleddsa_link.c:232,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:233,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:233,1
    - Dst: EVP_DigestVerify
      Src: /src/bind9/lib/dns/openssleddsa_link.c:237,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:245,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/openssleddsa_link.c:248,1
    - Dst: EVP_MD_CTX_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:255,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:256,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 260
    functionName: openssleddsa_verify
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_free
    - openssleddsa_alg_info
    - EVP_DigestVerifyInit
    - EVP_DigestVerify
    - isc_buffer_usedregion
    - EVP_MD_CTX_new
    - dst__openssl_toresult3
    - isc_buffer_free
    - dst__openssl_toresult
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_verify(dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:267,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:270,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:271,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:272,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/openssleddsa_link.c:277,1
    - Dst: isc_ossl_wrap_generate_pkcs11_ed25519_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:277,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/openssleddsa_link.c:282,1
    - Dst: isc_ossl_wrap_generate_pkcs11_ed448_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:282,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:287,1
    - Dst: EVP_PKEY_CTX_new_id
      Src: /src/bind9/lib/dns/openssleddsa_link.c:295,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/openssleddsa_link.c:297,1
    - Dst: EVP_PKEY_keygen_init
      Src: /src/bind9/lib/dns/openssleddsa_link.c:301,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:303,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/openssleddsa_link.c:303,1
    - Dst: EVP_PKEY_keygen
      Src: /src/bind9/lib/dns/openssleddsa_link.c:307,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:309,1
    - Dst: dst__openssl_toresult2
      Src: /src/bind9/lib/dns/openssleddsa_link.c:309,1
    - Dst: EVP_PKEY_CTX_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:319,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 40
    argCount: 2
    argNames:
    - key
    - unused
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 321
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 321
    functionName: openssleddsa_generate
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_ossl_wrap_generate_pkcs11_ed25519_key
    - openssleddsa_alg_info
    - EVP_PKEY_keygen
    - EVP_PKEY_CTX_free
    - isc_ossl_wrap_generate_pkcs11_ed448_key
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen_init
    - RETERR
    - dst__openssl_toresult2
    - UNREACHABLE
    - CLEANUP
    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:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:331,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:334,1
    - Dst: EVP_PKEY_get_raw_public_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:339,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:340,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/openssleddsa_link.c:343,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 323
    functionDepth: 2
    functionLinenumber: 323
    functionLinenumberEnd: 345
    functionName: openssleddsa_todns
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - openssleddsa_alg_info
    - isc_buffer_add
    - isc_buffer_availableregion
    - dst__openssl_toresult
    - EVP_PKEY_get_raw_public_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_todns(const dst_key_t *key, isc_buffer_t
      *data)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:354,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/openssleddsa_link.c:356,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/openssleddsa_link.c:362,1
    - Dst: raw_key_to_ossl
      Src: /src/bind9/lib/dns/openssleddsa_link.c:362,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/openssleddsa_link.c:364,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 347
    functionDepth: 2
    functionLinenumber: 347
    functionLinenumberEnd: 368
    functionName: openssleddsa_fromdns
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - openssleddsa_alg_info
    - raw_key_to_ossl
    - isc_buffer_forward
    - RETERR
    - isc_buffer_remainingregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_fromdns(dst_key_t *key, isc_buffer_t *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:372,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:379,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/openssleddsa_link.c:387,1
    - Dst: dst__openssl_keypair_isprivate
      Src: /src/bind9/lib/dns/openssleddsa_link.c:392,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/openssleddsa_link.c:394,1
    - Dst: EVP_PKEY_get_raw_private_key
      Src: /src/bind9/lib/dns/openssleddsa_link.c:395,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/openssleddsa_link.c:408,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:410,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssleddsa_link.c:410,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/openssleddsa_link.c:415,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/openssleddsa_link.c:422,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/openssleddsa_link.c:426,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 2
    argNames:
    - key
    - directory
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 429
    functionName: openssleddsa_tofile
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - openssleddsa_alg_info
    - isc_mem_put
    - isc_mem_get
    - dst__privstruct_writefile
    - EVP_PKEY_get_raw_private_key
    - strlen
    - ERR_clear_error
    - dst__openssl_keypair_isprivate
    - dst__openssl_toresult
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_tofile(const dst_key_t *key, const char *directory)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:433,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:442,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/openssleddsa_link.c:445,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/openssleddsa_link.c:445,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:449,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:452,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:458,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/openssleddsa_link.c:478,1
    - Dst: openssleddsa_fromlabel
      Src: /src/bind9/lib/dns/openssleddsa_link.c:478,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/openssleddsa_link.c:480,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:483,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:485,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:489,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/openssleddsa_link.c:493,1
    - Dst: raw_key_to_ossl
      Src: /src/bind9/lib/dns/openssleddsa_link.c:493,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/openssleddsa_link.c:496,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:497,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:507,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:508,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/openssleddsa_link.c:509,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 56
    argCount: 3
    argNames:
    - key
    - lexer
    - pub
    argTypes:
    - dst_key_t*
    - isc_lex_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 511
      start: 431
    functionDepth: 2
    functionLinenumber: 431
    functionLinenumberEnd: 511
    functionName: openssleddsa_parse
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - openssleddsa_alg_info
    - raw_key_to_ossl
    - dst__privstruct_parse
    - EVP_PKEY_eq
    - openssleddsa_fromlabel
    - dst__privstruct_free
    - isc_safe_memwipe
    - CHECK
    - EVP_PKEY_free
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_parse(dst_key_t *key, isc_lex_t *lexer, dst_key_t
      *pub)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:515,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/openssleddsa_link.c:519,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssleddsa_link.c:520,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/openssleddsa_link.c:522,1
    - Dst: dst__openssl_fromlabel
      Src: /src/bind9/lib/dns/openssleddsa_link.c:522,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/openssleddsa_link.c:525,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/openssleddsa_link.c:526,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:533,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:534,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 3
    argNames:
    - key
    - label
    - pin
    argTypes:
    - dst_key_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 536
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 536
    functionName: openssleddsa_fromlabel
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UNUSED
    - openssleddsa_alg_info
    - dst__openssl_fromlabel
    - isc_mem_strdup
    - EVP_PKEY_bits
    - CHECK
    - EVP_PKEY_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t openssleddsa_fromlabel(dst_key_t *key, const char *label,
      const char *pin)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/lib/dns/openssleddsa_link.c:585,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:595,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:605,1
    - Dst: openssleddsa_alg_info
      Src: /src/bind9/lib/dns/openssleddsa_link.c:613,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:616,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/openssleddsa_link.c:619,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/openssleddsa_link.c:620,1
    - Dst: raw_key_to_ossl
      Src: /src/bind9/lib/dns/openssleddsa_link.c:620,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/bind9/lib/dns/openssleddsa_link.c:625,1
    - Dst: EVP_DigestVerify
      Src: /src/bind9/lib/dns/openssleddsa_link.c:626,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssleddsa_link.c:629,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssleddsa_link.c:634,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/openssleddsa_link.c:637,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/openssleddsa_link.c:639,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 641
      start: 583
    functionDepth: 2
    functionLinenumber: 583
    functionLinenumberEnd: 641
    functionName: check_algorithm
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_MD_CTX_destroy
    - openssleddsa_alg_info
    - EVP_DigestVerifyInit
    - INSIST
    - raw_key_to_ossl
    - EVP_MD_CTX_create
    - EVP_DigestVerify
    - ERR_clear_error
    - CHECK
    - EVP_PKEY_free
    - CLEANUP
    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:645,1
    - Dst: check_algorithm
      Src: /src/bind9/lib/dns/openssleddsa_link.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - funcp
    - algorithm
    argTypes:
    - dst_func_t**
    - unsigned char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 643
    functionDepth: 1
    functionLinenumber: 643
    functionLinenumberEnd: 652
    functionName: dst__openssleddsa_init
    functionSourceFile: /src/bind9/lib/dns/openssleddsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - check_algorithm
    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: 7
    argNames:
    - (
    - lex
    - ','
    - opt
    - ','
    - token
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    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: 33
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 33
    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: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: STR
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STR(t)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/skr.c:50,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:53,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:54,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/skr.c:56,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/skr.c:57,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/skr.c:57,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/skr.c:58,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/skr.c:58,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:59,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/skr.c:59,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/skr.c:60,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/skr.c:61,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/skr.c:63,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/skr.c:66,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:68,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/skr.c:72,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/skr.c:74,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:77,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/skr.c:81,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:84,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/skr.c:86,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:89,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/skr.c:93,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:95,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/skr.c:105,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/skr.c:108,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/skr.c:109,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/skr.c:112,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    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: 114
      start: 37
    functionDepth: 2
    functionLinenumber: 37
    functionLinenumberEnd: 114
    functionName: parse_rr
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - strcmp
    - CLEANUP
    - dns_name_fromtext
    - isc_lex_setcomments
    - dns_rdataclass_fromtext
    - dns_rdatacallbacks_init
    - dns_ttl_fromtext
    - BADTOKEN
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - NEXTTOKEN
    - dns_rdatatype_fromtext
    - dns_rdata_fromtext
    - CHECK
    - dns_name_compare
    - isc_buffer_clear
    - isc_buffer_init
    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:121,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/skr.c:123,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/skr.c:126,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/skr.c:128,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: 131
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 131
    functionName: skrbundle_create
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LINK_INIT
    - dns_diff_init
    - isc_mem_get
    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:135,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/skr.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:136,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/skr.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:137,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/skr.c:137,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/skr.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - bundle
    - tuple
    argTypes:
    - dns_skrbundle_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 140
    functionName: skrbundle_addtuple
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_DIFFTUPLE_VALID
    - DNS_SKRBUNDLE_VALID
    - DNS_DIFF_VALID
    - dns_diff_append
    linkageType: ''
    returnType: void
    signature: void skrbundle_addtuple(dns_skrbundle_t *bundle, dns_difftuple_t **tuple)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:145,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/skr.c:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:146,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/skr.c:146,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/skr.c:148,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/skr.c:154,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/skr.c:156,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/skr.c:156,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/skr.c:163,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/skr.c:165,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    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: 171
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 171
    functionName: dns_skrbundle_getsig
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_SKRBUNDLE_VALID
    - DNS_DIFF_VALID
    - INSIST
    - dns_rdata_clone
    - dst_key_id
    - RETERR
    - ISC_LIST_FOREACH
    - dns_rdata_tostruct
    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:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:180,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/skr.c:182,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/skr.c:183,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/skr.c:185,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/skr.c:186,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/skr.c:189,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/skr.c:197,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/skr.c:199,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/skr.c:200,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: 202
      start: 173
    functionDepth: 3
    functionLinenumber: 173
    functionLinenumberEnd: 202
    functionName: dns_skr_create
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - UNUSED
    - isc_time_now
    - isc_mem_get
    - isc_mem_strdup
    - ISC_LIST_INIT
    - isc_refcount_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:206,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:207,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/skr.c:207,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/skr.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - skr
    - bundlep
    argTypes:
    - dns_skr_t*
    - dns_skrbundle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 204
    functionDepth: 1
    functionLinenumber: 204
    functionLinenumberEnd: 211
    functionName: addbundle
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_SKRBUNDLE_VALID
    - DNS_SKR_VALID
    - ISC_LIST_APPEND
    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:224,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:224,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/skr.c:226,1
    - Dst: memset
      Src: /src/bind9/lib/dns/skr.c:227,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/dns/skr.c:231,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/skr.c:232,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/skr.c:234,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/skr.c:236,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/skr.c:237,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:241,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:243,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/skr.c:250,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:253,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:253,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:255,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:255,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:257,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:257,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/skr.c:259,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:263,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:263,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:265,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:265,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/skr.c:267,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:271,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:271,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/skr.c:273,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/skr.c:275,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:275,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/skr.c:280,1
    - Dst: addbundle
      Src: /src/bind9/lib/dns/skr.c:285,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:289,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/skr.c:289,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:289,1
    - Dst: skrbundle_create
      Src: /src/bind9/lib/dns/skr.c:291,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/skr.c:297,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/skr.c:297,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/skr.c:306,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/skr.c:307,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/skr.c:308,1
    - Dst: parse_rr
      Src: /src/bind9/lib/dns/skr.c:309,1
    - Dst: STR
      Src: /src/bind9/lib/dns/skr.c:309,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/skr.c:313,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/skr.c:315,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/skr.c:318,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/skr.c:319,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/skr.c:320,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/skr.c:330,1
    - Dst: skrbundle_addtuple
      Src: /src/bind9/lib/dns/skr.c:333,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/skr.c:334,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/skr.c:336,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/skr.c:341,1
    - Dst: addbundle
      Src: /src/bind9/lib/dns/skr.c:347,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/skr.c:352,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/skr.c:353,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/skr.c:355,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/skr.c:356,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/skr.c:360,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 83
    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: 362
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 362
    functionName: dns_skr_read
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - isc_lex_gettoken
    - dns_difftuple_create
    - STR
    - ISC_LOG_DEBUG
    - memset
    - dns_time32_fromtext
    - isc_lex_create
    - skrbundle_create
    - addbundle
    - isc_buffer_init
    - isc_result_totext
    - strcmp
    - dns_rdata_init
    - isc_lex_openfile
    - isc_log_write
    - CHECK
    - isc_lex_destroy
    - skrbundle_addtuple
    - isc_lex_getsourceline
    - CLEANUP
    - isc_mem_get
    - parse_rr
    - DNS_SKR_VALID
    - isc_lex_setspecials
    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:366,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:366,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/skr.c:368,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/skr.c:369,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: 379
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 379
    functionName: dns_skr_lookup
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_NEXT
    - REQUIRE
    - ISC_LIST_FOREACH
    - DNS_SKR_VALID
    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:383,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/skr.c:384,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/skr.c:386,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - targetp
    argTypes:
    - dns_skr_t*
    - dns_skr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 381
    functionDepth: 1
    functionLinenumber: 381
    functionLinenumberEnd: 388
    functionName: dns_skr_attach
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_SKR_VALID
    - isc_refcount_increment
    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:392,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:392,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/skr.c:397,1
    - Dst: dns_skr_destroy
      Src: /src/bind9/lib/dns/skr.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - skrp
    argTypes:
    - dns_skr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 400
      start: 390
    functionDepth: 1
    functionLinenumber: 390
    functionLinenumberEnd: 400
    functionName: dns_skr_detach
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_skr_destroy
    - isc_refcount_decrement
    - DNS_SKR_VALID
    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:404,1
    - Dst: DNS_SKR_VALID
      Src: /src/bind9/lib/dns/skr.c:404,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/skr.c:406,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/skr.c:407,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/skr.c:408,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/skr.c:409,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/skr.c:411,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/skr.c:411,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/skr.c:413,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/skr.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - skr
    argTypes:
    - dns_skr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 402
    functionDepth: 1
    functionLinenumber: 402
    functionLinenumberEnd: 415
    functionName: dns_skr_destroy
    functionSourceFile: /src/bind9/lib/dns/skr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - DNS_SKR_VALID
    - ISC_LIST_EMPTY
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - dns_diff_clear
    linkageType: ''
    returnType: void
    signature: void dns_skr_destroy(dns_skr_t *skr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/dyndb.c:56,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/dyndb.c:57,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 58
      start: 54
    functionDepth: 1
    functionLinenumber: 54
    functionLinenumberEnd: 58
    functionName: dns__dyndb_initialize
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    - ISC_LIST_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:62,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 60
    functionDepth: 1
    functionLinenumber: 60
    functionLinenumberEnd: 63
    functionName: 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:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 65
    functionDepth: 0
    functionLinenumber: 65
    functionLinenumberEnd: 73
    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:68,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 71
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 176
    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:81,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:82,1
    - Dst: uv_dlsym
      Src: /src/bind9/lib/dns/dyndb.c:84,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/dns/dyndb.c:86,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:90,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: 101
      start: 75
    functionDepth: 2
    functionLinenumber: 75
    functionLinenumberEnd: 101
    functionName: load_symbol
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 2
    functionsReached:
    - isc_log_write
    - REQUIRE
    - uv_dlsym
    - uv_dlerror
    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:115,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:117,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dyndb.c:121,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dyndb.c:123,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dyndb.c:126,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dyndb.c:128,1
    - Dst: uv_dlopen
      Src: /src/bind9/lib/dns/dyndb.c:130,1
    - Dst: uv_dlerror
      Src: /src/bind9/lib/dns/dyndb.c:132,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:136,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dyndb.c:141,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:144,1
    - Dst: load_symbol
      Src: /src/bind9/lib/dns/dyndb.c:144,1
    - Dst: version_func
      Src: /src/bind9/lib/dns/dyndb.c:147,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:151,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dyndb.c:155,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:158,1
    - Dst: load_symbol
      Src: /src/bind9/lib/dns/dyndb.c:158,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:160,1
    - Dst: load_symbol
      Src: /src/bind9/lib/dns/dyndb.c:160,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:168,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/dyndb.c:172,1
    - Dst: unload_library
      Src: /src/bind9/lib/dns/dyndb.c:174,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: 177
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 177
    functionName: load_library
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - uv_dlopen
    - CLEANUP
    - version_func
    - isc_mem_get
    - uv_dlerror
    - isc_mem_strdup
    - isc_log_write
    - CHECK
    - load_symbol
    - unload_library
    - ISC_LINK_INIT
    - isc_result_totext
    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:183,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dyndb.c:193,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dyndb.c:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - impp
    argTypes:
    - dyndb_implementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 195
    functionName: unload_library
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void unload_library(dyndb_implementation_t **impp)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:204,1
    - Dst: DNS_DYNDBCTX_VALID
      Src: /src/bind9/lib/dns/dyndb.c:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:205,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/dyndb.c:207,1
    - Dst: impfind
      Src: /src/bind9/lib/dns/dyndb.c:210,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dyndb.c:211,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:214,1
    - Dst: load_library
      Src: /src/bind9/lib/dns/dyndb.c:214,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dyndb.c:215,1
    - Dst: dyndb_implementation_t*::register_func
      Src: /src/bind9/lib/dns/dyndb.c:215,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dyndb.c:218,1
    - Dst: unload_library
      Src: /src/bind9/lib/dns/dyndb.c:224,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dyndb.c:228,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: 230
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 230
    functionName: dns_dyndb_load
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DYNDBCTX_VALID
    - unload_library
    - load_library
    - ISC_LIST_APPEND
    - UNLOCK
    - LOCK
    - dyndb_implementation_t*::register_func
    - CHECK
    - impfind
    - CLEANUP
    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:237,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/dyndb.c:238,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/dyndb.c:240,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dyndb.c:241,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dyndb.c:242,1
    - Dst: dyndb_implementation_t*::destroy_func
      Src: /src/bind9/lib/dns/dyndb.c:245,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/dyndb.c:246,1
    - Dst: unload_library
      Src: /src/bind9/lib/dns/dyndb.c:247,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dyndb.c:250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 232
    functionDepth: 2
    functionLinenumber: 232
    functionLinenumberEnd: 251
    functionName: dns_dyndb_cleanup
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_UNLINK
    - dyndb_implementation_t*::destroy_func
    - ISC_LIST_TAIL
    - ISC_LIST_PREV
    - ENSURE
    - LOCK
    - isc_log_write
    - unload_library
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void dns_dyndb_cleanup(void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:258,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dyndb.c:260,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/dyndb.c:266,1
    - Dst: dns_zonemgr_attach
      Src: /src/bind9/lib/dns/dyndb.c:269,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dyndb.c:272,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 5
    argNames:
    - mctx
    - hashinit
    - view
    - zmgr
    - dctxp
    argTypes:
    - isc_mem_t*
    - void*
    - dns_view_t*
    - dns_zonemgr_t*
    - dns_dyndbctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 253
    functionDepth: 2
    functionLinenumber: 253
    functionLinenumberEnd: 276
    functionName: dns_dyndb_createctx
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - dns_zonemgr_attach
    - dns_view_attach
    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, dns_dyndbctx_t **dctxp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dyndb.c:282,1
    - Dst: DNS_DYNDBCTX_VALID
      Src: /src/bind9/lib/dns/dyndb.c:282,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/dyndb.c:290,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/lib/dns/dyndb.c:293,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dyndb.c:296,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - dctxp
    argTypes:
    - dns_dyndbctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 297
      start: 278
    functionDepth: 3
    functionLinenumber: 278
    functionLinenumberEnd: 297
    functionName: dns_dyndb_destroyctx
    functionSourceFile: /src/bind9/lib/dns/dyndb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DYNDBCTX_VALID
    - dns_view_detach
    - dns_zonemgr_detach
    - isc_mem_putanddetach
    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: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: DNS_STATE_VALID
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_STATE_VALID(state)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/update.c:102,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/update.c:106,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/update.c:107,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/update.c:108,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: 111
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 111
    functionName: update_log
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 9
    functionsReached:
    - va_start
    - vsnprintf
    - va_end
    - 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:130,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:131,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/update.c:136,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:137,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/update.c:139,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:146,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: 152
      start: 121
    functionDepth: 1
    functionLinenumber: 121
    functionLinenumberEnd: 152
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 5
    functionsReached:
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - dns_diff_init
    - dns_diff_apply
    - dns_diff_appendminimal
    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:159,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/update.c:160,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: 161
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 161
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:212,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/update.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - data
    - rdataset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 206
    functionDepth: 1
    functionLinenumber: 206
    functionLinenumberEnd: 218
    functionName: foreach_node_rr_action
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_rdataset_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t foreach_node_rr_action(void *data, dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:212,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/update.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 215
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 2
    functionsReached:
    - RETERR
    - 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:234,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/update.c:242,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/update.c:250,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:254,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/update.c:259,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:262,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: 265
      start: 227
    functionDepth: 1
    functionLinenumber: 227
    functionLinenumberEnd: 265
    functionName: foreach_rrset
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 4
    functionsReached:
    - dns_db_detachnode
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_db_findnode
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    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:250,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:254,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 258
    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:281,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: 282
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 282
    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:302,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/update.c:310,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:312,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:321,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:322,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:334,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:345,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:347,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: 350
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 350
    functionName: foreach_rr
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 7
    functionsReached:
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dns_rdataset_init
    - foreach_node_rr
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_db_findnode
    - dns_rdataset_current
    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:334,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 340
    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:369,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 0
    functionLinenumber: 367
    functionLinenumberEnd: 372
    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:402,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: 405
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 405
    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:418,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:419,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/update.c:420,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: 444
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 444
    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:452,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:453,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 455
    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:464,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: 466
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 466
    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:491,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/update.c:499,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 501
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 501
    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:530,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/update.c:531,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: 533
      start: 528
    functionDepth: 0
    functionLinenumber: 528
    functionLinenumberEnd: 533
    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:540,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: 542
      start: 538
    functionDepth: 0
    functionLinenumber: 538
    functionLinenumberEnd: 542
    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:552,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - data
    - rr
    argTypes:
    - void*
    - rr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 559
    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:579,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: 580
      start: 568
    functionDepth: 0
    functionLinenumber: 568
    functionLinenumberEnd: 580
    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:596,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/update.c:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - list
    - name
    argTypes:
    - dns_diff_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 591
    functionDepth: 1
    functionLinenumber: 591
    functionLinenumberEnd: 599
    functionName: namelist_append_name
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    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:609,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:611,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/update.c:611,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/update.c:613,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/update.c:614,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:617,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/update.c:617,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:618,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/update.c:619,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:622,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/update.c:629,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: 632
      start: 601
    functionDepth: 2
    functionLinenumber: 601
    functionLinenumberEnd: 632
    functionName: namelist_append_subdomain
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_dbiterator_next
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - namelist_append_name
    - dns_dbiterator_current
    - dns_fixedname_initname
    - CHECK
    - dns_dbiterator_seek
    - dns_name_issubdomain
    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:639,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/update.c:640,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/update.c:642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - data
    - rrset
    argTypes:
    - void*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 647
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 647
    functionName: is_non_nsec_action
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isnsec
    - 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:661,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: 663
      start: 657
    functionDepth: 0
    functionLinenumber: 657
    functionLinenumberEnd: 663
    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:674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - av
    - bv
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 675
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 675
    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:681,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/update.c:681,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:684,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:685,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:688,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/update.c:689,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - list
    argTypes:
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 694
      start: 677
    functionDepth: 1
    functionLinenumber: 677
    functionLinenumberEnd: 694
    functionName: uniqify_name_list
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - dns_name_equal
    - dns_diff_sort
    - ISC_LIST_FOREACH
    - CHECK
    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:701,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:702,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/update.c:705,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:709,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:719,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/update.c:721,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:735,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:743,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: 746
      start: 696
    functionDepth: 1
    functionLinenumber: 696
    functionLinenumberEnd: 746
    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:762,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:764,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/update.c:764,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:766,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/update.c:766,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/update.c:771,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/update.c:773,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:780,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/update.c:780,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:782,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/update.c:782,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:786,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/update.c:788,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:791,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/update.c:791,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:792,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:800,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/update.c:800,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:802,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:802,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/update.c:807,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/update.c:808,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:815,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/update.c:826,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 44
    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: 830
      start: 754
    functionDepth: 2
    functionLinenumber: 754
    functionLinenumberEnd: 830
    functionName: next_active
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_dbiterator_next
    - dns_db_issecure
    - dns_dbiterator_prev
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - update_log
    - dns_name_equal
    - dns_dbiterator_first
    - rrset_exists
    - dns_dbiterator_last
    - dns_db_find
    - dns_dbiterator_current
    - dns_fixedname_initname
    - CHECK
    - dns_dbiterator_pause
    - dns_dbiterator_seek
    - CLEANUP
    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:848,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:853,1
    - Dst: next_active
      Src: /src/bind9/lib/dns/update.c:853,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:858,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:858,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/update.c:859,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:860,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/update.c:860,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:861,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:866,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:866,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/update.c:871,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:873,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/update.c:873,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:874,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:878,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: 881
      start: 836
    functionDepth: 1
    functionLinenumber: 836
    functionLinenumberEnd: 881
    functionName: add_nsec
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - next_active
    - dns_db_detachnode
    - do_one_tuple
    - dns_rdata_init
    - dns_nsec_buildrdata
    - dns_difftuple_create
    - INSIST
    - dns_fixedname_initname
    - dns_db_findnode
    - CHECK
    - delete_if
    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:897,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/update.c:897,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/update.c:898,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:900,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/update.c:900,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: 903
      start: 886
    functionDepth: 2
    functionLinenumber: 886
    functionLinenumberEnd: 903
    functionName: add_placeholder_nsec
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - dns_difftuple_create
    - dns_rdata_fromregion
    - CHECK
    - dns_db_class
    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:911,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/update.c:916,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/update.c:918,1
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/update.c:919,1
    - Dst: dns_zone_getkeystores
      Src: /src/bind9/lib/dns/update.c:920,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/update.c:922,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/update.c:923,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/update.c:923,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/update.c:926,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:936,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:937,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/lib/dns/update.c:943,1
    - Dst: dst_key_setinactive
      Src: /src/bind9/lib/dns/update.c:944,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:951,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:952,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: 957
      start: 905
    functionDepth: 4
    functionLinenumber: 905
    functionLinenumberEnd: 957
    functionName: find_zone_keys
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - dns_zone_getkeystores
    - dns_zone_unlock_keyfiles
    - ISC_LIST_UNLINK
    - dst_key_setinactive
    - isc_stdtime_now
    - dns_zone_getkasp
    - dns_dnssec_keyactive
    - dns_dnsseckey_destroy
    - dns_dnssec_findmatchingkeys
    - ISC_LIST_INIT
    - dns_zone_getkeydirectory
    - dns_zone_lock_keyfiles
    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:936,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:937,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/lib/dns/update.c:943,1
    - Dst: dst_key_setinactive
      Src: /src/bind9/lib/dns/update.c:944,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:951,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/update.c:952,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 934
    functionDepth: 2
    functionLinenumber: 934
    functionLinenumberEnd: 953
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 177
    functionsReached:
    - dst_key_setinactive
    - ISC_LIST_UNLINK
    - dns_dnssec_keyactive
    - dns_dnsseckey_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(keylist, k, link)
  - BBCount: 27
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/update.c:969,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/update.c:972,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/update.c:983,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:986,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/update.c:987,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:991,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/update.c:991,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:993,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:993,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:995,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:995,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:997,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1013,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1016,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/update.c:1030,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1032,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/update.c:1036,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1038,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1043,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1046,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1050,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/update.c:1064,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/update.c:1072,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/update.c:1078,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1079,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1080,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1086,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1087,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/update.c:1090,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/update.c:1099,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1104,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/update.c:1106,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/update.c:1108,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1110,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/update.c:1110,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1113,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/update.c:1113,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1120,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1120,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/update.c:1122,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/update.c:1123,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/update.c:1127,1
    - Dst: ID
      Src: /src/bind9/lib/dns/update.c:1128,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/update.c:1129,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1134,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/update.c:1141,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1143,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 95
    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: 1146
      start: 962
    functionDepth: 4
    functionLinenumber: 962
    functionLinenumberEnd: 1146
    functionName: add_sigs
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - KSK
    - dns_rdataset_init
    - dns_zone_getskrbundle
    - ALG
    - dst_key_inactive
    - update_log
    - REVOKE
    - dst_key_isprivate
    - update_one_rr
    - isc_buffer_init
    - dns_dnssecsignstats_increment
    - dst_key_is_signing
    - ID
    - dns_db_findrdataset
    - dst_key_have_ksk_and_zsk
    - dns_rdata_reset
    - dst_key_getbool
    - CHECK
    - dns_zone_getdnssecsignstats
    - dns_kasp_offlineksk
    - CLEANUP
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dns_skrbundle_getsig
    - dns_dnssec_sign
    - dns_zone_getkasp
    - dns_rdataset_cleanup
    - dns_db_findnode
    - dns_rdatatype_iskeymaterial
    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: 1000
      start: 999
    functionDepth: 0
    functionLinenumber: 999
    functionLinenumberEnd: 1000
    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: 1001
      start: 1000
    functionDepth: 0
    functionLinenumber: 1000
    functionLinenumberEnd: 1001
    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: 1002
      start: 1001
    functionDepth: 0
    functionLinenumber: 1001
    functionLinenumberEnd: 1002
    functionName: ID
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 350
    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: 1003
      start: 1002
    functionDepth: 0
    functionLinenumber: 1002
    functionLinenumberEnd: 1003
    functionName: ALG
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ALG(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:1162,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:1164,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1168,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:1170,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1173,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1178,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:1182,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/update.c:1183,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/update.c:1184,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/update.c:1187,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1189,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1190,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1199,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1209,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/update.c:1212,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1217,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1221,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    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: 1224
      start: 1152
    functionDepth: 1
    functionLinenumber: 1152
    functionLinenumberEnd: 1224
    functionName: del_keysigs
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dst_key_inactive
    - RUNTIME_CHECK
    - dst_key_isprivate
    - dns_rdataset_init
    - dns_db_findrdataset
    - update_one_rr
    - dst_key_id
    - dns_rdata_reset
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:1182,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/update.c:1183,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/update.c:1184,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/update.c:1187,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/update.c:1189,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/update.c:1190,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1199,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/update.c:1209,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/update.c:1212,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1180
    functionDepth: 1
    functionLinenumber: 1180
    functionLinenumberEnd: 1216
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dst_key_inactive
    - RUNTIME_CHECK
    - dst_key_isprivate
    - update_one_rr
    - dns_rdata_reset
    - dst_key_id
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:1237,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/update.c:1246,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/update.c:1256,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1258,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1269,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1277,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/update.c:1284,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1287,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: 1290
      start: 1226
    functionDepth: 1
    functionLinenumber: 1226
    functionLinenumberEnd: 1290
    functionName: add_exposed_sigs
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - rrset_exists
    - add_sigs
    - dns_db_findnode
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    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:1256,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1258,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1269,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1277,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1283
      start: 1251
    functionDepth: 1
    functionLinenumber: 1251
    functionLinenumberEnd: 1283
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - add_sigs
    - dns_rdatasetiter_current
    - rrset_exists
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(iter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_update_signaturesinc
      Src: /src/bind9/lib/dns/update.c:1307,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: 1309
      start: 1303
    functionDepth: 1
    functionLinenumber: 1303
    functionLinenumberEnd: 1309
    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:1340,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/update.c:1341,1
    - Dst: dns_kasp_sigjitter
      Src: /src/bind9/lib/dns/update.c:1344,1
    - Dst: dns_kasp_sigvalidity
      Src: /src/bind9/lib/dns/update.c:1345,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1346,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/update.c:1355,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/update.c:1357,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1361
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1361
    functionName: dns__jitter_expire
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    - INSIST
    - dns_zone_getkasp
    - dns_kasp_sigjitter
    - dns_kasp_sigvalidity
    - dns_zone_getsigvalidityinterval
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns__jitter_expire(dns_zone_t *zone)
  - BBCount: 49
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/dns/update.c:1379,1
    - Dst: dns_zone_getsignatures
      Src: /src/bind9/lib/dns/update.c:1381,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/update.c:1387,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1390,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1391,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1392,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1393,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1394,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/update.c:1395,1
    - Dst: find_zone_keys
      Src: /src/bind9/lib/dns/update.c:1399,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1402,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1406,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/update.c:1412,1
    - Dst: dns__jitter_expire
      Src: /src/bind9/lib/dns/update.c:1415,1
    - Dst: dns_zone_getkeyvalidityinterval
      Src: /src/bind9/lib/dns/update.c:1417,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1428,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/update.c:1428,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/update.c:1428,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/update.c:1429,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1430,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/update.c:1430,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1433,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/update.c:1433,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/update.c:1434,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1435,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/update.c:1435,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/update.c:1436,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/update.c:1437,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:1438,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1445,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/update.c:1445,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:1448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/update.c:1450,1
    - Dst: DNS_STATE_VALID
      Src: /src/bind9/lib/dns/update.c:1450,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/update.c:1457,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:1466,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:1469,1
    - Dst: del_keysigs
      Src: /src/bind9/lib/dns/update.c:1493,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1498,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1498,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1508,1
    - Dst: rrset_visible
      Src: /src/bind9/lib/dns/update.c:1508,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/update.c:1512,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1520,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1520,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:1531,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/update.c:1534,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1535,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1537,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1546,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1548,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1548,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1555,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1556,1
    - Dst: non_nsec_rrset_exists
      Src: /src/bind9/lib/dns/update.c:1556,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1559,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1559,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1564,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1564,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1570,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/dns/update.c:1570,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1577,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1577,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1587,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/update.c:1592,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1595,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/update.c:1595,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1600,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/update.c:1600,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1616,1
    - Dst: next_active
      Src: /src/bind9/lib/dns/update.c:1616,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:1618,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1626,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1631,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1631,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1638,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1638,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1644,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1644,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1646,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1646,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1658,1
    - Dst: namelist_append_subdomain
      Src: /src/bind9/lib/dns/update.c:1658,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1661,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1663,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1663,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1665,1
    - Dst: uniqify_name_list
      Src: /src/bind9/lib/dns/update.c:1665,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1678,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1682,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/update.c:1682,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1686,1
    - Dst: is_active
      Src: /src/bind9/lib/dns/update.c:1686,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1692,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1692,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1695,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1695,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:1708,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/update.c:1708,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1709,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1709,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1713,1
    - Dst: add_placeholder_nsec
      Src: /src/bind9/lib/dns/update.c:1713,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1718,1
    - Dst: add_exposed_sigs
      Src: /src/bind9/lib/dns/update.c:1718,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1726,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1727,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1732,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1739,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1740,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1740,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1762,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/update.c:1762,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1773,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1774,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1775,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1778,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1778,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1785,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1787,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1787,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1792,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1792,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:1800,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1802,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1803,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1808,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1815,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1816,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1817,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1819,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1820,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1821,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1824,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1824,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1825,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1825,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1826,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1826,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1829,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1829,1
    - Dst: update_log
      Src: /src/bind9/lib/dns/update.c:1834,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/update.c:1834,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:1837,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:1838,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1840,1
    - Dst: dns_diff_sort
      Src: /src/bind9/lib/dns/update.c:1840,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/update.c:1847,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/update.c:1858,1
    - Dst: namelist_append_name
      Src: /src/bind9/lib/dns/update.c:1862,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1865,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1865,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1872,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1872,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1878,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1878,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1880,1
    - Dst: rrset_exists
      Src: /src/bind9/lib/dns/update.c:1880,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1893,1
    - Dst: namelist_append_subdomain
      Src: /src/bind9/lib/dns/update.c:1893,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/update.c:1898,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/update.c:1900,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1907,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1911,1
    - Dst: is_active
      Src: /src/bind9/lib/dns/update.c:1911,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1915,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1915,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1918,1
    - Dst: dns_nsec3_delnsec3sx
      Src: /src/bind9/lib/dns/update.c:1918,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1922,1
    - Dst: add_exposed_sigs
      Src: /src/bind9/lib/dns/update.c:1922,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1928,1
    - Dst: dns_nsec3_addnsec3sx
      Src: /src/bind9/lib/dns/update.c:1928,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1933,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1934,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1939,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1947,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1948,1
    - Dst: dns_diff_appendminimal
      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: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1959,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1961,1
    - Dst: delete_if
      Src: /src/bind9/lib/dns/update.c:1961,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/update.c:1966,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/update.c:1966,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:1974,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1976,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/update.c:1977,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/update.c:1982,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1986,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1987,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1988,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/update.c:1990,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/update.c:1991,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/update.c:1992,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1995,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1995,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1996,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1996,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/update.c:1997,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/update.c:1997,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:2000,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/update.c:2005,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2008,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2009,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2010,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2012,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2013,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/update.c:2014,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/update.c:2017,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/update.c:2023,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 349
    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: 2027
      start: 1363
    functionDepth: 5
    functionLinenumber: 1363
    functionLinenumberEnd: 2027
    functionName: dns_update_signaturesinc
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - find_zone_keys
    - isc_mem_put
    - dns_private_chains
    - dns_db_origin
    - INSIST
    - SET_IF_NOT_NULL
    - dns_rdataset_init
    - dns_nsec3_addnsec3sx
    - ISC_MIN
    - namelist_append_name
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - non_nsec_rrset_exists
    - dns_diff_appendminimal
    - delete_if
    - next_active
    - DNS_STATE_VALID
    - update_log
    - dns_nsec3_delnsec3sx
    - add_exposed_sigs
    - ISC_LIST_NEXT
    - dns__jitter_expire
    - is_active
    - dns_rdata_tostruct
    - dst_key_free
    - namelist_append_subdomain
    - isc_stdtime_now
    - dns_name_equal
    - dns_zone_getkeyvalidityinterval
    - dns_rdataset_first
    - dns_rdatatype_iskeymaterial
    - add_placeholder_nsec
    - dns_db_findrdataset
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - rrset_exists
    - dns_zone_getsignatures
    - dns_rdataset_current
    - CHECK
    - dns_diff_clear
    - UNREACHABLE
    - rrset_visible
    - dns_db_detachnode
    - name_exists
    - dns_diff_sort
    - isc_mem_get
    - uniqify_name_list
    - add_nsec
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - add_sigs
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    - dns_diff_init
    - dns_zone_getprivatetype
    - dns_db_findnode
    - del_keysigs
    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:2031,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - when
    argTypes:
    - time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2037
      start: 2029
    functionDepth: 0
    functionLinenumber: 2029
    functionLinenumberEnd: 2037
    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:2047,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/update.c:2050,1
    - Dst: epoch_to_yyyymmdd
      Src: /src/bind9/lib/dns/update.c:2051,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:2060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 2
    argNames:
    - serial
    - method
    argTypes:
    - uint32_t
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2062
      start: 2039
    functionDepth: 1
    functionLinenumber: 2039
    functionLinenumberEnd: 2062
    functionName: dns__update_soaserial
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 0
    functionsReached:
    - epoch_to_yyyymmdd
    - UNREACHABLE
    - 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:2067,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/update.c:2074,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/update.c:2082,1
    - Dst: dns__update_soaserial
      Src: /src/bind9/lib/dns/update.c:2086,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/update.c:2091,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/update.c:2094,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: 2097
      start: 2064
    functionDepth: 2
    functionLinenumber: 2064
    functionLinenumberEnd: 2097
    functionName: dns_update_soaserial
    functionSourceFile: /src/bind9/lib/dns/update.c
    functionUses: 14
    functionsReached:
    - dns__update_soaserial
    - SET_IF_NOT_NULL
    - isc_serial_gt
    - UNREACHABLE
    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:180,1
    - Dst: dns_rdataset_expire
      Src: /src/bind9/lib/dns/validator.c:181,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:183,1
    - Dst: dns_rdataset_expire
      Src: /src/bind9/lib/dns/validator.c:184,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 186
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:199,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:200,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 202
    functionName: disassociate_rdatasets
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_cleanup
    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:210,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:210,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/validator.c:212,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/validator.c:215,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - val
    - where
    argTypes:
    - dns_validator_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 219
    functionName: markanswer
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_settrust
    - ISC_LOG_DEBUG
    - validator_log
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t markanswer(dns_validator_t *val, const char *where)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:226,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:226,1
    - 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: 7
    argCount: 2
    argNames:
    - val
    - where
    argTypes:
    - dns_validator_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 224
    functionDepth: 1
    functionLinenumber: 224
    functionLinenumberEnd: 232
    functionName: marksecure
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 3
    functionsReached:
    - dns_rdataset_settrust
    - ISC_LOG_DEBUG
    - validator_log
    linkageType: ''
    returnType: void
    signature: void marksecure(dns_validator_t *val, const char *where)
  - 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
    - dns_ede_copy
    - COMPLETE
    linkageType: ''
    returnType: void
    signature: void validator_done(dns_validator_t *val, isc_result_t result)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:287,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:289,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/validator.c:291,1
    - Dst: dns_ncache_getrdataset
      Src: /src/bind9/lib/dns/validator.c:293,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:303,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:306,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:309,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/validator.c:310,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:312,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/validator.c:320,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/validator.c:321,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/validator.c:322,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:322,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:323,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:325,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:327,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/validator.c:330,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/validator.c:331,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:332,1
    - Dst: isc_base32hexnp_decoderegion
      Src: /src/bind9/lib/dns/validator.c:333,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:335,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:340,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:341,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:354,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:354,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:357,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/validator.c:360,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/validator.c:364,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:367,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/validator.c:369,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:371,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:380,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:383,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:386,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:388,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:392,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 79
    argCount: 5
    argNames:
    - val
    - name
    - rdataset
    - dbresult
    - caller
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdataset_t*
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 269
    functionDepth: 5
    functionLinenumber: 269
    functionLinenumberEnd: 395
    functionName: is_insecure_referral
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_usedlength
    - dns_rdataset_init
    - isc_base32hexnp_decoderegion
    - dns_nsec_typepresent
    - ISC_LOG_DEBUG
    - dns_ncache_getrdataset
    - dns_rdataset_disassociate
    - isc_region_consume
    - dns_name_init
    - dns_ncache_current
    - memcmp
    - dns_nsec3_typepresent
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_rdataset_first
    - dns_rdataset_clone
    - dns_name_getlabel
    - isc_iterated_hash
    - dns_rdataset_current
    - validator_log
    - dns_fixedname_init
    - dns_name_downcase
    - dns_fixedname_name
    linkageType: ''
    returnType: bool
    signature: "bool is_insecure_referral(dns_validator_t *val, dns_name_t *name,\n\t\t
      \    dns_rdataset_t *rdataset, isc_result_t dbresult,\n\t\t     const char *caller)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:325,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:327,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/validator.c:330,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/validator.c:331,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:332,1
    - Dst: isc_base32hexnp_decoderegion
      Src: /src/bind9/lib/dns/validator.c:333,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:335,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:340,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:341,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:354,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:354,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:357,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/validator.c:360,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/validator.c:364,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:367,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/validator.c:369,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:371,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:380,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:383,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:386,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:388,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:392,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 324
    functionDepth: 5
    functionLinenumber: 324
    functionLinenumberEnd: 393
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_ncache_current
    - isc_buffer_usedlength
    - dns_name_getlabel
    - isc_iterated_hash
    - memcmp
    - isc_base32hexnp_decoderegion
    - ISC_LOG_DEBUG
    - dns_nsec3_typepresent
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    - validator_log
    - isc_region_consume
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:340,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:341,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:354,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:354,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:357,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/validator.c:360,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/validator.c:364,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:367,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/validator.c:369,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:371,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:380,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:383,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/validator.c:386,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:388,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 338
    functionDepth: 2
    functionLinenumber: 338
    functionLinenumberEnd: 391
    functionName: (&set)
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - isc_iterated_hash
    - memcmp
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - validator_log
    - dns_nsec3_typepresent
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&set)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: select_signing_key
      Src: /src/bind9/lib/dns/validator.c:411,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:416,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:417,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:420,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:423,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 424
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 424
    functionName: resume_answer_with_key
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - select_signing_key
    - consume_validation_fail
    - INSIST
    - over_max_fails
    - validate_async_run
    linkageType: ''
    returnType: void
    signature: void resume_answer_with_key(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_validator_cancel
      Src: /src/bind9/lib/dns/validator.c:434,1
    - Dst: resume_answer
      Src: /src/bind9/lib/dns/validator.c:440,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 441
    functionName: resume_answer_with_key_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - resume_answer
    - dns_validator_cancel
    linkageType: ''
    returnType: void
    signature: void resume_answer_with_key_done(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/validator.c:465,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/validator.c:468,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:470,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: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/validator.c:474,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:476,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:476,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:477,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:488,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:488,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:492,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:500,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:503,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:507,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:507,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:509,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:520,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:523,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:523,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:525,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/validator.c:532,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:533,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:534,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 46
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 535
    functionName: fetch_callback_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_trust_totext
    - dns_db_detach
    - CANCELED
    - dns_resolver_freefresp
    - validate_helper_run
    - dns_rdataset_cleanup
    - dns_validator_detach
    - CANCELING
    - ISC_LOG_DEBUG
    - validate_async_done
    - validator_log
    - validate_async_run
    - dns_resolver_destroyfetch
    - proveunsecure
    - CLEANUP
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void fetch_callback_dnskey(void *arg)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/validator.c:558,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/validator.c:561,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:563,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:565,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:565,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/validator.c:567,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:569,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:569,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:570,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:581,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:581,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:583,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:585,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:595,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:595,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:597,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:598,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:601,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:601,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:603,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:617,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:626,1
    - Dst: is_insecure_referral
      Src: /src/bind9/lib/dns/validator.c:630,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:639,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:648,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:651,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:651,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:653,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/validator.c:660,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:661,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:662,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 541
    functionDepth: 6
    functionLinenumber: 541
    functionLinenumberEnd: 663
    functionName: fetch_callback_ds
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_trust_totext
    - dns_db_detach
    - CANCELED
    - dns_resolver_freefresp
    - dns_validator_detach
    - dns_rdataset_cleanup
    - is_insecure_referral
    - CANCELING
    - markanswer
    - ISC_LOG_DEBUG
    - validate_async_done
    - validator_log
    - validate_async_run
    - dns_resolver_destroyfetch
    - proveunsecure
    - CLEANUP
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void fetch_callback_ds(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:678,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:678,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:679,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:682,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:682,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:684,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:684,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:685,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:690,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:693,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:696,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:696,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:698,1
    - Dst: expire_rdatasets
      Src: /src/bind9/lib/dns/validator.c:700,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:701,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:712,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:713,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:714,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:715,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 670
    functionDepth: 2
    functionLinenumber: 670
    functionLinenumberEnd: 716
    functionName: validator_callback_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_trust_totext
    - CANCELED
    - validate_helper_run
    - dns_validator_detach
    - CANCELING
    - ISC_LOG_DEBUG
    - expire_rdatasets
    - validate_async_done
    - dns_validator_shutdown
    - validator_log
    - validate_async_run
    - create_fetch
    - CLEANUP
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void validator_callback_dnskey(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:731,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:731,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:732,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:735,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:735,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:739,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:739,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:743,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:745,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/validator.c:749,1
    - Dst: is_insecure_referral
      Src: /src/bind9/lib/dns/validator.c:750,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:754,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:756,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:758,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:761,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:761,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:763,1
    - Dst: expire_rdatasets
      Src: /src/bind9/lib/dns/validator.c:765,1
    - Dst: create_ds_fetch
      Src: /src/bind9/lib/dns/validator.c:766,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:776,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:777,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:778,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:779,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 780
      start: 723
    functionDepth: 6
    functionLinenumber: 723
    functionLinenumberEnd: 780
    functionName: validator_callback_ds
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_trust_totext
    - CANCELED
    - NEGATIVE
    - create_ds_fetch
    - dns_validator_detach
    - is_insecure_referral
    - CANCELING
    - markanswer
    - ISC_LOG_DEBUG
    - expire_rdatasets
    - validate_async_done
    - dns_validator_shutdown
    - validator_log
    - dns_fixedname_name
    - validate_async_run
    - proveunsecure
    - CLEANUP
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void validator_callback_ds(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:794,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:798,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:798,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:799,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:802,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:802,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:804,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:804,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:805,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:806,1
    - Dst: expire_rdatasets
      Src: /src/bind9/lib/dns/validator.c:809,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:811,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:811,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:813,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:818,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:819,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:820,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:821,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 822
      start: 787
    functionDepth: 2
    functionLinenumber: 787
    functionLinenumberEnd: 822
    functionName: validator_callback_cname
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_trust_totext
    - CANCELED
    - INSIST
    - dns_validator_detach
    - CANCELING
    - ISC_LOG_DEBUG
    - expire_rdatasets
    - validate_async_done
    - dns_validator_shutdown
    - validator_log
    - proveunsecure
    - CLEANUP
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void validator_callback_cname(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:842,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:842,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:843,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:846,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:846,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:849,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:853,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:853,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:854,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:854,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:855,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:862,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:873,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:874,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:883,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:891,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:898,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:900,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:900,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:902,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:912,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:918,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/validator.c:919,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:920,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:921,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 48
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 922
      start: 831
    functionDepth: 1
    functionLinenumber: 831
    functionLinenumberEnd: 922
    functionName: validator_callback_nsec
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - NEEDNOQNAME
    - FOUNDNODATA
    - FOUNDNOQNAME
    - validate_nx
    - CANCELED
    - dns_validator_detach
    - CANCELING
    - NEEDNODATA
    - ISC_LOG_DEBUG
    - validate_async_done
    - dns_validator_shutdown
    - validator_log
    - dns_fixedname_name
    - dns_name_countlabels
    - dns_nsec_noexistnodata
    - CLEANUP
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void validator_callback_nsec(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:943,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:946,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/validator.c:947,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:964,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: 967
      start: 936
    functionDepth: 4
    functionLinenumber: 936
    functionLinenumberEnd: 967
    functionName: view_find
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_fixedname_initname
    - dns_view_find
    - disassociate_rdatasets
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t view_find(dns_validator_t *val, dns_name_t *name, dns_rdatatype_t
      type)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:978,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:990,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:991,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1016,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1016,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 18
    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: 1023
      start: 974
    functionDepth: 1
    functionLinenumber: 974
    functionLinenumberEnd: 1023
    functionName: check_deadlock
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - ISC_LOG_DEBUG
    - dns_name_equal
    - validator_log
    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:1038,1
    - Dst: check_deadlock
      Src: /src/bind9/lib/dns/validator.c:1040,1
    - Dst: validator_logcreate
      Src: /src/bind9/lib/dns/validator.c:1052,1
    - Dst: dns_validator_ref
      Src: /src/bind9/lib/dns/validator.c:1054,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/validator.c:1055,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:1061,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 7
    argNames:
    - val
    - name
    - type
    - domain
    - delegset
    - callback
    - caller
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_delegset_t*
    - isc_job_cb
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1031
    functionDepth: 2
    functionLinenumber: 1031
    functionLinenumberEnd: 1065
    functionName: create_fetch
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - dns_resolver_createfetch
    - dns_validator_ref
    - dns_validator_detach
    - check_deadlock
    - validator_logcreate
    - disassociate_rdatasets
    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     const dns_name_t *domain, dns_delegset_t *delegset,\n\t
      \    isc_job_cb callback, const char *caller)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:1089,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:1091,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/validator.c:1092,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:1094,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/lib/dns/validator.c:1095,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/validator.c:1100,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:1104,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/validator.c:1107,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - val
    - name
    - callback
    - caller
    argTypes:
    - dns_validator_t*
    - dns_name_t*
    - isc_job_cb
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1079
    functionDepth: 5
    functionLinenumber: 1079
    functionLinenumberEnd: 1111
    functionName: create_ds_fetch
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - dns_name_getlabelsequence
    - dns_view_bestzonecut
    - dns_fixedname_initname
    - dns_delegset_detach
    - create_fetch
    - dns_name_countlabels
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t create_ds_fetch(dns_validator_t *val, dns_name_t *name,
      isc_job_cb callback,\n\t\tconst char *caller)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:1124,1
    - Dst: check_deadlock
      Src: /src/bind9/lib/dns/validator.c:1128,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1129,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1129,1
    - Dst: validator_logcreate
      Src: /src/bind9/lib/dns/validator.c:1138,1
    - Dst: dns_validator_create
      Src: /src/bind9/lib/dns/validator.c:1139,1
    - Dst: dns_validator_attach
      Src: /src/bind9/lib/dns/validator.c:1144,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: 1148
      start: 1116
    functionDepth: 2
    functionLinenumber: 1116
    functionLinenumberEnd: 1148
    functionName: create_validator
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_validator_create
    - dns_rdataset_isassociated
    - check_deadlock
    - ISC_LOG_DEBUG
    - validator_logcreate
    - validator_log
    - dns_validator_attach
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:1167,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1169,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:1171,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:1174,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1180,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1181,1
    - Dst: dns_dnssec_iszonekey
      Src: /src/bind9/lib/dns/validator.c:1185,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/validator.c:1190,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/validator.c:1191,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1195,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - val
    - rdataset
    argTypes:
    - dns_validator_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1162
    functionDepth: 3
    functionLinenumber: 1162
    functionLinenumberEnd: 1206
    functionName: select_signing_key
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dns_dnssec_iszonekey
    - dns_rdataset_next
    - dns_rdataset_first
    - dns_rdata_toregion
    - dst_region_computeid
    - dns_rdataset_current
    - dst_key_free
    - dns_rdata_tostruct
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t select_signing_key(dns_validator_t *val, dns_rdataset_t
      *rdataset)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/validator.c:1225,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/validator.c:1246,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1264,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1264,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:1273,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1280,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:1281,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:1288,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:1288,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1304,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1304,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/validator.c:1306,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:1311,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:1314,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:1316,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:1318,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:1326,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:1326,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:1350,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:1352,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1355
      start: 1211
    functionDepth: 3
    functionLinenumber: 1211
    functionLinenumberEnd: 1355
    functionName: seek_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_name_fullcompare
    - view_find
    - dns_trust_totext
    - dns_rdatatype_atparent
    - dns_rdataset_isassociated
    - validate_helper_run
    - dns_rdataset_cleanup
    - create_fetch
    - create_validator
    - ISC_LOG_DEBUG
    - RETERR
    - dns_rdataset_disassociate
    - validator_log
    - DNS_TRUST_PENDING
    - DNS_TRUST_ANSWER
    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:1364,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/validator.c:1365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1360
    functionDepth: 1
    functionLinenumber: 1360
    functionLinenumberEnd: 1366
    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:1371,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/validator.c:1372,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1368
    functionDepth: 2
    functionLinenumber: 1368
    functionLinenumberEnd: 1380
    functionName: over_max_validations
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_counter_getlimit
    - isc_counter_used
    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:1387,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1388
      start: 1382
    functionDepth: 2
    functionLinenumber: 1382
    functionLinenumberEnd: 1388
    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:1393,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/validator.c:1393,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1390
    functionDepth: 2
    functionLinenumber: 1390
    functionLinenumberEnd: 1401
    functionName: over_max_fails
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - isc_counter_getlimit
    - isc_counter_used
    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:1408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1409
      start: 1403
    functionDepth: 2
    functionLinenumber: 1403
    functionLinenumberEnd: 1409
    functionName: consume_validation_fail
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - isc_counter_increment
    linkageType: ''
    returnType: void
    signature: void consume_validation_fail(dns_validator_t *val)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1433,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1434,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1435,1
    - Dst: compute_keytag
      Src: /src/bind9/lib/dns/validator.c:1436,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1442,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1443,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1444,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1448,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1471,1
    - Dst: dns_view_istrusted
      Src: /src/bind9/lib/dns/validator.c:1472,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1474,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1480,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1481,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1484,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1488,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1489,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1492,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1494,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1511,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1514,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1515,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1518,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1522,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1528,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 63
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1538
      start: 1414
    functionDepth: 4
    functionLinenumber: 1414
    functionLinenumberEnd: 1538
    functionName: selfsigned_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dns_view_istrusted
    - consume_validation_fail
    - dns_name_equal
    - consume_validation
    - dns_view_untrust
    - RUNTIME_CHECK
    - compute_keytag
    - over_max_fails
    - over_max_validations
    - dns_rdataset_current
    - dns_dnssec_verify
    - DNS_TRUST_PENDING
    - dst_key_free
    - dns_rdata_tostruct
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t selfsigned_dnskey(dns_validator_t *val)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1433,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1434,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1435,1
    - Dst: compute_keytag
      Src: /src/bind9/lib/dns/validator.c:1436,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1442,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1443,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1444,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1448,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1471,1
    - Dst: dns_view_istrusted
      Src: /src/bind9/lib/dns/validator.c:1472,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1474,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1480,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1481,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1484,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1488,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1489,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1492,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1494,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1511,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1514,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1515,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1518,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1522,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1528,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1531
      start: 1427
    functionDepth: 4
    functionLinenumber: 1427
    functionLinenumberEnd: 1531
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dns_view_istrusted
    - consume_validation_fail
    - dns_name_equal
    - consume_validation
    - dns_view_untrust
    - RUNTIME_CHECK
    - compute_keytag
    - over_max_fails
    - over_max_validations
    - dns_rdataset_current
    - dns_dnssec_verify
    - DNS_TRUST_PENDING
    - dst_key_free
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1442,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1443,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:1444,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1448,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:1471,1
    - Dst: dns_view_istrusted
      Src: /src/bind9/lib/dns/validator.c:1472,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:1474,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1480,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1481,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1484,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1488,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1489,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1492,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1494,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1511,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1514,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1515,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1518,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1522,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/validator.c:1528,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1438
    functionDepth: 4
    functionLinenumber: 1438
    functionLinenumberEnd: 1530
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dns_view_istrusted
    - consume_validation_fail
    - dns_name_equal
    - consume_validation
    - dns_view_untrust
    - RUNTIME_CHECK
    - over_max_fails
    - over_max_validations
    - dns_rdataset_current
    - dns_dnssec_verify
    - DNS_TRUST_PENDING
    - dst_key_free
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(sigrdataset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:1555,1
    - Dst: DNS_TRUST_SECURE
      Src: /src/bind9/lib/dns/validator.c:1557,1
    - Dst: over_max_validations
      Src: /src/bind9/lib/dns/validator.c:1565,1
    - Dst: consume_validation
      Src: /src/bind9/lib/dns/validator.c:1568,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/validator.c:1571,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1582,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1587,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1590,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1592,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1592,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1594,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:1597,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:1605,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:1606,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:1607,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/validator.c:1608,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:1620,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1629,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1633,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 4
    argNames:
    - val
    - key
    - rdata
    - keyid
    argTypes:
    - dns_validator_t*
    - dst_key_t*
    - dns_rdata_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1637
      start: 1549
    functionDepth: 4
    functionLinenumber: 1549
    functionLinenumberEnd: 1637
    functionName: verify
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 27
    functionsReached:
    - dns_name_copy
    - validator_addede
    - consume_validation_fail
    - consume_validation
    - dns_name_equal
    - DNS_TRUST_SECURE
    - dns_name_getlabelsequence
    - over_max_fails
    - dns_fixedname_initname
    - ISC_LOG_DEBUG
    - over_max_validations
    - validator_log
    - dns_dnssec_verify
    - dns_fixedname_name
    - dns_name_countlabels
    - isc_result_totext
    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:1668,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1669,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:1670,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1676,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1676,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:1678,1
    - Dst: validate_answer_iter_done
      Src: /src/bind9/lib/dns/validator.c:1683,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1689,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:1690,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1691
      start: 1659
    functionDepth: 1
    functionLinenumber: 1659
    functionLinenumberEnd: 1691
    functionName: validate_answer_iter_start
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validate_answer_iter_done
    - INSIST
    - dns_rdataset_first
    - CANCELING
    - ISC_LOG_DEBUG
    - validator_cancel_finish
    - validator_log
    - validate_async_run
    - CLEANUP
    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:1699,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1700,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:1701,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:1705,1
    - Dst: validate_answer_iter_done
      Src: /src/bind9/lib/dns/validator.c:1709,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1713,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1714
      start: 1693
    functionDepth: 1
    functionLinenumber: 1693
    functionLinenumberEnd: 1714
    functionName: validate_answer_iter_next
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validate_answer_iter_done
    - dns_rdataset_next
    - CANCELING
    - validator_cancel_finish
    - validate_async_run
    - CLEANUP
    linkageType: ''
    returnType: void
    signature: void validate_answer_iter_next(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:1727,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1727,1
    - Dst: verify
      Src: /src/bind9/lib/dns/validator.c:1730,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1740,1
    - Dst: select_signing_key
      Src: /src/bind9/lib/dns/validator.c:1747,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:1749,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:1751,1
    - Dst: over_max_fails
      Src: /src/bind9/lib/dns/validator.c:1754,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:1755,1
    - Dst: consume_validation_fail
      Src: /src/bind9/lib/dns/validator.c:1758,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1763,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 34
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1764
      start: 1722
    functionDepth: 4
    functionLinenumber: 1722
    functionLinenumberEnd: 1764
    functionName: validate_answer_signing_key
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - verify
    - select_signing_key
    - CANCELED
    - consume_validation_fail
    - INSIST
    - CANCELING
    - over_max_fails
    - validate_async_run
    - dst_key_free
    linkageType: ''
    returnType: void
    signature: void validate_answer_signing_key(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1771,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1772,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:1776,1
    - Dst: validate_answer_finish
      Src: /src/bind9/lib/dns/validator.c:1780,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1766
    functionDepth: 1
    functionLinenumber: 1766
    functionLinenumberEnd: 1781
    functionName: validate_answer_signing_key_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validate_helper_run
    - validator_cancel_finish
    - validate_answer_finish
    - CANCELING
    linkageType: ''
    returnType: void
    signature: void validate_answer_signing_key_done(void *arg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:1789,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:1790,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:1791,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/validator.c:1794,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:1796,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/validator.c:1798,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/validator.c:1801,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:1801,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:1807,1
    - Dst: seek_dnskey
      Src: /src/bind9/lib/dns/validator.c:1822,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:1844,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1848,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1851,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 48
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1852
      start: 1783
    functionDepth: 4
    functionLinenumber: 1783
    functionLinenumberEnd: 1852
    functionName: validate_answer_process
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - validate_helper_run
    - dns_rdata_reset
    - CANCELING
    - validator_cancel_finish
    - seek_dnskey
    - validate_async_done
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    - validate_async_run
    - dns_resolver_algorithm_supported
    - CLEANUP
    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:1860,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:1866,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:1870,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1876,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1876,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1877,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1880,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1880,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1881,1
    - Dst: MAXVALIDATIONS
      Src: /src/bind9/lib/dns/validator.c:1884,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1885,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1885,1
    - Dst: MAXVALIDATIONFAILS
      Src: /src/bind9/lib/dns/validator.c:1887,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1888,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1888,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1892,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1893,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1896,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:1902,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1904,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1904,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1906,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1910,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1910,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:1912,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1913,1
    - Dst: marksecure
      Src: /src/bind9/lib/dns/validator.c:1918,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1919,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1923,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1923,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1924,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:1925,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 53
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1854
    functionDepth: 2
    functionLinenumber: 1854
    functionLinenumberEnd: 1926
    functionName: validate_answer_finish
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - NEEDNOQNAME
    - MAXVALIDATIONFAILS
    - marksecure
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - validate_async_done
    - MAXVALIDATIONS
    - validator_log
    - dns_rdataset_trimttl
    - validate_async_run
    - validate_nx
    - dst_key_free
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void validate_answer_finish(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1931,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1931,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:1933,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1934,1
    - Dst: validate_extendederror
      Src: /src/bind9/lib/dns/validator.c:1939,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:1942,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:1943,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - val
    - result
    argTypes:
    - dns_validator_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1944
      start: 1928
    functionDepth: 1
    functionLinenumber: 1928
    functionLinenumberEnd: 1944
    functionName: validate_answer_iter_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - ISC_LOG_DEBUG
    - validate_async_done
    - validator_log
    - validate_extendederror
    - isc_result_totext
    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:1951,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1952
      start: 1946
    functionDepth: 2
    functionLinenumber: 1946
    functionLinenumberEnd: 1952
    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:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1954
    functionDepth: 2
    functionLinenumber: 1954
    functionLinenumberEnd: 1959
    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:1963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - val
    - cb
    argTypes:
    - dns_validator_t*
    - isc_job_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1965
      start: 1961
    functionDepth: 2
    functionLinenumber: 1961
    functionLinenumberEnd: 1965
    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:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - val
    - cb
    argTypes:
    - dns_validator_t*
    - isc_job_cb
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1972
      start: 1967
    functionDepth: 2
    functionLinenumber: 1967
    functionLinenumberEnd: 1972
    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:1980,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:1980,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:1982,1
    - Dst: validator_done
      Src: /src/bind9/lib/dns/validator.c:1990,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/validator.c:1991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - val
    - result
    argTypes:
    - dns_validator_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1993
      start: 1974
    functionDepth: 4
    functionLinenumber: 1974
    functionLinenumberEnd: 1993
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:2007,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/validator.c:2007,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/validator.c:2010,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2014,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2015,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2016,1
    - Dst: verify
      Src: /src/bind9/lib/dns/validator.c:2020,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2022,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:2023,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2028,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:2029,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 4
    argNames:
    - val
    - keyrdata
    - keyid
    - algorithm
    argTypes:
    - dns_validator_t*
    - dns_rdata_t*
    - uint16_t
    - dns_secalg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2032
      start: 1999
    functionDepth: 3
    functionLinenumber: 1999
    functionLinenumberEnd: 2032
    functionName: check_signer
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - verify
    - dns_dnssec_keyfromrdata
    - RUNTIME_CHECK
    - dns_rdataset_clone
    - RETERR
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dst_key_free
    - dns_rdata_tostruct
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2014,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2015,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2016,1
    - Dst: verify
      Src: /src/bind9/lib/dns/validator.c:2020,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2022,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:2023,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 2011
    functionDepth: 1
    functionLinenumber: 2011
    functionLinenumberEnd: 2026
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - verify
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dst_key_free
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:2051,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:2058,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:2059,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:2064,1
    - Dst: create_ds_fetch
      Src: /src/bind9/lib/dns/validator.c:2080,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:2097,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2098,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2098,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: 2111
      start: 2047
    functionDepth: 6
    functionLinenumber: 2047
    functionLinenumberEnd: 2111
    functionName: get_dsset
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - view_find
    - create_ds_fetch
    - create_validator
    - ISC_LOG_DEBUG
    - validator_log
    - DNS_TRUST_PENDING
    - DNS_TRUST_ANSWER
    - disassociate_rdatasets
    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:2121,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2127,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2127,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2129,1
    - Dst: validate_extendederror
      Src: /src/bind9/lib/dns/validator.c:2130,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2135,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2143,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:2146,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - val
    - result
    argTypes:
    - dns_validator_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2147
      start: 2113
    functionDepth: 5
    functionLinenumber: 2113
    functionLinenumberEnd: 2147
    functionName: validate_dnskey_dsset_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - marksecure
    - markanswer
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - validate_async_done
    - validator_log
    - validate_extendederror
    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:2159,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2160,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2161,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2162,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:2168,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:2199,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/validator.c:2215,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2218,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2218,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:2219,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2228,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:2232,1
    - Dst: check_signer
      Src: /src/bind9/lib/dns/validator.c:2255,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2257,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2257,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 61
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2149
    functionDepth: 4
    functionLinenumber: 2149
    functionLinenumberEnd: 2264
    functionName: validate_dnskey_dsset
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validator_addede
    - check_signer
    - RUNTIME_CHECK
    - dns_dnssec_matchdskey
    - dns_rdata_reset
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - dns_resolver_algorithm_supported
    - validator_log
    - dns_resolver_ds_digest_supported
    - dns_rdata_tostruct
    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:2273,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2273,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2276,1
    - Dst: validate_dnskey_dsset
      Src: /src/bind9/lib/dns/validator.c:2281,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:2284,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2285
      start: 2269
    functionDepth: 5
    functionLinenumber: 2269
    functionLinenumberEnd: 2285
    functionName: validate_dnskey_dsset_next
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - CANCELED
    - dns_rdataset_next
    - validate_dnskey_dsset
    - CANCELING
    - validate_async_run
    linkageType: ''
    returnType: void
    signature: void validate_dnskey_dsset_next(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2293,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:2294,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:2309,1
    - Dst: validate_dnskey_dsset_done
      Src: /src/bind9/lib/dns/validator.c:2318,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2287
    functionDepth: 6
    functionLinenumber: 2287
    functionLinenumberEnd: 2320
    functionName: validate_dnskey_dsset_next_done
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - validate_helper_run
    - validator_cancel_finish
    - validate_dnskey_dsset_done
    - CANCELING
    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:2326,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2326,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2329,1
    - Dst: validate_dnskey_dsset
      Src: /src/bind9/lib/dns/validator.c:2334,1
    - Dst: validate_helper_run
      Src: /src/bind9/lib/dns/validator.c:2336,1
    - Dst: validate_dnskey_dsset_done
      Src: /src/bind9/lib/dns/validator.c:2342,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2343
      start: 2322
    functionDepth: 6
    functionLinenumber: 2322
    functionLinenumberEnd: 2343
    functionName: validate_dnskey_dsset_first
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - CANCELED
    - dns_rdataset_first
    - validate_helper_run
    - validate_dnskey_dsset
    - CANCELING
    - validate_dnskey_dsset_done
    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:2352,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:2352,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:2353,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/validator.c:2361,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/validator.c:2363,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/validator.c:2366,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:2380,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2382,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2382,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2385,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2385,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:2388,1
    - Dst: get_dsset
      Src: /src/bind9/lib/dns/validator.c:2394,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:2404,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:2407,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/validator.c:2426,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2428,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:2429,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2430,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:2432,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:2438,1
    - Dst: validate_dnskey_dsset_first
      Src: /src/bind9/lib/dns/validator.c:2455,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2461,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:2463,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 62
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2464
      start: 2345
    functionDepth: 7
    functionLinenumber: 2345
    functionLinenumberEnd: 2464
    functionName: validate_dnskey
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - INSIST
    - markanswer
    - ISC_LOG_DEBUG
    - validate_async_done
    - dns_rdataset_disassociate
    - dns_resolver_algorithm_supported
    - CANCELED
    - RUNTIME_CHECK
    - dns_keynode_dsset
    - get_dsset
    - validate_dnskey_dsset_first
    - dns_rdata_tostruct
    - dns_name_equal
    - dns_keytable_find
    - dns_rdataset_current
    - validator_log
    - CLEANUP
    - CANCELING
    - DNS_RDATASET_FOREACH
    - dns_keynode_detach
    - dns_resolver_ds_digest_supported
    linkageType: ''
    returnType: void
    signature: void validate_dnskey(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2477,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2478,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2480,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2484,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:2488,1
    - Dst: dns_message_firstname
      Src: /src/bind9/lib/dns/validator.c:2488,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/validator.c:2489,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2490,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:2491,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2493,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:2495,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 3
    argNames:
    - val
    - namep
    - rdatasetp
    argTypes:
    - dns_validator_t*
    - dns_name_t**
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2500
      start: 2471
    functionDepth: 4
    functionLinenumber: 2471
    functionLinenumberEnd: 2500
    functionName: val_rdataset_first
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_message_currentname
    - INSIST
    - dns_rdataset_first
    - dns_ncache_current
    - ISC_LIST_HEAD
    - RETERR
    - dns_message_firstname
    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:2508,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:2509,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2513,1
    - Dst: dns_message_nextname
      Src: /src/bind9/lib/dns/validator.c:2516,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/validator.c:2519,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2521,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:2522,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:2527,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2528,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:2530,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: 2534
      start: 2502
    functionDepth: 4
    functionLinenumber: 2502
    functionLinenumberEnd: 2534
    functionName: val_rdataset_next
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_message_nextname
    - dns_message_currentname
    - INSIST
    - dns_rdataset_next
    - dns_ncache_current
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - dns_rdataset_disassociate
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/validator.c:2553,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:2554,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2555,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2557,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2558,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2558,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:2563,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2564,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2564,1
    - Dst: val_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2574,1
    - Dst: val_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2576,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2585,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2585,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2586,1
    - Dst: FOUNDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2586,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2587,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2595,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2601,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2604,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2609,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2609,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2610,1
    - Dst: FOUNDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2610,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2611,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2620,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2626,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2629,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2636,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 59
    argCount: 3
    argNames:
    - val
    - type
    - zonename
    argTypes:
    - dns_validator_t*
    - dns_rdatatype_t
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2638
      start: 2544
    functionDepth: 5
    functionLinenumber: 2544
    functionLinenumberEnd: 2638
    functionName: checkwildcard
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - FOUNDNODATA
    - NEEDNOQNAME
    - val_rdataset_first
    - dns_name_init
    - dns_name_format
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - val_rdataset_next
    - NEEDNODATA
    - dns_nsec_noexistnodata
    - ISC_LOG_DEBUG
    - FOUNDNOWILDCARD
    - validator_log
    - dns_fixedname_name
    - dns_name_countlabels
    - dns_nsec3_noexistnodata
    - NEEDNOWILDCARD
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/validator.c:2656,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:2657,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2658,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2659,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2660,1
    - Dst: val_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2670,1
    - Dst: val_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2672,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2680,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2685,1
    - Dst: POST
      Src: /src/bind9/lib/dns/validator.c:2692,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2694,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2695,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2703,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2703,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:2706,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2706,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:2708,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:2708,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:2711,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2711,1
    - Dst: val_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2719,1
    - Dst: val_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2721,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/validator.c:2736,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2748,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2754,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2758,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2764,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2773,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2794,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2795,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:2796,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/validator.c:2797,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/validator.c:2800,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:2801,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:2802,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:2812,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:2812,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:2813,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:2813,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:2813,1
    - Dst: checkwildcard
      Src: /src/bind9/lib/dns/validator.c:2815,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2817,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:2821,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 107
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2823
      start: 2645
    functionDepth: 6
    functionLinenumber: 2645
    functionLinenumberEnd: 2823
    functionName: findnsec3proofs
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - val_rdataset_first
    - dns_rdataset_init
    - ISC_LOG_DEBUG
    - NEEDNOWILDCARD
    - FOUNDNOQNAME
    - dns_name_init
    - dns_name_concatenate
    - dns_name_format
    - RUNTIME_CHECK
    - val_rdataset_next
    - FOUNDCLOSEST
    - dns_nsec3_noexistnodata
    - dns_name_issubdomain
    - validator_log
    - dns_name_countlabels
    - checkwildcard
    - NEEDNOQNAME
    - FOUNDNODATA
    - dns_rdataset_cleanup
    - POST
    - NEEDNODATA
    - dns_fixedname_initname
    - dns_fixedname_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t findnsec3proofs(dns_validator_t *val)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:2849,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:2853,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/validator.c:2853,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:2854,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/validator.c:2855,1
    - Dst: DNS_TRUST_SECURE
      Src: /src/bind9/lib/dns/validator.c:2861,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:2872,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:2872,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    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: 2877
      start: 2834
    functionDepth: 3
    functionLinenumber: 2834
    functionLinenumberEnd: 2877
    functionName: validate_neg_rrset
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dns_rdataset_first
    - create_validator
    - DNS_TRUST_SECURE
    - RETERR
    - dns_nsec_typepresent
    - dns_rdataset_current
    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:2889,1
    - Dst: dns_message_nextname
      Src: /src/bind9/lib/dns/validator.c:2895,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/validator.c:2900,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2902,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2906,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2910,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/validator.c:2916,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/validator.c:2918,1
    - Dst: validate_neg_rrset
      Src: /src/bind9/lib/dns/validator.c:2927,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 35
    argCount: 2
    argNames:
    - val
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2938
      start: 2882
    functionDepth: 4
    functionLinenumber: 2882
    functionLinenumberEnd: 2938
    functionName: validate_authority
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_message_currentname
    - dns_message_nextname
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - dns_message_firstname
    - validate_neg_rrset
    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:2949,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2951,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:2955,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:2959,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:2961,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/validator.c:2963,1
    - Dst: dns_ncache_getsigrdataset
      Src: /src/bind9/lib/dns/validator.c:2969,1
    - Dst: validate_neg_rrset
      Src: /src/bind9/lib/dns/validator.c:2976,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - val
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2986
      start: 2943
    functionDepth: 4
    functionLinenumber: 2943
    functionLinenumberEnd: 2986
    functionName: validate_ncache
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_next
    - dns_rdataset_first
    - dns_ncache_current
    - dns_ncache_getsigrdataset
    - dns_fixedname_initname
    - validate_neg_rrset
    - disassociate_rdatasets
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t validate_ncache(dns_validator_t *val, bool resume)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3006,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3006,1
    - Dst: validate_ncache
      Src: /src/bind9/lib/dns/validator.c:3010,1
    - Dst: validate_authority
      Src: /src/bind9/lib/dns/validator.c:3012,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:3023,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:3023,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:3023,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:3024,1
    - Dst: findnsec3proofs
      Src: /src/bind9/lib/dns/validator.c:3025,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3027,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3027,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3030,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:3035,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:3035,1
    - Dst: FOUNDOPTOUT
      Src: /src/bind9/lib/dns/validator.c:3035,1
    - Dst: marksecure
      Src: /src/bind9/lib/dns/validator.c:3037,1
    - Dst: FOUNDOPTOUT
      Src: /src/bind9/lib/dns/validator.c:3039,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3040,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:3041,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3043,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3043,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3046,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3049,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3049,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3051,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3055,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3055,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:3059,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:3059,1
    - Dst: findnsec3proofs
      Src: /src/bind9/lib/dns/validator.c:3060,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3062,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3062,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3064,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:3072,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:3072,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:3073,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:3073,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:3073,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:3075,1
    - Dst: checkwildcard
      Src: /src/bind9/lib/dns/validator.c:3075,1
    - Dst: NEEDNODATA
      Src: /src/bind9/lib/dns/validator.c:3078,1
    - Dst: FOUNDNODATA
      Src: /src/bind9/lib/dns/validator.c:3078,1
    - Dst: FOUNDOPTOUT
      Src: /src/bind9/lib/dns/validator.c:3078,1
    - Dst: NEEDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:3079,1
    - Dst: FOUNDNOQNAME
      Src: /src/bind9/lib/dns/validator.c:3079,1
    - Dst: NEEDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:3079,1
    - Dst: FOUNDNOWILDCARD
      Src: /src/bind9/lib/dns/validator.c:3080,1
    - Dst: FOUNDCLOSEST
      Src: /src/bind9/lib/dns/validator.c:3080,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3085,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3085,1
    - Dst: marksecure
      Src: /src/bind9/lib/dns/validator.c:3088,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:3100,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 66
    argCount: 2
    argNames:
    - val
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3101
      start: 3001
    functionDepth: 7
    functionLinenumber: 3001
    functionLinenumberEnd: 3101
    functionName: validate_nx
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - markanswer
    - ISC_LOG_DEBUG
    - RETERR
    - NEEDNOWILDCARD
    - FOUNDNOQNAME
    - FOUNDCLOSEST
    - validate_authority
    - proveunsecure
    - FOUNDOPTOUT
    - validator_log
    - validate_ncache
    - dns_name_countlabels
    - checkwildcard
    - NEEDNOQNAME
    - FOUNDNODATA
    - marksecure
    - findnsec3proofs
    - NEEDNODATA
    - FOUNDNOWILDCARD
    - dns_fixedname_name
    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:3111,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/validator.c:3112,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/validator.c:3115,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3116,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3117,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3125
      start: 3106
    functionDepth: 1
    functionLinenumber: 3106
    functionLinenumberEnd: 3125
    functionName: check_ds_private
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_next
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:3147,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3148,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3149,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/validator.c:3175,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3183,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3185,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:3194,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:3196,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3220,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3221,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: 3229
      start: 3131
    functionDepth: 2
    functionLinenumber: 3131
    functionLinenumberEnd: 3229
    functionName: check_ds_algs
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - RUNTIME_CHECK
    - dns_dnssec_matchdskey
    - dns_rdataset_current
    - dns_resolver_algorithm_supported
    - validator_log
    - dns_resolver_ds_digest_supported
    - dns_rdata_tostruct
    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:3147,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3148,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3149,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/validator.c:3175,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/validator.c:3183,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/validator.c:3185,1
    - Dst: dns_resolver_ds_digest_supported
      Src: /src/bind9/lib/dns/validator.c:3194,1
    - Dst: dns_resolver_algorithm_supported
      Src: /src/bind9/lib/dns/validator.c:3196,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3140
    functionDepth: 2
    functionLinenumber: 3140
    functionLinenumberEnd: 3202
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - dns_dnssec_matchdskey
    - dns_rdataset_current
    - dns_resolver_algorithm_supported
    - dns_resolver_ds_digest_supported
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(dsrdataset)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:3250,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/validator.c:3251,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3253,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:3254,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/validator.c:3256,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3259,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3260,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3260,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:3263,1
    - Dst: check_ds_private
      Src: /src/bind9/lib/dns/validator.c:3274,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:3275,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/validator.c:3276,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:3279,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:3280,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:3292,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3303,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3303,1
    - Dst: check_ds_algs
      Src: /src/bind9/lib/dns/validator.c:3309,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3310,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3311,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3314,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3324,1
    - Dst: create_ds_fetch
      Src: /src/bind9/lib/dns/validator.c:3339,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:3355,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:3356,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3358,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3375,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/lib/dns/validator.c:3376,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/validator.c:3378,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3380,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3391,1
    - Dst: is_insecure_referral
      Src: /src/bind9/lib/dns/validator.c:3398,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3401,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3413,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:3420,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:3421,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3429,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3444,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/validator.c:3455,1
    - Dst: DNS_TRUST_ANSWER
      Src: /src/bind9/lib/dns/validator.c:3456,1
    - Dst: create_validator
      Src: /src/bind9/lib/dns/validator.c:3458,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 114
    argCount: 2
    argNames:
    - val
    - resp
    argTypes:
    - dns_validator_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3245
    functionDepth: 6
    functionLinenumber: 3245
    functionLinenumberEnd: 3480
    functionName: seek_ds
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_name_split
    - check_ds_private
    - is_insecure_referral
    - markanswer
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - DNS_TRUST_ANSWER
    - dns_rdataset_isassociated
    - dns_name_format
    - create_fetch
    - view_find
    - dns_name_equal
    - dns_rdataset_clone
    - create_validator
    - validator_log
    - DNS_TRUST_PENDING
    - create_ds_fetch
    - dns_name_countlabels
    - dns_rdataset_cleanup
    - check_ds_algs
    - dns_view_bestzonecut
    - dns_fixedname_initname
    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:3504,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3507,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/validator.c:3514,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3520,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/validator.c:3522,1
    - Dst: dns_keytable_finddeepestmatch
      Src: /src/bind9/lib/dns/validator.c:3525,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3527,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3527,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3528,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3539,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3541,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3541,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/validator.c:3552,1
    - Dst: check_ds_private
      Src: /src/bind9/lib/dns/validator.c:3560,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:3561,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/validator.c:3562,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/validator.c:3565,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/validator.c:3566,1
    - Dst: create_fetch
      Src: /src/bind9/lib/dns/validator.c:3577,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3587,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3587,1
    - Dst: check_ds_algs
      Src: /src/bind9/lib/dns/validator.c:3593,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3594,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3596,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3597,1
    - Dst: markanswer
      Src: /src/bind9/lib/dns/validator.c:3600,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/validator.c:3611,1
    - Dst: seek_ds
      Src: /src/bind9/lib/dns/validator.c:3614,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3620,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3625,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3625,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/validator.c:3626,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:3629,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:3636,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 80
    argCount: 4
    argNames:
    - val
    - have_ds
    - have_dnskey
    - resume
    argTypes:
    - dns_validator_t*
    - bool
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3639
      start: 3498
    functionDepth: 7
    functionLinenumber: 3498
    functionLinenumberEnd: 3639
    functionName: proveunsecure
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 6
    functionsReached:
    - dns_name_copy
    - INSIST
    - check_ds_private
    - markanswer
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - dns_keytable_finddeepestmatch
    - disassociate_rdatasets
    - validator_addede
    - dns_name_format
    - create_fetch
    - isc_result_totext
    - view_find
    - dns_rdataset_clone
    - dns_name_getlabelsequence
    - validator_log
    - dns_name_countlabels
    - dns_rdataset_cleanup
    - check_ds_algs
    - dns_fixedname_initname
    - dns_fixedname_name
    - seek_ds
    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:3658,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:3658,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/validator.c:3659,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3662,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3662,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3669,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3669,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3672,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3672,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3673,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3673,1
    - Dst: selfsigned_dnskey
      Src: /src/bind9/lib/dns/validator.c:3675,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3680,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3683,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/validator.c:3686,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3693,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/validator.c:3693,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3694,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3694,1
    - Dst: proveunsecure
      Src: /src/bind9/lib/dns/validator.c:3697,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3699,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3707,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3707,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:3718,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/validator.c:3719,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3723,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3723,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/validator.c:3727,1
    - Dst: validate_nx
      Src: /src/bind9/lib/dns/validator.c:3734,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/validator.c:3736,1
    - Dst: validate_async_done
      Src: /src/bind9/lib/dns/validator.c:3740,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 57
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3741
      start: 3653
    functionDepth: 8
    functionLinenumber: 3653
    functionLinenumberEnd: 3741
    functionName: validator_start
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - CANCELED
    - dns_rdataset_isassociated
    - INSIST
    - NEGATIVE
    - selfsigned_dnskey
    - CANCELING
    - ISC_LOG_DEBUG
    - validate_async_done
    - validator_log
    - validate_async_run
    - validate_nx
    - UNREACHABLE
    - proveunsecure
    - CLEANUP
    - NXDOMAIN
    linkageType: ''
    returnType: void
    signature: void validator_start(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3754,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3755,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3757,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3758,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/validator.c:3760,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/validator.c:3760,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/validator.c:3762,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3764,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/validator.c:3773,1
    - Dst: dns_ede_init
      Src: /src/bind9/lib/dns/validator.c:3781,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/validator.c:3783,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/validator.c:3784,1
    - Dst: dns_message_attach
      Src: /src/bind9/lib/dns/validator.c:3786,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3790,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3794,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3798,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/validator.c:3801,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3804,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3805,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3806,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/validator.c:3807,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/validator.c:3808,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/validator.c:3809,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/validator.c:3810,1
    - Dst: dns_validator_ref
      Src: /src/bind9/lib/dns/validator.c:3814,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3815,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 17
    argNames:
    - view
    - name
    - type
    - rdataset
    - sigrdataset
    - message
    - options
    - loop
    - cb
    - arg
    - nvalidations
    - nfails
    - qc
    - gqc
    - parent
    - 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*
    - fetchctx_t*
    - dns_edectx_t*
    - dns_validator_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3821
      start: 3743
    functionDepth: 3
    functionLinenumber: 3743
    functionLinenumberEnd: 3821
    functionName: dns_validator_create
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_fixedname_init
    - dns_validator_ref
    - isc_stdtime_now
    - isc_mem_get
    - dns_ede_init
    - isc_loop_ref
    - dns_rdataset_init
    - isc_tid
    - dns_view_getsecroots
    - dns_view_attach
    - RETERR
    - dns_message_attach
    - validate_async_run
    - isc_counter_attach
    - isc_refcount_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, fetchctx_t *parent,\n\t\t
      \    dns_edectx_t *edectx, dns_validator_t **validatorp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3825,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3825,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3826,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3826,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/validator.c:3828,1
    - Dst: dns_validator_ref
      Src: /src/bind9/lib/dns/validator.c:3831,1
    - Dst: validate_async_run
      Src: /src/bind9/lib/dns/validator.c:3832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3833
      start: 3823
    functionDepth: 3
    functionLinenumber: 3823
    functionLinenumberEnd: 3833
    functionName: dns_validator_send
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_validator_ref
    - INSIST
    - isc_tid
    - validate_async_run
    - VALID_VALIDATOR
    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:3837,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3837,1
    - Dst: CANCELING
      Src: /src/bind9/lib/dns/validator.c:3839,1
    - Dst: CANCELED
      Src: /src/bind9/lib/dns/validator.c:3839,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/validator.c:3841,1
    - Dst: dns_validator_cancel
      Src: /src/bind9/lib/dns/validator.c:3844,1
    - Dst: COMPLETE
      Src: /src/bind9/lib/dns/validator.c:3846,1
    - Dst: validator_done
      Src: /src/bind9/lib/dns/validator.c:3848,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - validator
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3852
      start: 3835
    functionDepth: 4
    functionLinenumber: 3835
    functionLinenumberEnd: 3852
    functionName: validator_cancel_finish
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 5
    functionsReached:
    - CANCELED
    - dns_validator_cancel
    - CANCELING
    - validator_done
    - ISC_LOG_DEBUG
    - validator_log
    - COMPLETE
    - dns_resolver_cancelfetch
    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:3856,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3856,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3857,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3857,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3859,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3859,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/validator.c:3861,1
    - Dst: OFFLOADED
      Src: /src/bind9/lib/dns/validator.c:3863,1
    - Dst: validator_cancel_finish
      Src: /src/bind9/lib/dns/validator.c:3864,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - validator
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3866
      start: 3854
    functionDepth: 5
    functionLinenumber: 3854
    functionLinenumberEnd: 3866
    functionName: dns_validator_cancel
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_tid
    - ISC_LOG_DEBUG
    - validator_cancel_finish
    - validator_log
    - OFFLOADED
    - atomic_store
    - VALID_VALIDATOR
    linkageType: ''
    returnType: void
    signature: void dns_validator_cancel(dns_validator_t *validator)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3872,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3873,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/validator.c:3877,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/validator.c:3880,1
    - Dst: disassociate_rdatasets
      Src: /src/bind9/lib/dns/validator.c:3882,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/validator.c:3883,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/validator.c:3886,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/validator.c:3889,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3892,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3895,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3898,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/validator.c:3901,1
    - Dst: dns_ede_invalidate
      Src: /src/bind9/lib/dns/validator.c:3904,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/validator.c:3906,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/validator.c:3907,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/validator.c:3909,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3910
      start: 3868
    functionDepth: 4
    functionLinenumber: 3868
    functionLinenumberEnd: 3910
    functionName: destroy_validator
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_loop_detach
    - isc_mem_put
    - dns_keytable_detach
    - dns_ede_invalidate
    - dns_rdataset_cleanup
    - dns_view_detach
    - isc_counter_detach
    - dns_message_detach
    - dst_key_free
    - disassociate_rdatasets
    linkageType: ''
    returnType: void
    signature: void destroy_validator(dns_validator_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3914,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:3914,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3915,1
    - Dst: COMPLETE
      Src: /src/bind9/lib/dns/validator.c:3915,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:3916,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/validator.c:3916,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:3918,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:3918,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3928
      start: 3912
    functionDepth: 1
    functionLinenumber: 3912
    functionLinenumberEnd: 3928
    functionName: dns_validator_shutdown
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_tid
    - ISC_LOG_DEBUG
    - validator_log
    - COMPLETE
    - VALID_VALIDATOR
    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:3938,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/validator.c:3952,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/validator.c:3953,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/validator.c:3966,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/validator.c:3967,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/validator.c:3968,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/validator.c:3972,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: 3976
      start: 3930
    functionDepth: 2
    functionLinenumber: 3930
    functionLinenumberEnd: 3976
    functionName: validator_logv
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_rdatatype_format
    - vsnprintf
    - dns_name_format
    - isc_log_write
    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:3982,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/validator.c:3986,1
    - Dst: validator_logv
      Src: /src/bind9/lib/dns/validator.c:3988,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/validator.c:3990,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - val
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3991
      start: 3978
    functionDepth: 3
    functionLinenumber: 3978
    functionLinenumberEnd: 3991
    functionName: validator_log
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 33
    functionsReached:
    - va_start
    - validator_logv
    - va_end
    - 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:4000,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/validator.c:4001,1
    - Dst: validator_log
      Src: /src/bind9/lib/dns/validator.c:4002,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/validator.c:4002,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: 4004
      start: 3993
    functionDepth: 4
    functionLinenumber: 3993
    functionLinenumberEnd: 4004
    functionName: validator_logcreate
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - dns_rdatatype_format
    - ISC_LOG_DEBUG
    - validator_log
    - dns_name_format
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/validator.c:4008,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:4008,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:4014,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/validator.c:4017,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:4022,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/validator.c:4024,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:4025,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/validator.c:4026,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:4028,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/validator.c:4030,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 3
    argNames:
    - val
    - code
    - extra
    argTypes:
    - dns_validator_t*
    - uint16_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4031
      start: 4006
    functionDepth: 3
    functionLinenumber: 4006
    functionLinenumberEnd: 4031
    functionName: validator_addede
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_VALIDATOR
    - dns_name_totext
    - dns_ede_add
    - dns_rdatatype_totext
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_buffer_putstr
    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:4039,1
    - Dst: VALID_VALIDATOR
      Src: /src/bind9/lib/dns/validator.c:4039,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/validator.c:4041,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/validator.c:4048,1
    - Dst: dns_secalg_totext
      Src: /src/bind9/lib/dns/validator.c:4049,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:4050,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:4051,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/validator.c:4055,1
    - Dst: dns_dsdigest_totext
      Src: /src/bind9/lib/dns/validator.c:4056,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/validator.c:4057,1
    - Dst: validator_addede
      Src: /src/bind9/lib/dns/validator.c:4058,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - val
    argTypes:
    - dns_validator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4060
      start: 4033
    functionDepth: 4
    functionLinenumber: 4033
    functionLinenumberEnd: 4060
    functionName: validate_extendederror
    functionSourceFile: /src/bind9/lib/dns/validator.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - validator_addede
    - dns_dsdigest_totext
    - dns_secalg_totext
    - isc_buffer_clear
    - isc_buffer_putuint8
    - isc_buffer_init
    - VALID_VALIDATOR
    linkageType: ''
    returnType: void
    signature: void validate_extendederror(dns_validator_t *val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdataslab.c:101,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 99
    functionDepth: 1
    functionLinenumber: 99
    functionLinenumberEnd: 102
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:107,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/rdataslab.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 5
    argNames:
    - rdataset
    - mctx
    - region
    - nitems
    - size
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - uint16_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 104
    functionDepth: 1
    functionLinenumber: 104
    functionLinenumberEnd: 120
    functionName: newslab
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - CDS_LIST_HEAD_INIT
    - isc_mem_get
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nnewslab(dns_rdataset_t *rdataset, isc_mem_t *mctx,
      isc_region_t *region,\n\tuint16_t nitems, size_t size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:147,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:148,1
    - Dst: newslab
      Src: /src/bind9/lib/dns/rdataslab.c:150,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:153,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:154,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/rdataslab.c:163,1
    - Dst: newslab
      Src: /src/bind9/lib/dns/rdataslab.c:168,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rdataslab.c:185,1
    - Dst: ckd_mul
      Src: /src/bind9/lib/dns/rdataslab.c:185,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:186,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdataslab.c:191,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:196,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataslab.c:197,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataslab.c:198,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:199,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataslab.c:200,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/rdataslab.c:217,1
    - Dst: compare_rdata
      Src: /src/bind9/lib/dns/rdataslab.c:230,1
    - Dst: dns_rdatatype_issingleton
      Src: /src/bind9/lib/dns/rdataslab.c:267,1
    - Dst: newslab
      Src: /src/bind9/lib/dns/rdataslab.c:280,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:290,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:292,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdataslab.c:303,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:311,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 4
    argNames:
    - rdataset
    - mctx
    - region
    - maxrrperset
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 313
    functionName: makeslab
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - qsort
    - dns_rdataslab_size
    - newslab
    - memmove
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - dns_rdataset_first
    - rdataset_getheader
    - RUNTIME_CHECK
    - ckd_mul
    - dns_rdata_init
    - dns_rdataset_next
    - compare_rdata
    - dns_rdatatype_issingleton
    - dns_rdataset_current
    - dns_rdataset_count
    - put_uint16
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: makeslab
      Src: /src/bind9/lib/dns/rdataslab.c:324,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:331,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:332,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/rdataslab.c:333,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:336,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:337,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/rdataslab.c:337,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/rdataslab.c:339,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 4
    argNames:
    - rdataset
    - mctx
    - region
    - maxrrperset
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 315
    functionDepth: 3
    functionLinenumber: 315
    functionLinenumberEnd: 344
    functionName: dns_rdataslab_fromrdataset
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - makeslab
    - DNS_TYPEPAIR_VALUE
    - dns_rdatatype_issig
    - INSIST
    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:348,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:352,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:358,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 363
    functionName: dns_rdataslab_size
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - get_uint16
    - 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:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: dns_rdataslab_count
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - 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:384,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdataslab.c:396,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: 401
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 401
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:421,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:422,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdataslab.c:425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - slab1
    - slab2
    argTypes:
    - dns_slabheader_t*
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 434
    functionName: dns_rdataslab_equal
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - get_uint16
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool dns_rdataslab_equal(dns_slabheader_t *slab1, dns_slabheader_t
      *slab2)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:458,1
    - Dst: rdata_from_slabitem
      Src: /src/bind9/lib/dns/rdataslab.c:459,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdataslab.c:460,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: 465
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 465
    functionName: dns_rdataslab_equalx
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - rdata_from_slabitem
    - dns_rdata_compare
    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:
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdataslab.c:471,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdataslab.c:472,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdataslab.c:474,1
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/dns/rdataslab.c:476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - h
    - node
    argTypes:
    - dns_slabheader_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 479
      start: 467
    functionDepth: 1
    functionLinenumber: 467
    functionLinenumberEnd: 479
    functionName: dns_slabheader_reset
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - STATIC_ASSERT
    - atomic_init
    - ISC_LINK_INIT
    linkageType: ''
    returnType: void
    signature: void dns_slabheader_reset(dns_slabheader_t *h, dns_dbnode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - node
    argTypes:
    - isc_mem_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 481
    functionDepth: 1
    functionLinenumber: 481
    functionLinenumberEnd: 491
    functionName: dns_slabheader_new
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      dns_slabheader_new(isc_mem_t *mctx, dns_dbnode_t *node)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_deletedata
      Src: /src/bind9/lib/dns/rdataslab.c:501,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/rdataslab.c:503,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:504,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:509,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - headerp
    argTypes:
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 493
    functionDepth: 2
    functionLinenumber: 493
    functionLinenumberEnd: 510
    functionName: dns_slabheader_destroy
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_rdataslab_size
    - isc_mem_put
    - dns_db_deletedata
    - EXISTS
    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:519,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdataslab.c:520,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:525,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:527,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/rdataslab.c:532,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:534,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:536,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: 537
      start: 512
    functionDepth: 2
    functionLinenumber: 512
    functionLinenumberEnd: 537
    functionName: dns_slabheader_freeproof
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - dns_rdataslab_size
    - isc_mem_put
    - 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: rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:550,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 571
    functionName: rdataset_first
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 46
    functionsReached:
    - rdataset_getheader
    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:586,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 591
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 591
    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:601,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdataslab.c:607,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdataslab.c:618,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 620
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 620
    functionName: rdataset_current
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 187
    functionsReached:
    - REQUIRE
    - get_uint16
    - 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:628,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataslab.c:629,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdataslab.c:629,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdataslab.c:631,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: 635
      start: 622
    functionDepth: 2
    functionLinenumber: 622
    functionLinenumberEnd: 635
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 22
    functionsReached:
    - ISC_LINK_INIT
    - ISC_LINK_LINKED
    - dns__db_attachnode
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void rdataset_clone(const dns_rdataset_t *source,\n\t       dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 642
      start: 637
    functionDepth: 1
    functionLinenumber: 637
    functionLinenumberEnd: 642
    functionName: rdataset_count
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 13
    functionsReached:
    - rdataset_getheader
    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:662,1
    - Dst: dns__db_attachnode
      Src: /src/bind9/lib/dns/rdataslab.c:678,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdataslab.c:695,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: 698
      start: 644
    functionDepth: 2
    functionLinenumber: 644
    functionLinenumberEnd: 698
    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:718,1
    - Dst: dns__db_attachnode
      Src: /src/bind9/lib/dns/rdataslab.c:734,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdataslab.c:751,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: 754
      start: 700
    functionDepth: 2
    functionLinenumber: 700
    functionLinenumberEnd: 754
    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: rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:758,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/rdataslab.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rdataset
    - trust
    argTypes:
    - dns_rdataset_t*
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 756
    functionDepth: 1
    functionLinenumber: 756
    functionLinenumberEnd: 762
    functionName: rdataset_settrust
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 2
    functionsReached:
    - rdataset_getheader
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:773,1
    - Dst: DNS_SLABHEADER_CLRATTR
      Src: /src/bind9/lib/dns/rdataslab.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 776
    functionName: rdataset_clearprefetch
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 1
    functionsReached:
    - rdataset_getheader
    - DNS_SLABHEADER_CLRATTR
    linkageType: ''
    returnType: void
    signature: void rdataset_clearprefetch(dns_rdataset_t *rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: rdataset_getheader
      Src: /src/bind9/lib/dns/rdataslab.c:780,1
    - Dst: CASESET
      Src: /src/bind9/lib/dns/rdataslab.c:784,1
    - Dst: CASEFULLYLOWER
      Src: /src/bind9/lib/dns/rdataslab.c:788,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/rdataslab.c:789,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/lib/dns/rdataslab.c:801,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rdataslab.c:802,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 778
    functionDepth: 2
    functionLinenumber: 778
    functionLinenumberEnd: 804
    functionName: rdataset_getownercase
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 6
    functionsReached:
    - CASEFULLYLOWER
    - isc_ascii_toupper
    - rdataset_getheader
    - isc_ascii_lowercopy
    - CASESET
    - isc_ascii_tolower
    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: 810
      start: 806
    functionDepth: 0
    functionLinenumber: 806
    functionLinenumberEnd: 810
    functionName: rdataset_getheader
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      rdataset_getheader(const dns_rdataset_t *rdataset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdataslab.c:814,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/rdataslab.c:816,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/rdataslab.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - typepair
    argTypes:
    - isc_mem_t*
    - dns_typepair_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 823
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 823
    functionName: dns_slabtop_new
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - CDS_LIST_HEAD_INIT
    - isc_mem_get
    linkageType: ''
    returnType: dns_slabtop_t
    signature: 'dns_slabtop_t *

      dns_slabtop_new(isc_mem_t *mctx, dns_typepair_t typepair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataslab.c:827,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdataslab.c:830,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - topp
    argTypes:
    - isc_mem_t*
    - dns_slabtop_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 831
      start: 825
    functionDepth: 1
    functionLinenumber: 825
    functionLinenumberEnd: 831
    functionName: dns_slabtop_destroy
    functionSourceFile: /src/bind9/lib/dns/rdataslab.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void dns_slabtop_destroy(isc_mem_t *mctx, dns_slabtop_t **topp)
  - 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: 78
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 78
    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: 84
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 84
    functionName: GBUFFER_TO_REGION
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: GBUFFER_TO_REGION(gb, r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/gssapictx.c:93,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/gssapictx.c:97,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/gssapictx.c:98,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/gssapictx.c:99,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/gssapictx.c:103,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:105,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/gssapictx.c:106,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/gssapictx.c:107,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapictx.c:108,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: 109
      start: 85
    functionDepth: 2
    functionLinenumber: 85
    functionLinenumberEnd: 109
    functionName: name_to_gbuffer
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - dns_name_totext
    - RUNTIME_CHECK
    - dns_name_getlabelsequence
    - isc_buffer_usedregion
    - REGION_TO_GBUFFER
    - isc_buffer_putuint8
    - dns_name_countlabels
    - dns_name_isabsolute
    linkageType: ''
    returnType: void
    signature: "void name_to_gbuffer(const dns_name_t *name, isc_buffer_t *buffer,\n\t\tgss_buffer_desc
      *gbuffer)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:126,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/gssapictx.c:127,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:129,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/gssapictx.c:130,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/gssapictx.c:131,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:138,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:145,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:157,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:163,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/gssapictx.c:175,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/gssapictx.c:176,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/gssapictx.c:182,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/gssapictx.c:184,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: 188
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 188
    functionName: dst_gssapi_identitymatchesrealmkrb5
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_name_equal
    - dns_name_format
    - dns_name_totext
    - RUNTIME_CHECK
    - strchr
    - dns_fixedname_initname
    - dns_name_fromstring
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_name_issubdomain
    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:205,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/gssapictx.c:206,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:208,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/gssapictx.c:209,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/gssapictx.c:210,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:217,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/gssapictx.c:221,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:245,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/gssapictx.c:257,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/gssapictx.c:258,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/gssapictx.c:263,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/gssapictx.c:265,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: 269
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 269
    functionName: dst_gssapi_identitymatchesrealmms
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - strcmp
    - dns_name_equal
    - dns_name_format
    - dns_name_totext
    - RUNTIME_CHECK
    - strchr
    - dns_fixedname_initname
    - dns_name_fromstring
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_name_issubdomain
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:287,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/gssapictx.c:289,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: 291
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 291
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:307,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:308,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:310,1
    - Dst: name_to_gbuffer
      Src: /src/bind9/lib/dns/gssapictx.c:311,1
    - Dst: gss_import_name
      Src: /src/bind9/lib/dns/gssapictx.c:314,1
    - Dst: gss_err_message
      Src: /src/bind9/lib/dns/gssapictx.c:316,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/gssapictx.c:317,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapictx.c:322,1
    - Dst: gss_init_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:334,1
    - Dst: gss_err_message
      Src: /src/bind9/lib/dns/gssapictx.c:347,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:349,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:352,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/gssapictx.c:355,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:369,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/gssapictx.c:373,1
    - Dst: GBUFFER_TO_REGION
      Src: /src/bind9/lib/dns/gssapictx.c:380,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:381,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/gssapictx.c:381,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:386,1
    - Dst: gss_release_name
      Src: /src/bind9/lib/dns/gssapictx.c:389,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 51
    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: 392
      start: 293
    functionDepth: 3
    functionLinenumber: 293
    functionLinenumberEnd: 392
    functionName: dst_gssapi_initctx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - gss_err_message
    - REQUIRE
    - gss_import_name
    - CLEANUP
    - gss_release_name
    - gss_log
    - GBUFFER_TO_REGION
    - isc_buffer_copyregion
    - name_to_gbuffer
    - CHECK
    - gss_init_sec_context
    - REGION_TO_GBUFFER
    - gss_release_buffer
    - isc_buffer_init
    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: 31
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:409,1
    - Dst: REGION_TO_GBUFFER
      Src: /src/bind9/lib/dns/gssapictx.c:411,1
    - Dst: gsskrb5_register_acceptor_identity
      Src: /src/bind9/lib/dns/gssapictx.c:415,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:417,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:421,1
    - Dst: getenv
      Src: /src/bind9/lib/dns/gssapictx.c:429,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gssapictx.c:430,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gssapictx.c:434,1
    - Dst: malloc
      Src: /src/bind9/lib/dns/gssapictx.c:435,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gssapictx.c:439,1
    - Dst: putenv
      Src: /src/bind9/lib/dns/gssapictx.c:440,1
    - Dst: gss_accept_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:449,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:463,1
    - Dst: gss_delete_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:467,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:477,1
    - Dst: gss_delete_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:478,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:494,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:495,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:497,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/gssapictx.c:503,1
    - Dst: GBUFFER_TO_REGION
      Src: /src/bind9/lib/dns/gssapictx.c:505,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:506,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/gssapictx.c:506,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:507,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gssapictx.c:510,1
    - Dst: gss_display_name
      Src: /src/bind9/lib/dns/gssapictx.c:512,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:514,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:515,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/gssapictx.c:516,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:531,1
    - Dst: GBUFFER_TO_REGION
      Src: /src/bind9/lib/dns/gssapictx.c:534,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/gssapictx.c:535,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/gssapictx.c:536,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/gssapictx.c:538,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/gssapictx.c:538,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/gssapictx.c:544,1
    - Dst: gss_delete_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:548,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:552,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:554,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:555,1
    - Dst: gss_release_name
      Src: /src/bind9/lib/dns/gssapictx.c:561,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:563,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:564,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 100
    argCount: 6
    argNames:
    - gssapi_keytab
    - intoken
    - outtokenp
    - ctxout
    - principal
    - mctx
    argTypes:
    - char*
    - isc_region_t*
    - isc_buffer_t**
    - dns_gss_ctx_id_t*
    - dns_name_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 570
      start: 394
    functionDepth: 3
    functionLinenumber: 394
    functionLinenumberEnd: 570
    functionName: dst_gssapi_acceptctx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - gss_accept_sec_context
    - INSIST
    - isc_buffer_add
    - strlen
    - dns_name_fromtext
    - gss_error_tostring
    - GBUFFER_TO_REGION
    - snprintf
    - isc_buffer_init
    - strcmp
    - gss_delete_sec_context
    - CHECK
    - malloc
    - gsskrb5_register_acceptor_identity
    - gss_release_buffer
    - gss_display_name
    - CLEANUP
    - gss_release_name
    - putenv
    - getenv
    - isc_buffer_copyregion
    - isc_buffer_allocate
    - isc_buffer_free
    - gss_log
    - REGION_TO_GBUFFER
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dst_gssapi_acceptctx(const char *gssapi_keytab, isc_region_t
      *intoken,\n\t\t     isc_buffer_t **outtokenp, dns_gss_ctx_id_t *ctxout,\n\t\t
      \    dns_name_t *principal, isc_mem_t *mctx)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/gssapictx.c:579,1
    - Dst: gss_delete_sec_context
      Src: /src/bind9/lib/dns/gssapictx.c:582,1
    - Dst: gss_log
      Src: /src/bind9/lib/dns/gssapictx.c:586,1
    - Dst: gss_error_tostring
      Src: /src/bind9/lib/dns/gssapictx.c:587,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: 590
      start: 572
    functionDepth: 1
    functionLinenumber: 572
    functionLinenumberEnd: 590
    functionName: dst_gssapi_deletectx
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UNUSED
    - gss_delete_sec_context
    - gss_error_tostring
    - gss_log
    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:600,1
    - Dst: gss_display_status
      Src: /src/bind9/lib/dns/gssapictx.c:605,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gssapictx.c:608,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:612,1
    - Dst: gss_release_buffer
      Src: /src/bind9/lib/dns/gssapictx.c:615,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: 618
      start: 592
    functionDepth: 0
    functionLinenumber: 592
    functionLinenumberEnd: 618
    functionName: gss_error_tostring
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 5
    functionsReached:
    - snprintf
    - gss_release_buffer
    - gss_display_status
    linkageType: ''
    returnType: char
    signature: 'char *

      gss_error_tostring(uint32_t major, uint32_t minor, char *buf, size_t buflen)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:626,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:627,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:628,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:629,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: 632
      start: 622
    functionDepth: 0
    functionLinenumber: 622
    functionLinenumberEnd: 632
    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:638,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:639,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:640,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:641,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: 644
      start: 634
    functionDepth: 0
    functionLinenumber: 634
    functionLinenumberEnd: 644
    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:650,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:651,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:652,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:653,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:654,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:655,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: 658
      start: 646
    functionDepth: 0
    functionLinenumber: 646
    functionLinenumberEnd: 658
    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:664,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:665,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:666,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:667,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:668,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:669,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 6
    argNames:
    - gssapi_keytab
    - intoken
    - outtoken
    - ctxout
    - principal
    - mctx
    argTypes:
    - char*
    - isc_region_t*
    - isc_buffer_t**
    - dns_gss_ctx_id_t*
    - dns_name_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 660
    functionDepth: 0
    functionLinenumber: 660
    functionLinenumberEnd: 672
    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(const char *gssapi_keytab, isc_region_t
      *intoken,\n\t\t     isc_buffer_t **outtoken, dns_gss_ctx_id_t *ctxout,\n\t\t
      \    dns_name_t *principal, isc_mem_t *mctx)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:676,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/gssapictx.c:677,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: 679
      start: 674
    functionDepth: 0
    functionLinenumber: 674
    functionLinenumberEnd: 679
    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:683,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: 687
      start: 681
    functionDepth: 0
    functionLinenumber: 681
    functionLinenumberEnd: 687
    functionName: gss_error_tostring
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 5
    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:695,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/gssapictx.c:696,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/gssapictx.c:697,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/gssapictx.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 699
      start: 691
    functionDepth: 2
    functionLinenumber: 691
    functionLinenumberEnd: 699
    functionName: gss_log
    functionSourceFile: /src/bind9/lib/dns/gssapictx.c
    functionUses: 5
    functionsReached:
    - va_start
    - ISC_LOG_DEBUG
    - 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:106,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:107,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 1
    argNames:
    - initial
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 55
    functionDepth: 2
    functionLinenumber: 55
    functionLinenumberEnd: 115
    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: 140
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 140
    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:147,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: 148
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 148
    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:180,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rrl.c:182,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/rrl.c:183,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:188,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: 206
      start: 150
    functionDepth: 2
    functionLinenumber: 150
    functionLinenumberEnd: 206
    functionName: set_age
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - ISC_LIST_PREV
    - ISC_LINK_LINKED
    - ISC_LIST_TAIL
    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:228,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:233,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rrl.c:241,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:241,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rrl.c:249,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/rrl.c:250,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/rrl.c:253,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 2
    argNames:
    - rrl
    - newsize
    argTypes:
    - dns_rrl_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 256
    functionName: expand_entries
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - isc_log_write
    - STRUCT_FLEX_SIZE
    - isc_log_wouldlog
    - ISC_LIST_INITANDAPPEND
    - ISC_LINK_INIT
    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:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - hash
    - hval
    argTypes:
    - dns_rrl_hash_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 262
    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:273,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rrl.c:274,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rrl.c:278,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:279,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rrl
    argTypes:
    - dns_rrl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 281
    functionName: free_old_hash
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - STRUCT_FLEX_SIZE
    - isc_mem_put
    - ISC_LIST_FOREACH
    - ISC_LINK_INIT
    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:290,1
    - Dst: hash_divisor
      Src: /src/bind9/lib/dns/rrl.c:302,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rrl.c:305,1
    - Dst: STRUCT_FLEX_SIZE
      Src: /src/bind9/lib/dns/rrl.c:306,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/rrl.c:312,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/rrl.c:317,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 2
    argNames:
    - rrl
    - now
    argTypes:
    - dns_rrl_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 283
    functionDepth: 3
    functionLinenumber: 283
    functionLinenumberEnd: 331
    functionName: expand_rrl_hash
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - isc_mem_cget
    - STRUCT_FLEX_SIZE
    - isc_log_write
    - isc_log_wouldlog
    - free_old_hash
    - hash_divisor
    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:338,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/rrl.c:340,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/rrl.c:342,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/rrl.c:343,1
    - Dst: delta_rrl_time
      Src: /src/bind9/lib/dns/rrl.c:355,1
    - Dst: expand_rrl_hash
      Src: /src/bind9/lib/dns/rrl.c:358,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: 364
      start: 333
    functionDepth: 4
    functionLinenumber: 333
    functionLinenumberEnd: 364
    functionName: ref_entry
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_PREV
    - ISC_LIST_HEAD
    - delta_rrl_time
    - expand_rrl_hash
    - ISC_LIST_PREPEND
    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:368,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: 372
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 372
    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:
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/rrl.c:381,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_rrl_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 374
    functionDepth: 3
    functionLinenumber: 374
    functionLinenumberEnd: 382
    functionName: hash_key
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - isc_hash32
    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:
    - dns_zone_getorigin
    - memmove
    - dns_name_concatenate
    - dns_name_hash
    - dns_fixedname_initname
    - memset
    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:
    - log_end
    - response_balance
    - key_cmp
    - ISC_LIST_UNLINK
    - make_key
    - ISC_LIST_TAIL
    - hash_key
    - ISC_LIST_FOREACH_REV
    - ISC_LINK_LINKED
    - get_age
    - get_bin
    - ISC_MIN
    - ISC_LIST_FOREACH
    - delta_rrl_time
    - free_old_hash
    - ref_entry
    - ISC_LIST_PREPEND
    - expand_entries
    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: 4
    functionLinenumber: 605
    functionLinenumberEnd: 619
    functionName: debit_log
    functionSourceFile: /src/bind9/lib/dns/rrl.c
    functionUses: 0
    functionsReached:
    - snprintf
    - hash_key
    - isc_log_write
    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
    - set_age
    - get_age
    - isc_log_write
    - isc_log_wouldlog
    - debit_log
    - get_rate
    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:
    - isc_buffer_add
    - isc_buffer_availableregion
    - memmove
    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_copy
    - ISC_LIST_UNLINK
    - memmove
    - isc_buffer_usedlength
    - ISC_MAX
    - isc_netaddr_totext
    - dns_rdataclass_totext
    - strlen
    - add_log_str
    - memset
    - get_qname
    - ISC_LINK_INIT
    - ISC_LIST_TAIL
    - snprintf
    - isc_buffer_init
    - isc_result_totext
    - ADD_LOG_CSTR
    - dns_fixedname_init
    - UNREACHABLE
    - dns_name_isabsolute
    - dns_rdatatype_totext
    - isc_mem_get
    - dns_name_totext
    - dns_fixedname_name
    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:
    - make_log_buf
    - free_qname
    - isc_log_write
    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:
    - log_end
    - response_balance
    - INSIST
    - ISC_LIST_PREV
    - get_age
    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:
    - free_qname
    - INSIST
    - log_stops
    - get_entry
    - set_age
    - isc_netaddr_fromsockaddr
    - LOCK
    - isc_log_write
    - make_log_buf
    - debit_rrl_entry
    - delta_rrl_time
    - isc_log_wouldlog
    - dns_acl_match
    - UNLOCK
    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:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - STRUCT_FLEX_SIZE
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - log_stops
    - isc_mutex_destroy
    - dns_acl_detach
    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
    - isc_stdtime_now
    - isc_mem_get
    - expand_rrl_hash
    - 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: 24
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 24
    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: 29
      start: 28
    functionDepth: 0
    functionLinenumber: 28
    functionLinenumberEnd: 29
    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: 30
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 30
    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: 36
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 36
    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: 42
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 42
    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: 43
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 43
    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: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    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: 55
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 55
    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: 57
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 57
    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: 58
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 58
    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: 64
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 64
    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: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    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: 71
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 71
    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: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    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: 83
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 83
    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: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    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: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    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_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:91,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:93,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:95,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:97,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:99,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:101,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:103,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:105,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:107,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:109,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:111,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:113,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:115,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:117,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:119,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:121,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/db_p.h:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_typepair_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 127
    functionName: prio_type
    functionSourceFile: /src/bind9/lib/dns/db_p.h
    functionUses: 0
    functionsReached:
    - DNS_SIGTYPEPAIR
    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:
    - REQUIRE
    - isc_md_init
    - dns_name_fromregion
    - memmove
    - INSIST
    - isc_md_get_size
    - isc_md_new
    - dns_name_toregion
    - isc_md_final
    - dst_ds_digest_supported
    - dns_rdata_toregion
    - dns_name_downcase
    - dns_fixedname_initname
    - dst_region_computeid
    - isc_md_free
    - isc_region_consume
    - UNREACHABLE
    - isc_md_update
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ds.c:189,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/ds.c:189,1
    - Dst: memset
      Src: /src/bind9/lib/dns/ds.c:191,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/ds.c:192,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/ds.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    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: 196
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 196
    functionName: dns_ds_buildrdata
    functionSourceFile: /src/bind9/lib/dns/ds.c
    functionUses: 14
    functionsReached:
    - dns_rdata_fromstruct
    - RETERR
    - dns_ds_fromkeyrdata
    - memset
    - isc_buffer_init
    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:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 201
    functionDepth: 0
    functionLinenumber: 201
    functionLinenumberEnd: 202
    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: 205
      start: 204
    functionDepth: 0
    functionLinenumber: 204
    functionLinenumberEnd: 205
    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:294,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/xfrin.c:297,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:300,1
    - Dst: dns_zone_makedb
      Src: /src/bind9/lib/dns/xfrin.c:300,1
    - Dst: dns_zone_rpz_enable_db
      Src: /src/bind9/lib/dns/xfrin.c:302,1
    - Dst: dns_zone_catz_enable_db
      Src: /src/bind9/lib/dns/xfrin.c:303,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/xfrin.c:305,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:306,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/xfrin.c:306,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 310
    functionName: axfr_init
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - dns_rdatacallbacks_init
    - dns_zone_makedb
    - dns_zone_rpz_enable_db
    - dns_db_beginload
    - CHECK
    - dns_zone_catz_enable_db
    - atomic_store
    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:326,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/dns/xfrin.c:326,1
    - Dst: dns_diff_size
      Src: /src/bind9/lib/dns/xfrin.c:327,1
    - Dst: axfr_apply
      Src: /src/bind9/lib/dns/xfrin.c:333,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:334,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/xfrin.c:337,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/xfrin.c:338,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    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: 343
      start: 315
    functionDepth: 1
    functionLinenumber: 315
    functionLinenumberEnd: 343
    functionName: axfr_putdata
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - axfr_apply
    - dns_difftuple_create
    - dns_diff_append
    - dns_zone_checknames
    - CHECK
    - dns_diff_size
    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:351,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:351,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:354,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:354,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:359,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:360,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:363,1
    - Dst: dns_diff_load
      Src: /src/bind9/lib/dns/xfrin.c:363,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/dns/xfrin.c:365,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:367,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:372,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 348
    functionDepth: 3
    functionLinenumber: 348
    functionLinenumberEnd: 374
    functionName: axfr_apply
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - dns_diff_load
    - dns_diff_clear
    - CHECK
    - dns_db_getsize
    - atomic_load
    - VALID_XFRIN_WORK
    - CLEANUP
    linkageType: ''
    returnType: void
    signature: void axfr_apply(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:382,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:382,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:383,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:383,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:385,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:390,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:390,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:391,1
    - Dst: dns_zone_verifydb
      Src: /src/bind9/lib/dns/xfrin.c:391,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:392,1
    - Dst: axfr_finalize
      Src: /src/bind9/lib/dns/xfrin.c:392,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:394,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:400,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:403,1
    - Dst: xfrin_end
      Src: /src/bind9/lib/dns/xfrin.c:404,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:407,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:410,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 411
      start: 376
    functionDepth: 2
    functionLinenumber: 376
    functionLinenumberEnd: 411
    functionName: axfr_apply_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_db_endload
    - REQUIRE
    - dns_xfrin_detach
    - VALID_XFRIN
    - isc_mem_put
    - xfrin_fail
    - dns_zone_verifydb
    - xfrin_end
    - CHECK
    - atomic_load
    - VALID_XFRIN_WORK
    - axfr_finalize
    linkageType: ''
    returnType: void
    signature: void axfr_apply_done(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:415,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/xfrin.c:417,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:421,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 413
    functionDepth: 2
    functionLinenumber: 413
    functionLinenumberEnd: 425
    functionName: axfr_commit
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_xfrin_ref
    - isc_work_enqueue
    - isc_mem_get
    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:431,1
    - Dst: dns_zone_replacedb
      Src: /src/bind9/lib/dns/xfrin.c:432,1
    - Dst: LIBDNS_XFRIN_AXFR_FINALIZE_END
      Src: /src/bind9/lib/dns/xfrin.c:433,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 436
    functionName: axfr_finalize
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - LIBDNS_XFRIN_AXFR_FINALIZE_BEGIN
    - dns_zone_replacedb
    - LIBDNS_XFRIN_AXFR_FINALIZE_END
    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:454,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:459,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:460,1
    - Dst: dns_zone_getjournal
      Src: /src/bind9/lib/dns/xfrin.c:462,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:464,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/xfrin.c:464,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 448
    functionDepth: 5
    functionLinenumber: 448
    functionLinenumberEnd: 471
    functionName: ixfr_init
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_journal_open
    - INSIST
    - xfrin_log
    - dns_zone_getjournal
    - 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:484,1
    - Dst: dns_zone_checknames
      Src: /src/bind9/lib/dns/xfrin.c:484,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/xfrin.c:487,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/xfrin.c:488,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: 493
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 493
    functionName: ixfr_putdata
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_zone_checknames
    - dns_diff_append
    - CHECK
    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:500,1
    - Dst: dns_journal_begin_transaction
      Src: /src/bind9/lib/dns/xfrin.c:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ixfr
    argTypes:
    - dns_ixfr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 495
    functionDepth: 5
    functionLinenumber: 495
    functionLinenumberEnd: 504
    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_ixfr_t *ixfr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:511,1
    - Dst: dns_journal_commit
      Src: /src/bind9/lib/dns/xfrin.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - ixfr
    argTypes:
    - dns_ixfr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 506
    functionDepth: 7
    functionLinenumber: 506
    functionLinenumberEnd: 515
    functionName: ixfr_end_transaction
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_journal_commit
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t ixfr_end_transaction(dns_ixfr_t *ixfr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/xfrin.c:523,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:525,1
    - Dst: ixfr_begin_transaction
      Src: /src/bind9/lib/dns/xfrin.c:525,1
    - Dst: dns_db_beginupdate
      Src: /src/bind9/lib/dns/xfrin.c:527,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:529,1
    - Dst: dns_diff_apply_with_callbacks
      Src: /src/bind9/lib/dns/xfrin.c:529,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/dns/xfrin.c:531,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:533,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:537,1
    - Dst: dns_journal_writediff
      Src: /src/bind9/lib/dns/xfrin.c:537,1
    - Dst: dns_db_commitupdate
      Src: /src/bind9/lib/dns/xfrin.c:544,1
    - Dst: dns_db_commitupdate
      Src: /src/bind9/lib/dns/xfrin.c:553,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:555,1
    - Dst: dns_zone_verifydb
      Src: /src/bind9/lib/dns/xfrin.c:555,1
    - Dst: ixfr_end_transaction
      Src: /src/bind9/lib/dns/xfrin.c:557,1
    - Dst: dns_db_abortupdate
      Src: /src/bind9/lib/dns/xfrin.c:565,1
    - Dst: ixfr_end_transaction
      Src: /src/bind9/lib/dns/xfrin.c:568,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - xfr
    - data
    argTypes:
    - dns_xfrin_t*
    - ixfr_apply_data_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 517
    functionDepth: 8
    functionLinenumber: 517
    functionLinenumberEnd: 571
    functionName: ixfr_apply_one
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_journal_writediff
    - dns_rdatacallbacks_init
    - dns_db_commitupdate
    - dns_db_abortupdate
    - dns_db_beginupdate
    - dns_diff_apply_with_callbacks
    - ixfr_begin_transaction
    - ixfr_end_transaction
    - CHECK
    - dns_db_getsize
    - dns_zone_verifydb
    - CLEANUP
    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:579,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:579,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:580,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:580,1
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/dns/xfrin.c:586,1
    - Dst: __cds_wfcq_splice_blocking
      Src: /src/bind9/lib/dns/xfrin.c:588,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:590,1
    - Dst: __cds_wfcq_for_each_blocking_safe
      Src: /src/bind9/lib/dns/xfrin.c:593,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/xfrin.c:595,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:597,1
    - Dst: ixfr_apply_one
      Src: /src/bind9/lib/dns/xfrin.c:604,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:608,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 613
      start: 573
    functionDepth: 9
    functionLinenumber: 573
    functionLinenumberEnd: 613
    functionName: ixfr_apply
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - isc_mem_put
    - INSIST
    - __cds_wfcq_splice_blocking
    - ixfr_apply_one
    - __cds_wfcq_init
    - __cds_wfcq_for_each_blocking_safe
    - caa_container_of
    - dns_diff_clear
    - atomic_load
    - VALID_XFRIN_WORK
    linkageType: ''
    returnType: void
    signature: void ixfr_apply(void *arg)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:618,1
    - Dst: VALID_XFRIN_WORK
      Src: /src/bind9/lib/dns/xfrin.c:618,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:621,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:621,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:625,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:629,1
    - Dst: cds_wfcq_empty
      Src: /src/bind9/lib/dns/xfrin.c:633,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:635,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:642,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:656,1
    - Dst: dns_zone_markdirty
      Src: /src/bind9/lib/dns/xfrin.c:657,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:659,1
    - Dst: xfrin_end
      Src: /src/bind9/lib/dns/xfrin.c:660,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:663,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:666,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:673,1
    - Dst: xfrin_reset
      Src: /src/bind9/lib/dns/xfrin.c:675,1
    - Dst: xfrin_start
      Src: /src/bind9/lib/dns/xfrin.c:676,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:678,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 615
    functionDepth: 2
    functionLinenumber: 615
    functionLinenumberEnd: 683
    functionName: ixfr_apply_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_xfrin_detach
    - VALID_XFRIN
    - isc_mem_put
    - cds_wfcq_empty
    - xfrin_fail
    - xfrin_start
    - xfrin_reset
    - isc_work_enqueue
    - dns_db_closeversion
    - CHECK
    - xfrin_end
    - atomic_load
    - VALID_XFRIN_WORK
    - dns_zone_markdirty
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void ixfr_apply_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/xfrin.c:691,1
    - Dst: cds_wfcq_node_init
      Src: /src/bind9/lib/dns/xfrin.c:694,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:697,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/xfrin.c:697,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/xfrin.c:700,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/dns/xfrin.c:702,1
    - Dst: cds_wfcq_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:704,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/xfrin.c:708,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:712,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/xfrin.c:715,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 723
    functionName: ixfr_commit
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_db_newversion
    - isc_mem_put
    - isc_mem_get
    - dns_xfrin_ref
    - ISC_LIST_MOVE
    - cds_wfcq_enqueue
    - isc_work_enqueue
    - dns_diff_init
    - CHECK
    - cds_wfcq_node_init
    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:739,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/xfrin.c:742,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/xfrin.c:745,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:746,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:748,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/xfrin.c:757,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/xfrin.c:760,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:761,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:761,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:763,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:767,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:770,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:772,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:774,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:775,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/xfrin.c:776,1
    - Dst: dns_zone_isforced
      Src: /src/bind9/lib/dns/xfrin.c:777,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:779,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:779,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:783,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:785,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:796,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:798,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:804,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:805,1
    - Dst: DNS_SERIAL_GT
      Src: /src/bind9/lib/dns/xfrin.c:807,1
    - Dst: dns_zone_isforced
      Src: /src/bind9/lib/dns/xfrin.c:808,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:815,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:815,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:819,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/xfrin.c:823,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/xfrin.c:825,1
    - Dst: memcpy
      Src: /src/bind9/lib/dns/xfrin.c:826,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:828,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:838,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:840,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:840,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:842,1
    - Dst: ixfr_init
      Src: /src/bind9/lib/dns/xfrin.c:842,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:843,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:845,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:845,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:847,1
    - Dst: axfr_init
      Src: /src/bind9/lib/dns/xfrin.c:847,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:848,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:853,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:854,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:854,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:855,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:860,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:861,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:865,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:865,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:869,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:870,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:870,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:871,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:876,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:877,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:879,1
    - Dst: ixfr_commit
      Src: /src/bind9/lib/dns/xfrin.c:879,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:880,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:883,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:887,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:889,1
    - Dst: ixfr_commit
      Src: /src/bind9/lib/dns/xfrin.c:889,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:890,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/xfrin.c:895,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:897,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:899,1
    - Dst: ixfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:899,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:912,1
    - Dst: axfr_putdata
      Src: /src/bind9/lib/dns/xfrin.c:912,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/xfrin.c:918,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:919,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:922,1
    - Dst: axfr_commit
      Src: /src/bind9/lib/dns/xfrin.c:924,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:925,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:931,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/xfrin.c:934,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 129
    argCount: 4
    argNames:
    - xfr
    - name
    - ttl
    - rdata
    argTypes:
    - dns_xfrin_t*
    - dns_name_t*
    - uint32_t
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 939
      start: 734
    functionDepth: 6
    functionLinenumber: 734
    functionLinenumberEnd: 939
    functionName: xfr_rr
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - memcpy
    - INSIST
    - ISC_LOG_DEBUG
    - axfr_commit
    - dns_soa_getserial
    - atomic_store
    - DNS_SERIAL_GT
    - dns_name_format
    - isc_mem_free
    - isc_mem_allocate
    - dns_rdata_compare
    - atomic_fetch_add_relaxed
    - dns_name_equal
    - dns_rdatatype_format
    - xfrin_log
    - atomic_load_relaxed
    - dns_name_iswildcard
    - axfr_putdata
    - CHECK
    - atomic_load
    - UNREACHABLE
    - axfr_init
    - CLEANUP
    - ixfr_init
    - dns_rdatatype_ismeta
    - ixfr_commit
    - atomic_store_relaxed
    - dns_zone_isforced
    - ixfr_putdata
    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:948,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:953,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:954,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/xfrin.c:954,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:955,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:956,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:956,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:958,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/xfrin.c:960,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:963,1
    - Dst: xfrin_create
      Src: /src/bind9/lib/dns/xfrin.c:966,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/dns/xfrin.c:966,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/xfrin.c:972,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: 976
      start: 941
    functionDepth: 2
    functionLinenumber: 941
    functionLinenumberEnd: 976
    functionName: dns_xfrin_create
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - REQUIRE
    - dns_db_detach
    - isc_sockaddr_getport
    - xfrin_create
    - dns_zone_getview
    - dns_zone_getdb
    - dns_zone_getloop
    - 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:982,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:983,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:984,1
    - Dst: xfrin_start
      Src: /src/bind9/lib/dns/xfrin.c:988,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:991,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - xfr
    - done
    argTypes:
    - dns_xfrin_t*
    - dns_xfrindone_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 978
    functionDepth: 1
    functionLinenumber: 978
    functionLinenumberEnd: 995
    functionName: dns_xfrin_start
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - xfrin_fail
    - xfrin_start
    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:999,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:999,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1001,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1002
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1002
    functionName: xfrin_timedout
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - xfrin_fail
    linkageType: ''
    returnType: void
    signature: void xfrin_timedout(void *xfr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1006,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1006,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1008,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1004
    functionDepth: 1
    functionLinenumber: 1004
    functionLinenumberEnd: 1009
    functionName: xfrin_idledout
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - xfrin_fail
    linkageType: ''
    returnType: void
    signature: void xfrin_idledout(void *xfr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1015,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1015,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1017,1
    - Dst: dns_zone_getminxfrratebytesin
      Src: /src/bind9/lib/dns/xfrin.c:1018,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1022,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1023,1
    - Dst: dns_zone_getminxfrratesecondsin
      Src: /src/bind9/lib/dns/xfrin.c:1032,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1035
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1035
    functionName: xfrin_minratecheck
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - xfrin_fail
    - dns_zone_getminxfrratesecondsin
    - atomic_load_relaxed
    - atomic_store_relaxed
    - isc_timer_stop
    - dns_zone_getminxfrratebytesin
    linkageType: ''
    returnType: void
    signature: void xfrin_minratecheck(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1039,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1039,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1037
    functionDepth: 1
    functionLinenumber: 1037
    functionLinenumberEnd: 1042
    functionName: dns_xfrin_getstarttime
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - atomic_load_relaxed
    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:1049,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1049,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1051,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1053,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1056,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: 1087
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1087
    functionName: dns_xfrin_getstate
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - atomic_load
    - VALID_XFRIN
    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:1091,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1091,1
    - Dst: atomic_load_relaxed
      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: 1094
      start: 1089
    functionDepth: 1
    functionLinenumber: 1089
    functionLinenumberEnd: 1094
    functionName: dns_xfrin_getendserial
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - atomic_load_relaxed
    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:1099,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1099,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1100,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1102,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:1109,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1110,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/xfrin.c:1111,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1113,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1117,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1117,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1118,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1118,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1119,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1119,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/xfrin.c:1120,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: 1121
      start: 1096
    functionDepth: 3
    functionLinenumber: 1096
    functionLinenumberEnd: 1121
    functionName: dns_xfrin_getstats
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_time_now
    - isc_time_microdiff
    - VALID_XFRIN
    - SET_IF_NOT_NULL
    - atomic_load_relaxed
    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:1125,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1128
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1128
    functionName: dns_xfrin_getsourceaddr
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    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:1132,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1130
    functionDepth: 1
    functionLinenumber: 1130
    functionLinenumberEnd: 1135
    functionName: dns_xfrin_getprimaryaddr
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    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:1139,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1139,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/xfrin.c:1142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1137
    functionDepth: 2
    functionLinenumber: 1137
    functionLinenumberEnd: 1146
    functionName: dns_xfrin_gettransporttype
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - dns_transport_get_type
    - REQUIRE
    - VALID_XFRIN
    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:1150,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1150,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1148
    functionDepth: 1
    functionLinenumber: 1148
    functionLinenumberEnd: 1153
    functionName: dns_xfrin_getsoatransporttype
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - atomic_load_relaxed
    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:1157,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1157,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/xfrin.c:1163,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1164
      start: 1155
    functionDepth: 1
    functionLinenumber: 1155
    functionLinenumberEnd: 1164
    functionName: dns_xfrin_gettsigkeyname
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - dst_key_name
    - REQUIRE
    - VALID_XFRIN
    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:1170,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1170,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1172,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1174
      start: 1166
    functionDepth: 1
    functionLinenumber: 1166
    functionLinenumberEnd: 1174
    functionName: xfrin_shutdown
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_xfrin_detach
    - VALID_XFRIN
    - xfrin_fail
    linkageType: ''
    returnType: void
    signature: void xfrin_shutdown(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1178,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1178,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/xfrin.c:1180,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1181,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/xfrin.c:1182,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1184,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1176
    functionDepth: 2
    functionLinenumber: 1176
    functionLinenumberEnd: 1186
    functionName: dns_xfrin_shutdown
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_XFRIN
    - xfrin_fail
    - dns_xfrin_ref
    - isc_async_run
    - 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:1197,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/xfrin.c:1200,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1194
    functionDepth: 8
    functionLinenumber: 1194
    functionLinenumberEnd: 1202
    functionName: xfrin_cancelio
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_done
    - dns_dispatch_detach
    linkageType: ''
    returnType: void
    signature: void xfrin_cancelio(dns_xfrin_t *xfr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1206,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1207,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1209,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:1214,1
    - Dst: xfrin_ixfrcleanup
      Src: /src/bind9/lib/dns/xfrin.c:1217,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:1219,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1223,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:1227,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:1231,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1204
    functionDepth: 3
    functionLinenumber: 1204
    functionLinenumberEnd: 1233
    functionName: xfrin_reset
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_db_endload
    - REQUIRE
    - VALID_XFRIN
    - xfrin_log
    - xfrin_ixfrcleanup
    - dns_journal_destroy
    - dns_db_closeversion
    - isc_buffer_free
    - dns_diff_clear
    linkageType: ''
    returnType: void
    signature: void xfrin_reset(dns_xfrin_t *xfr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1237,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1237,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1239,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/xfrin.c:1242,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1246,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:1247,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1248,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:1259,1
    - Dst: xfrin_end
      Src: /src/bind9/lib/dns/xfrin.c:1261,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1264,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: 1265
      start: 1235
    functionDepth: 9
    functionLinenumber: 1235
    functionLinenumberEnd: 1265
    functionName: xfrin_fail
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - dns_xfrin_detach
    - VALID_XFRIN
    - xfrin_log
    - dns_xfrin_ref
    - xfrin_end
    - atomic_load
    - xfrin_cancelio
    - atomic_compare_exchange_strong
    - isc_result_totext
    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:1278,1
    - Dst: dns_zone_getmaxrecords
      Src: /src/bind9/lib/dns/xfrin.c:1284,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/xfrin.c:1294,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/xfrin.c:1295,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/xfrin.c:1296,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/xfrin.c:1297,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:1297,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/xfrin.c:1298,1
    - Dst: __cds_wfcq_init
      Src: /src/bind9/lib/dns/xfrin.c:1300,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1302,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/xfrin.c:1305,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/xfrin.c:1308,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1311,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1313,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/xfrin.c:1316,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:1316,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/xfrin.c:1319,1
    - Dst: dns_transport_attach
      Src: /src/bind9/lib/dns/xfrin.c:1323,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/xfrin.c:1326,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1328,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/xfrin.c:1328,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/xfrin.c:1328,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/xfrin.c:1329,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/xfrin.c:1334,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/xfrin.c:1337,1
    - Dst: dns_zone_name
      Src: /src/bind9/lib/dns/xfrin.c:1339,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: 1342
      start: 1267
    functionDepth: 3
    functionLinenumber: 1267
    functionLinenumberEnd: 1342
    functionName: xfrin_create
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - isc_sockaddr_setport
    - dns_view_weakattach
    - INSIST
    - isc_loop_attach
    - dns_zone_iattach
    - __cds_wfcq_init
    - atomic_init
    - dns_name_dup
    - dns_zone_getmaxrecords
    - isc_tlsctx_cache_attach
    - dns_name_init
    - isc_sockaddr_pf
    - dns_tsigkey_attach
    - isc_buffer_init
    - isc_time_now
    - dns_zone_getview
    - dns_transport_attach
    - dns_db_attach
    - dns_zone_name
    - isc_mem_get
    - dns_diff_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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1350,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:1353,1
    - Dst: dns_view_getdispatchmgr
      Src: /src/bind9/lib/dns/xfrin.c:1355,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1357,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/xfrin.c:1360,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/lib/dns/xfrin.c:1361,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/xfrin.c:1364,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1365,1
    - Dst: LIBDNS_XFRIN_START
      Src: /src/bind9/lib/dns/xfrin.c:1367,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1378,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1383,1
    - Dst: dns_xfrin_gettransporttype
      Src: /src/bind9/lib/dns/xfrin.c:1384,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1393,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/xfrin.c:1393,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/xfrin.c:1401,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:1401,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:1404,1
    - Dst: dns_zone_getmaxxfrin
      Src: /src/bind9/lib/dns/xfrin.c:1404,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:1405,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/xfrin.c:1409,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:1409,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:1412,1
    - Dst: dns_zone_getidlein
      Src: /src/bind9/lib/dns/xfrin.c:1412,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:1413,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/xfrin.c:1417,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/xfrin.c:1417,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:1420,1
    - Dst: dns_zone_getminxfrratesecondsin
      Src: /src/bind9/lib/dns/xfrin.c:1420,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:1422,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1428,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/xfrin.c:1428,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:1433,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1344
    functionDepth: 11
    functionLinenumber: 1344
    functionLinenumberEnd: 1437
    functionName: xfrin_start
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 2
    functionsReached:
    - isc_nm_getprimariestimeout
    - dns_view_getdispatchmgr
    - dns_dispatch_add
    - dns_zone_getloop
    - isc_timer_create
    - dns_xfrin_detach
    - dns_zone_getminxfrratesecondsin
    - dns_dispatch_connect
    - isc_timer_start
    - dns_dispatch_createtcp
    - LIBDNS_XFRIN_START
    - dns_dispatchmgr_detach
    - dns_zone_getmaxxfrin
    - CHECK
    - isc_interval_set
    - atomic_load
    - dns_zone_getidlein
    - CLEANUP
    - dns_xfrin_gettransporttype
    - dns_xfrin_ref
    - atomic_store_relaxed
    - xfrin_cancelio
    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:1446,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1447,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/dns/xfrin.c:1447,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1448,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1448,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1449,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1449,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1450,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1450,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1451,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/xfrin.c:1451,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1452,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/dns/xfrin.c:1452,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/xfrin.c:1455,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: 1457
      start: 1441
    functionDepth: 2
    functionLinenumber: 1441
    functionLinenumberEnd: 1457
    functionName: render
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - dns_message_renderend
    - dns_message_renderbegin
    - dns_message_rendersection
    - CHECK
    - dns_compress_init
    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:1471,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1471,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1473,1
    - Dst: LIBDNS_XFRIN_CONNECTED
      Src: /src/bind9/lib/dns/xfrin.c:1477,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1480,1
    - Dst: dns_dispatch_checkperm
      Src: /src/bind9/lib/dns/xfrin.c:1484,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1486,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/lib/dns/xfrin.c:1490,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:1492,1
    - Dst: dns_unreachcache_remove
      Src: /src/bind9/lib/dns/xfrin.c:1493,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/xfrin.c:1498,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/xfrin.c:1498,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/xfrin.c:1504,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1505,1
    - Dst: xfrin_send_request
      Src: /src/bind9/lib/dns/xfrin.c:1508,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1510,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/lib/dns/xfrin.c:1529,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/xfrin.c:1531,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/lib/dns/xfrin.c:1532,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1543,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: 1544
      start: 1462
    functionDepth: 10
    functionLinenumber: 1462
    functionLinenumberEnd: 1544
    functionName: xfrin_connect_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_xfrin_detach
    - VALID_XFRIN
    - dns_unreachcache_add
    - xfrin_fail
    - LIBDNS_XFRIN_CONNECTED
    - dns_name_format
    - dst_key_name
    - isc_sockaddr_format
    - xfrin_log
    - dns_zone_getmgr
    - dns_dispatch_checkperm
    - dns_zone_getview
    - xfrin_send_request
    - atomic_load
    - dns_unreachcache_remove
    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:1557,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/xfrin.c:1559,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/xfrin.c:1560,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/xfrin.c:1562,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/xfrin.c:1566,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/xfrin.c:1568,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/xfrin.c:1569,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/xfrin.c:1571,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/xfrin.c:1572,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/xfrin.c:1573,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: 1576
      start: 1550
    functionDepth: 2
    functionLinenumber: 1550
    functionLinenumberEnd: 1576
    functionName: tuple2msgname
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_message_gettemprdata
    - dns_rdata_clone
    - dns_message_gettemprdatalist
    - ISC_LIST_APPEND
    - dns_name_clone
    - dns_message_gettempname
    - dns_rdatalist_tordataset
    - dns_message_gettemprdataset
    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:1588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1590
      start: 1578
    functionDepth: 1
    functionLinenumber: 1578
    functionLinenumberEnd: 1590
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_ednsinit
      Src: /src/bind9/lib/dns/xfrin.c:1595,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/xfrin.c:1600,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/xfrin.c:1600,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/xfrin.c:1604,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/xfrin.c:1604,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/dns/xfrin.c:1607,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - message
    - udpsize
    - reqnsid
    - reqexpire
    argTypes:
    - dns_message_t*
    - uint16_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1592
    functionDepth: 1
    functionLinenumber: 1592
    functionLinenumberEnd: 1608
    functionName: add_opt
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - RETERR
    - dns_message_setopt
    - dns_message_ednsinit
    - dns_message_ednsaddopt
    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:1625,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/dns/xfrin.c:1626,1
    - Dst: LIBDNS_XFRIN_RECV_SEND_REQUEST
      Src: /src/bind9/lib/dns/xfrin.c:1628,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/xfrin.c:1631,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1633,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/xfrin.c:1633,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/xfrin.c:1636,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/xfrin.c:1637,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/xfrin.c:1640,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/xfrin.c:1641,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/xfrin.c:1642,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/xfrin.c:1645,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/xfrin.c:1650,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1651,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/xfrin.c:1651,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/xfrin.c:1653,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1655,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1655,1
    - Dst: tuple2msgname
      Src: /src/bind9/lib/dns/xfrin.c:1659,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/xfrin.c:1660,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1662,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/xfrin.c:1662,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/xfrin.c:1669,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/xfrin.c:1670,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/xfrin.c:1673,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/xfrin.c:1674,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/xfrin.c:1675,1
    - Dst: dns_peer_getrequestexpire
      Src: /src/bind9/lib/dns/xfrin.c:1676,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1681,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/xfrin.c:1681,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1684,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1685,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1686,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1687,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:1687,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1693,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1696,1
    - Dst: render
      Src: /src/bind9/lib/dns/xfrin.c:1696,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:1702,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1708,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/xfrin.c:1708,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/xfrin.c:1710,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1711,1
    - Dst: dns_xfrin_ref
      Src: /src/bind9/lib/dns/xfrin.c:1713,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/lib/dns/xfrin.c:1714,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1715,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1715,1
    - Dst: request_type
      Src: /src/bind9/lib/dns/xfrin.c:1716,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:1719,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/xfrin.c:1721,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:1724,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 66
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1728
      start: 1613
    functionDepth: 7
    functionLinenumber: 1613
    functionLinenumberEnd: 1728
    functionName: xfrin_send_request
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_zone_getrequestexpire
    - dns_db_createsoatuple
    - dns_message_getquerytsig
    - INSIST
    - ISC_LOG_DEBUG
    - dns_db_currentversion
    - dns_soa_getserial
    - add_opt
    - dst_context_destroy
    - LIBDNS_XFRIN_RECV_SEND_REQUEST
    - dns_peer_getsupportedns
    - dns_peer_getudpsize
    - dns_message_gettempname
    - dns_db_getsoaserial
    - dns_peer_getrequestexpire
    - dns_rdataset_makequestion
    - isc_time_now
    - dns_message_create
    - xfrin_log
    - isc_netaddr_fromsockaddr
    - render
    - dns_peer_getrequestnsid
    - request_type
    - dns_db_closeversion
    - dns_name_clone
    - CHECK
    - dns_view_getudpsize
    - dns_peerlist_peerbyaddr
    - dns_message_addname
    - tuple2msgname
    - dns_difftuple_free
    - dns_xfrin_ref
    - ISC_LIST_APPEND
    - atomic_store_relaxed
    - dns_dispatch_send
    - isc_buffer_usedregion
    - isc_buffer_free
    - dns_message_gettemprdataset
    - dns_message_detach
    - dns_message_settsigkey
    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:1734,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:1736,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1736,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1738,1
    - Dst: LIBDNS_XFRIN_SENT
      Src: /src/bind9/lib/dns/xfrin.c:1742,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1744,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1746,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1746,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1750,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1753,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: 1754
      start: 1730
    functionDepth: 10
    functionLinenumber: 1730
    functionLinenumberEnd: 1754
    functionName: xfrin_send_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_xfrin_detach
    - VALID_XFRIN
    - xfrin_fail
    - xfrin_log
    - LIBDNS_XFRIN_SENT
    - ISC_LOG_DEBUG
    - CHECK
    - atomic_load
    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:1764,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/xfrin.c:1766,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/xfrin.c:1767,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/xfrin.c:1768,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/xfrin.c:1769,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/xfrin.c:1770,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/xfrin.c:1771,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/xfrin.c:1776,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/xfrin.c:1779,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/xfrin.c:1781,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1781,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 2
    argNames:
    - xfr
    - msg
    argTypes:
    - dns_xfrin_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1786
      start: 1756
    functionDepth: 3
    functionLinenumber: 1756
    functionLinenumberEnd: 1786
    functionName: get_edns_expire
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - dns_rdataset_first
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc_buffer_add
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - isc_buffer_getuint16
    - isc_buffer_getuint32
    - isc_buffer_init
    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:1792,1
    - Dst: LIBDNS_XFRIN_DONE_CALLBACK_END
      Src: /src/bind9/lib/dns/xfrin.c:1796,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:1799,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1802,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1803,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1806,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1807,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1810,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/xfrin.c:1811,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 2
    argNames:
    - xfr
    - result
    argTypes:
    - dns_xfrin_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1817
      start: 1788
    functionDepth: 2
    functionLinenumber: 1788
    functionLinenumberEnd: 1817
    functionName: xfrin_end
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 3
    functionsReached:
    - isc_timer_destroy
    - LIBDNS_XFRIN_DONE_CALLBACK_END
    - isc_timer_stop
    - LIBDNS_XFRIN_DONE_CALLBACK_BEGIN
    - 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:1826,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:1826,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1828,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:1833,1
    - Dst: LIBDNS_XFRIN_RECV_START
      Src: /src/bind9/lib/dns/xfrin.c:1835,1
    - Dst: CHECK
      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: dns_message_create
      Src: /src/bind9/lib/dns/xfrin.c:1841,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:1844,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/xfrin.c:1844,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/dns/xfrin.c:1845,1
    - Dst: dns_message_setclass
      Src: /src/bind9/lib/dns/xfrin.c:1850,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:1852,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/xfrin.c:1854,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/xfrin.c:1855,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/dns/xfrin.c:1857,1
    - Dst: dns_message_logpacketfrom
      Src: /src/bind9/lib/dns/xfrin.c:1860,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1863,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1865,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1865,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:1866,1
    - Dst: LIBDNS_XFRIN_RECV_PARSED
      Src: /src/bind9/lib/dns/xfrin.c:1869,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1876,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1877,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:1880,1
    - Dst: xfrin_reset
      Src: /src/bind9/lib/dns/xfrin.c:1886,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/lib/dns/xfrin.c:1891,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1910,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1910,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:1911,1
    - Dst: LIBDNS_XFRIN_RECV_TRY_AXFR
      Src: /src/bind9/lib/dns/xfrin.c:1913,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:1914,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1918,1
    - Dst: xfrin_reset
      Src: /src/bind9/lib/dns/xfrin.c:1921,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:1923,1
    - Dst: xfrin_start
      Src: /src/bind9/lib/dns/xfrin.c:1925,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:1927,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:1929,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1941,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1943,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1946,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1947,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1950,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1951,1
    - Dst: LIBDNS_XFRIN_RECV_QUESTION
      Src: /src/bind9/lib/dns/xfrin.c:1957,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/xfrin.c:1959,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1960,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1962,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/xfrin.c:1964,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1965,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1967,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1969,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1972,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1974,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:1985,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1988,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:1988,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1996,1
    - Dst: dns_message_checksig
      Src: /src/bind9/lib/dns/xfrin.c:1999,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2001,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:2001,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:2002,1
    - Dst: LIBDNS_XFRIN_RECV_ANSWER
      Src: /src/bind9/lib/dns/xfrin.c:2007,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/xfrin.c:2009,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/xfrin.c:2012,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2013,1
    - Dst: xfr_rr
      Src: /src/bind9/lib/dns/xfrin.c:2013,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2022,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:2022,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/dns/xfrin.c:2031,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:2041,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2047,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/xfrin.c:2047,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/xfrin.c:2048,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2051,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2052,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2053,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:2055,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2062,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2063,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2068,1
    - Dst: get_edns_expire
      Src: /src/bind9/lib/dns/xfrin.c:2073,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2076,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/xfrin.c:2079,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2080,1
    - Dst: xfrin_start
      Src: /src/bind9/lib/dns/xfrin.c:2080,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:2085,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:2086,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/xfrin.c:2087,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:2088,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:2094,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2095,1
    - Dst: dns_dispatch_getnext
      Src: /src/bind9/lib/dns/xfrin.c:2095,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/xfrin.c:2098,1
    - Dst: dns_zone_getidlein
      Src: /src/bind9/lib/dns/xfrin.c:2098,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/xfrin.c:2099,1
    - Dst: LIBDNS_XFRIN_READ
      Src: /src/bind9/lib/dns/xfrin.c:2102,1
    - Dst: xfrin_fail
      Src: /src/bind9/lib/dns/xfrin.c:2108,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/xfrin.c:2112,1
    - Dst: LIBDNS_XFRIN_RECV_DONE
      Src: /src/bind9/lib/dns/xfrin.c:2114,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/xfrin.c:2115,1
    CyclomaticComplexity: 58
    EdgeCount: 58
    ICount: 173
    argCount: 3
    argNames:
    - result
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2116
      start: 1819
    functionDepth: 12
    functionLinenumber: 1819
    functionLinenumberEnd: 2116
    functionName: xfrin_recv_done
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_message_getquerytsig
    - INSIST
    - xfrin_start
    - LIBDNS_XFRIN_RECV_START
    - get_edns_expire
    - xfrin_reset
    - dns_result_fromrcode
    - isc_buffer_add
    - ISC_LOG_DEBUG
    - atomic_store
    - dns_message_logpacketfrom
    - dns_xfrin_detach
    - dns_message_setclass
    - dns_message_parse
    - xfrin_cancelio
    - LIBDNS_XFRIN_RECV_TRY_AXFR
    - dns_message_gettsig
    - isc_buffer_init
    - isc_result_totext
    - dns_message_gettsigkey
    - atomic_fetch_add_relaxed
    - dns_name_equal
    - isc_timer_start
    - xfrin_log
    - dns_message_create
    - atomic_load_relaxed
    - ISC_LIST_HEAD
    - LIBDNS_XFRIN_RECV_PARSED
    - dns_zone_getidlein
    - dns_rdataset_current
    - CHECK
    - isc_interval_set
    - atomic_load
    - LIBDNS_XFRIN_READ
    - LIBDNS_XFRIN_RECV_DONE
    - CLEANUP
    - dns_message_checksig
    - dns_dispatch_getnext
    - VALID_XFRIN
    - dns_message_setquerytsig
    - xfr_rr
    - xfrin_fail
    - LIBDNS_XFRIN_RECV_QUESTION
    - ISC_LIST_FOREACH
    - isc_buffer_free
    - isc_timer_stop
    - dns_message_detach
    - dns_message_settsigkey
    - 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:1957,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/xfrin.c:1959,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1960,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1962,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/xfrin.c:1964,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:1965,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1967,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1969,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:1972,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/xfrin.c:1974,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1976
      start: 1954
    functionDepth: 1
    functionLinenumber: 1954
    functionLinenumberEnd: 1976
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_name_equal
    - INSIST
    - xfrin_log
    - ISC_LIST_HEAD
    - LIBDNS_XFRIN_RECV_QUESTION
    - CLEANUP
    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:2007,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/xfrin.c:2009,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/xfrin.c:2012,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2013,1
    - Dst: xfr_rr
      Src: /src/bind9/lib/dns/xfrin.c:2013,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2022,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:2022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2029
      start: 2006
    functionDepth: 7
    functionLinenumber: 2006
    functionLinenumberEnd: 2029
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - xfr_rr
    - xfrin_log
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - CHECK
    - 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:2012,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/xfrin.c:2013,1
    - Dst: xfr_rr
      Src: /src/bind9/lib/dns/xfrin.c:2013,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2022,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:2022,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2027
      start: 2010
    functionDepth: 7
    functionLinenumber: 2010
    functionLinenumberEnd: 2027
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 3
    functionsReached:
    - xfr_rr
    - xfrin_log
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - CHECK
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rds)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: __cds_wfcq_for_each_blocking_safe
      Src: /src/bind9/lib/dns/xfrin.c:2121,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/xfrin.c:2124,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:2126,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/xfrin.c:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2129
      start: 2118
    functionDepth: 1
    functionLinenumber: 2118
    functionLinenumberEnd: 2129
    functionName: xfrin_ixfrcleanup
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 1
    functionsReached:
    - dns_diff_clear
    - __cds_wfcq_for_each_blocking_safe
    - isc_mem_put
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void xfrin_ixfrcleanup(dns_xfrin_t *xfr)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/xfrin.c:2134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:2138,1
    - Dst: VALID_XFRIN
      Src: /src/bind9/lib/dns/xfrin.c:2138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/xfrin.c:2141,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/xfrin.c:2141,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2143,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2150,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/xfrin.c:2151,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2157,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/xfrin.c:2158,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2162,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/xfrin.c:2166,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2169,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2173,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2174,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2175,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/xfrin.c:2177,1
    - Dst: xfrin_ixfrcleanup
      Src: /src/bind9/lib/dns/xfrin.c:2181,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/xfrin.c:2184,1
    - Dst: xfrin_cancelio
      Src: /src/bind9/lib/dns/xfrin.c:2186,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/xfrin.c:2189,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/xfrin.c:2193,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/xfrin.c:2197,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/xfrin.c:2201,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/xfrin.c:2205,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/xfrin.c:2209,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/xfrin.c:2213,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/xfrin.c:2217,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/xfrin.c:2221,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/xfrin.c:2227,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/xfrin.c:2229,1
    - Dst: xfrin_log
      Src: /src/bind9/lib/dns/xfrin.c:2232,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/xfrin.c:2232,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/xfrin.c:2236,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/xfrin.c:2240,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/xfrin.c:2244,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/xfrin.c:2248,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2251,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2252,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/xfrin.c:2253,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/xfrin.c:2255,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/xfrin.c:2257,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 66
    argCount: 1
    argNames:
    - xfr
    argTypes:
    - dns_xfrin_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2131
    functionDepth: 9
    functionLinenumber: 2131
    functionLinenumberEnd: 2258
    functionName: xfrin_destroy
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 0
    functionsReached:
    - dns_db_endload
    - REQUIRE
    - isc_time_microdiff
    - dns_transport_detach
    - INSIST
    - isc_tlsctx_cache_detach
    - dns_journal_destroy
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - dst_context_destroy
    - dns_zone_idetach
    - snprintf
    - dns_tsigkey_detach
    - isc_mem_free
    - isc_result_totext
    - isc_time_now
    - dns_db_detach
    - dns_zone_log
    - dns_view_weakdetach
    - xfrin_log
    - atomic_load_relaxed
    - dns_db_closeversion
    - dns_diff_clear
    - atomic_load
    - VALID_XFRIN
    - xfrin_ixfrcleanup
    - isc_buffer_free
    - dns_name_free
    - xfrin_cancelio
    - isc_loop_detach
    - dns_zone_gettype
    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:2271,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/xfrin.c:2275,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/xfrin.c:2277,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/xfrin.c:2278,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/xfrin.c:2279,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/xfrin.c:2281,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - xfr
    - level
    - fmt
    argTypes:
    - dns_xfrin_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2284
      start: 2265
    functionDepth: 3
    functionLinenumber: 2265
    functionLinenumberEnd: 2284
    functionName: xfrin_log
    functionSourceFile: /src/bind9/lib/dns/xfrin.c
    functionUses: 12
    functionsReached:
    - vsnprintf
    - va_start
    - isc_log_write
    - isc_log_wouldlog
    - va_end
    - isc_sockaddr_format
    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: 643
    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
    - INSIST
    - tolower
    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:
    - fprintf
    - readdir
    - strerror
    - 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: 8
    functionsReached:
    - memset
    - toupper
    - islower
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:359,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:359,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gen.c:364,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:365,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:368,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:374,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:375,1
    - Dst: memccpy
      Src: /src/bind9/lib/dns/gen.c:381,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:384,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:385,1
    - Dst: memccpy
      Src: /src/bind9/lib/dns/gen.c:388,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:390,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:391,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/gen.c:403,1
    - Dst: upper
      Src: /src/bind9/lib/dns/gen.c:404,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:405,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/gen.c:409,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:410,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:414,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/gen.c:417,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/gen.c:418,1
    - Dst: exit
      Src: /src/bind9/lib/dns/gen.c:420,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/gen.c:423,1
    - Dst: HASH
      Src: /src/bind9/lib/dns/gen.c:426,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 53
    argCount: 3
    argNames:
    - type
    - typebuf
    - attr
    argTypes:
    - int
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 428
    functionName: insert_into_typenames
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 0
    functionsReached:
    - strcmp
    - strncpy
    - INSIST
    - fprintf
    - upper
    - snprintf
    - strlen
    - HASH
    - exit
    - memccpy
    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:433,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: memccpy
      Src: /src/bind9/lib/dns/gen.c:454,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:455,1
    - Dst: memccpy
      Src: /src/bind9/lib/dns/gen.c:457,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:458,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/gen.c:460,1
    - Dst: memccpy
      Src: /src/bind9/lib/dns/gen.c:463,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/gen.c:464,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: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 523
    functionName: add
    functionSourceFile: /src/bind9/lib/dns/gen.c
    functionUses: 370
    functionsReached:
    - strcmp
    - insert_into_typenames
    - strncpy
    - INSIST
    - fprintf
    - free
    - strlen
    - strncmp
    - exit
    - malloc
    - memccpy
    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:
    - next_file
    - strcmp
    - end_directory
    - start_directory
    - INSIST
    - sscanf
    - fprintf
    - add
    - snprintf
    - exit
    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: 132
    functionsReached:
    - INSIST
    - fprintf
    - strlen
    - fgets
    - fclose
    - exit
    - funname
    - PRINTCLASS
    - gmtime_r
    - qsort
    - end_directory
    - insert_into_typenames
    - sd
    - fopen
    - snprintf
    - doswitch
    - strerror
    - strcmp
    - start_directory
    - ferror
    - sscanf
    - printf
    - next_file
    - strtoull
    - getenv
    - time
    - upper
    - getopt
    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: 72
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 72
    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: 81
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 81
    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: 90
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 90
    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: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    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:
    - (
    - alg
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 194
    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:199,1
    - Dst: dst__hmacmd5_init
      Src: /src/bind9/lib/dns/dst_api.c:201,1
    - Dst: dst__hmacsha1_init
      Src: /src/bind9/lib/dns/dst_api.c:202,1
    - Dst: dst__hmacsha224_init
      Src: /src/bind9/lib/dns/dst_api.c:203,1
    - Dst: dst__hmacsha256_init
      Src: /src/bind9/lib/dns/dst_api.c:204,1
    - Dst: dst__hmacsha384_init
      Src: /src/bind9/lib/dns/dst_api.c:205,1
    - Dst: dst__hmacsha512_init
      Src: /src/bind9/lib/dns/dst_api.c:206,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:209,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:210,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:213,1
    - Dst: dst__opensslecdsa_init
      Src: /src/bind9/lib/dns/dst_api.c:214,1
    - Dst: dst__opensslecdsa_init
      Src: /src/bind9/lib/dns/dst_api.c:215,1
    - Dst: dst__openssleddsa_init
      Src: /src/bind9/lib/dns/dst_api.c:216,1
    - Dst: dst__openssleddsa_init
      Src: /src/bind9/lib/dns/dst_api.c:218,1
    - Dst: dst__gssapi_init
      Src: /src/bind9/lib/dns/dst_api.c:222,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:228,1
    - Dst: dst__opensslrsa_init
      Src: /src/bind9/lib/dns/dst_api.c:234,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 236
    functionName: dst__lib_initialize
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - dst__opensslecdsa_init
    - dst__gssapi_init
    - dst__hmacsha384_init
    - dst__hmacsha1_init
    - dst__opensslrsa_init
    - dst__hmacsha224_init
    - dst__hmacsha512_init
    - dst__hmacmd5_init
    - dst__hmacsha256_init
    - dst__openssleddsa_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:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 241
    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: 249
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 249
    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:270,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:272,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:281,1
    - Dst: dst_key_attach
      Src: /src/bind9/lib/dns/dst_api.c:287,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dst_api.c:288,1
    - Dst: dst_key_t*::func::createctx
      Src: /src/bind9/lib/dns/dst_api.c:289,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:292,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dst_api.c:294,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: 300
      start: 264
    functionDepth: 1
    functionLinenumber: 264
    functionLinenumberEnd: 300
    functionName: dst_context_create
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 8
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - dst_key_t*::func::createctx
    - isc_mem_putanddetach
    - VALID_KEY
    - dst_key_attach
    - dst_key_free
    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:306,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:306,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:310,1
    - Dst: dst_context_t*::key::func::destroyctx
      Src: /src/bind9/lib/dns/dst_api.c:311,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:313,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dst_api.c:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - dctxp
    argTypes:
    - dst_context_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 302
    functionDepth: 1
    functionLinenumber: 302
    functionLinenumberEnd: 317
    functionName: dst_context_destroy
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - INSIST
    - dst_context_t*::key::func::destroyctx
    - VALID_CTX
    - isc_mem_putanddetach
    - dst_key_free
    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:321,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:321,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:322,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:323,1
    - Dst: dst_context_t*::key::func::adddata
      Src: /src/bind9/lib/dns/dst_api.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 1
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: dst_context_adddata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - VALID_CTX
    - dst_context_t*::key::func::adddata
    - 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:332,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:332,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:333,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:336,1
    - Dst: dst_key_t*::func::isprivate
      Src: /src/bind9/lib/dns/dst_api.c:344,1
    - Dst: dst_key_t*::func::sign
      Src: /src/bind9/lib/dns/dst_api.c:348,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 349
    functionName: dst_context_sign
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_CTX
    - CHECKALG
    - dst_key_t*::func::isprivate
    - dst_key_t*::func::sign
    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:353,1
    - Dst: VALID_CTX
      Src: /src/bind9/lib/dns/dst_api.c:353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:354,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:356,1
    - Dst: dst_context_t*::key::func::verify
      Src: /src/bind9/lib/dns/dst_api.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 366
      start: 351
    functionDepth: 1
    functionLinenumber: 351
    functionLinenumberEnd: 366
    functionName: dst_context_verify
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_CTX
    - CHECKALG
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:370,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:370,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:371,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:374,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:381,1
    - Dst: write_public_key
      Src: /src/bind9/lib/dns/dst_api.c:381,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:385,1
    - Dst: write_key_state
      Src: /src/bind9/lib/dns/dst_api.c:385,1
    - Dst: dst_key_t*::func::tofile
      Src: /src/bind9/lib/dns/dst_api.c:389,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 3
    argNames:
    - key
    - type
    - directory
    argTypes:
    - dst_key_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 368
    functionDepth: 1
    functionLinenumber: 368
    functionLinenumberEnd: 392
    functionName: dst_key_tofile
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dst_key_t*::func::tofile
    - write_public_key
    - CHECKALG
    - RETERR
    - VALID_KEY
    - write_key_state
    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:396,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 399
    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:403,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 406
    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:410,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:410,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:412,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:414,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 415
      start: 408
    functionDepth: 1
    functionLinenumber: 408
    functionLinenumberEnd: 415
    functionName: dst_key_setmodified
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:421,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:421,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:423,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 428
    functionName: dst_key_ismodified
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:436,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:437,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:439,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:440,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:442,1
    - Dst: buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:444,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:446,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dst_api.c:447,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: 454
      start: 430
    functionDepth: 2
    functionLinenumber: 430
    functionLinenumberEnd: 454
    functionName: dst_key_getfilename
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - buildfilename
    - CHECKALG
    - isc_buffer_availablelength
    - isc_buffer_putuint8
    - dns_name_isabsolute
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:464,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:464,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:465,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:466,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:467,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:469,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:473,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:474,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/dst_api.c:474,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:475,1
    - Dst: dst_key_fromnamedfile
      Src: /src/bind9/lib/dns/dst_api.c:475,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:476,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:476,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dst_api.c:478,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dst_api.c:481,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:489,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    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: 493
      start: 456
    functionDepth: 3
    functionLinenumber: 456
    functionLinenumberEnd: 493
    functionName: dst_key_fromfile
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - CLEANUP
    - dns_name_equal
    - computeid
    - CHECKALG
    - dst_key_fromnamedfile
    - dst_key_free
    - dst_key_getfilename
    - CHECK
    - dns_name_isabsolute
    - isc_buffer_init
    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:504,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:506,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:507,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:514,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:516,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:518,1
    - Dst: addsuffix
      Src: /src/bind9/lib/dns/dst_api.c:519,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:521,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:523,1
    - Dst: dst_key_read_public
      Src: /src/bind9/lib/dns/dst_api.c:523,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:524,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:530,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:532,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:534,1
    - Dst: addsuffix
      Src: /src/bind9/lib/dns/dst_api.c:535,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:537,1
    - Dst: dst_key_read_state
      Src: /src/bind9/lib/dns/dst_api.c:542,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:549,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:553,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:553,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:560,1
    - Dst: algorithm_status
      Src: /src/bind9/lib/dns/dst_api.c:560,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:562,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dst_api.c:568,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:571,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:573,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:575,1
    - Dst: addsuffix
      Src: /src/bind9/lib/dns/dst_api.c:576,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:578,1
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/dst_api.c:580,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:581,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/dst_api.c:581,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:582,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:584,1
    - Dst: func::parse
      Src: /src/bind9/lib/dns/dst_api.c:584,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:585,1
    - Dst: dst_key_read_state
      Src: /src/bind9/lib/dns/dst_api.c:589,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:596,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:599,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:599,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dst_api.c:602,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dst_api.c:608,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:615,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:618,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:621,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:624,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:627,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    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: 630
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 630
    functionName: dst_key_fromnamedfile
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - isc_mem_strdup
    - strlen
    - dst_key_read_public
    - algorithm_status
    - dst_key_read_state
    - addsuffix
    - isc_lex_create
    - dst_key_free
    - isc_lex_openfile
    - CHECK
    - isc_lex_destroy
    - func::parse
    - CLEANUP
    - isc_mem_get
    - computeid
    - get_key_struct
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:634,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:634,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:635,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:637,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:643,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/dst_api.c:646,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dst_api.c:647,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dst_api.c:648,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/dst_api.c:649,1
    - Dst: dst_key_t*::func::todns
      Src: /src/bind9/lib/dns/dst_api.c:655,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - key
    - target
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 632
    functionDepth: 2
    functionLinenumber: 632
    functionLinenumberEnd: 656
    functionName: dst_key_todns
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dst_algorithm_tosecalg
    - dst_key_t*::func::todns
    - isc_buffer_putuint16
    - CHECKALG
    - isc_buffer_availablelength
    - VALID_KEY
    - isc_buffer_putuint8
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dst_key_todns(const dst_key_t *key, isc_buffer_t *target)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/dst_api.c:667,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/dst_api.c:669,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/dst_api.c:672,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/dst_api.c:673,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/dst_api.c:674,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dst_api.c:676,1
    - Dst: dst_region_computerid
      Src: /src/bind9/lib/dns/dst_api.c:677,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:679,1
    - Dst: frombuffer
      Src: /src/bind9/lib/dns/dst_api.c:679,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    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: 686
      start: 658
    functionDepth: 3
    functionLinenumber: 658
    functionLinenumberEnd: 686
    functionName: dst_key_fromdns
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 5
    functionsReached:
    - isc_buffer_remaininglength
    - isc_buffer_getuint8
    - dst_region_computeid
    - dst_region_computerid
    - RETERR
    - isc_buffer_getuint16
    - isc_buffer_remainingregion
    - frombuffer
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:695,1
    - Dst: frombuffer
      Src: /src/bind9/lib/dns/dst_api.c:695,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:698,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:700,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    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: 706
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 706
    functionName: dst_key_frombuffer
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - computeid
    - RETERR
    - dst_key_free
    - frombuffer
    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:710,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:711,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:713,1
    - Dst: dst_key_t*::func::todns
      Src: /src/bind9/lib/dns/dst_api.c:719,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - target
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 720
    functionName: dst_key_tobuffer
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - CHECKALG
    - VALID_KEY
    - dst_key_t*::func::todns
    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:724,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 727
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 727
    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:735,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:736,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:738,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/dst_api.c:746,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:748,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/dst_api.c:748,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:756,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: 759
      start: 729
    functionDepth: 3
    functionLinenumber: 729
    functionLinenumberEnd: 759
    functionName: dst_key_fromgssapi
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_copyregion
    - get_key_struct
    - isc_buffer_allocate
    - CHECK
    - dst_key_free
    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:764,1
    - Dst: fchmod
      Src: /src/bind9/lib/dns/dst_api.c:769,1
    - Dst: isc_os_umask
      Src: /src/bind9/lib/dns/dst_api.c:769,1
    - Dst: fdopen
      Src: /src/bind9/lib/dns/dst_api.c:773,1
    - Dst: close
      Src: /src/bind9/lib/dns/dst_api.c:780,1
    - Dst: unlink
      Src: /src/bind9/lib/dns/dst_api.c:781,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - tmpname
    - mode
    argTypes:
    - char*
    - mode_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 761
    functionDepth: 1
    functionLinenumber: 761
    functionLinenumberEnd: 783
    functionName: dst_key_open
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - mkstemp
    - close
    - fchmod
    - unlink
    - isc_os_umask
    - fdopen
    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:787,1
    - Dst: ferror
      Src: /src/bind9/lib/dns/dst_api.c:787,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:788,1
    - Dst: rename
      Src: /src/bind9/lib/dns/dst_api.c:791,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:792,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/dst_api.c:795,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 3
    argNames:
    - tmpname
    - fp
    - filename
    argTypes:
    - char*
    - FILE*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 803
    functionName: dst_key_close
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_cleanup
    - ferror
    - fflush
    - rename
    - fclose
    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:807,1
    - Dst: fileno
      Src: /src/bind9/lib/dns/dst_api.c:807,1
    - Dst: unlink
      Src: /src/bind9/lib/dns/dst_api.c:815,1
    - Dst: fclose
      Src: /src/bind9/lib/dns/dst_api.c:816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - tmpname
    - fp
    argTypes:
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 819
      start: 805
    functionDepth: 0
    functionLinenumber: 805
    functionLinenumberEnd: 819
    functionName: dst_key_cleanup
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - ftruncate
    - fileno
    - unlink
    - fclose
    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:829,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:829,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:830,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:831,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:832,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:834,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:836,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:841,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:843,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: 849
      start: 821
    functionDepth: 1
    functionLinenumber: 821
    functionLinenumberEnd: 849
    functionName: dst_key_buildinternal
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - computeid
    - CHECKALG
    - get_key_struct
    - dst_key_free
    - dns_name_isabsolute
    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:859,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:859,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:860,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:861,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:862,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:864,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:866,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:869,1
    - Dst: dst_key_t*::func::fromlabel
      Src: /src/bind9/lib/dns/dst_api.c:873,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:875,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:879,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:881,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: 887
      start: 851
    functionDepth: 1
    functionLinenumber: 851
    functionLinenumberEnd: 887
    functionName: dst_key_fromlabel
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_isabsolute
    - computeid
    - CHECKALG
    - get_key_struct
    - dst_key_t*::func::fromlabel
    - dst_key_free
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:897,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:897,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:899,1
    - Dst: CHECKALG
      Src: /src/bind9/lib/dns/dst_api.c:901,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:903,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dst_api.c:907,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:911,1
    - Dst: dst_key_t*::func::generate
      Src: /src/bind9/lib/dns/dst_api.c:915,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:917,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:921,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:923,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    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: 929
      start: 889
    functionDepth: 4
    functionLinenumber: 889
    functionLinenumberEnd: 929
    functionName: dst_key_generate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dst_key_t*::func::generate
    - isc_mem_strdup
    - computeid
    - CHECKALG
    - get_key_struct
    - dst_key_free
    - dns_name_isabsolute
    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:933,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:933,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:934,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:935,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:937,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:939,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - key
    - type
    - valuep
    argTypes:
    - dst_key_t*
    - int
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 946
      start: 931
    functionDepth: 1
    functionLinenumber: 931
    functionLinenumberEnd: 946
    functionName: dst_key_getbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:950,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:950,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:951,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:953,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - key
    - type
    - value
    argTypes:
    - dst_key_t*
    - int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 948
    functionDepth: 1
    functionLinenumber: 948
    functionLinenumberEnd: 959
    functionName: dst_key_setbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:963,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:963,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:964,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:966,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:969,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 970
    functionName: dst_key_unsetbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:974,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:974,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:975,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:976,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:978,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:980,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:984,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: 987
      start: 972
    functionDepth: 1
    functionLinenumber: 972
    functionLinenumberEnd: 987
    functionName: dst_key_getnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:991,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:991,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:992,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:994,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:999,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: 1000
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1000
    functionName: dst_key_setnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1004,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1005,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1007,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1010,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1011
      start: 1002
    functionDepth: 1
    functionLinenumber: 1002
    functionLinenumberEnd: 1011
    functionName: dst_key_unsetnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1015,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1015,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1016,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1017,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1019,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1021,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1025,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: 1027
      start: 1013
    functionDepth: 1
    functionLinenumber: 1013
    functionLinenumberEnd: 1027
    functionName: dst_key_gettime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1031,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1031,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1032,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1034,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1039,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: 1040
      start: 1029
    functionDepth: 1
    functionLinenumber: 1029
    functionLinenumberEnd: 1040
    functionName: dst_key_settime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1044,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1044,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1045,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1047,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1051
    functionName: dst_key_unsettime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1055,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1055,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1056,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1057,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1059,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1061,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1065,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: 1068
      start: 1053
    functionDepth: 1
    functionLinenumber: 1053
    functionLinenumberEnd: 1068
    functionName: dst_key_getstate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1072,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1072,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1073,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1075,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1080,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: 1081
      start: 1070
    functionDepth: 1
    functionLinenumber: 1070
    functionLinenumberEnd: 1081
    functionName: dst_key_setstate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1085,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1085,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1086,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/dst_api.c:1088,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/dst_api.c:1091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1092
      start: 1083
    functionDepth: 1
    functionLinenumber: 1083
    functionLinenumberEnd: 1092
    functionName: dst_key_unsetstate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mutex_unlock
    - isc_mutex_lock
    - 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:1096,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1096,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1097,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - key
    - majorp
    - minorp
    argTypes:
    - dst_key_t*
    - int*
    - int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1102
      start: 1094
    functionDepth: 1
    functionLinenumber: 1094
    functionLinenumberEnd: 1102
    functionName: dst_key_getprivateformat
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 8
    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:1106,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - key
    - major
    - minor
    argTypes:
    - dst_key_t*
    - int
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1109
      start: 1104
    functionDepth: 1
    functionLinenumber: 1104
    functionLinenumberEnd: 1109
    functionName: dst_key_setprivateformat
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    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:1115,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1116,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1116,1
    - Dst: compare
      Src: /src/bind9/lib/dns/dst_api.c:1143,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: 1147
      start: 1111
    functionDepth: 1
    functionLinenumber: 1111
    functionLinenumberEnd: 1147
    functionName: comparekeys
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - compare
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1160,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:1161,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1168,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:1169,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:1176,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:1177,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/dst_api.c:1178,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1153
    functionDepth: 3
    functionLinenumber: 1153
    functionLinenumberEnd: 1179
    functionName: pub_compare
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedregion
    - isc_region_compare
    - isc_buffer_init
    - dst_key_todns
    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:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1181
    functionDepth: 2
    functionLinenumber: 1181
    functionLinenumberEnd: 1184
    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:1189,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: 1190
      start: 1186
    functionDepth: 2
    functionLinenumber: 1186
    functionLinenumberEnd: 1190
    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:1194,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1195,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1195,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/dst_api.c:1197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dst_key_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1199
    functionName: dst_key_attach
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_KEY
    - isc_refcount_increment
    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:1203,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1203,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/dst_api.c:1207,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1208,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1211,1
    - Dst: dst_key_t*::func::destroy
      Src: /src/bind9/lib/dns/dst_api.c:1212,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dst_api.c:1215,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dst_api.c:1218,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/dst_api.c:1220,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_api.c:1221,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/dst_api.c:1223,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1225,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/dst_api.c:1226,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dst_api.c:1227,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - keyp
    argTypes:
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1201
    functionDepth: 3
    functionLinenumber: 1201
    functionLinenumberEnd: 1229
    functionName: dst_key_free
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 57
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - isc_refcount_decrement
    - isc_mem_free
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - VALID_KEY
    - isc_safe_memwipe
    - isc_buffer_free
    - dns_name_free
    - isc_refcount_destroy
    - dst_key_t*::func::destroy
    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:1233,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1233,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1234,1
    - Dst: dst_key_t*::func::isprivate
      Src: /src/bind9/lib/dns/dst_api.c:1235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1236
      start: 1231
    functionDepth: 1
    functionLinenumber: 1231
    functionLinenumberEnd: 1236
    functionName: dst_key_isprivate
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - dst_key_t*::func::isprivate
    - VALID_KEY
    - INSIST
    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:1241,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1242,1
    - Dst: buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1246,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: 1248
      start: 1238
    functionDepth: 1
    functionLinenumber: 1238
    functionLinenumberEnd: 1248
    functionName: dst_key_buildfilename
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - buildfilename
    - 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:1252,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1253,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 53
    argCount: 2
    argNames:
    - key
    - n
    argTypes:
    - dst_key_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1305
      start: 1250
    functionDepth: 1
    functionLinenumber: 1250
    functionLinenumberEnd: 1305
    functionName: dst_key_sigsize
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_KEY
    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:1312,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1312,1
    - Dst: computeid
      Src: /src/bind9/lib/dns/dst_api.c:1314,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - key
    - flags
    argTypes:
    - dst_key_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1310
    functionDepth: 1
    functionLinenumber: 1310
    functionLinenumberEnd: 1315
    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:1321,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dst_api.c:1323,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/dst_api.c:1323,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/dst_api.c:1324,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dst_api.c:1325,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/dst_api.c:1325,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: 1326
      start: 1317
    functionDepth: 3
    functionLinenumber: 1317
    functionLinenumberEnd: 1326
    functionName: dst_key_format
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 17
    functionsReached:
    - dns_name_format
    - dst_key_name
    - dst_key_alg
    - dst_key_id
    - snprintf
    - dst_algorithm_format
    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:1330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1332,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1332,1
    - Dst: dst_key_t*::func::dump
      Src: /src/bind9/lib/dns/dst_api.c:1337,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: 1338
      start: 1328
    functionDepth: 1
    functionLinenumber: 1328
    functionLinenumberEnd: 1338
    functionName: dst_key_dump
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_t*::func::dump
    - 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:1347,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:1357,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:1363,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: 1367
      start: 1340
    functionDepth: 4
    functionLinenumber: 1340
    functionLinenumberEnd: 1367
    functionName: dst_key_restore
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - get_key_struct
    - dst_key_free
    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:1382,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_api.c:1384,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/dst_api.c:1394,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/dst_api.c:1395,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dst_api.c:1397,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dst_api.c:1398,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/dst_api.c:1400,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: 1404
      start: 1376
    functionDepth: 1
    functionLinenumber: 1376
    functionLinenumberEnd: 1404
    functionName: get_key_struct
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - isc_mutex_init
    - dns_name_init
    - isc_mem_get
    - dns_name_dup
    - isc_refcount_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:1408,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1406
    functionDepth: 1
    functionLinenumber: 1406
    functionLinenumberEnd: 1411
    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:1415,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - inactive
    argTypes:
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1418
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1418
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/dst_api.c:1447,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dst_api.c:1449,1
    - Dst: isc_lex_setspecials
      Src: /src/bind9/lib/dns/dst_api.c:1453,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/dst_api.c:1454,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:1456,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/dst_api.c:1456,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1459,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1461,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1467,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1467,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1468,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dst_api.c:1471,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1472,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1472,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:1472,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1472,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dst_api.c:1473,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:1473,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1473,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:1474,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1474,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dst_api.c:1474,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1478,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1481,1
    - Dst: dns_ttl_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1485,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1487,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1491,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1494,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1496,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1500,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_api.c:1503,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1503,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/dst_api.c:1505,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1505,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1508,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1518,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:1519,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1519,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:1522,1
    - Dst: dst_key_fromdns
      Src: /src/bind9/lib/dns/dst_api.c:1522,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dst_api.c:1522,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/dst_api.c:1525,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1529,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 61
    argCount: 4
    argNames:
    - filename
    - type
    - mctx
    - keyp
    argTypes:
    - char*
    - int
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1423
    functionDepth: 4
    functionLinenumber: 1423
    functionLinenumberEnd: 1532
    functionName: dst_key_read_public
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - isc_lex_setcomments
    - dst_key_setttl
    - isc_buffer_add
    - strlen
    - memset
    - dns_name_fromtext
    - strcasecmp
    - isc_lex_create
    - dns_ttl_fromtext
    - isc_buffer_init
    - strcmp
    - DST_AS_STR
    - isc_lex_openfile
    - dns_rdata_fromtext
    - CHECK
    - dns_fixedname_init
    - NEXTTOKEN
    - isc_lex_destroy
    - dns_rdataclass_fromtext
    - dst_key_fromdns
    - BADTOKEN
    - dns_fixedname_name
    - isc_lex_setspecials
    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:1537,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s
    - tags
    - ntags
    argTypes:
    - char*
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1542
      start: 1534
    functionDepth: 0
    functionLinenumber: 1534
    functionLinenumberEnd: 1542
    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:1546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1547
      start: 1544
    functionDepth: 0
    functionLinenumber: 1544
    functionLinenumberEnd: 1547
    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:1551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1549
    functionDepth: 0
    functionLinenumber: 1549
    functionLinenumberEnd: 1552
    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:1556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1554
    functionDepth: 0
    functionLinenumber: 1554
    functionLinenumberEnd: 1557
    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:1561,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1559
    functionDepth: 0
    functionLinenumber: 1559
    functionLinenumberEnd: 1562
    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:1567,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - s
    - state
    argTypes:
    - char*
    - dst_key_state_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1573
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1573
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_lex_create
      Src: /src/bind9/lib/dns/dst_api.c:1585,1
    - Dst: isc_lex_setcomments
      Src: /src/bind9/lib/dns/dst_api.c:1586,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:1588,1
    - Dst: isc_lex_openfile
      Src: /src/bind9/lib/dns/dst_api.c:1588,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1593,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1598,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1600,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1600,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1602,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1605,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_api.c:1607,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1609,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1612,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1617,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1619,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1619,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1621,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1624,1
    - Dst: dst_key_size
      Src: /src/bind9/lib/dns/dst_api.c:1626,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1628,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1631,1
    - Dst: NEXTTOKEN_OR_EOF
      Src: /src/bind9/lib/dns/dst_api.c:1639,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1644,1
    - Dst: find_numericdata
      Src: /src/bind9/lib/dns/dst_api.c:1648,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1648,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1650,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1652,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1654,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/dst_api.c:1657,1
    - Dst: find_booleandata
      Src: /src/bind9/lib/dns/dst_api.c:1662,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1662,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1664,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1666,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1668,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1671,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1671,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/dst_api.c:1672,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:1673,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1673,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/dst_api.c:1674,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1676,1
    - Dst: find_timingdata
      Src: /src/bind9/lib/dns/dst_api.c:1682,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1682,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1686,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1688,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1690,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:1693,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1693,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1693,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dst_api.c:1695,1
    - Dst: find_keystatedata
      Src: /src/bind9/lib/dns/dst_api.c:1700,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1700,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_api.c:1704,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1706,1
    - Dst: BADTOKEN
      Src: /src/bind9/lib/dns/dst_api.c:1708,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_api.c:1711,1
    - Dst: keystate_fromtext
      Src: /src/bind9/lib/dns/dst_api.c:1711,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_api.c:1711,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/dst_api.c:1713,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_api.c:1718,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/lib/dns/dst_api.c:1726,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 95
    argCount: 3
    argNames:
    - filename
    - mctx
    - keyp
    argTypes:
    - char*
    - isc_mem_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1729
      start: 1578
    functionDepth: 3
    functionLinenumber: 1578
    functionLinenumberEnd: 1729
    functionName: dst_key_read_state
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - find_timingdata
    - INSIST
    - isc_lex_setcomments
    - dst_key_size
    - READLINE
    - dst_key_setstate
    - dns_time32_fromtext
    - find_booleandata
    - isc_lex_create
    - strcmp
    - dst_key_alg
    - DST_AS_STR
    - keystate_fromtext
    - find_numericdata
    - isc_lex_openfile
    - CHECK
    - find_keystatedata
    - NEXTTOKEN
    - isc_lex_destroy
    - dst_key_setnum
    - BADTOKEN
    - NEXTTOKEN_OR_EOF
    - dst_key_settime
    - dst_key_setbool
    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:1733,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1733,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1731
    functionDepth: 1
    functionLinenumber: 1731
    functionLinenumberEnd: 1756
    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:1766,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1770,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: 1771
      start: 1761
    functionDepth: 2
    functionLinenumber: 1761
    functionLinenumberEnd: 1771
    functionName: printbool
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dst_key_getbool
    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:1781,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1785,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: 1786
      start: 1776
    functionDepth: 2
    functionLinenumber: 1776
    functionLinenumberEnd: 1786
    functionName: printnum
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - fprintf
    - dst_key_getnum
    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:1800,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/dst_api.c:1805,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1806,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/dst_api.c:1807,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:1812,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1813,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1817,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: 1818
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1818
    functionName: printtime
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dst_key_gettime
    - isc_buffer_init
    - fprintf
    - isc_buffer_usedregion
    - dns_time32_totext
    - isc_stdtime_tostring
    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:1828,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1832,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: 1833
      start: 1823
    functionDepth: 2
    functionLinenumber: 1823
    functionLinenumberEnd: 1833
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1847,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1847,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1852,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:1853,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1853,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1855,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:1856,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1856,1
    - Dst: issymmetric
      Src: /src/bind9/lib/dns/dst_api.c:1858,1
    - Dst: dst_key_open
      Src: /src/bind9/lib/dns/dst_api.c:1862,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1869,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/dst_api.c:1870,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:1872,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/dst_api.c:1874,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1876,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1877,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1879,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1880,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1881,1
    - Dst: printbool
      Src: /src/bind9/lib/dns/dst_api.c:1883,1
    - Dst: printbool
      Src: /src/bind9/lib/dns/dst_api.c:1884,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1886,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1887,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1888,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1889,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1890,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1891,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1892,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1893,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1894,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1895,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1896,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1897,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1899,1
    - Dst: printnum
      Src: /src/bind9/lib/dns/dst_api.c:1900,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1902,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1903,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1904,1
    - Dst: printtime
      Src: /src/bind9/lib/dns/dst_api.c:1905,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:1907,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:1908,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:1909,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:1910,1
    - Dst: printstate
      Src: /src/bind9/lib/dns/dst_api.c:1911,1
    - Dst: dst_key_close
      Src: /src/bind9/lib/dns/dst_api.c:1914,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 49
    argCount: 3
    argNames:
    - key
    - type
    - directory
    argTypes:
    - dst_key_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1915
      start: 1838
    functionDepth: 3
    functionLinenumber: 1838
    functionLinenumberEnd: 1915
    functionName: write_key_state
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dst_key_cleanup
    - fputc
    - printtime
    - printnum
    - dst_key_open
    - fprintf
    - dst_key_buildfilename
    - printstate
    - dns_name_print
    - RETERR
    - VALID_KEY
    - printbool
    - dst_key_close
    - isc_buffer_init
    - issymmetric
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t write_key_state(const dst_key_t *key, int type, const
      char *directory)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:1933,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:1933,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1935,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1936,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1937,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:1939,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:1939,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:1941,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/dst_api.c:1942,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/dns/dst_api.c:1944,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/dst_api.c:1949,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1957,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:1958,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1958,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:1960,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:1961,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_api.c:1961,1
    - Dst: issymmetric
      Src: /src/bind9/lib/dns/dst_api.c:1964,1
    - Dst: dst_key_open
      Src: /src/bind9/lib/dns/dst_api.c:1967,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:1974,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/dst_api.c:1980,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:1982,1
    - Dst: fputc
      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: dns_name_print
      Src: /src/bind9/lib/dns/dst_api.c:1997,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:1999,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2001,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2004,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:2007,1
    - Dst: fwrite
      Src: /src/bind9/lib/dns/dst_api.c:2008,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:2009,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2013,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_api.c:2015,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:2018,1
    - Dst: fwrite
      Src: /src/bind9/lib/dns/dst_api.c:2019,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_api.c:2020,1
    - Dst: fputc
      Src: /src/bind9/lib/dns/dst_api.c:2023,1
    - Dst: dst_key_close
      Src: /src/bind9/lib/dns/dst_api.c:2025,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 63
    argCount: 3
    argNames:
    - key
    - type
    - directory
    argTypes:
    - dst_key_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2026
      start: 1920
    functionDepth: 3
    functionLinenumber: 1920
    functionLinenumberEnd: 2026
    functionName: write_public_key
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_rdata_totext
    - fprintf
    - dns_rdataclass_totext
    - RETERR
    - VALID_KEY
    - dst_key_close
    - fwrite
    - printtime
    - dst_key_open
    - dns_rdata_fromregion
    - dst_key_buildfilename
    - dns_name_print
    - isc_buffer_init
    - fputc
    - dst_key_todns
    - issymmetric
    - dst_key_cleanup
    - isc_buffer_usedregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t write_public_key(const dst_key_t *key, int type, const
      char *directory)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2033,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2034,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:2048,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:2048,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dst_api.c:2051,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:2052,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dst_api.c:2053,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dst_api.c:2055,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/dst_api.c:2058,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dst_api.c:2061,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:2062,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/dst_api.c:2062,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/dst_api.c:2064,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    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: 2065
      start: 2028
    functionDepth: 3
    functionLinenumber: 2028
    functionLinenumberEnd: 2065
    functionName: buildfilename
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - isc_buffer_printf
    - isc_buffer_availablelength
    - strlen
    - RETERR
    - dns_name_tofilenametext
    - isc_buffer_putstr
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2073,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_api.c:2074,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/dst_api.c:2074,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_api.c:2076,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/dst_api.c:2077,1
    - Dst: dst_region_computerid
      Src: /src/bind9/lib/dns/dst_api.c:2078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2080
      start: 2067
    functionDepth: 3
    functionLinenumber: 2067
    functionLinenumberEnd: 2080
    functionName: computeid
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 19
    functionsReached:
    - dst_region_computeid
    - RETERR
    - isc_buffer_usedregion
    - dst_region_computerid
    - dst_key_todns
    - isc_buffer_init
    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:2089,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/dst_api.c:2089,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2090,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2091,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2092,1
    - Dst: dst_algorithm_fromprivatedns
      Src: /src/bind9/lib/dns/dst_api.c:2096,1
    - Dst: dst_algorithm_fromprivateoid
      Src: /src/bind9/lib/dns/dst_api.c:2104,1
    - Dst: get_key_struct
      Src: /src/bind9/lib/dns/dst_api.c:2110,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/dst_api.c:2112,1
    - Dst: algorithm_status
      Src: /src/bind9/lib/dns/dst_api.c:2113,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:2115,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:2119,1
    - Dst: dst_key_t*::func::fromdns
      Src: /src/bind9/lib/dns/dst_api.c:2123,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/dst_api.c:2125,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: 2132
      start: 2082
    functionDepth: 4
    functionLinenumber: 2082
    functionLinenumberEnd: 2132
    functionName: frombuffer
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - algorithm_status
    - dst_algorithm_fromprivatedns
    - isc_buffer_remaininglength
    - dst_key_t*::func::fromdns
    - get_key_struct
    - dst_key_free
    - dst_algorithm_fromprivateoid
    - 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:2136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2140
      start: 2134
    functionDepth: 1
    functionLinenumber: 2134
    functionLinenumberEnd: 2140
    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:2145,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:2150,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_api.c:2152,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dst_api.c:2157,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dst_api.c:2159,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: 2169
      start: 2142
    functionDepth: 0
    functionLinenumber: 2142
    functionLinenumberEnd: 2169
    functionName: addsuffix
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - snprintf
    - strcmp
    - strlen
    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:2173,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2171
    functionDepth: 1
    functionLinenumber: 2171
    functionLinenumberEnd: 2175
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2183,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2183,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2187,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2195
      start: 2181
    functionDepth: 2
    functionLinenumber: 2181
    functionLinenumberEnd: 2195
    functionName: dst_key_is_hidden
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_getstate
    - VALID_KEY
    linkageType: ''
    returnType: bool
    signature: bool dst_key_is_hidden(const dst_key_t *key)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2209,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2209,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2246,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2260,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2269
      start: 2202
    functionDepth: 2
    functionLinenumber: 2202
    functionLinenumberEnd: 2269
    functionName: dst_key_is_unused
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_getstate
    - VALID_KEY
    - dst_key_gettime
    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:2277,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dst_api.c:2281,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dst_api.c:2287,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/dst_api.c:2291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 3
    argNames:
    - key
    - ksk
    - zsk
    argTypes:
    - dst_key_t*
    - bool*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2271
    functionDepth: 2
    functionLinenumber: 2271
    functionLinenumberEnd: 2296
    functionName: dst_key_role
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - dst_key_flags
    - dst_key_getbool
    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:2308,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2308,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2310,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2320,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: 2332
      start: 2300
    functionDepth: 2
    functionLinenumber: 2300
    functionLinenumberEnd: 2332
    functionName: dst_key_is_published
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dst_key_getstate
    - VALID_KEY
    - dst_key_gettime
    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:2342,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2342,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2344,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2349,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/dst_api.c:2354,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2361,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2378,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 28
    argCount: 2
    argNames:
    - key
    - now
    argTypes:
    - dst_key_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2391
      start: 2334
    functionDepth: 3
    functionLinenumber: 2334
    functionLinenumberEnd: 2391
    functionName: dst_key_is_active
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - dst_key_getstate
    - VALID_KEY
    - dst_key_role
    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:2402,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2402,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2404,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2409,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/dst_api.c:2415,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2422,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2434,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: 2447
      start: 2393
    functionDepth: 3
    functionLinenumber: 2393
    functionLinenumberEnd: 2447
    functionName: dst_key_is_signing
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - dst_key_getstate
    - VALID_KEY
    - dst_key_role
    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:2455,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2455,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2457,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: 2464
      start: 2449
    functionDepth: 2
    functionLinenumber: 2449
    functionLinenumberEnd: 2464
    functionName: dst_key_is_revoked
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_KEY
    - dst_key_gettime
    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:2473,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2473,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/dst_api.c:2475,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2480,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2490,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: 2502
      start: 2466
    functionDepth: 3
    functionLinenumber: 2466
    functionLinenumberEnd: 2502
    functionName: dst_key_is_removed
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - dst_key_getstate
    - dst_key_is_unused
    - 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:2509,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2509,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2516
      start: 2504
    functionDepth: 2
    functionLinenumber: 2504
    functionLinenumberEnd: 2516
    functionName: dst_key_goal
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_getstate
    - 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:2520,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2523
      start: 2518
    functionDepth: 1
    functionLinenumber: 2518
    functionLinenumberEnd: 2523
    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:2533,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2533,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_api.c:2534,1
    - Dst: VALID_KEY
      Src: /src/bind9/lib/dns/dst_api.c:2534,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_api.c:2537,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dst_api.c:2539,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/dst_api.c:2541,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/dst_api.c:2546,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/dst_api.c:2548,1
    - Dst: dst_key_unsetnum
      Src: /src/bind9/lib/dns/dst_api.c:2550,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/dst_api.c:2555,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/dst_api.c:2557,1
    - Dst: dst_key_unsetbool
      Src: /src/bind9/lib/dns/dst_api.c:2559,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/dst_api.c:2564,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/dst_api.c:2566,1
    - Dst: dst_key_unsetstate
      Src: /src/bind9/lib/dns/dst_api.c:2568,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/dst_api.c:2572,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/dst_api.c:2572,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    argCount: 2
    argNames:
    - to
    - from
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2573
      start: 2525
    functionDepth: 2
    functionLinenumber: 2525
    functionLinenumberEnd: 2573
    functionName: dst_key_copy_metadata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dst_key_unsetstate
    - REQUIRE
    - dst_key_gettime
    - dst_key_getstate
    - dst_key_setnum
    - dst_key_settime
    - dst_key_getbool
    - dst_key_getnum
    - dst_key_setbool
    - dst_key_unsetnum
    - VALID_KEY
    - dst_key_setstate
    - dst_key_unsettime
    - dst_key_unsetbool
    - dst_key_ismodified
    - dst_key_setmodified
    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: 2593
      start: 2575
    functionDepth: 0
    functionLinenumber: 2575
    functionLinenumberEnd: 2593
    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: 2609
      start: 2595
    functionDepth: 0
    functionLinenumber: 2595
    functionLinenumberEnd: 2609
    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:2627,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/dst_api.c:2630,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dst_api.c:2643,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/dst_api.c:2648,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2660
      start: 2624
    functionDepth: 1
    functionLinenumber: 2624
    functionLinenumberEnd: 2660
    functionName: dst_algorithm_fromprivatedns
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - dns_fixedname_initname
    - dns_name_fromwire
    - dns_name_equal
    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:2666,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/dst_api.c:2674,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/dst_api.c:2680,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 11
    argCount: 1
    argNames:
    - buffer
    argTypes:
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2687
      start: 2662
    functionDepth: 2
    functionLinenumber: 2662
    functionLinenumberEnd: 2687
    functionName: dst_algorithm_fromprivateoid
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 1
    functionsReached:
    - memcmp
    - isc_buffer_remainingregion
    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:2695,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dst_api.c:2696,1
    - Dst: dst_algorithm_fromprivatedns
      Src: /src/bind9/lib/dns/dst_api.c:2697,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_api.c:2699,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dst_api.c:2700,1
    - Dst: dst_algorithm_fromprivateoid
      Src: /src/bind9/lib/dns/dst_api.c:2701,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: 2705
      start: 2689
    functionDepth: 3
    functionLinenumber: 2689
    functionLinenumberEnd: 2705
    functionName: dst_algorithm_fromdata
    functionSourceFile: /src/bind9/lib/dns/dst_api.c
    functionUses: 10
    functionsReached:
    - isc_buffer_add
    - dst_algorithm_fromprivatedns
    - dst_algorithm_fromprivateoid
    - isc_buffer_init
    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:
    - REQUIRE
    - dns_rdataset_isassociated
    - DNS_RDATASET_VALID
    - DNS_RDATASETITER_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: 5
    argNames:
    - (
    - qpdb
    - ','
    - iterator
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 75
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 75
    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: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    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: 79
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 79
    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: 87
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 87
    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: 289
      start: 288
    functionDepth: 0
    functionLinenumber: 288
    functionLinenumberEnd: 289
    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: 290
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 290
    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: 292
      start: 290
    functionDepth: 0
    functionLinenumber: 290
    functionLinenumberEnd: 292
    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: 293
      start: 292
    functionDepth: 0
    functionLinenumber: 292
    functionLinenumberEnd: 293
    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: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - DNS__DB_FLARG
    argTypes:
    - isc_mem_t*
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 309
    functionDepth: 1
    functionLinenumber: 309
    functionLinenumberEnd: 319
    functionName: qpz_changed_new
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    linkageType: ''
    returnType: qpz_changed_t
    signature: 'qpz_changed_t *

      qpz_changed_new(isc_mem_t *mctx, qpznode_t *node DNS__DB_FLARG)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:326,1
    - Dst: qpznode_ref
      Src: /src/bind9/lib/dns/qpzone.c:332,1
    - Dst: dns_vecheader_ref
      Src: /src/bind9/lib/dns/qpzone.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mctx
    - node
    - header
    argTypes:
    - isc_mem_t*
    - qpznode_t*
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 335
      start: 324
    functionDepth: 1
    functionLinenumber: 324
    functionLinenumberEnd: 335
    functionName: qpz_resigned_new
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_ref
    - dns_vecheader_ref
    - isc_mem_get
    linkageType: ''
    returnType: qpz_resigned_t
    signature: 'qpz_resigned_t *

      qpz_resigned_new(isc_mem_t *mctx, qpznode_t *node, dns_vecheader_t *header)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:341,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:342,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mctx
    - resignedp
    argTypes:
    - isc_mem_t*
    - qpz_resigned_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 337
    functionDepth: 1
    functionLinenumber: 337
    functionLinenumberEnd: 344
    functionName: qpz_resigned_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_unref
    - isc_mem_put
    - dns_vecheader_unref
    linkageType: ''
    returnType: void
    signature: void qpz_resigned_destroy(isc_mem_t *mctx, qpz_resigned_t **resignedp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:351,1
    - Dst: qpznode_ref
      Src: /src/bind9/lib/dns/qpzone.c:357,1
    - Dst: dns_vecheader_ref
      Src: /src/bind9/lib/dns/qpzone.c:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - mctx
    - node
    - header
    argTypes:
    - isc_mem_t*
    - qpznode_t*
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 360
    functionName: qpz_resign_new
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_ref
    - dns_vecheader_ref
    - isc_mem_get
    linkageType: ''
    returnType: qpz_resign_t
    signature: 'qpz_resign_t *

      qpz_resign_new(isc_mem_t *mctx, qpznode_t *node, dns_vecheader_t *header)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:366,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:367,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mctx
    - elemp
    argTypes:
    - isc_mem_t*
    - qpz_resign_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 369
    functionName: qpz_resign_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_unref
    - isc_mem_put
    - dns_vecheader_unref
    linkageType: ''
    returnType: void
    signature: void qpz_resign_destroy(isc_mem_t *mctx, qpz_resign_t **elemp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/qpzone.c:472,1
    - Dst: NODE_INITLOCK
      Src: /src/bind9/lib/dns/qpzone.c:473,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 475
    functionName: dns__qpzone_initialize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_INITLOCK
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void dns__qpzone_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/qpzone.c:479,1
    - Dst: NODE_DESTROYLOCK
      Src: /src/bind9/lib/dns/qpzone.c:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 477
    functionDepth: 1
    functionLinenumber: 477
    functionLinenumberEnd: 482
    functionName: dns__qpzone_shutdown
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - NODE_DESTROYLOCK
    - ARRAY_SIZE
    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: 487
      start: 484
    functionDepth: 0
    functionLinenumber: 484
    functionLinenumberEnd: 487
    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:491,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/qpzone.c:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 492
    functionName: qpzone_get_locknum
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - isc_random_uniform
    linkageType: ''
    returnType: uint16_t
    signature: uint16_t qpzone_get_locknum(void)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:500,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:503,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:506,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:509,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpzone.c:512,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:514,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 2
    argNames:
    - mctx
    - glue
    argTypes:
    - isc_mem_t*
    - dns_glue_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 518
    functionName: free_glue
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - isc_mem_put
    - dns_vecheader_unref
    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:522,1
    - Dst: free_glue
      Src: /src/bind9/lib/dns/qpzone.c:529,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:531,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - gluelistp
    argTypes:
    - dns_gluelist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 532
    functionName: destroy_gluelist
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - REQUIRE
    - free_glue
    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:536,1
    - Dst: destroy_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: free_gluelist_rcu
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - destroy_gluelist
    - caa_container_of
    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:543,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qpzone.c:546,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qpzone.c:549,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:550,1
    - Dst: rcu_cmpxchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:552,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qpzone.c:554,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qpzone.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - glue_stack
    argTypes:
    - struct cds_wfs_stack*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 557
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 557
    functionName: cleanup_gluelists
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - rcu_read_unlock
    - __cds_wfs_pop_all
    - rcu_read_lock
    - caa_container_of
    - rcu_cmpxchg_pointer
    - rcu_xchg_pointer
    - call_rcu
    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:549,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:550,1
    - Dst: rcu_cmpxchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:552,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qpzone.c:554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 547
    functionDepth: 1
    functionLinenumber: 547
    functionLinenumberEnd: 555
    functionName: cds_wfs_for_each_blocking_safe
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - rcu_xchg_pointer
    - call_rcu
    - caa_container_of
    - rcu_cmpxchg_pointer
    linkageType: ''
    returnType: void
    signature: void cds_wfs_for_each_blocking_safe(head, node, next)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/qpzone.c:561,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpzone.c:563,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpzone.c:564,1
    - Dst: qpz_heap_detach
      Src: /src/bind9/lib/dns/qpzone.c:567,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/qpzone.c:570,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpzone.c:573,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpzone.c:574,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:580,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/qpzone.c:580,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 559
    functionDepth: 2
    functionLinenumber: 559
    functionLinenumberEnd: 584
    functionName: free_db_rcu
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - INSIST
    - isc_rwlock_destroy
    - qpz_heap_detach
    - isc_mem_putanddetach
    - caa_container_of
    - cds_lfht_destroy
    - dns_name_free
    - isc_stats_detach
    - isc_refcount_destroy
    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:588,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/qpzone.c:590,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpzone.c:592,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:593,1
    - Dst: cds_wfs_destroy
      Src: /src/bind9/lib/dns/qpzone.c:594,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpzone.c:595,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:596,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/qpzone.c:599,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpzone.c:602,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/qpzone.c:603,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/qpzone.c:605,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpzone.c:607,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpzone.c:608,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/qpzone.c:610,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - qpdb
    argTypes:
    - qpzonedb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 586
    functionDepth: 2
    functionLinenumber: 586
    functionLinenumberEnd: 611
    functionName: qpzone_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_name_dynamic
    - isc_refcount_decrementz
    - dns_name_format
    - isc_rwlock_destroy
    - cds_wfs_destroy
    - isc_log_write
    - ISC_LOG_DEBUG
    - dns_qpmulti_destroy
    - isc_refcount_destroy
    - strlcpy
    - call_rcu
    linkageType: ''
    returnType: void
    signature: void qpzone_destroy(qpzonedb_t *qpdb)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:618,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:621,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:624,1
    - Dst: cleanup_gluelists
      Src: /src/bind9/lib/dns/qpzone.c:633,1
    - Dst: qpzone_destroy
      Src: /src/bind9/lib/dns/qpzone.c:636,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - arg
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 613
    functionDepth: 3
    functionLinenumber: 613
    functionLinenumberEnd: 637
    functionName: qpdb_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_detach
    - qpzone_destroy
    - cleanup_gluelists
    linkageType: ''
    returnType: void
    signature: void qpdb_destroy(dns_db_t *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:647,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:648,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 4
    argNames:
    - lhs_resign
    - lhs_typepair
    - rhs_resign
    - rhs_typepair
    argTypes:
    - int64_t
    - dns_typepair_t
    - int64_t
    - dns_typepair_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 652
    functionName: resign_sooner_values
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - DNS_SIGTYPEPAIR
    linkageType: ''
    returnType: bool
    signature: "bool resign_sooner_values(int64_t lhs_resign, dns_typepair_t lhs_typepair,\n\t\t
      \    int64_t rhs_resign, dns_typepair_t rhs_typepair)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resign_sooner_values
      Src: /src/bind9/lib/dns/qpzone.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 666
      start: 658
    functionDepth: 2
    functionLinenumber: 658
    functionLinenumberEnd: 666
    functionName: resign_sooner
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - resign_sooner_values
    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: 676
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 676
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - elem_ptr
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 689
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 689
    functionName: resign_match
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool resign_match(void *elem_ptr, const void *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/qpzone.c:697,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 698
      start: 694
    functionDepth: 3
    functionLinenumber: 694
    functionLinenumberEnd: 698
    functionName: resign_hash
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_hash32
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t resign_hash(dns_vecheader_t *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: resign_hash
      Src: /src/bind9/lib/dns/qpzone.c:713,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/qpzone.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - heap
    - header
    - node
    - found_elem
    argTypes:
    - qpz_heap_t*
    - dns_vecheader_t*
    - qpznode_t*
    - qpz_resign_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 717
      start: 706
    functionDepth: 4
    functionLinenumber: 706
    functionLinenumberEnd: 717
    functionName: resign_lookup
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_find
    - resign_hash
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t resign_lookup(qpz_heap_t *heap, dns_vecheader_t *header,
      qpznode_t *node,\n\t      qpz_resign_t **found_elem)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpz_resign_new
      Src: /src/bind9/lib/dns/qpzone.c:725,1
    - Dst: resign_hash
      Src: /src/bind9/lib/dns/qpzone.c:726,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/qpzone.c:729,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:731,1
    - Dst: isc_heap_insert
      Src: /src/bind9/lib/dns/qpzone.c:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - heap
    - node
    - header
    argTypes:
    - qpz_heap_t*
    - qpznode_t*
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 723
    functionDepth: 5
    functionLinenumber: 723
    functionLinenumberEnd: 734
    functionName: resign_register
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_hashmap_add
    - isc_heap_insert
    - resign_hash
    - qpz_resign_new
    linkageType: ''
    returnType: void
    signature: void resign_register(qpz_heap_t *heap, qpznode_t *node, dns_vecheader_t
      *header)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: resign_hash
      Src: /src/bind9/lib/dns/qpzone.c:747,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/qpzone.c:752,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/qpzone.c:757,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/qpzone.c:758,1
    - Dst: qpz_resign_destroy
      Src: /src/bind9/lib/dns/qpzone.c:760,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - heap
    - node
    - header
    argTypes:
    - qpz_heap_t*
    - qpznode_t*
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 740
    functionDepth: 4
    functionLinenumber: 740
    functionLinenumberEnd: 762
    functionName: resign_unregister
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_hashmap_delete
    - qpz_resign_destroy
    - isc_heap_delete
    - isc_hashmap_find
    - resign_hash
    linkageType: ''
    returnType: void
    signature: void resign_unregister(qpz_heap_t *heap, qpznode_t *node, dns_vecheader_t
      *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:766,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:768,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/qpzone.c:771,1
    - Dst: isc_heap_create
      Src: /src/bind9/lib/dns/qpzone.c:772,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:773,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/qpzone.c:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 778
      start: 764
    functionDepth: 3
    functionLinenumber: 764
    functionLinenumberEnd: 778
    functionName: new_qpz_heap
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - ISC_REFCOUNT_INITIALIZER
    - isc_mutex_init
    - isc_mem_get
    - isc_hashmap_create
    - isc_heap_create
    linkageType: ''
    returnType: qpz_heap_t
    signature: 'qpz_heap_t *

      new_qpz_heap(isc_mem_t *mctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: qpz_resigned_new
      Src: /src/bind9/lib/dns/qpzone.c:787,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:790,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:791,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:792,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 4
    argNames:
    - qpdb
    - node
    - version
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - qpz_version_t*
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 793
      start: 780
    functionDepth: 2
    functionLinenumber: 780
    functionLinenumberEnd: 793
    functionName: resign_rollback
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpz_resigned_new
    - RWUNLOCK
    - ISC_LIST_APPEND
    - RWLOCK
    linkageType: ''
    returnType: void
    signature: "void resign_rollback(qpzonedb_t *qpdb, qpznode_t *node, qpz_version_t
      *version,\n\t\tdns_vecheader_t *header DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/qpzone.c:799,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/qpzone.c:800,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/dns/qpzone.c:801,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/qpzone.c:804,1
    - Dst: qpz_resign_destroy
      Src: /src/bind9/lib/dns/qpzone.c:806,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/qpzone.c:808,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/qpzone.c:809,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/qpzone.c:811,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/lib/dns/qpzone.c:812,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:813,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - qpheap
    argTypes:
    - qpz_heap_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 814
      start: 795
    functionDepth: 3
    functionLinenumber: 795
    functionLinenumberEnd: 814
    functionName: qpz_heap_destroy
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpz_resign_destroy
    - isc_hashmap_iter_next
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_create
    - isc_hashmap_destroy
    - isc_mem_putanddetach
    - isc_heap_destroy
    - isc_mutex_destroy
    - isc_hashmap_iter_current
    - isc_hashmap_iter_first
    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:818,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:824,1
    - Dst: qpzone_get_locknum
      Src: /src/bind9/lib/dns/qpzone.c:825,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:828,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpzone.c:829,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpzone.c:832,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - qpdb
    - name
    - nspace
    argTypes:
    - qpzonedb_t*
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 836
      start: 816
    functionDepth: 2
    functionLinenumber: 816
    functionLinenumberEnd: 836
    functionName: new_qpznode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_get
    - fprintf
    - dns_name_dup
    - qpzone_get_locknum
    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:841,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:848,1
    - Dst: cds_wfs_init
      Src: /src/bind9/lib/dns/qpzone.c:851,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/qpzone.c:852,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: 855
      start: 838
    functionDepth: 1
    functionLinenumber: 838
    functionLinenumberEnd: 855
    functionName: allocate_version
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ISC_REFCOUNT_INITIALIZER
    - cds_wfs_init
    - isc_rwlock_init
    - isc_mem_get
    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:866,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpzone.c:870,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/qpzone.c:882,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/qpzone.c:884,1
    - Dst: new_qpz_heap
      Src: /src/bind9/lib/dns/qpzone.c:886,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:893,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpzone.c:898,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/qpzone.c:900,1
    - Dst: allocate_version
      Src: /src/bind9/lib/dns/qpzone.c:905,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:908,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:921,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:924,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:925,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:931,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:933,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:934,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:941,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:943,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:944,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:946,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:952,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: 960
      start: 857
    functionDepth: 11
    functionLinenumber: 857
    functionLinenumberEnd: 960
    functionName: dns__qpzone_create
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - ISC_REFCOUNT_INITIALIZER
    - isc_rwlock_init
    - isc_mem_get
    - cds_lfht_new
    - new_qpznode
    - INSIST
    - allocate_version
    - dns_qpmulti_commit
    - ISC_LIST_PREPEND
    - dns_qpmulti_write
    - dns_qpmulti_create
    - dns_qp_insert
    - dns_name_dup
    - new_qpz_heap
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SLIST_HEAD
      Src: /src/bind9/lib/dns/qpzone.c:991,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - top
    argTypes:
    - dns_vectop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 992
    functionName: first_header
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ISC_SLIST_HEAD
    linkageType: ''
    returnType: dns_vecheader_t
    signature: 'dns_vecheader_t *

      first_header(dns_vectop_t *top)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:996,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:997,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpzone.c:998,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - top
    - serial
    argTypes:
    - dns_vectop_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1005
    functionName: first_existing_header
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - IGNORE
    - EXISTS
    - ISC_SLIST_FOREACH
    linkageType: ''
    returnType: dns_vecheader_t
    signature: 'dns_vecheader_t *

      first_existing_header(dns_vectop_t *top, uint32_t serial)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1011,1
    - Dst: ISC_SLIST_FOREACH_PTR
      Src: /src/bind9/lib/dns/qpzone.c:1013,1
    - Dst: ISC_SLIST_HEAD
      Src: /src/bind9/lib/dns/qpzone.c:1013,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1015,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1017,1
    - Dst: ISC_SLIST_PTR_REMOVE
      Src: /src/bind9/lib/dns/qpzone.c:1018,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:1019,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:1020,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1021,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:1022,1
    - Dst: ISC_SLIST_PTR_ADVANCE
      Src: /src/bind9/lib/dns/qpzone.c:1025,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 3
    argNames:
    - heap
    - node
    - top
    argTypes:
    - qpz_heap_t*
    - qpznode_t*
    - dns_vectop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1007
    functionDepth: 5
    functionLinenumber: 1007
    functionLinenumberEnd: 1028
    functionName: clean_multiple_headers
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - IGNORE
    - REQUIRE
    - ISC_SLIST_HEAD
    - INSIST
    - UNLOCK
    - resign_unregister
    - LOCK
    - dns_vecheader_unref
    - ISC_SLIST_PTR_REMOVE
    - ISC_SLIST_PTR_ADVANCE
    - ISC_SLIST_FOREACH_PTR
    linkageType: ''
    returnType: void
    signature: void clean_multiple_headers(qpz_heap_t *heap, qpznode_t *node, dns_vectop_t
      *top)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1033,1
    - Dst: ISC_SLIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1035,1
    - Dst: ISC_SLIST_NEXT
      Src: /src/bind9/lib/dns/qpzone.c:1041,1
    - Dst: ISC_SLIST_HEAD
      Src: /src/bind9/lib/dns/qpzone.c:1041,1
    - Dst: ISC_SLIST_PTR_REMOVE
      Src: /src/bind9/lib/dns/qpzone.c:1045,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:1046,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:1047,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1048,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:1049,1
    - Dst: ISC_SLIST_PTR_ADVANCE
      Src: /src/bind9/lib/dns/qpzone.c:1052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 4
    argNames:
    - heap
    - node
    - top
    - least_serial
    argTypes:
    - qpz_heap_t*
    - qpznode_t*
    - dns_vectop_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1030
    functionDepth: 5
    functionLinenumber: 1030
    functionLinenumberEnd: 1056
    functionName: clean_multiple_versions
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_SLIST_HEAD
    - ISC_SLIST_EMPTY
    - resign_unregister
    - LOCK
    - dns_vecheader_unref
    - ISC_SLIST_NEXT
    - ISC_SLIST_PTR_REMOVE
    - ISC_SLIST_PTR_ADVANCE
    - UNLOCK
    linkageType: ''
    returnType: bool
    signature: "bool clean_multiple_versions(qpz_heap_t *heap, qpznode_t *node, dns_vectop_t
      *top,\n\t\t\tuint32_t least_serial)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SLIST_PTR_REMOVE
      Src: /src/bind9/lib/dns/qpzone.c:1045,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:1046,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:1047,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1048,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:1049,1
    - Dst: ISC_SLIST_PTR_ADVANCE
      Src: /src/bind9/lib/dns/qpzone.c:1052,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1042
    functionDepth: 5
    functionLinenumber: 1042
    functionLinenumberEnd: 1054
    functionName: ISC_SLIST_FOREACH_PTR
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - UNLOCK
    - resign_unregister
    - LOCK
    - ISC_SLIST_PTR_REMOVE
    - ISC_SLIST_PTR_ADVANCE
    - dns_vecheader_unref
    linkageType: ''
    returnType: void
    signature: void ISC_SLIST_FOREACH_PTR(p, pointer_to_second_header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1065,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1066,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1071,1
    - Dst: clean_multiple_headers
      Src: /src/bind9/lib/dns/qpzone.c:1077,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpzone.c:1079,1
    - Dst: clean_multiple_versions
      Src: /src/bind9/lib/dns/qpzone.c:1089,1
    - Dst: ISC_SLIST_FOREACH_PTR
      Src: /src/bind9/lib/dns/qpzone.c:1097,1
    - Dst: ISC_SLIST_HEAD
      Src: /src/bind9/lib/dns/qpzone.c:1097,1
    - Dst: ISC_SLIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1099,1
    - Dst: ISC_SLIST_PTR_REMOVE
      Src: /src/bind9/lib/dns/qpzone.c:1100,1
    - Dst: dns_vectop_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1101,1
    - Dst: ISC_SLIST_PTR_ADVANCE
      Src: /src/bind9/lib/dns/qpzone.c:1103,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 20
    argCount: 3
    argNames:
    - heap
    - node
    - least_serial
    argTypes:
    - qpz_heap_t*
    - qpznode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1110
      start: 1058
    functionDepth: 6
    functionLinenumber: 1058
    functionLinenumberEnd: 1110
    functionName: clean_zone_node
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_SLIST_HEAD
    - first_header
    - ISC_SLIST_EMPTY
    - ISC_SLIST_FOREACH_PTR
    - ISC_SLIST_PTR_ADVANCE
    - clean_multiple_headers
    - ISC_SLIST_PTR_REMOVE
    - clean_multiple_versions
    - dns_vectop_destroy
    - ISC_SLIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void clean_zone_node(qpz_heap_t *heap, qpznode_t *node, uint32_t least_serial)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1171,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpzone.c:1175,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpzone.c:1176,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/qpzone.c:1178,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/qpzone.c:1180,1
    - Dst: dns_vecheader_ref
      Src: /src/bind9/lib/dns/qpzone.c:1185,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:1196,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 3
    argNames:
    - qpdb
    - header
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - dns_vecheader_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1164
    functionDepth: 1
    functionLinenumber: 1164
    functionLinenumberEnd: 1202
    functionName: bindrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - OPTOUT
    - DNS_TYPEPAIR_TYPE
    - INSIST
    - DNS_TYPEPAIR_COVERS
    - dns_vecheader_ref
    - RESIGN
    - atomic_load
    linkageType: ''
    returnType: void
    signature: "void bindrdataset(qpzonedb_t *qpdb, dns_vecheader_t *header,\n\t     dns_rdataset_t
      *rdataset DNS__DB_FLARG)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1215,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1217,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1219,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:1223,1
    - Dst: DNS_VECHEADER_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1232,1
    - Dst: vecheader_current
      Src: /src/bind9/lib/dns/qpzone.c:1234,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/qpzone.c:1237,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1238,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/qpzone.c:1241,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qpzone.c:1250,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1267,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 33
    argCount: 2
    argNames:
    - db
    - version
    argTypes:
    - dns_db_t*
    - qpz_version_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1268
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1268
    functionName: setnsec3parameters
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - vecheader_current
    - DNS_VECHEADER_FOREACH
    - NODE_UNLOCK
    - NODE_RDLOCK
    - first_existing_header
    - dns_rdata_tostruct
    - qpzone_get_lock
    - ISC_SLIST_FOREACH
    - dns_nsec3_supportedhash
    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:1283,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1285,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:1286,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: 1289
      start: 1270
    functionDepth: 1
    functionLinenumber: 1270
    functionLinenumberEnd: 1289
    functionName: cleanup_nondirty
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - ISC_LIST_APPEND
    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:1302,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/qpzone.c:1303,1
    - Dst: dns_dnssec_haszonekey
      Src: /src/bind9/lib/dns/qpzone.c:1306,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:1307,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:1313,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:1314,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/qpzone.c:1315,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:1319,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:1321,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpzone.c:1323,1
    - Dst: setnsec3parameters
      Src: /src/bind9/lib/dns/qpzone.c:1326,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: 1335
      start: 1291
    functionDepth: 2
    functionLinenumber: 1291
    functionLinenumberEnd: 1335
    functionName: setsecure
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - setnsec3parameters
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_dnssec_haszonekey
    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:1342,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1342,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1344,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qpzone.c:1346,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1337
    functionDepth: 1
    functionLinenumber: 1337
    functionLinenumberEnd: 1350
    functionName: currentversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_refcount_increment
    - VALID_QPZONE
    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:1358,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1358,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1359,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qpzone.c:1361,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: 1364
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1364
    functionName: attachversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_QPZONE
    - isc_refcount_increment
    - 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:1371,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1371,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1372,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1373,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1375,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1376,1
    - Dst: allocate_version
      Src: /src/bind9/lib/dns/qpzone.c:1377,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qpzone.c:1387,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 2
    argNames:
    - db
    - versionp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1401
      start: 1366
    functionDepth: 2
    functionLinenumber: 1366
    functionLinenumberEnd: 1401
    functionName: newversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 22
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - memmove
    - RWLOCK
    - INSIST
    - allocate_version
    - VALID_QPZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t newversion(dns_db_t *db, dns_dbversion_t **versionp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1408,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: 1409
      start: 1403
    functionDepth: 1
    functionLinenumber: 1403
    functionLinenumberEnd: 1409
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1420,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1421,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:1423,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - node
    - serial
    argTypes:
    - qpznode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1432
      start: 1411
    functionDepth: 1
    functionLinenumber: 1411
    functionLinenumberEnd: 1432
    functionName: rollback_node
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_VECHEADER_SETATTR
    - ISC_SLIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void rollback_node(qpznode_t *node, uint32_t serial)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1446,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1446,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1448,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qpzone.c:1450,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1455,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1456,1
    - Dst: setsecure
      Src: /src/bind9/lib/dns/qpzone.c:1463,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1466,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1473,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qpzone.c:1480,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/qpzone.c:1483,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1486,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1486,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1489,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1492,1
    - Dst: make_least_version
      Src: /src/bind9/lib/dns/qpzone.c:1497,1
    - Dst: cleanup_nondirty
      Src: /src/bind9/lib/dns/qpzone.c:1513,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/qpzone.c:1522,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1541,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/qpzone.c:1541,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:1543,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1546,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1552,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/qpzone.c:1554,1
    - Dst: ISC_LIST_PREV
      Src: /src/bind9/lib/dns/qpzone.c:1571,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1576,1
    - Dst: make_least_version
      Src: /src/bind9/lib/dns/qpzone.c:1585,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/qpzone.c:1592,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1597,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1597,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1599,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1602,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1605,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1606,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1606,1
    - Dst: cleanup_gluelists
      Src: /src/bind9/lib/dns/qpzone.c:1607,1
    - Dst: cds_wfs_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1608,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1609,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:1610,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:1623,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1625,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1626,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1627,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:1628,1
    - Dst: resign_register
      Src: /src/bind9/lib/dns/qpzone.c:1629,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1630,1
    - Dst: qpz_resigned_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1632,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1633,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpzone.c:1636,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1646,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1648,1
    - Dst: rollback_node
      Src: /src/bind9/lib/dns/qpzone.c:1650,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:1652,1
    - Dst: clean_zone_node
      Src: /src/bind9/lib/dns/qpzone.c:1654,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1657,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:1663,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 110
    argCount: 3
    argNames:
    - db
    - versionp
    - DNS__DB_FLARG
    argTypes:
    - dns_db_t*
    - dns_dbversion_t**
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1434
    functionDepth: 7
    functionLinenumber: 1434
    functionLinenumberEnd: 1667
    functionName: closeversion
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 44
    functionsReached:
    - IGNORE
    - REQUIRE
    - setsecure
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - VALID_QPZONE
    - ISC_LIST_INIT
    - qpznode_release
    - ISC_LIST_PREPEND
    - qpzone_get_lock
    - UNLOCK
    - RWLOCK
    - clean_zone_node
    - cleanup_gluelists
    - NODE_WRLOCK
    - rollback_node
    - make_least_version
    - NODE_UNLOCK
    - resign_register
    - isc_refcount_current
    - ISC_LIST_PREV
    - isc_refcount_decrement
    - ISC_LIST_EMPTY
    - cds_wfs_destroy
    - LOCK
    - isc_refcount_destroy
    - isc_refcount_increment0
    - qpz_resigned_destroy
    - RWUNLOCK
    - isc_rwlock_destroy
    - ISC_LIST_APPENDLIST
    - cleanup_nondirty
    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:1623,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1625,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1626,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1627,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:1628,1
    - Dst: resign_register
      Src: /src/bind9/lib/dns/qpzone.c:1629,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1630,1
    - Dst: qpz_resigned_destroy
      Src: /src/bind9/lib/dns/qpzone.c:1632,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1633,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1634
      start: 1617
    functionDepth: 6
    functionLinenumber: 1617
    functionLinenumberEnd: 1634
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 184
    functionsReached:
    - IGNORE
    - qpz_resigned_destroy
    - ISC_LIST_UNLINK
    - resign_register
    - LOCK
    - NODE_WRLOCK
    - qpzone_get_lock
    - UNLOCK
    - NODE_UNLOCK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(resigned_list, resigned, link)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1646,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1648,1
    - Dst: rollback_node
      Src: /src/bind9/lib/dns/qpzone.c:1650,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:1652,1
    - Dst: clean_zone_node
      Src: /src/bind9/lib/dns/qpzone.c:1654,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1657,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:1663,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1664
      start: 1641
    functionDepth: 7
    functionLinenumber: 1641
    functionLinenumberEnd: 1664
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 184
    functionsReached:
    - isc_mem_put
    - clean_zone_node
    - NODE_WRLOCK
    - qpznode_release
    - rollback_node
    - qpzone_get_lock
    - NODE_UNLOCK
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(cleanup_list, changed, link)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1685,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:1685,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1686,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1687,1
    - Dst: currentversion
      Src: /src/bind9/lib/dns/qpzone.c:1694,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:1699,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1700,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpzone.c:1702,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:1704,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1709,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:1710,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1737,1
    - Dst: closeversion
      Src: /src/bind9/lib/dns/qpzone.c:1740,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    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: 1749
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1749
    functionName: qpzone_findrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_TYPEPAIR_VALUE
    - NODE_RDLOCK
    - VALID_QPZONE
    - first_existing_header
    - closeversion
    - currentversion
    - DNS_SIGTYPEPAIR
    - qpzone_get_lock
    - ISC_SLIST_FOREACH
    - NODE_UNLOCK
    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: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:1753,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:1754,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:1755,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 3
    argNames:
    - qpdb
    - node
    - typepair
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - dns_typepair_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1751
    functionDepth: 1
    functionLinenumber: 1751
    functionLinenumberEnd: 1756
    functionName: delegating_type
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - DNS_TYPEPAIR
    - IS_STUB
    linkageType: ''
    returnType: bool
    signature: bool delegating_type(qpzonedb_t *qpdb, qpznode_t *node, dns_typepair_t
      typepair)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:1767,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:1773,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:1774,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1775,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:1777,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:1782,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1789,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:1790,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:1791,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1792,1
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:1793,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:1808,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:1809,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:1810,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: 1814
      start: 1758
    functionDepth: 11
    functionLinenumber: 1758
    functionLinenumberEnd: 1814
    functionName: loading_addnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpznode_detach
    - new_qpznode
    - INSIST
    - qpznode_unref
    - dns_qp_insert
    - 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: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1825,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpzone.c:1826,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:1828,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:1834,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpzone.c:1835,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - node
    - serial
    argTypes:
    - qpznode_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1816
    functionDepth: 2
    functionLinenumber: 1816
    functionLinenumberEnd: 1854
    functionName: cname_and_other
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - first_existing_header
    - DNS_TYPEPAIR_TYPE
    - ISC_SLIST_FOREACH
    - prio_type
    linkageType: ''
    returnType: bool
    signature: bool cname_and_other(qpznode_t *node, uint32_t serial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpz_changed_new
      Src: /src/bind9/lib/dns/qpzone.c:1859,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1862,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1863,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/qpzone.c:1865,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1866,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - qpdb
    - node
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - qpz_version_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1869
      start: 1856
    functionDepth: 2
    functionLinenumber: 1856
    functionLinenumberEnd: 1869
    functionName: add_changed
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - ISC_LIST_INITANDAPPEND
    - qpz_changed_new
    linkageType: ''
    returnType: qpz_changed_t
    signature: "qpz_changed_t *\nadd_changed(qpzonedb_t *qpdb, qpznode_t *node,\n\t
      \   qpz_version_t *version DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatavec_size
      Src: /src/bind9/lib/dns/qpzone.c:1873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - header
    - namelen
    argTypes:
    - dns_vecheader_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1871
    functionDepth: 1
    functionLinenumber: 1871
    functionLinenumberEnd: 1875
    functionName: recordsize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdatavec_size
    linkageType: ''
    returnType: uint64_t
    signature: uint64_t recordsize(dns_vecheader_t *header, unsigned int namelen)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpzone.c:1880,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1884,1
    - Dst: dns_rdatavec_count
      Src: /src/bind9/lib/dns/qpzone.c:1886,1
    - Dst: recordsize
      Src: /src/bind9/lib/dns/qpzone.c:1887,1
    - Dst: dns_rdatavec_count
      Src: /src/bind9/lib/dns/qpzone.c:1889,1
    - Dst: recordsize
      Src: /src/bind9/lib/dns/qpzone.c:1890,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:1892,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 4
    argNames:
    - add
    - version
    - header
    - namelen
    argTypes:
    - bool
    - qpz_version_t*
    - dns_vecheader_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1877
    functionDepth: 2
    functionLinenumber: 1877
    functionLinenumberEnd: 1893
    functionName: maybe_update_recordsandsize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - EXISTS
    - RWLOCK
    - recordsize
    - dns_rdatavec_count
    linkageType: ''
    returnType: void
    signature: "void maybe_update_recordsandsize(bool add, qpz_version_t *version,\n\t\t\t
      \   dns_vecheader_t *header, unsigned int namelen)"
  - BBCount: 28
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:1909,1
    - Dst: add_changed
      Src: /src/bind9/lib/dns/qpzone.c:1919,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:1923,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpzone.c:1925,1
    - Dst: ISC_SLIST_FOREACH_PTR
      Src: /src/bind9/lib/dns/qpzone.c:1942,1
    - Dst: ISC_SLIST_HEAD
      Src: /src/bind9/lib/dns/qpzone.c:1942,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:1943,1
    - Dst: ISC_SLIST_PTR_ADVANCE
      Src: /src/bind9/lib/dns/qpzone.c:1948,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpzone.c:1958,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:1960,1
    - Dst: dns_rdatavec_merge
      Src: /src/bind9/lib/dns/qpzone.c:1975,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpzone.c:1978,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:1990,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:1996,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:1997,1
    - Dst: resign_sooner_values
      Src: /src/bind9/lib/dns/qpzone.c:1998,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpzone.c:2007,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpzone.c:2009,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:2013,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2018,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2019,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2022,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2023,1
    - Dst: resign_register
      Src: /src/bind9/lib/dns/qpzone.c:2024,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2025,1
    - Dst: ISC_SLIST_PTR_REMOVE
      Src: /src/bind9/lib/dns/qpzone.c:2035,1
    - Dst: ISC_SLIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:2036,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:2038,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2041,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:2042,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2043,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:2044,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2046,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2047,1
    - Dst: resign_register
      Src: /src/bind9/lib/dns/qpzone.c:2048,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:2049,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2050,1
    - Dst: ISC_SLIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:2055,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:2062,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpzone.c:2072,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:2073,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2077,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2078,1
    - Dst: resign_register
      Src: /src/bind9/lib/dns/qpzone.c:2079,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:2080,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2081,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2095,1
    - Dst: ISC_SLIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:2097,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2112,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:2113,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2114,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:2115,1
    - Dst: dns_vectop_new
      Src: /src/bind9/lib/dns/qpzone.c:2120,1
    - Dst: ISC_SLIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:2122,1
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpzone.c:2125,1
    - Dst: ISC_SLIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:2127,1
    - Dst: ISC_SLIST_INSERTAFTER
      Src: /src/bind9/lib/dns/qpzone.c:2131,1
    - Dst: ISC_SLIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:2135,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:2141,1
    - Dst: cname_and_other
      Src: /src/bind9/lib/dns/qpzone.c:2146,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 134
    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_vecheader_t*
    - unsigned int
    - bool
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 1895
    functionDepth: 6
    functionLinenumber: 1895
    functionLinenumberEnd: 2153
    functionName: add
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 374
    functionsReached:
    - IGNORE
    - REQUIRE
    - EXISTS
    - INSIST
    - DNS_TYPEPAIR_TYPE
    - ISC_SLIST_PREPEND
    - dns_vectop_new
    - UNLOCK
    - dns_vecheader_unref
    - dns__db_logtoomanyrecords
    - ISC_SLIST_INSERTAFTER
    - resign_unregister
    - RESIGN
    - add_changed
    - ISC_SLIST_PTR_REMOVE
    - ISC_SLIST_PTR_ADVANCE
    - dns_rdatavec_merge
    - ISC_SLIST_HEAD
    - maybe_update_recordsandsize
    - resign_register
    - LOCK
    - cname_and_other
    - ISC_SLIST_FOREACH_PTR
    - ISC_SLIST_FOREACH
    - prio_type
    - resign_sooner_values
    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_vecheader_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:2163,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2164,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2165,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2167,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:2170,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2172,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:2173,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:2174,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2175,1
    - Dst: qpznode_unref
      Src: /src/bind9/lib/dns/qpzone.c:2176,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: 2180
      start: 2155
    functionDepth: 11
    functionLinenumber: 2155
    functionLinenumberEnd: 2180
    functionName: wildcardmagic
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - INSIST
    - new_qpznode
    - qpznode_unref
    - dns_name_getlabelsequence
    - dns_qp_insert
    - dns_qp_getname
    - dns_name_countlabels
    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:2188,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2189,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2190,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2193,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/qpzone.c:2194,1
    - Dst: wildcardmagic
      Src: /src/bind9/lib/dns/qpzone.c:2195,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: 2200
      start: 2182
    functionDepth: 12
    functionLinenumber: 2182
    functionLinenumberEnd: 2200
    functionName: addwildcards
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - wildcardmagic
    - dns_name_iswildcard
    - dns_name_getlabelsequence
    - dns_name_countlabels
    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:2213,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/qpzone.c:2219,1
    - Dst: addwildcards
      Src: /src/bind9/lib/dns/qpzone.c:2227,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/qpzone.c:2230,1
    - Dst: wildcardmagic
      Src: /src/bind9/lib/dns/qpzone.c:2245,1
    - Dst: loading_addnode
      Src: /src/bind9/lib/dns/qpzone.c:2249,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/lib/dns/qpzone.c:2250,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpzone.c:2254,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/qpzone.c:2264,1
    - Dst: dns_vecheader_setownercase
      Src: /src/bind9/lib/dns/qpzone.c:2266,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:2269,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:2270,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2273,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2274,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpzone.c:2275,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2277,1
    - Dst: delegating_type
      Src: /src/bind9/lib/dns/qpzone.c:2280,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 44
    argCount: 4
    argNames:
    - arg
    - name
    - rdataset
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2288
      start: 2202
    functionDepth: 13
    functionLinenumber: 2202
    functionLinenumberEnd: 2288
    functionName: loading_addrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - delegating_type
    - dns_name_equal
    - atomic_store
    - wildcardmagic
    - qpzone_get_lock
    - dns_name_iswildcard
    - loading_addnode
    - dns_rdatavec_fromrdataset
    - dns_time64_from32
    - NODE_WRLOCK
    - add
    - dns__db_logtoomanyrecords
    - dns_vecheader_setownercase
    - DNS_VECHEADER_SETATTR
    - addwildcards
    - NODE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t loading_addrdataset(void *arg, const dns_name_t *name,
      dns_rdataset_t *rdataset,\n\t\t    dns_diffop_t op ISC_ATTR_UNUSED DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:2295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2296
      start: 2290
    functionDepth: 7
    functionLinenumber: 2290
    functionLinenumberEnd: 2296
    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:2304,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:2305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2307
      start: 2298
    functionDepth: 10
    functionLinenumber: 2298
    functionLinenumberEnd: 2307
    functionName: loading_commit
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qp_compact
    - dns_qpmulti_commit
    linkageType: ''
    returnType: void
    signature: void loading_commit(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2315,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/qpzone.c:2315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2316,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2316,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:2318,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2321,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2323,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2335
      start: 2309
    functionDepth: 1
    functionLinenumber: 2309
    functionLinenumberEnd: 2335
    functionName: beginload
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_mem_get
    - VALID_QPZONE
    - DNS_CALLBACK_VALID
    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:2342,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2343,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/qpzone.c:2343,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2345,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2346,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2351,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2358,1
    - Dst: setsecure
      Src: /src/bind9/lib/dns/qpzone.c:2359,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2361,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:2369,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2372
      start: 2337
    functionDepth: 3
    functionLinenumber: 2337
    functionLinenumberEnd: 2372
    functionName: endload
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - setsecure
    - RWLOCK
    - isc_mem_put
    - VALID_QPZONE
    - DNS_CALLBACK_VALID
    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:2381,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2381,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2383,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2385,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2388
      start: 2374
    functionDepth: 1
    functionLinenumber: 2374
    functionLinenumberEnd: 2388
    functionName: issecure
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 13
    functionsReached:
    - REQUIRE
    - VALID_QPZONE
    - RWUNLOCK
    - RWLOCK
    linkageType: ''
    returnType: bool
    signature: bool issecure(dns_db_t *db)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2400,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2400,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2401,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2403,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2411,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/qpzone.c:2412,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2414,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2415,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2416,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    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: 2422
      start: 2390
    functionDepth: 1
    functionLinenumber: 2390
    functionLinenumberEnd: 2422
    functionName: getnsec3parameters
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - memmove
    - RWLOCK
    - INSIST
    - SET_IF_NOT_NULL
    - VALID_QPZONE
    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:2433,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2433,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2434,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2436,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2441,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2442,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/qpzone.c:2444,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2445,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2446,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: 2449
      start: 2424
    functionDepth: 1
    functionLinenumber: 2424
    functionLinenumberEnd: 2449
    functionName: getsize
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - SET_IF_NOT_NULL
    - VALID_QPZONE
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2460,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2460,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2461,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2462,1
    - Dst: dns_vecheader_getheader
      Src: /src/bind9/lib/dns/qpzone.c:2464,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2466,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2467,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2475,1
    - Dst: resign_lookup
      Src: /src/bind9/lib/dns/qpzone.c:2476,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2480,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2480,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:2482,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:2485,1
    - Dst: resign_sooner_values
      Src: /src/bind9/lib/dns/qpzone.c:2489,1
    - Dst: isc_heap_increased
      Src: /src/bind9/lib/dns/qpzone.c:2492,1
    - Dst: resign_sooner_values
      Src: /src/bind9/lib/dns/qpzone.c:2494,1
    - Dst: isc_heap_decreased
      Src: /src/bind9/lib/dns/qpzone.c:2498,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:2506,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:2507,1
    - Dst: resign_register
      Src: /src/bind9/lib/dns/qpzone.c:2509,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2511,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2512,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 4
    argNames:
    - db
    - dbnode
    - rdataset
    - resign
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2514
      start: 2451
    functionDepth: 6
    functionLinenumber: 2451
    functionLinenumberEnd: 2514
    functionName: setsigningtime
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - resign_lookup
    - REQUIRE
    - DNS_VECHEADER_SETATTR
    - INSIST
    - resign_register
    - dns_vecheader_getheader
    - UNLOCK
    - isc_heap_decreased
    - resign_unregister
    - LOCK
    - NODE_WRLOCK
    - VALID_QPZONE
    - RESIGN
    - dns_time64_from32
    - isc_heap_increased
    - qpzone_get_lock
    - resign_sooner_values
    - NODE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t setsigningtime(dns_db_t *db, dns_dbnode_t *dbnode, dns_rdataset_t
      *rdataset,\n\t       isc_stdtime_t resign)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2526,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2526,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2527,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2528,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2529,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2531,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/qpzone.c:2532,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2534,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2538,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2539,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2542,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:2544,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/qpzone.c:2545,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2547,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2550,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2551,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:2559,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:2560,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2564,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2565,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    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: 2568
      start: 2516
    functionDepth: 3
    functionLinenumber: 2516
    functionLinenumberEnd: 2568
    functionName: getsigningtime
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - isc_heap_element
    - LOCK
    - NODE_RDLOCK
    - VALID_QPZONE
    - RESIGN
    - qpzone_get_lock
    - UNLOCK
    - NODE_UNLOCK
    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:2574,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2574,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2575,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:2575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2576,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/qpzone.c:2578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2580
      start: 2570
    functionDepth: 2
    functionLinenumber: 2570
    functionLinenumberEnd: 2580
    functionName: setgluecachestats
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_QPZONE
    - IS_STUB
    - isc_stats_attach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t setgluecachestats(dns_db_t *db, isc_stats_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:2587,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/qpzone.c:2589,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - qpdb
    - qprp
    - create
    argTypes:
    - qpzonedb_t*
    - dns_qpread_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2594
      start: 2582
    functionDepth: 7
    functionLinenumber: 2582
    functionLinenumberEnd: 2594
    functionName: begin_transaction
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 3
    functionsReached:
    - dns_qpmulti_write
    - dns_qpmulti_query
    linkageType: ''
    returnType: dns_qp_t
    signature: 'dns_qp_t *

      begin_transaction(qpzonedb_t *qpdb, dns_qpread_t *qprp, bool create)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/qpzone.c:2599,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:2600,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/qpzone.c:2603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - qpdb
    - qp
    - create
    argTypes:
    - qpzonedb_t*
    - dns_qp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2605
      start: 2596
    functionDepth: 10
    functionLinenumber: 2596
    functionLinenumberEnd: 2605
    functionName: end_transaction
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - dns_qp_compact
    - dns_qpread_destroy
    - dns_qpmulti_commit
    linkageType: ''
    returnType: void
    signature: void end_transaction(qpzonedb_t *qpdb, dns_qp_t *qp, bool create)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpzone.c:2621,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2630,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:2636,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:2637,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2638,1
    - Dst: addwildcards
      Src: /src/bind9/lib/dns/qpzone.c:2658,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/qpzone.c:2659,1
    - Dst: wildcardmagic
      Src: /src/bind9/lib/dns/qpzone.c:2660,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2664,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 6
    argNames:
    - qpdb
    - qp
    - name
    - create
    - nsec3
    - DNS__DB_FLARG
    argTypes:
    - qpzonedb_t*
    - dns_qp_t*
    - dns_name_t*
    - bool
    - bool
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2675
      start: 2607
    functionDepth: 13
    functionLinenumber: 2607
    functionLinenumberEnd: 2675
    functionName: findnodeintree
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - new_qpznode
    - INSIST
    - wildcardmagic
    - dns_name_iswildcard
    - dns_qp_insert
    - dns_qp_getname
    - addwildcards
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t findnodeintree(qpzonedb_t *qpdb, dns_qp_t *qp, const
      dns_name_t *name,\n\t       bool create, bool nsec3, dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2684,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2684,1
    - Dst: begin_transaction
      Src: /src/bind9/lib/dns/qpzone.c:2687,1
    - Dst: findnodeintree
      Src: /src/bind9/lib/dns/qpzone.c:2689,1
    - Dst: end_transaction
      Src: /src/bind9/lib/dns/qpzone.c:2692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 6
    argNames:
    - db
    - name
    - create
    - ISC_ATTR_UNUSED
    - clientinfo ISC_ATTR_UNUSED
    - 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: 2695
      start: 2677
    functionDepth: 14
    functionLinenumber: 2677
    functionLinenumberEnd: 2695
    functionName: qpzone_findnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - findnodeintree
    - VALID_QPZONE
    - begin_transaction
    - end_transaction
    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_clientinfomethods_t *methods ISC_ATTR_UNUSED,\n\t\tdns_clientinfo_t
      *clientinfo ISC_ATTR_UNUSED,\n\t\tdns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2702,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:2702,1
    - Dst: begin_transaction
      Src: /src/bind9/lib/dns/qpzone.c:2705,1
    - Dst: findnodeintree
      Src: /src/bind9/lib/dns/qpzone.c:2707,1
    - Dst: end_transaction
      Src: /src/bind9/lib/dns/qpzone.c:2710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    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: 2713
      start: 2697
    functionDepth: 14
    functionLinenumber: 2697
    functionLinenumberEnd: 2713
    functionName: qpzone_findnsec3node
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - findnodeintree
    - VALID_QPZONE
    - begin_transaction
    - end_transaction
    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:2720,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:2720,1
    - Dst: DNS_VECHEADER_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:2723,1
    - Dst: vecheader_current
      Src: /src/bind9/lib/dns/qpzone.c:2725,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/qpzone.c:2727,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:2728,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/qpzone.c:2733,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - header
    - search
    argTypes:
    - dns_vecheader_t*
    - qpz_search_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2741
      start: 2715
    functionDepth: 1
    functionLinenumber: 2715
    functionLinenumberEnd: 2741
    functionName: matchparams
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - vecheader_current
    - DNS_VECHEADER_FOREACH
    - memcmp
    - DNS_TYPEPAIR
    - dns_rdata_tostruct
    linkageType: ''
    returnType: bool
    signature: bool matchparams(dns_vecheader_t *header, qpz_search_t *search)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2751,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2753,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/qpzone.c:2770,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:2771,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2784,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2785,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:2786,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:2789,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2792,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:2795,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: 2799
      start: 2743
    functionDepth: 1
    functionLinenumber: 2743
    functionLinenumberEnd: 2799
    functionName: qpzone_setup_delegation
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - NODE_RDLOCK
    - DNS_TYPEPAIR
    - bindrdataset
    - dns_fixedname_name
    - qpzone_get_lock
    - NODE_UNLOCK
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:2812,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpzone.c:2817,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2821,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2825,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:2826,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:2827,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2829,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/qpzone.c:2835,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:2837,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 4
    argNames:
    - search
    - it
    - direction
    - node_p
    argTypes:
    - qpz_search_t*
    - dns_qpiter_t*
    - direction_t
    - qpznode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2849
      start: 2809
    functionDepth: 4
    functionLinenumber: 2809
    functionLinenumberEnd: 2849
    functionName: step
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_next
    - REQUIRE
    - dns_qpiter_current
    - NODE_RDLOCK
    - first_existing_header
    - dns_qpiter_prev
    - qpzone_get_lock
    - ISC_SLIST_FOREACH
    - NODE_UNLOCK
    linkageType: ''
    returnType: bool
    signature: "bool step(qpz_search_t *search, dns_qpiter_t *it, direction_t direction,\n
      \    qpznode_t **node_p)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/qpzone.c:2863,1
    - Dst: step
      Src: /src/bind9/lib/dns/qpzone.c:2868,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:2869,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: 2870
      start: 2851
    functionDepth: 5
    functionLinenumber: 2851
    functionLinenumberEnd: 2870
    functionName: activeempty
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_next
    - step
    - dns_name_issubdomain
    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:2885,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/qpzone.c:2886,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/qpzone.c:2887,1
    - Dst: step
      Src: /src/bind9/lib/dns/qpzone.c:2901,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/qpzone.c:2905,1
    - Dst: step
      Src: /src/bind9/lib/dns/qpzone.c:2907,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/qpzone.c:2915,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2920,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2921,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:2925,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:2927,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/qpzone.c:2935,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/qpzone.c:2936,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/qpzone.c:2937,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 3
    argNames:
    - search
    - qname
    - wname
    argTypes:
    - qpz_search_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2940
      start: 2872
    functionDepth: 5
    functionLinenumber: 2872
    functionLinenumberEnd: 2940
    functionName: wildcard_blocked
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_next
    - dns_name_init
    - dns_name_equal
    - step
    - dns_name_getlabelsequence
    - dns_name_clone
    - dns_name_countlabels
    - dns_name_issubdomain
    linkageType: ''
    returnType: bool
    signature: "bool wildcard_blocked(qpz_search_t *search, const dns_name_t *qname,\n\t\t
      dns_name_t *wname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:2944,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:2945,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - search
    - node
    argTypes:
    - qpz_search_t*
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2942
    functionDepth: 1
    functionLinenumber: 2942
    functionLinenumberEnd: 2950
    functionName: node_active
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - first_existing_header
    - ISC_SLIST_FOREACH
    linkageType: ''
    returnType: bool
    signature: bool node_active(qpz_search_t *search, qpznode_t *node)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpzone.c:2966,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpzone.c:2972,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:2974,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2975,1
    - Dst: node_active
      Src: /src/bind9/lib/dns/qpzone.c:2982,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:2984,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:2989,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/qpzone.c:2996,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:3002,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3011,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3012,1
    - Dst: node_active
      Src: /src/bind9/lib/dns/qpzone.c:3013,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3014,1
    - Dst: activeempty
      Src: /src/bind9/lib/dns/qpzone.c:3015,1
    - Dst: wildcard_blocked
      Src: /src/bind9/lib/dns/qpzone.c:3017,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 37
    argCount: 4
    argNames:
    - search
    - nodep
    - qname
    - nspace
    argTypes:
    - qpz_search_t*
    - qpznode_t**
    - dns_name_t*
    - dns_namespace_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3054
      start: 2952
    functionDepth: 7
    functionLinenumber: 2952
    functionLinenumberEnd: 3054
    functionName: find_wildcard
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - activeempty
    - dns_name_concatenate
    - NODE_UNLOCK
    - wildcard_blocked
    - qpzone_get_lock
    - NODE_RDLOCK
    - dns_fixedname_initname
    - dns_qp_lookup
    - node_active
    - dns_qpchain_length
    - dns_qpchain_node
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3065,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3066,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3069,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3071,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:3085,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3089,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3099,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpzone.c:3108,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3110,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3121,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:3130,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3134,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpzone.c:3145,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/qpzone.c:3148,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 41
    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: 3155
      start: 3059
    functionDepth: 7
    functionLinenumber: 3059
    functionLinenumberEnd: 3155
    functionName: previous_closest_nsec
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - INSIST
    - dns_qpiter_current
    - isc_log_write
    - dns_qp_lookup
    - dns_qpiter_prev
    - isc_result_totext
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:3172,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3175,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3176,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpzone.c:3189,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3193,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3198,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3199,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:3201,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:3206,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3229,1
    - Dst: matchparams
      Src: /src/bind9/lib/dns/qpzone.c:3230,1
    - Dst: previous_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3235,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3250,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3256,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3259,1
    - Dst: previous_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3272,1
    - Dst: previous_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3288,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3292,1
    - Dst: dns_qpiter_prev
      Src: /src/bind9/lib/dns/qpzone.c:3298,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3300,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 72
    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: 3316
      start: 3162
    functionDepth: 8
    functionLinenumber: 3162
    functionLinenumberEnd: 3316
    functionName: find_closest_nsec
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_qpiter_current
    - previous_closest_nsec
    - NODE_RDLOCK
    - dns_fixedname_initname
    - DNS_TYPEPAIR
    - first_existing_header
    - matchparams
    - bindrdataset
    - dns_qpiter_prev
    - DNS_SIGTYPEPAIR
    - qpzone_get_lock
    - ISC_SLIST_FOREACH
    - NODE_UNLOCK
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3326,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3328,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:3333,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3334,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3335,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3336,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:3339,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3342,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3346,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:3350,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:3365,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/qpzone.c:3410,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3411,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3429,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 49
    argCount: 2
    argNames:
    - node
    - DNS__DB_FLARG
    argTypes:
    - qpznode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3432
      start: 3318
    functionDepth: 1
    functionLinenumber: 3318
    functionLinenumberEnd: 3432
    functionName: qpzone_check_zonecut
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - NODE_RDLOCK
    - DNS_TYPEPAIR
    - first_existing_header
    - IS_STUB
    - dns_fixedname_name
    - DNS_SIGTYPEPAIR
    - qpzone_get_lock
    - ISC_SLIST_FOREACH
    - NODE_UNLOCK
    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:3459,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: 3460
      start: 3434
    functionDepth: 1
    functionLinenumber: 3434
    functionLinenumberEnd: 3460
    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: 56
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:3485,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:3485,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3486,1
    - Dst: currentversion
      Src: /src/bind9/lib/dns/qpzone.c:3494,1
    - Dst: qpz_search_init
      Src: /src/bind9/lib/dns/qpzone.c:3500,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/qpzone.c:3509,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:3514,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3517,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpzone.c:3527,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpzone.c:3535,1
    - Dst: qpzone_check_zonecut
      Src: /src/bind9/lib/dns/qpzone.c:3536,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3540,1
    - Dst: qpzone_setup_delegation
      Src: /src/bind9/lib/dns/qpzone.c:3548,1
    - Dst: find_wildcard
      Src: /src/bind9/lib/dns/qpzone.c:3561,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3563,1
    - Dst: activeempty
      Src: /src/bind9/lib/dns/qpzone.c:3578,1
    - Dst: find_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3588,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3610,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3611,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/qpzone.c:3631,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:3632,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3653,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:3655,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpzone.c:3659,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3672,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3708,1
    - Dst: matchparams
      Src: /src/bind9/lib/dns/qpzone.c:3709,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3711,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3721,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3729,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3743,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3766,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3776,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3787,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3810,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpzone.c:3811,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:3813,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3830,1
    - Dst: qpzone_setup_delegation
      Src: /src/bind9/lib/dns/qpzone.c:3831,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3852,1
    - Dst: find_closest_nsec
      Src: /src/bind9/lib/dns/qpzone.c:3853,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3867,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3870,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpzone.c:3884,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/qpzone.c:3899,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3926,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:3928,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3938,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/qpzone.c:3941,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3949,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:3950,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3952,1
    - Dst: qpznode_release
      Src: /src/bind9/lib/dns/qpzone.c:3953,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:3954,1
    - Dst: closeversion
      Src: /src/bind9/lib/dns/qpzone.c:3958,1
    CyclomaticComplexity: 97
    EdgeCount: 97
    ICount: 245
    argCount: 12
    argNames:
    - db
    - name
    - version
    - type
    - options
    - ISC_ATTR_UNUSED
    - nodep
    - foundname
    - ISC_ATTR_UNUSED
    - clientinfo ISC_ATTR_UNUSED
    - 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: 3962
      start: 3462
    functionDepth: 9
    functionLinenumber: 3462
    functionLinenumberEnd: 3962
    functionName: qpzone_find
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - qpzone_setup_delegation
    - activeempty
    - INSIST
    - dns_qpmulti_query
    - VALID_QPZONE
    - qpznode_release
    - IS_STUB
    - qpz_search_init
    - qpzone_get_lock
    - dns_qpchain_length
    - find_wildcard
    - dns_qpread_destroy
    - dns_rdatatype_atparent
    - NODE_RDLOCK
    - closeversion
    - first_existing_header
    - DNS_TYPEPAIR
    - bindrdataset
    - currentversion
    - NODE_UNLOCK
    - find_closest_nsec
    - qpzone_check_zonecut
    - matchparams
    - dns_qp_lookup
    - DNS_SIGTYPEPAIR
    - dns_qpchain_node
    - dns_rdatatype_isnsec
    - ISC_SLIST_FOREACH
    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,\n\t
      \   dns_clientinfomethods_t *methods ISC_ATTR_UNUSED,\n\t    dns_clientinfo_t
      *clientinfo ISC_ATTR_UNUSED,\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/qpzone.c:3974,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:3974,1
    - Dst: currentversion
      Src: /src/bind9/lib/dns/qpzone.c:3977,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:3979,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/qpzone.c:3980,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:3983,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: 3997
      start: 3964
    functionDepth: 1
    functionLinenumber: 3964
    functionLinenumberEnd: 3997
    functionName: qpzone_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_mem_get
    - isc_refcount_increment
    - VALID_QPZONE
    - currentversion
    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:4003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4008
      start: 3999
    functionDepth: 1
    functionLinenumber: 3999
    functionLinenumberEnd: 4008
    functionName: qpzone_attachnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void qpzone_attachnode(dns_dbnode_t *source, dns_dbnode_t **targetp
      DNS__DB_FLARG)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4042,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4042,1
    - Dst: dns_qpmulti_memusage
      Src: /src/bind9/lib/dns/qpzone.c:4044,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4047
      start: 4037
    functionDepth: 3
    functionLinenumber: 4037
    functionLinenumberEnd: 4047
    functionName: nodecount
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_QPZONE
    - dns_qpmulti_memusage
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nodecount(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4053,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4053,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4054,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:4057,1
    - Dst: qpznode_acquire
      Src: /src/bind9/lib/dns/qpzone.c:4058,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: 4062
      start: 4049
    functionDepth: 1
    functionLinenumber: 4049
    functionLinenumberEnd: 4062
    functionName: getoriginnode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - VALID_QPZONE
    - qpznode_acquire
    - 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:4164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4167,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4169,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4173,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: 4174
      start: 4157
    functionDepth: 1
    functionLinenumber: 4157
    functionLinenumberEnd: 4174
    functionName: rdatasetiter_current
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 34
    functionsReached:
    - REQUIRE
    - NODE_RDLOCK
    - qpzone_get_lock
    - NODE_UNLOCK
    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:4432,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4437,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4442,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4446,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qpzone.c:4456,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: 4468
      start: 4414
    functionDepth: 7
    functionLinenumber: 4414
    functionLinenumberEnd: 4468
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4490,1
    - Dst: reference_iter_node
      Src: /src/bind9/lib/dns/qpzone.c:4496,1
    - Dst: reference_iter_node
      Src: /src/bind9/lib/dns/qpzone.c:4500,1
    - Dst: dbiterator_next
      Src: /src/bind9/lib/dns/qpzone.c:4502,1
    - Dst: dbiterator_first
      Src: /src/bind9/lib/dns/qpzone.c:4504,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 26
    argCount: 2
    argNames:
    - iterator
    - DNS__DB_FLARG
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4515
      start: 4470
    functionDepth: 7
    functionLinenumber: 4470
    functionLinenumberEnd: 4515
    functionName: dbiterator_seek3
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - reference_iter_node
    - dbiterator_first
    - dbiterator_next
    - dns_qp_lookup
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dbiterator_seek3(dns_dbiterator_t *iterator,\n\t\t const
      dns_name_t *name DNS__DB_FLARG)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4729,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4730,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:4733,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: 4741
      start: 4723
    functionDepth: 1
    functionLinenumber: 4723
    functionLinenumberEnd: 4741
    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:4756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4758
      start: 4748
    functionDepth: 1
    functionLinenumber: 4748
    functionLinenumberEnd: 4758
    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:4767,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4767,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:4769,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/qpzone.c:4785,1
    - Dst: dns_qpmulti_snapshot
      Src: /src/bind9/lib/dns/qpzone.c:4787,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qpzone.c:4792,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpzone.c:4799,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:4802,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qpzone.c:4805,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: 4810
      start: 4760
    functionDepth: 7
    functionLinenumber: 4760
    functionLinenumberEnd: 4810
    functionName: qpzone_createiterator
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - dns_db_attach
    - INSIST
    - isc_mem_get
    - VALID_QPZONE
    - dns_qpmulti_snapshot
    - dns_qp_lookup
    - UNREACHABLE
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:4835,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4837,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4837,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4838,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4847,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/lib/dns/qpzone.c:4854,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpzone.c:4858,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:4865,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/qpzone.c:4866,1
    - Dst: dns_vecheader_setownercase
      Src: /src/bind9/lib/dns/qpzone.c:4870,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:4874,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:4879,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:4880,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:4892,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4894,1
    - Dst: new_qpznode
      Src: /src/bind9/lib/dns/qpzone.c:4905,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpzone.c:4911,1
    - Dst: qpznode_detach
      Src: /src/bind9/lib/dns/qpzone.c:4912,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpzone.c:4916,1
    - Dst: delegating_type
      Src: /src/bind9/lib/dns/qpzone.c:4925,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:4930,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 42
    argCount: 7
    argNames:
    - qpdb
    - node
    - dbversion
    - rdataset
    - options
    - addedrdataset
    - nsec
    argTypes:
    - qpzonedb_t*
    - qpznode_t*
    - dns_dbversion_t*
    - dns_rdataset_t*
    - unsigned int
    - dns_rdataset_t*
    - dns_qp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4933
      start: 4824
    functionDepth: 11
    functionLinenumber: 4824
    functionLinenumberEnd: 4933
    functionName: qpzone_addrdataset_inner
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - qpznode_detach
    - delegating_type
    - dns_rdataset_getownercase
    - new_qpznode
    - qpzone_get_lock
    - add
    - dns_rdatavec_fromrdataset
    - NODE_WRLOCK
    - VALID_QPZONE
    - dns_fixedname_initname
    - dns_qp_insert
    - dns_time64_from32
    - dns_vecheader_setownercase
    - DNS_VECHEADER_SETATTR
    - dns__db_logtoomanyrecords
    - NODE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_addrdataset_inner(qpzonedb_t *qpdb, qpznode_t
      *node,\n\t\t\t dns_dbversion_t *dbversion, dns_rdataset_t *rdataset,\n\t\t\t
      unsigned int options, dns_rdataset_t *addedrdataset,\n\t\t\t dns_qp_t *nsec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4945,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4945,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/qpzone.c:4952,1
    - Dst: qpzone_addrdataset_inner
      Src: /src/bind9/lib/dns/qpzone.c:4955,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/qpzone.c:4959,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    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: 4963
      start: 4935
    functionDepth: 12
    functionLinenumber: 4935
    functionLinenumberEnd: 4963
    functionName: qpzone_addrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - qpzone_addrdataset_inner
    - VALID_QPZONE
    - dns_qpmulti_write
    - dns_qpmulti_commit
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:4974,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4984,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:4984,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4985,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:4987,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:4994,1
    - Dst: dns_rdatavec_fromrdataset
      Src: /src/bind9/lib/dns/qpzone.c:4995,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:5002,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:5005,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/qpzone.c:5006,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:5009,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5010,1
    - Dst: add_changed
      Src: /src/bind9/lib/dns/qpzone.c:5012,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:5013,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:5026,1
    - Dst: IGNORE
      Src: /src/bind9/lib/dns/qpzone.c:5027,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpzone.c:5033,1
    - Dst: dns_rdatavec_subtract
      Src: /src/bind9/lib/dns/qpzone.c:5044,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpzone.c:5047,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:5051,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:5052,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5053,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:5054,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/qpzone.c:5060,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpzone.c:5061,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:5064,1
    - Dst: resign_register
      Src: /src/bind9/lib/dns/qpzone.c:5065,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5066,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:5079,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:5086,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:5087,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5088,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:5089,1
    - Dst: dns_vecheader_new
      Src: /src/bind9/lib/dns/qpzone.c:5090,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:5093,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:5097,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:5098,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5099,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:5100,1
    - Dst: maybe_update_recordsandsize
      Src: /src/bind9/lib/dns/qpzone.c:5107,1
    - Dst: ISC_SLIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:5110,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:5114,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:5115,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5116,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/qpzone.c:5123,1
    - Dst: resign_unregister
      Src: /src/bind9/lib/dns/qpzone.c:5124,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5125,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:5126,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5145,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 109
    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: 5147
      start: 4965
    functionDepth: 6
    functionLinenumber: 4965
    functionLinenumberEnd: 5147
    functionName: qpzone_subtractrdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - IGNORE
    - EXISTS
    - DNS_TYPEPAIR_TYPE
    - dns_rdatavec_fromrdataset
    - VALID_QPZONE
    - ISC_SLIST_PREPEND
    - atomic_init
    - qpzone_get_lock
    - UNLOCK
    - dns_vecheader_unref
    - resign_unregister
    - NODE_WRLOCK
    - RESIGN
    - add_changed
    - dns_vecheader_new
    - NODE_UNLOCK
    - maybe_update_recordsandsize
    - resign_register
    - LOCK
    - dns_time64_from32
    - dns_rdatavec_subtract
    - dns_fixedname_initname
    - DNS_VECHEADER_SETATTR
    - ISC_SLIST_FOREACH
    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:5157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5163,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5164,1
    - Dst: dns_vecheader_new
      Src: /src/bind9/lib/dns/qpzone.c:5173,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpzone.c:5174,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpzone.c:5176,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:5179,1
    - Dst: qpzone_get_lock
      Src: /src/bind9/lib/dns/qpzone.c:5181,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5182,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpzone.c:5183,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpzone.c:5185,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: 5187
      start: 5149
    functionDepth: 1
    functionLinenumber: 5149
    functionLinenumberEnd: 5187
    functionName: qpzone_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - NODE_UNLOCK
    - DNS_TYPEPAIR_VALUE
    - add
    - NODE_WRLOCK
    - VALID_QPZONE
    - dns_fixedname_initname
    - atomic_init
    - qpzone_get_lock
    - dns_vecheader_new
    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: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:5191,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpzone.c:5196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - name
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5199
      start: 5189
    functionDepth: 1
    functionLinenumber: 5189
    functionLinenumberEnd: 5199
    functionName: new_glue
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_dup
    - isc_mem_get
    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:5204,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpzone.c:5210,1
    - Dst: cds_wfs_node_init
      Src: /src/bind9/lib/dns/qpzone.c:5212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - db
    - header
    - dbversion
    argTypes:
    - dns_db_t*
    - dns_vecheader_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5215
      start: 5201
    functionDepth: 1
    functionLinenumber: 5201
    functionLinenumberEnd: 5215
    functionName: new_gluelist
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - cds_wfs_node_init
    - isc_mem_get
    linkageType: ''
    returnType: dns_gluelist_t
    signature: "dns_gluelist_t *\nnew_gluelist(dns_db_t *db, dns_vecheader_t *header,\n\t
      \    const dns_dbversion_t *dbversion)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:5233,1
    - Dst: dns_fixedname_initname
      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_init
      Src: /src/bind9/lib/dns/qpzone.c:5237,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpzone.c:5239,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5240,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5241,1
    - Dst: qpzone_find
      Src: /src/bind9/lib/dns/qpzone.c:5243,1
    - Dst: new_glue
      Src: /src/bind9/lib/dns/qpzone.c:5247,1
    - Dst: dns_vecheader_moveheader
      Src: /src/bind9/lib/dns/qpzone.c:5253,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5254,1
    - Dst: dns_vecheader_moveheader
      Src: /src/bind9/lib/dns/qpzone.c:5256,1
    - Dst: qpzone_find
      Src: /src/bind9/lib/dns/qpzone.c:5260,1
    - Dst: new_glue
      Src: /src/bind9/lib/dns/qpzone.c:5266,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpzone.c:5268,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/qpzone.c:5268,1
    - Dst: dns_vecheader_moveheader
      Src: /src/bind9/lib/dns/qpzone.c:5275,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/qpzone.c:5276,1
    - Dst: dns_vecheader_moveheader
      Src: /src/bind9/lib/dns/qpzone.c:5278,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/qpzone.c:5291,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/qpzone.c:5306,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/qpzone.c:5307,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/qpzone.c:5308,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/qpzone.c:5309,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 40
    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: 5312
      start: 5217
    functionDepth: 10
    functionLinenumber: 5217
    functionLinenumberEnd: 5312
    functionName: glue_nsdname_cb
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - INSIST
    - dns_name_equal
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - new_glue
    - dns_fixedname_initname
    - dns_vecheader_moveheader
    - qpzone_find
    - dns_name_issubdomain
    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: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/qpzone.c:5327,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpzone.c:5329,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5332,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5336,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5340,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/qpzone.c:5344,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:5348,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5349,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:5357,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5358,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:5362,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5363,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpzone.c:5370,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpzone.c:5372,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/qpzone.c:5375,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpzone.c:5388,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/qpzone.c:5390,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 46
    argCount: 3
    argNames:
    - qpdb
    - ge
    - msg
    argTypes:
    - qpzonedb_t*
    - dns_glue_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5394
      start: 5317
    functionDepth: 1
    functionLinenumber: 5317
    functionLinenumberEnd: 5394
    functionName: addglue_to_message
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - ISC_LIST_PREPEND
    - bindrdataset
    - dns_message_gettempname
    - dns_message_gettemprdataset
    - dns_message_addname
    linkageType: ''
    returnType: void
    signature: void addglue_to_message(qpzonedb_t *qpdb, dns_glue_t *ge, dns_message_t
      *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_vecheader_getheader
      Src: /src/bind9/lib/dns/qpzone.c:5399,1
    - Dst: new_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:5405,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/qpzone.c:5414,1
    - Dst: CMM_STORE_SHARED
      Src: /src/bind9/lib/dns/qpzone.c:5417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 4
    argNames:
    - qpdb
    - version
    - owner_name
    - rdataset
    argTypes:
    - qpzonedb_t*
    - qpz_version_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5420
      start: 5396
    functionDepth: 2
    functionLinenumber: 5396
    functionLinenumberEnd: 5420
    functionName: create_gluelist
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_vecheader_getheader
    - new_gluelist
    - dns_rdataset_additionaldata
    - CMM_STORE_SHARED
    linkageType: ''
    returnType: dns_gluelist_t
    signature: "dns_gluelist_t *\ncreate_gluelist(qpzonedb_t *qpdb, qpz_version_t
      *version,\n\t\tconst dns_name_t *owner_name, dns_rdataset_t *rdataset)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_vecheader_getheader
      Src: /src/bind9/lib/dns/qpzone.c:5427,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5433,1
    - Dst: IS_STUB
      Src: /src/bind9/lib/dns/qpzone.c:5433,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/qpzone.c:5435,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/qpzone.c:5437,1
    - Dst: create_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:5444,1
    - Dst: rcu_cmpxchg_pointer
      Src: /src/bind9/lib/dns/qpzone.c:5451,1
    - Dst: cds_wfs_push
      Src: /src/bind9/lib/dns/qpzone.c:5457,1
    - Dst: destroy_gluelist
      Src: /src/bind9/lib/dns/qpzone.c:5461,1
    - Dst: CMM_LOAD_SHARED
      Src: /src/bind9/lib/dns/qpzone.c:5466,1
    - Dst: addglue_to_message
      Src: /src/bind9/lib/dns/qpzone.c:5469,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/qpzone.c:5473,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpzone.c:5477,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 5
    argNames:
    - db
    - dbversion
    - owner_name
    - rdataset
    - msg
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5479
      start: 5422
    functionDepth: 3
    functionLinenumber: 5422
    functionLinenumberEnd: 5479
    functionName: addglue
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 1
    functionsReached:
    - create_gluelist
    - REQUIRE
    - destroy_gluelist
    - dns_vecheader_getheader
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - cds_wfs_push
    - IS_STUB
    - CMM_LOAD_SHARED
    - addglue_to_message
    - rcu_cmpxchg_pointer
    - isc_stats_increment
    linkageType: ''
    returnType: void
    signature: "void addglue(dns_db_t *db, dns_dbversion_t *dbversion, const dns_name_t
      *owner_name,\n\tdns_rdataset_t *rdataset, dns_message_t *msg)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5485,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5488
      start: 5481
    functionDepth: 1
    functionLinenumber: 5481
    functionLinenumberEnd: 5488
    functionName: setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_QPZONE
    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:5494,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5497
      start: 5490
    functionDepth: 1
    functionLinenumber: 5490
    functionLinenumberEnd: 5497
    functionName: setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_QPZONE
    linkageType: ''
    returnType: void
    signature: void setmaxtypepername(dns_db_t *db, uint32_t value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/qpzone.c:5513,1
    - Dst: findnodeintree
      Src: /src/bind9/lib/dns/qpzone.c:5518,1
    - Dst: qpzone_addrdataset_inner
      Src: /src/bind9/lib/dns/qpzone.c:5537,1
    - Dst: qpzone_subtractrdataset
      Src: /src/bind9/lib/dns/qpzone.c:5544,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/qpzone.c:5550,1
    - Dst: dns_rdataset_minresign
      Src: /src/bind9/lib/dns/qpzone.c:5559,1
    - Dst: dns_db_setsigningtime
      Src: /src/bind9/lib/dns/qpzone.c:5560,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/qpzone.c:5566,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/qpzone.c:5568,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 6
    argNames:
    - qpdb
    - version
    - qp
    - name
    - rds
    - op
    argTypes:
    - qpzonedb_t*
    - qpz_version_t*
    - dns_qp_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5570
      start: 5503
    functionDepth: 14
    functionLinenumber: 5503
    functionLinenumberEnd: 5570
    functionName: qpzone_update_rdataset
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - findnodeintree
    - qpzone_subtractrdataset
    - dns_rdataset_minresign
    - dns_rdataset_init
    - dns_rdataset_cleanup
    - qpzone_addrdataset_inner
    - dns_db_setsigningtime
    - UNREACHABLE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_update_rdataset(qpzonedb_t *qpdb, qpz_version_t
      *version, dns_qp_t *qp,\n\t\t       dns_name_t *name, dns_rdataset_t *rds, dns_diffop_t
      op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpzone_update_rdataset
      Src: /src/bind9/lib/dns/qpzone.c:5579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - arg
    - name
    - rds
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5581
      start: 5572
    functionDepth: 15
    functionLinenumber: 5572
    functionLinenumberEnd: 5581
    functionName: qpzone_update_callback
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - qpzone_update_rdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_update_callback(void *arg, const dns_name_t *name,
      dns_rdataset_t *rds,\n\t\t       dns_diffop_t op DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5588,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5588,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5589,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5590,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/qpzone.c:5590,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpzone.c:5592,1
    - Dst: begin_transaction
      Src: /src/bind9/lib/dns/qpzone.c:5599,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - db
    - ver
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5605
      start: 5583
    functionDepth: 8
    functionLinenumber: 5583
    functionLinenumberEnd: 5605
    functionName: qpzone_beginupdate
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - VALID_QPZONE
    - DNS_CALLBACK_VALID
    - begin_transaction
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t qpzone_beginupdate(dns_db_t *db, dns_dbversion_t *ver,\n\t\t
      \  dns_rdatacallbacks_t *callbacks)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5612,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5612,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5613,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/qpzone.c:5613,1
    - Dst: end_transaction
      Src: /src/bind9/lib/dns/qpzone.c:5617,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:5619,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5629
      start: 5607
    functionDepth: 11
    functionLinenumber: 5607
    functionLinenumberEnd: 5629
    functionName: qpzone_commitupdate
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - VALID_QPZONE
    - DNS_CALLBACK_VALID
    - end_transaction
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t qpzone_commitupdate(dns_db_t *db, dns_rdatacallbacks_t
      *callbacks)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5640,1
    - Dst: VALID_QPZONE
      Src: /src/bind9/lib/dns/qpzone.c:5640,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpzone.c:5641,1
    - Dst: DNS_CALLBACK_VALID
      Src: /src/bind9/lib/dns/qpzone.c:5641,1
    - Dst: end_transaction
      Src: /src/bind9/lib/dns/qpzone.c:5645,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpzone.c:5647,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - db
    - callbacks
    argTypes:
    - dns_db_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5655
      start: 5635
    functionDepth: 11
    functionLinenumber: 5635
    functionLinenumberEnd: 5655
    functionName: qpzone_abortupdate
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - VALID_QPZONE
    - DNS_CALLBACK_VALID
    - end_transaction
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t qpzone_abortupdate(dns_db_t *db, dns_rdatacallbacks_t
      *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:5697,1
    - Dst: ISC_SLIST_FOREACH
      Src: /src/bind9/lib/dns/qpzone.c:5698,1
    - Dst: dns_vecheader_unref
      Src: /src/bind9/lib/dns/qpzone.c:5699,1
    - Dst: dns_vectop_destroy
      Src: /src/bind9/lib/dns/qpzone.c:5702,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpzone.c:5705,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpzone.c:5706,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - node
    argTypes:
    - qpznode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5707
      start: 5695
    functionDepth: 1
    functionLinenumber: 5695
    functionLinenumberEnd: 5707
    functionName: destroy_qpznode
    functionSourceFile: /src/bind9/lib/dns/qpzone.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - ISC_SLIST_FOREACH
    - dns_name_free
    - dns_vectop_destroy
    - dns_vecheader_unref
    linkageType: ''
    returnType: void
    signature: void destroy_qpznode(qpznode_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: qpznode_ref
      Src: /src/bind9/lib/dns/qpzone.c:5721,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: 5722
      start: 5717
    functionDepth: 1
    functionLinenumber: 5717
    functionLinenumberEnd: 5722
    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:5728,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: 5729
      start: 5724
    functionDepth: 1
    functionLinenumber: 5724
    functionLinenumberEnd: 5729
    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:5735,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: 5736
      start: 5731
    functionDepth: 2
    functionLinenumber: 5731
    functionLinenumberEnd: 5736
    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:5740,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: 5741
      start: 5738
    functionDepth: 0
    functionLinenumber: 5738
    functionLinenumberEnd: 5741
    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:50,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/byaddr.c:60,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/byaddr.c:77,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/byaddr.c:82,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/byaddr.c:83,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/byaddr.c:84,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/byaddr.c:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 23
    argCount: 2
    argNames:
    - address
    - name
    argTypes:
    - isc_netaddr_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 41
    functionDepth: 2
    functionLinenumber: 41
    functionLinenumberEnd: 86
    functionName: dns_byaddr_createptrname
    functionSourceFile: /src/bind9/lib/dns/byaddr.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_name_fromtext
    - snprintf
    - isc_buffer_add
    - strlen
    - strlcpy
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_byaddr_createptrname(const isc_netaddr_t *address,
      dns_name_t *name)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/byaddr.c:92,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/byaddr.c:97,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/byaddr.c:108,1
    - Dst: strncpy
      Src: /src/bind9/lib/dns/byaddr.c:117,1
    - Dst: isc_parse_uint8
      Src: /src/bind9/lib/dns/byaddr.c:119,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/byaddr.c:123,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/byaddr.c:126,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/byaddr.c:126,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - name
    - addr
    argTypes:
    - dns_name_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 128
    functionName: parseptrnamev4
    functionSourceFile: /src/bind9/lib/dns/byaddr.c
    functionUses: 0
    functionsReached:
    - strncpy
    - INSIST
    - isc_parse_uint8
    - dns_name_getlabel
    - isc_buffer_availablelength
    - isc_buffer_putuint8
    - isc_buffer_init
    - dns_name_issubdomain
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parseptrnamev4(const dns_name_t *name, isc_netaddr_t *addr)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/byaddr.c:135,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/byaddr.c:140,1
    - Dst: isc_hex_decodeinit
      Src: /src/bind9/lib/dns/byaddr.c:141,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/dns/byaddr.c:141,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/byaddr.c:150,1
    - Dst: isc_hex_decodechar
      Src: /src/bind9/lib/dns/byaddr.c:158,1
    - Dst: isc_hex_decodefinish
      Src: /src/bind9/lib/dns/byaddr.c:163,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/byaddr.c:167,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/byaddr.c:167,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 21
    argCount: 2
    argNames:
    - name
    - addr
    argTypes:
    - dns_name_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 130
    functionDepth: 2
    functionLinenumber: 130
    functionLinenumberEnd: 169
    functionName: parseptrnamev6
    functionSourceFile: /src/bind9/lib/dns/byaddr.c
    functionUses: 0
    functionsReached:
    - isc_hex_decodeinit
    - isc_hex_decodechar
    - isc_buffer_length
    - isc_hex_decodefinish
    - INSIST
    - dns_name_getlabel
    - isc_buffer_availablelength
    - isc_buffer_init
    - dns_name_issubdomain
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t parseptrnamev6(const dns_name_t *name, isc_netaddr_t *addr)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/byaddr.c:175,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/byaddr.c:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/byaddr.c:176,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/byaddr.c:177,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/byaddr.c:177,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/byaddr.c:179,1
    - Dst: parseptrnamev4
      Src: /src/bind9/lib/dns/byaddr.c:182,1
    - Dst: parseptrnamev6
      Src: /src/bind9/lib/dns/byaddr.c:189,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - name
    - addr
    argTypes:
    - dns_name_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 196
    functionName: dns_byaddr_parseptrname
    functionSourceFile: /src/bind9/lib/dns/byaddr.c
    functionUses: 2
    functionsReached:
    - parseptrnamev6
    - REQUIRE
    - parseptrnamev4
    - DNS_NAME_VALID
    - dns_name_countlabels
    - dns_name_isabsolute
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_byaddr_parseptrname(const dns_name_t *name, isc_netaddr_t
      *addr)
  - 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:
    - REQUIRE
    - isc_mem_allocate
    - memmove
    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:
    - REQUIRE
    - isc_mem_allocate
    - memmove
    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_attach
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_get
    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_name_copy
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_INITANDAPPEND
    - DNS_ORDER_VALID
    - dns_fixedname_name
    - dns_fixedname_init
    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: 38
    functionsReached:
    - dns_name_matcheswildcard
    - dns_name_equal
    - dns_name_iswildcard
    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:
    - REQUIRE
    - match
    - DNS_ORDER_VALID
    - ISC_LIST_FOREACH
    - dns_fixedname_name
    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:
    - REQUIRE
    - DNS_ORDER_VALID
    - isc_refcount_increment
    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:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - DNS_ORDER_VALID
    - isc_refcount_decrement
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - 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
    - REQUIRE
    - isc_mutex_init
    - isc_mem_get
    - isc_mem_strdup
    - ISC_LINK_INIT
    - isc_refcount_init
    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:
    - REQUIRE
    - ISC_LINK_LINKED
    - isc_mem_free
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - UNCONST
    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
    - REQUIRE
    - isc_mem_strdup
    - 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
    - REQUIRE
    - isc_mem_strdup
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dns_keystore_setpkcs11uri(dns_keystore_t *keystore, const char
      *uri)
  - BBCount: 3
    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:138,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/keystore.c:141,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keystore.c:141,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keystore.c:141,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keystore.c:145,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keystore.c:146,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keystore.c:148,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/keystore.c:148,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/keystore.c:156,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keystore.c:156,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keystore.c:159,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keystore.c:160,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/keystore.c:160,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keystore.c:161,1
    - Dst: dns_name_tofilenametext
      Src: /src/bind9/lib/dns/keystore.c:161,1
    - Dst: isc_time_formatshorttimestamp
      Src: /src/bind9/lib/dns/keystore.c:163,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keystore.c:164,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 5
    argNames:
    - uri
    - zname
    - policy
    - flags
    - buf
    argTypes:
    - char*
    - dns_name_t*
    - char*
    - int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 131
    functionDepth: 3
    functionLinenumber: 131
    functionLinenumberEnd: 165
    functionName: buildpkcs11label
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 0
    functionsReached:
    - isc_time_now
    - isc_buffer_printf
    - isc_time_formatshorttimestamp
    - isc_buffer_availablelength
    - dns_fixedname_initname
    - strlen
    - RETERR
    - dns_name_fromstring
    - dns_name_tofilenametext
    - isc_buffer_putstr
    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:176,1
    - Dst: DNS_KEYSTORE_VALID
      Src: /src/bind9/lib/dns/keystore.c:176,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:177,1
    - Dst: dns_name_isvalid
      Src: /src/bind9/lib/dns/keystore.c:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keystore.c:180,1
    - Dst: dns_keystore_pkcs11uri
      Src: /src/bind9/lib/dns/keystore.c:182,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keystore.c:203,1
    - Dst: buildpkcs11label
      Src: /src/bind9/lib/dns/keystore.c:204,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keystore.c:207,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keystore.c:208,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keystore.c:213,1
    - Dst: dst_key_generate
      Src: /src/bind9/lib/dns/keystore.c:218,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keystore.c:223,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keystore.c:228,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keystore.c:231,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keystore.c:232,1
    - Dst: dst_key_generate
      Src: /src/bind9/lib/dns/keystore.c:235,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: 244
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 244
    functionName: dns_keystore_keygen
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_name_format
    - isc_result_totext
    - buildpkcs11label
    - isc_log_write
    - dns_keystore_pkcs11uri
    - dst_key_generate
    - ISC_LOG_DEBUG
    - DNS_KEYSTORE_VALID
    - isc_buffer_init
    - dns_name_isvalid
    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:249,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keystore.c:255,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/keystore.c:256,1
    - Dst: dns_keystore_attach
      Src: /src/bind9/lib/dns/keystore.c:257,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: 263
      start: 246
    functionDepth: 1
    functionLinenumber: 246
    functionLinenumberEnd: 263
    functionName: dns_keystorelist_find
    functionSourceFile: /src/bind9/lib/dns/keystore.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - strcmp
    - ISC_LIST_FOREACH
    - dns_keystore_attach
    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:
    - Dst: isc_portset_create
      Src: /src/bind9/lib/dns/client.c:144,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/lib/dns/client.c:145,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/lib/dns/client.c:146,1
    - Dst: isc_portset_create
      Src: /src/bind9/lib/dns/client.c:148,1
    - Dst: isc_net_getportrange
      Src: /src/bind9/lib/dns/client.c:149,1
    - Dst: isc_portset_addrange
      Src: /src/bind9/lib/dns/client.c:150,1
    - Dst: dns_dispatchmgr_setavailports
      Src: /src/bind9/lib/dns/client.c:152,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/lib/dns/client.c:154,1
    - Dst: isc_portset_destroy
      Src: /src/bind9/lib/dns/client.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - manager
    argTypes:
    - isc_mem_t*
    - dns_dispatchmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 4
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: setsourceports
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - isc_portset_addrange
    - dns_dispatchmgr_setavailports
    - isc_portset_create
    - isc_portset_destroy
    - isc_net_getportrange
    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:168,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/lib/dns/client.c:172,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: 178
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 178
    functionName: getudpdispatch
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_createudp
    - isc_sockaddr_anyofpf
    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:188,1
    - Dst: dns_view_initsecroots
      Src: /src/bind9/lib/dns/client.c:191,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/client.c:193,1
    - Dst: dns_view_createresolver
      Src: /src/bind9/lib/dns/client.c:193,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/client.c:195,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/client.c:195,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/client.c:203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 7
    argNames:
    - mctx
    - rdclass
    - tlsctx_client_cache
    - dispatchmgr
    - dispatchv4
    - dispatchv6
    - viewp
    argTypes:
    - isc_mem_t*
    - dns_rdataclass_t
    - isc_tlsctx_cache_t*
    - dns_dispatchmgr_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    - dns_view_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 180
    functionDepth: 3
    functionLinenumber: 180
    functionLinenumberEnd: 205
    functionName: createview
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_view_initsecroots
    - dns_db_create
    - dns_view_detach
    - CHECK
    - dns_view_create
    - dns_view_createresolver
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t createview(isc_mem_t *mctx, dns_rdataclass_t rdclass,\n\t
      \  isc_tlsctx_cache_t *tlsctx_client_cache,\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:218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/client.c:222,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:224,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/client.c:226,1
    - Dst: dns_dispatchmgr_create
      Src: /src/bind9/lib/dns/client.c:231,1
    - Dst: setsourceports
      Src: /src/bind9/lib/dns/client.c:235,1
    - Dst: getudpdispatch
      Src: /src/bind9/lib/dns/client.c:243,1
    - Dst: getudpdispatch
      Src: /src/bind9/lib/dns/client.c:252,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:261,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/client.c:265,1
    - Dst: createview
      Src: /src/bind9/lib/dns/client.c:268,1
    - Dst: dns_view_freeze
      Src: /src/bind9/lib/dns/client.c:276,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/client.c:278,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/client.c:280,1
    - Dst: isc_refcount_decrementz
      Src: /src/bind9/lib/dns/client.c:292,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/client.c:293,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:296,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:299,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/client.c:301,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:303,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 64
    argCount: 6
    argNames:
    - mctx
    - options
    - tlsctx_client_cache
    - clientp
    - localaddr4
    - localaddr6
    argTypes:
    - isc_mem_t*
    - unsigned int
    - isc_tlsctx_cache_t*
    - dns_client_t**
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 207
    functionDepth: 5
    functionLinenumber: 207
    functionLinenumberEnd: 306
    functionName: dns_client_create
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - UNUSED
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - setsourceports
    - isc_refcount_init
    - isc_refcount_decrementz
    - isc_loop_get
    - dns_view_freeze
    - ISC_LIST_INIT
    - createview
    - dns_dispatchmgr_detach
    - dns_dispatch_detach
    - getudpdispatch
    - isc_refcount_destroy
    - dns_dispatchmgr_create
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_client_create(isc_mem_t *mctx, unsigned int options,\n\t\t
      \ 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:310,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/client.c:312,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:315,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/client.c:318,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/client.c:321,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/client.c:325,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - client
    argTypes:
    - dns_client_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 326
    functionName: destroyclient
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_view_detach
    - isc_mem_putanddetach
    - dns_dispatchmgr_detach
    - dns_dispatch_detach
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void destroyclient(dns_client_t *client)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:332,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:333,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:333,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/client.c:338,1
    - Dst: destroyclient
      Src: /src/bind9/lib/dns/client.c:339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - clientp
    argTypes:
    - dns_client_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 341
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 341
    functionName: dns_client_detach
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 2
    functionsReached:
    - destroyclient
    - REQUIRE
    - isc_refcount_decrement
    - DNS_CLIENT_VALID
    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:348,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:350,1
    - Dst: dns_fwdtable_add
      Src: /src/bind9/lib/dns/client.c:356,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: 360
      start: 343
    functionDepth: 3
    functionLinenumber: 343
    functionLinenumberEnd: 360
    functionName: dns_client_setservers
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_fwdtable_add
    - DNS_CLIENT_VALID
    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:364,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:364,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - client
    - max_restarts
    argTypes:
    - dns_client_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: dns_client_setmaxrestarts
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_CLIENT_VALID
    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: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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - client
    - max_queries
    argTypes:
    - dns_client_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: dns_client_setmaxqueries
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_CLIENT_VALID
    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:380,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - client
    - sendcookie
    argTypes:
    - dns_client_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 378
    functionDepth: 1
    functionLinenumber: 378
    functionLinenumberEnd: 383
    functionName: dns_client_setsendcookie
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_CLIENT_VALID
    linkageType: ''
    returnType: void
    signature: void dns_client_setsendcookie(dns_client_t *client, bool sendcookie)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:389,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:390,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:392,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/client.c:394,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - rdatasetp
    argTypes:
    - isc_mem_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 385
    functionDepth: 1
    functionLinenumber: 385
    functionLinenumberEnd: 399
    functionName: getrdataset
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_rdataset_init
    - isc_mem_get
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t getrdataset(isc_mem_t *mctx, dns_rdataset_t **rdatasetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:405,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:408,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/client.c:410,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - mctx
    - rdatasetp
    argTypes:
    - isc_mem_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 413
    functionName: putrdataset
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 30
    functionsReached:
    - REQUIRE
    - dns_rdataset_cleanup
    - isc_mem_put
    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:420,1
    - Dst: RCTX_VALID
      Src: /src/bind9/lib/dns/client.c:420,1
    - Dst: client_resfind
      Src: /src/bind9/lib/dns/client.c:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 423
    functionName: fetch_done
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RCTX_VALID
    - client_resfind
    linkageType: ''
    returnType: void
    signature: void fetch_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:430,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/client.c:442,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:443,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - resctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 449
    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:455,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/client.c:464,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: 469
      start: 451
    functionDepth: 4
    functionLinenumber: 451
    functionLinenumberEnd: 469
    functionName: view_find
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 7
    functionsReached:
    - dns_fixedname_name
    - dns_view_find
    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:488,1
    - Dst: RCTX_VALID
      Src: /src/bind9/lib/dns/client.c:488,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:492,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/client.c:495,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:504,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/client.c:504,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:505,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/client.c:506,1
    - Dst: view_find
      Src: /src/bind9/lib/dns/client.c:507,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:514,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/client.c:515,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/client.c:518,1
    - Dst: start_fetch
      Src: /src/bind9/lib/dns/client.c:520,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:522,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:524,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:532,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/client.c:533,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/client.c:538,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:539,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:540,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/client.c:541,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:548,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:550,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/client.c:551,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/client.c:553,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:567,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:570,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:574,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/client.c:581,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/client.c:585,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/client.c:586,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/client.c:587,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/client.c:591,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/client.c:592,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:600,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:603,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:607,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/client.c:610,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:612,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/client.c:616,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/client.c:621,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/client.c:622,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/client.c:623,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/client.c:631,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/client.c:632,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/client.c:633,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/client.c:635,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:644,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:645,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:650,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:656,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:659,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/client.c:669,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/client.c:676,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/client.c:678,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:681,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/client.c:690,1
    - Dst: dns_rdatasetiter_next
      Src: /src/bind9/lib/dns/client.c:693,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:698,1
    - Dst: POST
      Src: /src/bind9/lib/dns/client.c:702,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:708,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:711,1
    - Dst: POST
      Src: /src/bind9/lib/dns/client.c:720,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:722,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/client.c:725,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:737,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:740,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:744,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:753,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:754,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:755,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/client.c:757,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:758,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/client.c:762,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/client.c:765,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:783,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:786,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:788,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:790,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:802,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:803,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:804,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/client.c:809,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 239
    argCount: 2
    argNames:
    - rctx
    - resp
    argTypes:
    - resctx_t*
    - dns_fetchresponse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 811
      start: 471
    functionDepth: 2
    functionLinenumber: 471
    functionLinenumberEnd: 811
    functionName: client_resfind
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_rdatasetiter_next
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - dns_name_split
    - dns_db_allrdatasets
    - dns_rdata_freestruct
    - dns_rdataset_disassociate
    - dns_resolver_destroyfetch
    - dns_name_dup
    - dns_rdatasetiter_current
    - dns_name_fullcompare
    - putrdataset
    - dns_name_init
    - dns_rdataset_isassociated
    - dns_name_concatenate
    - dns_rdata_tostruct
    - view_find
    - dns_db_detach
    - dns_resolver_freefresp
    - dns_name_free
    - dns_rdataset_first
    - dns_rdatasetiter_destroy
    - dns_rdata_reset
    - RCTX_VALID
    - dns_rdataset_current
    - dns_db_detachnode
    - dns_rdatasetiter_first
    - isc_mem_get
    - ISC_LIST_APPEND
    - POST
    - isc_async_run
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    - dns_fixedname_name
    - start_fetch
    - getrdataset
    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:822,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:823,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:824,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:827,1
    - Dst: destroyrestrans
      Src: /src/bind9/lib/dns/client.c:828,1
    - Dst: resarg_t*::resolve_cb
      Src: /src/bind9/lib/dns/client.c:841,1
    - Dst: dns_client_detach
      Src: /src/bind9/lib/dns/client.c:844,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/client.c:846,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 847
    functionName: resolve_done
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_APPEND
    - resarg_t*::resolve_cb
    - dns_client_detach
    - isc_mem_putanddetach
    - destroyrestrans
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void resolve_done(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:861,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:861,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:862,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:863,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:874,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:882,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/client.c:895,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:895,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/client.c:899,1
    - Dst: getrdataset
      Src: /src/bind9/lib/dns/client.c:899,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/client.c:903,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/client.c:904,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/client.c:904,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/client.c:906,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/client.c:909,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/client.c:911,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/client.c:913,1
    - Dst: client_resfind
      Src: /src/bind9/lib/dns/client.c:916,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:922,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:925,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/client.c:928,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:930,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:931,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 43
    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: 934
      start: 849
    functionDepth: 3
    functionLinenumber: 849
    functionLinenumberEnd: 934
    functionName: startresolve
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - client_resfind
    - putrdataset
    - isc_mem_put
    - isc_mem_get
    - isc_counter_create
    - ISC_LIST_APPEND
    - isc_counter_detach
    - isc_refcount_increment
    - dns_fixedname_name
    - dns_view_attach
    - CHECK
    - dns_fixedname_init
    - DNS_CLIENT_VALID
    - getrdataset
    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:944,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:944,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:945,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/client.c:945,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:946,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/client.c:948,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/client.c:958,1
    - Dst: startresolve
      Src: /src/bind9/lib/dns/client.c:960,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/client.c:963,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: 968
      start: 936
    functionDepth: 4
    functionLinenumber: 936
    functionLinenumberEnd: 968
    functionName: dns_client_resolve
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - startresolve
    - ISC_LIST_EMPTY
    - isc_mem_putanddetach
    - 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:972,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:972,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:973,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:975,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:976,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/client.c:978,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:979,1
    - Dst: putrdataset
      Src: /src/bind9/lib/dns/client.c:980,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/client.c:983,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - client
    - namelist
    argTypes:
    - dns_client_t*
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 986
      start: 970
    functionDepth: 2
    functionLinenumber: 970
    functionLinenumberEnd: 986
    functionName: dns_client_freeresanswer
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - putrdataset
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_FOREACH
    - dns_name_free
    - DNS_CLIENT_VALID
    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:1000,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1005,1
    - Dst: RCTX_VALID
      Src: /src/bind9/lib/dns/client.c:1005,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1006,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1010,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:1010,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/client.c:1013,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:1015,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/client.c:1015,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/client.c:1016,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/client.c:1018,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/client.c:1018,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/client.c:1023,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/client.c:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 1
    argNames:
    - transp
    argTypes:
    - dns_clientrestrans_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1026
      start: 994
    functionDepth: 3
    functionLinenumber: 994
    functionLinenumberEnd: 1026
    functionName: destroyrestrans
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - dns_view_detach
    - ISC_LINK_LINKED
    - ISC_LIST_EMPTY
    - isc_counter_detach
    - RCTX_VALID
    - 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:1032,1
    - Dst: DNS_CLIENT_VALID
      Src: /src/bind9/lib/dns/client.c:1032,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/client.c:1033,1
    - Dst: dns_view_addtrustedkey
      Src: /src/bind9/lib/dns/client.c:1035,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: 1036
      start: 1028
    functionDepth: 3
    functionLinenumber: 1028
    functionLinenumberEnd: 1036
    functionName: dns_client_addtrustedkey
    functionSourceFile: /src/bind9/lib/dns/client.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_CLIENT_VALID
    - 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_attach
    - ISC_REFCOUNT_INITIALIZER
    - isc_radix_create
    - isc_mem_get
    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
    - NETADDR_TO_PREFIX_T
    - INSIST
    - 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: RADIX_WALK
      Src: /src/bind9/lib/dns/iptable.c:96,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/iptable.c:98,1
    - Dst: isc_radix_insert
      Src: /src/bind9/lib/dns/iptable.c:98,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - tab
    - source
    - pos
    argTypes:
    - dns_iptable_t*
    - dns_iptable_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 91
    functionDepth: 4
    functionLinenumber: 91
    functionLinenumberEnd: 123
    functionName: dns_iptable_merge
    functionSourceFile: /src/bind9/lib/dns/iptable.c
    functionUses: 1
    functionsReached:
    - isc_radix_insert
    - RETERR
    - RADIX_WALK
    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:127,1
    - Dst: DNS_IPTABLE_VALID
      Src: /src/bind9/lib/dns/iptable.c:127,1
    - Dst: isc_radix_destroy
      Src: /src/bind9/lib/dns/iptable.c:132,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/iptable.c:136,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dtab
    argTypes:
    - dns_iptable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 125
    functionDepth: 4
    functionLinenumber: 125
    functionLinenumberEnd: 137
    functionName: dns__iptable_destroy
    functionSourceFile: /src/bind9/lib/dns/iptable.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - DNS_IPTABLE_VALID
    - isc_radix_destroy
    linkageType: ''
    returnType: void
    signature: void dns__iptable_destroy(dns_iptable_t *dtab)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - node
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 31
    functionName: VALID_DELEGDB_NODE
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_DELEGDB_NODE(node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - db
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: VALID_DELEGDB
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_DELEGDB(db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:79,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:79,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:80,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/deleg.c:83,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/deleg.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - delegdb
    argTypes:
    - dns_delegdb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 77
    functionDepth: 1
    functionLinenumber: 77
    functionLinenumberEnd: 87
    functionName: delegdb_destroy
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - VALID_DELEGDB
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void delegdb_destroy(dns_delegdb_t *delegdb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:129,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:130,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/deleg.c:130,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/deleg.c:134,1
    - Dst: ISC_SIEVE_LINKED
      Src: /src/bind9/lib/dns/deleg.c:136,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/deleg.c:137,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:137,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/deleg.c:140,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/deleg.c:141,1
    - Dst: dns_delegdb_detach
      Src: /src/bind9/lib/dns/deleg.c:143,1
    - Dst: isc_loop_unref
      Src: /src/bind9/lib/dns/deleg.c:144,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/deleg.c:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 146
    functionName: delegdb_node_destroy_async
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - ISC_SIEVE_LINKED
    - VALID_DELEGDB_NODE
    - ISC_SIEVE_UNLINK
    - isc_loop_unref
    - dns_delegdb_detach
    - isc_tid
    - isc_mem_putanddetach
    - DNS_DELEGSET_VALID
    - dns_delegset_detach
    - dns_name_free
    linkageType: ''
    returnType: void
    signature: void delegdb_node_destroy_async(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:150,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:150,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/deleg.c:152,1
    - Dst: delegdb_node_destroy_async
      Src: /src/bind9/lib/dns/deleg.c:153,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/deleg.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - node
    argTypes:
    - delegdb_node_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 157
    functionName: delegdb_node_destroy
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_DELEGDB_NODE
    - delegdb_node_destroy_async
    - isc_async_run
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void delegdb_node_destroy(delegdb_node_t *node)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 162
    functionName: delegdb_node_ref
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: delegdb_node_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: 164
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 164
    functionName: delegdb_node_unref
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: delegdb_node_unref(ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:176,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:176,1
    - Dst: delegdb_node_ref
      Src: /src/bind9/lib/dns/deleg.c:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uctx
    - pval
    - uint32_t
    argTypes:
    - ISC_ATTR_UNUSED*
    - void*
    - ISC_ATTR_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 178
    functionName: dbnode_attach
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - VALID_DELEGDB_NODE
    - REQUIRE
    - delegdb_node_ref
    linkageType: ''
    returnType: void
    signature: "void dbnode_attach(ISC_ATTR_UNUSED void *uctx, void *pval,\n\t      ISC_ATTR_UNUSED
      uint32_t ival)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:185,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:185,1
    - Dst: delegdb_node_unref
      Src: /src/bind9/lib/dns/deleg.c:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - uctx
    - pval
    - uint32_t
    argTypes:
    - ISC_ATTR_UNUSED*
    - void*
    - ISC_ATTR_UNUSED
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 187
    functionName: dbnode_detach
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - VALID_DELEGDB_NODE
    - REQUIRE
    - delegdb_node_unref
    linkageType: ''
    returnType: void
    signature: "void dbnode_detach(ISC_ATTR_UNUSED void *uctx, void *pval,\n\t      ISC_ATTR_UNUSED
      uint32_t ival)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/deleg.c:193,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: 194
      start: 189
    functionDepth: 2
    functionLinenumber: 189
    functionLinenumberEnd: 194
    functionName: makekey
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 1
    functionsReached:
    - dns_qpkey_fromname
    linkageType: ''
    returnType: size_t
    signature: "size_t makekey(dns_qpkey_t key, void *uctx ISC_ATTR_UNUSED, void *pval,\n\tuint32_t
      ival ISC_ATTR_UNUSED)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strncpy
      Src: /src/bind9/lib/dns/deleg.c:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - ISC_ATTR_UNUSED*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 199
    functionName: triename
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - strncpy
    linkageType: ''
    returnType: void
    signature: void triename(ISC_ATTR_UNUSED void *uctx, char *buf, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:211,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/deleg.c:211,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:211,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/deleg.c:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:212,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/deleg.c:214,1
    - Dst: isc_mem_setdestroycheck
      Src: /src/bind9/lib/dns/deleg.c:215,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:217,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/deleg.c:220,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/deleg.c:221,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/deleg.c:222,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/deleg.c:225,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/deleg.c:227,1
    - Dst: ISC_SIEVE_INIT
      Src: /src/bind9/lib/dns/deleg.c:230,1
    - Dst: LIBDNS_DELEGDB_CREATE
      Src: /src/bind9/lib/dns/deleg.c:233,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - delegdbp
    argTypes:
    - dns_delegdb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 236
    functionName: dns_delegdb_create
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - isc_mem_create
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_cget
    - LIBDNS_DELEGDB_CREATE
    - isc_mem_get
    - isc_loop_main
    - isc_loopmgr_nloops
    - isc_loop_get
    - isc_tid
    - isc_mem_setdestroycheck
    - dns_qpmulti_create
    - ISC_SIEVE_INIT
    linkageType: ''
    returnType: void
    signature: void dns_delegdb_create(dns_delegdb_t **delegdbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:240,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/deleg.c:240,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:240,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/deleg.c:240,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:241,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/deleg.c:241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:242,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/deleg.c:242,1
    - Dst: dns_delegdb_attach
      Src: /src/bind9/lib/dns/deleg.c:244,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/deleg.c:245,1
    - Dst: LIBDNS_DELEGDB_REUSE
      Src: /src/bind9/lib/dns/deleg.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - oldview
    - newview
    argTypes:
    - dns_view_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 248
    functionName: dns_delegdb_reuse
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_loop_main
    - dns_delegdb_attach
    - isc_loop_get
    - isc_refcount_increment
    - isc_tid
    - LIBDNS_DELEGDB_REUSE
    - DNS_VIEW_VALID
    linkageType: ''
    returnType: void
    signature: void dns_delegdb_reuse(dns_view_t *oldview, dns_view_t *newview)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/deleg.c:258,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/deleg.c:261,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/deleg.c:263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 264
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 264
    functionName: deleg_destroy_qpmulti
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_qpmulti_destroy
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void deleg_destroy_qpmulti(struct rcu_head *rcu_head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - now
    argTypes:
    - delegdb_node_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 266
    functionDepth: 0
    functionLinenumber: 266
    functionLinenumberEnd: 269
    functionName: isactive
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool isactive(delegdb_node_t *node, dns_ttl_t now)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/deleg.c:273,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/deleg.c:277,1
    - Dst: isactive
      Src: /src/bind9/lib/dns/deleg.c:279,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - chain
    - node
    - now
    argTypes:
    - dns_qpchain_t*
    - delegdb_node_t**
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 292
    functionName: getparentnode
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - isactive
    - dns_qpchain_length
    - dns_qpchain_node
    linkageType: ''
    returnType: void
    signature: void getparentnode(dns_qpchain_t *chain, delegdb_node_t **node, dns_ttl_t
      now)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/deleg.c:304,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:309,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:309,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:310,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/deleg.c:310,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:311,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/deleg.c:311,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:312,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/deleg.c:312,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/deleg.c:314,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:320,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:320,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/deleg.c:323,1
    - Dst: isactive
      Src: /src/bind9/lib/dns/deleg.c:338,1
    - Dst: getparentnode
      Src: /src/bind9/lib/dns/deleg.c:339,1
    - Dst: isactive
      Src: /src/bind9/lib/dns/deleg.c:342,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/deleg.c:343,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:344,1
    - Dst: dns_delegset_attach
      Src: /src/bind9/lib/dns/deleg.c:345,1
    - Dst: ISC_SIEVE_MARK
      Src: /src/bind9/lib/dns/deleg.c:346,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 24
    argCount: 8
    argNames:
    - delegdb
    - qpr
    - name
    - optnow
    - options
    - zonecut
    - deepestzonecut
    - delegsetp
    argTypes:
    - dns_delegdb_t*
    - dns_qpread_t*
    - dns_name_t*
    - isc_stdtime_t
    - unsigned int
    - dns_name_t*
    - dns_name_t*
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 297
    functionDepth: 7
    functionLinenumber: 297
    functionLinenumberEnd: 358
    functionName: dns__deleg_lookup
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - isc_stdtime_now
    - INSIST
    - dns_delegset_attach
    - VALID_DELEGDB_NODE
    - ISC_SIEVE_MARK
    - VALID_DELEGDB
    - getparentnode
    - DNS_NAME_VALID
    - dns_name_hasbuffer
    - dns_qp_lookup
    - isactive
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__deleg_lookup(dns_delegdb_t *delegdb, dns_qpread_t
      *qpr,\n\t\t  const dns_name_t *name, isc_stdtime_t optnow,\n\t\t  unsigned int
      options, dns_name_t *zonecut,\n\t\t  dns_name_t *deepestzonecut, dns_delegset_t
      **delegsetp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LIBDNS_DELEGDB_LOOKUP_START_ENABLED
      Src: /src/bind9/lib/dns/deleg.c:369,1
    - Dst: LIBDNS_DELEGDB_LOOKUP_DONE_ENABLED
      Src: /src/bind9/lib/dns/deleg.c:370,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/deleg.c:372,1
    - Dst: LIBDNS_DELEGDB_LOOKUP_START
      Src: /src/bind9/lib/dns/deleg.c:374,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/deleg.c:376,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/deleg.c:377,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/deleg.c:379,1
    - Dst: dns__deleg_lookup
      Src: /src/bind9/lib/dns/deleg.c:381,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/deleg.c:383,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/deleg.c:385,1
    - Dst: LIBDNS_DELEGDB_LOOKUP_DONE
      Src: /src/bind9/lib/dns/deleg.c:387,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 7
    argNames:
    - delegdb
    - name
    - now
    - options
    - zonecut
    - deepestzonecut
    - delegsetp
    argTypes:
    - dns_delegdb_t*
    - dns_name_t*
    - isc_stdtime_t
    - unsigned int
    - dns_name_t*
    - dns_name_t*
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 360
    functionDepth: 8
    functionLinenumber: 360
    functionLinenumberEnd: 390
    functionName: dns_delegdb_lookup
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 2
    functionsReached:
    - dns_qpread_destroy
    - LIBDNS_DELEGDB_LOOKUP_START_ENABLED
    - dns__deleg_lookup
    - LIBDNS_DELEGDB_LOOKUP_DONE_ENABLED
    - dns_name_format
    - dns_qpmulti_query
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - LIBDNS_DELEGDB_LOOKUP_DONE
    - LIBDNS_DELEGDB_LOOKUP_START
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_delegdb_lookup(dns_delegdb_t *delegdb, const dns_name_t
      *name,\n\t\t   isc_stdtime_t now, unsigned int options, dns_name_t *zonecut,\n\t\t
      \  dns_name_t *deepestzonecut, dns_delegset_t **delegsetp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:394,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:394,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:395,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:397,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/deleg.c:401,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/deleg.c:404,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - delegdb
    - delegsetp
    argTypes:
    - dns_delegdb_t*
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 407
    functionName: dns_delegset_allocset
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_get
    - VALID_DELEGDB
    linkageType: ''
    returnType: void
    signature: void dns_delegset_allocset(dns_delegdb_t *delegdb, dns_delegset_t **delegsetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:414,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/deleg.c:414,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:415,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:416,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:418,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/deleg.c:424,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - delegset
    - type
    - delegp
    argTypes:
    - dns_delegset_t*
    - dns_deleg_type_t
    - dns_deleg_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 426
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 426
    functionName: dns_delegset_allocdeleg
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - ISC_LIST_APPEND
    - DNS_DELEGSET_VALID
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: "void dns_delegset_allocdeleg(dns_delegset_t *delegset, dns_deleg_type_t
      type,\n\t\t\tdns_deleg_t **delegp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:430,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/deleg.c:430,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:431,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:432,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/deleg.c:432,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:433,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/deleg.c:433,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/deleg.c:438,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/deleg.c:440,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - delegset
    - delegp
    argTypes:
    - dns_delegset_t*
    - dns_deleg_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 428
    functionDepth: 1
    functionLinenumber: 428
    functionLinenumberEnd: 441
    functionName: dns_delegset_freedeleg
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - ISC_LIST_EMPTY
    - DNS_DELEGSET_VALID
    linkageType: ''
    returnType: void
    signature: void dns_delegset_freedeleg(dns_delegset_t *delegset, dns_deleg_t **delegp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:448,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/deleg.c:448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:451,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:454,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/deleg.c:458,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - delegset
    - deleg
    - addr
    argTypes:
    - dns_delegset_t*
    - dns_deleg_t*
    - isc_netaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 443
    functionDepth: 1
    functionLinenumber: 443
    functionLinenumberEnd: 459
    functionName: dns_delegset_addaddr
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_APPEND
    - DNS_DELEGSET_VALID
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: "void dns_delegset_addaddr(dns_delegset_t *delegset, dns_deleg_t *deleg,\n\t\t
      \    const isc_netaddr_t *addr)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:466,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/deleg.c:466,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:467,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/deleg.c:467,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:469,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/deleg.c:470,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/deleg.c:471,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/deleg.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 3
    argNames:
    - delegset
    - list
    - name
    argTypes:
    - dns_delegset_t*
    - dns_namelist_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 473
    functionName: addname
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    - dns_name_init
    - isc_mem_get
    - ISC_LIST_APPEND
    - DNS_NAME_VALID
    - DNS_DELEGSET_VALID
    - dns_name_dup
    linkageType: ''
    returnType: void
    signature: "void addname(dns_delegset_t *delegset, dns_namelist_t *list,\n\tconst
      dns_name_t *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:478,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:479,1
    - Dst: addname
      Src: /src/bind9/lib/dns/deleg.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - delegset
    - deleg
    - name
    argTypes:
    - dns_delegset_t*
    - dns_deleg_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 481
    functionName: dns_delegset_adddelegparam
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - addname
    linkageType: ''
    returnType: void
    signature: "void dns_delegset_adddelegparam(dns_delegset_t *delegset, dns_deleg_t
      *deleg,\n\t\t\t   const dns_name_t *name)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:488,1
    - Dst: addname
      Src: /src/bind9/lib/dns/deleg.c:490,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 3
    argNames:
    - delegset
    - deleg
    - name
    argTypes:
    - dns_delegset_t*
    - dns_deleg_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: dns_delegset_addns
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - addname
    linkageType: ''
    returnType: void
    signature: "void dns_delegset_addns(dns_delegset_t *delegset, dns_deleg_t *deleg,\n\t\t
      \  const dns_name_t *name)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_isovermem
      Src: /src/bind9/lib/dns/deleg.c:498,1
    - Dst: LIBDNS_DELEGDB_CLEANUP_START
      Src: /src/bind9/lib/dns/deleg.c:502,1
    - Dst: ISC_SIEVE_NEXT
      Src: /src/bind9/lib/dns/deleg.c:505,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:505,1
    - Dst: LIBDNS_DELEGDB_EVICT_ENABLED
      Src: /src/bind9/lib/dns/deleg.c:512,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/deleg.c:514,1
    - Dst: LIBDNS_DELEGDB_EVICT
      Src: /src/bind9/lib/dns/deleg.c:516,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/deleg.c:519,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:519,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/deleg.c:520,1
    - Dst: LIBDNS_DELEGDB_CLEANUP_DONE
      Src: /src/bind9/lib/dns/deleg.c:524,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - qp
    - delegdb
    - requested
    argTypes:
    - dns_qp_t*
    - dns_delegdb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 493
    functionDepth: 12
    functionLinenumber: 493
    functionLinenumberEnd: 525
    functionName: delegdb_cleanup
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - LIBDNS_DELEGDB_EVICT
    - dns_name_format
    - ISC_SIEVE_NEXT
    - isc_mem_isovermem
    - ISC_SIEVE_UNLINK
    - LIBDNS_DELEGDB_CLEANUP_START
    - isc_tid
    - dns_qp_deletename
    - LIBDNS_DELEGDB_EVICT_ENABLED
    - LIBDNS_DELEGDB_CLEANUP_DONE
    linkageType: ''
    returnType: void
    signature: void delegdb_cleanup(dns_qp_t *qp, dns_delegdb_t *delegdb, size_t requested)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:532,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:534,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:537,1
    - Dst: dns_name_size
      Src: /src/bind9/lib/dns/deleg.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 1
    argNames:
    - delegset
    argTypes:
    - dns_delegset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 527
    functionDepth: 1
    functionLinenumber: 527
    functionLinenumberEnd: 543
    functionName: delegset_size
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - dns_name_size
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: size_t
    signature: size_t delegset_size(dns_delegset_t *delegset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_size
      Src: /src/bind9/lib/dns/deleg.c:550,1
    - Dst: delegset_size
      Src: /src/bind9/lib/dns/deleg.c:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zonecut
    - delegset
    argTypes:
    - dns_name_t*
    - dns_delegset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 554
      start: 545
    functionDepth: 2
    functionLinenumber: 545
    functionLinenumberEnd: 554
    functionName: delegdb_node_size
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - delegset_size
    - dns_name_size
    linkageType: ''
    returnType: size_t
    signature: size_t delegdb_node_size(const dns_name_t *zonecut, dns_delegset_t
      *delegset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:565,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/deleg.c:568,1
    - Dst: delegdb_node_size
      Src: /src/bind9/lib/dns/deleg.c:572,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/deleg.c:573,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/deleg.c:573,1
    - Dst: dns_delegdb_attach
      Src: /src/bind9/lib/dns/deleg.c:575,1
    - Dst: dns_delegset_attach
      Src: /src/bind9/lib/dns/deleg.c:576,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/deleg.c:577,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 6
    argNames:
    - delegdb
    - now
    - ttl
    - zonecut
    - delegset
    - nodep
    argTypes:
    - dns_delegdb_t*
    - isc_stdtime_t
    - dns_ttl_t
    - dns_name_t*
    - dns_delegset_t*
    - delegdb_node_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 580
      start: 556
    functionDepth: 3
    functionLinenumber: 556
    functionLinenumberEnd: 580
    functionName: delegdb_node_prepare
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_get
    - delegdb_node_size
    - dns_delegset_attach
    - isc_loop_ref
    - dns_delegdb_attach
    - isc_loop
    - dns_name_dup
    linkageType: ''
    returnType: size_t
    signature: "size_t delegdb_node_prepare(dns_delegdb_t *delegdb, isc_stdtime_t
      now, dns_ttl_t ttl,\n\t\t     const dns_name_t *zonecut, dns_delegset_t *delegset,\n\t\t
      \    delegdb_node_t **nodep)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/deleg.c:589,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:593,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:593,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:594,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/deleg.c:594,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:595,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/deleg.c:595,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:602,1
    - Dst: LIBDNS_DELEGDB_INSERT_START_ENABLED
      Src: /src/bind9/lib/dns/deleg.c:604,1
    - Dst: LIBDNS_DELEGDB_INSERT_DONE_ENABLED
      Src: /src/bind9/lib/dns/deleg.c:605,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/deleg.c:607,1
    - Dst: LIBDNS_DELEGDB_INSERT_START
      Src: /src/bind9/lib/dns/deleg.c:609,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/deleg.c:611,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/deleg.c:612,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/deleg.c:614,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/deleg.c:621,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/deleg.c:622,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:625,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:625,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/deleg.c:627,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/deleg.c:628,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/deleg.c:631,1
    - Dst: delegdb_node_prepare
      Src: /src/bind9/lib/dns/deleg.c:638,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/deleg.c:644,1
    - Dst: delegdb_cleanup
      Src: /src/bind9/lib/dns/deleg.c:646,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/deleg.c:654,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/deleg.c:658,1
    - Dst: delegdb_node_unref
      Src: /src/bind9/lib/dns/deleg.c:665,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/deleg.c:671,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/deleg.c:672,1
    - Dst: ISC_SIEVE_INSERT
      Src: /src/bind9/lib/dns/deleg.c:678,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:678,1
    - Dst: delegdb_node_unref
      Src: /src/bind9/lib/dns/deleg.c:680,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/deleg.c:681,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/deleg.c:682,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/deleg.c:685,1
    - Dst: LIBDNS_DELEGDB_INSERT_DONE
      Src: /src/bind9/lib/dns/deleg.c:687,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 44
    argCount: 4
    argNames:
    - delegdb
    - zonecut
    - ttl
    - delegset
    argTypes:
    - dns_delegdb_t*
    - dns_name_t*
    - dns_ttl_t
    - dns_delegset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 582
    functionDepth: 13
    functionLinenumber: 582
    functionLinenumberEnd: 690
    functionName: dns_delegset_insert
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - LIBDNS_DELEGDB_INSERT_START_ENABLED
    - INSIST
    - dns_qpmulti_query
    - VALID_DELEGDB
    - ISC_SIEVE_INSERT
    - rcu_dereference
    - dns_qpmulti_commit
    - dns_qpread_destroy
    - dns_name_format
    - delegdb_node_prepare
    - rcu_read_unlock
    - delegdb_node_unref
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_compact
    - delegdb_cleanup
    - isc_stdtime_now
    - VALID_DELEGDB_NODE
    - isc_tid
    - DNS_NAME_VALID
    - rcu_read_lock
    - dns_qp_deletename
    - dns_qp_lookup
    - CLEANUP
    - LIBDNS_DELEGDB_INSERT_START
    - LIBDNS_DELEGDB_INSERT_DONE_ENABLED
    - DNS_DELEGSET_VALID
    - LIBDNS_DELEGDB_INSERT_DONE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_delegset_insert(dns_delegdb_t *delegdb, const dns_name_t
      *zonecut,\n\t\t    dns_ttl_t ttl, dns_delegset_t *delegset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:694,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/deleg.c:694,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:697,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/deleg.c:700,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:702,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/deleg.c:703,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/deleg.c:704,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:707,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/deleg.c:708,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/deleg.c:709,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/deleg.c:710,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/deleg.c:714,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/deleg.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - delegset
    argTypes:
    - dns_delegset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 718
    functionName: delegset_destroy
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_mem_putanddetach
    - DNS_DELEGSET_VALID
    - ISC_LIST_FOREACH
    - dns_name_free
    linkageType: ''
    returnType: void
    signature: void delegset_destroy(dns_delegset_t *delegset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/deleg.c:723,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:724,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:725,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/deleg.c:729,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/deleg.c:730,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:731,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/deleg.c:733,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:734,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - namelist
    - id
    - fp
    argTypes:
    - dns_namelist_t*
    - char*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 738
      start: 721
    functionDepth: 2
    functionLinenumber: 721
    functionLinenumberEnd: 738
    functionName: tostring_namelist
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_TAIL
    - fprintf
    - dns_name_totext
    - ISC_LIST_EMPTY
    - ISC_LIST_FOREACH
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void tostring_namelist(dns_namelist_t *namelist, const char *id, FILE
      *fp)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:745,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:756,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:757,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:765,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/deleg.c:769,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:771,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:778,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:779,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:787,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/deleg.c:791,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:793,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - deleg
    - fp
    argTypes:
    - dns_deleg_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 796
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 796
    functionName: deleg_tostring_addresses
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - fprintf
    - inet_ntop
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void deleg_tostring_addresses(dns_deleg_t *deleg, FILE *fp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/deleg.c:801,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:809,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/deleg.c:812,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/deleg.c:813,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:814,1
    - Dst: deleg_tostring_addresses
      Src: /src/bind9/lib/dns/deleg.c:819,1
    - Dst: tostring_namelist
      Src: /src/bind9/lib/dns/deleg.c:823,1
    - Dst: tostring_namelist
      Src: /src/bind9/lib/dns/deleg.c:825,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/deleg.c:828,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/deleg.c:831,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 5
    argNames:
    - zonecut
    - delegset
    - now
    - expired
    - fp
    argTypes:
    - dns_name_t*
    - dns_delegset_t*
    - isc_stdtime_t
    - bool
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 833
      start: 798
    functionDepth: 3
    functionLinenumber: 798
    functionLinenumberEnd: 833
    functionName: delegset_tostring
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_name_totext
    - fprintf
    - tostring_namelist
    - ISC_LIST_FOREACH
    - deleg_tostring_addresses
    - UNREACHABLE
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: "void delegset_tostring(const dns_name_t *zonecut, dns_delegset_t *delegset,\n\t\t
      \ isc_stdtime_t now, bool expired, FILE *fp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:837,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:837,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:838,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/deleg.c:843,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/deleg.c:846,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/deleg.c:847,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/deleg.c:849,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/deleg.c:853,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/deleg.c:855,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/deleg.c:856,1
    - Dst: isactive
      Src: /src/bind9/lib/dns/deleg.c:857,1
    - Dst: delegset_tostring
      Src: /src/bind9/lib/dns/deleg.c:861,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/deleg.c:865,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/deleg.c:867,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 3
    argNames:
    - delegdb
    - expired
    - fp
    argTypes:
    - dns_delegdb_t*
    - bool
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 868
      start: 835
    functionDepth: 4
    functionLinenumber: 835
    functionLinenumberEnd: 868
    functionName: dns_delegdb_dump
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 2
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - dns_qpiter_next
    - dns_qpread_destroy
    - isc_stdtime_now
    - dns_qpmulti_query
    - VALID_DELEGDB
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - delegset_tostring
    - isactive
    linkageType: ''
    returnType: void
    signature: void dns_delegdb_dump(dns_delegdb_t *delegdb, bool expired, FILE *fp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/deleg.c:876,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:882,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:884,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/deleg.c:887,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/deleg.c:888,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/deleg.c:890,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:894,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/deleg.c:899,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/deleg.c:905,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/deleg.c:906,1
    - Dst: dns_delegset_addns
      Src: /src/bind9/lib/dns/deleg.c:907,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - mctx
    - rdataset
    - delegsetp
    argTypes:
    - isc_mem_t*
    - dns_rdataset_t*
    - dns_delegset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 911
      start: 870
    functionDepth: 3
    functionLinenumber: 870
    functionLinenumberEnd: 911
    functionName: dns_delegset_fromnsrdataset
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - dns_rdataset_isassociated
    - isc_stdtime_now
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_delegset_addns
    - dns_rdataset_current
    - isc_mem_ref
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: "void dns_delegset_fromnsrdataset(isc_mem_t *mctx, dns_rdataset_t *rdataset,\n\t\t\t
      \   dns_delegset_t **delegsetp)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/deleg.c:905,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/deleg.c:906,1
    - Dst: dns_delegset_addns
      Src: /src/bind9/lib/dns/deleg.c:907,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 3
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 3
    functionsReached:
    - dns_rdata_tostruct
    - dns_delegset_addns
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/dns/deleg.c:918,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/deleg.c:920,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:926,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:926,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/deleg.c:935,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/deleg.c:937,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:943,1
    - Dst: VALID_DELEGDB_NODE
      Src: /src/bind9/lib/dns/deleg.c:943,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/deleg.c:944,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/deleg.c:950,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/deleg.c:957,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:960,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 2
    argNames:
    - qp
    - name
    argTypes:
    - dns_qp_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 913
    functionDepth: 12
    functionLinenumber: 913
    functionLinenumberEnd: 965
    functionName: deleg_deletetree
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_next
    - INSIST
    - VALID_DELEGDB_NODE
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - dns_qp_deletename
    - ISC_LIST
    - dns_qp_lookup
    - dns_name_issubdomain
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t deleg_deletetree(dns_qp_t *qp, const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/deleg.c:957,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/deleg.c:960,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 956
    functionDepth: 12
    functionLinenumber: 956
    functionLinenumberEnd: 961
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 195
    functionsReached:
    - dns_qp_deletename
    - INSIST
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(deadnodes, deadnode, deadlink)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/deleg.c:969,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qp
    - name
    argTypes:
    - dns_qp_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 970
      start: 967
    functionDepth: 12
    functionLinenumber: 967
    functionLinenumberEnd: 970
    functionName: deleg_deletenode
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - dns_qp_deletename
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t deleg_deletenode(dns_qp_t *qp, const dns_name_t *name)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:974,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:974,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:975,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/deleg.c:975,1
    - Dst: LIBDNS_DELEGDB_DELETE_ENABLED
      Src: /src/bind9/lib/dns/deleg.c:982,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/deleg.c:983,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/deleg.c:986,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/deleg.c:987,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/deleg.c:989,1
    - Dst: deleg_deletetree
      Src: /src/bind9/lib/dns/deleg.c:991,1
    - Dst: deleg_deletenode
      Src: /src/bind9/lib/dns/deleg.c:993,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/deleg.c:996,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/deleg.c:998,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/deleg.c:1000,1
    - Dst: LIBDNS_DELEGDB_DELETE
      Src: /src/bind9/lib/dns/deleg.c:1002,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - delegdb
    - name
    - tree
    argTypes:
    - dns_delegdb_t*
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 972
    functionDepth: 13
    functionLinenumber: 972
    functionLinenumberEnd: 1005
    functionName: dns_delegdb_delete
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - deleg_deletetree
    - dns_name_format
    - deleg_deletenode
    - VALID_DELEGDB
    - rcu_read_unlock
    - LIBDNS_DELEGDB_DELETE
    - DNS_NAME_VALID
    - rcu_read_lock
    - rcu_dereference
    - dns_qpmulti_write
    - dns_qp_compact
    - LIBDNS_DELEGDB_DELETE_ENABLED
    - dns_qpmulti_commit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_delegdb_delete(dns_delegdb_t *delegdb, const dns_name_t
      *name, bool tree)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:1011,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/deleg.c:1011,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:1011,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/deleg.c:1011,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:1012,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:1012,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/deleg.c:1014,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/deleg.c:1015,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/deleg.c:1018,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/deleg.c:1021,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/deleg.c:1024,1
    - Dst: LIBDNS_DELEGDB_SHUTDOWN
      Src: /src/bind9/lib/dns/deleg.c:1026,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1007
    functionDepth: 2
    functionLinenumber: 1007
    functionLinenumberEnd: 1028
    functionName: delegdb_shutdown_async
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - LIBDNS_DELEGDB_SHUTDOWN
    - isc_loop_main
    - VALID_DELEGDB
    - isc_loop_get
    - isc_refcount_decrement
    - isc_tid
    - isc_mem_ref
    - rcu_xchg_pointer
    - call_rcu
    linkageType: ''
    returnType: void
    signature: void delegdb_shutdown_async(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/deleg.c:1032,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:1032,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/deleg.c:1032,1
    - Dst: delegdb_shutdown_async
      Src: /src/bind9/lib/dns/deleg.c:1033,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/deleg.c:1035,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/deleg.c:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - delegdb
    argTypes:
    - dns_delegdb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1030
    functionDepth: 3
    functionLinenumber: 1030
    functionLinenumberEnd: 1037
    functionName: dns_delegdb_shutdown
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 3
    functionsReached:
    - isc_loop_main
    - isc_loop_get
    - delegdb_shutdown_async
    - isc_tid
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void dns_delegdb_shutdown(dns_delegdb_t *delegdb)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:1044,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:1044,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/deleg.c:1054,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/lib/dns/deleg.c:1061,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - delegdb
    - size
    argTypes:
    - dns_delegdb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1063
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1063
    functionName: delegdb_setsize
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 0
    functionsReached:
    - isc_mem_clearwater
    - REQUIRE
    - VALID_DELEGDB
    - isc_mem_setwater
    linkageType: ''
    returnType: void
    signature: void delegdb_setsize(dns_delegdb_t *delegdb, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:1067,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - delegdb
    argTypes:
    - dns_delegdb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1065
    functionDepth: 1
    functionLinenumber: 1065
    functionLinenumberEnd: 1069
    functionName: dns_delegdb_getconfig
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_DELEGDB
    linkageType: ''
    returnType: dns_delegdb_config_t
    signature: dns_delegdb_config_t dns_delegdb_getconfig(dns_delegdb_t *delegdb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:1074,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/deleg.c:1074,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/deleg.c:1074,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/deleg.c:1074,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/deleg.c:1075,1
    - Dst: VALID_DELEGDB
      Src: /src/bind9/lib/dns/deleg.c:1075,1
    - Dst: delegdb_setsize
      Src: /src/bind9/lib/dns/deleg.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - delegdb
    - config
    argTypes:
    - dns_delegdb_t*
    - dns_delegdb_config_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1080
    functionName: dns_delegdb_setconfig
    functionSourceFile: /src/bind9/lib/dns/deleg.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_loop_main
    - VALID_DELEGDB
    - isc_loop_get
    - isc_tid
    - delegdb_setsize
    linkageType: ''
    returnType: void
    signature: "void dns_delegdb_setconfig(dns_delegdb_t *delegdb,\n\t\t      const
      dns_delegdb_config_t *config)"
  - 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: 194
      start: 192
    functionDepth: 0
    functionLinenumber: 192
    functionLinenumberEnd: 194
    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: 196
      start: 195
    functionDepth: 0
    functionLinenumber: 195
    functionLinenumberEnd: 196
    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: 197
      start: 196
    functionDepth: 0
    functionLinenumber: 196
    functionLinenumberEnd: 197
    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: 203
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 203
    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: 212
      start: 209
    functionDepth: 0
    functionLinenumber: 209
    functionLinenumberEnd: 212
    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: 217
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 217
    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: 222
      start: 219
    functionDepth: 0
    functionLinenumber: 219
    functionLinenumberEnd: 222
    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:347,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/qp_p.h:349,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - qpr
    argTypes:
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 350
    functionName: qpbase_unref
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached:
    - isc_refcount_decrement
    - dns_qpreader
    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:358,1
    - Dst: ref_chunk
      Src: /src/bind9/lib/dns/qp_p.h:359,1
    - Dst: ref_cell
      Src: /src/bind9/lib/dns/qp_p.h:359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - ref
    argTypes:
    - dns_qpreadable_t
    - dns_qpref_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 356
    functionDepth: 1
    functionLinenumber: 356
    functionLinenumberEnd: 360
    functionName: ref_ptr
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 11
    functionsReached:
    - ref_chunk
    - ref_cell
    - dns_qpreader
    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: 376
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 376
    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: 377
      start: 376
    functionDepth: 0
    functionLinenumber: 376
    functionLinenumberEnd: 377
    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: 378
      start: 377
    functionDepth: 0
    functionLinenumber: 377
    functionLinenumberEnd: 378
    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: 379
      start: 378
    functionDepth: 0
    functionLinenumber: 378
    functionLinenumberEnd: 379
    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: 380
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 380
    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: 381
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 381
    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: 399
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 399
    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: 567
      start: 562
    functionDepth: 0
    functionLinenumber: 562
    functionLinenumberEnd: 567
    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: 575
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 575
    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: 587
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 587
    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:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 596
    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: 604
      start: 601
    functionDepth: 0
    functionLinenumber: 601
    functionLinenumberEnd: 604
    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: 612
      start: 609
    functionDepth: 0
    functionLinenumber: 609
    functionLinenumberEnd: 612
    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:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 622
      start: 619
    functionDepth: 2
    functionLinenumber: 619
    functionLinenumberEnd: 622
    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:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 630
      start: 627
    functionDepth: 1
    functionLinenumber: 627
    functionLinenumberEnd: 630
    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:637,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qp_p.h:638,1
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp_p.h:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - pval
    - ival
    argTypes:
    - void*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 640
      start: 635
    functionDepth: 1
    functionLinenumber: 635
    functionLinenumberEnd: 640
    functionName: make_leaf
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    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:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 656
    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:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 664
    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: 677
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 677
    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:684,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 682
    functionDepth: 2
    functionLinenumber: 682
    functionLinenumberEnd: 685
    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:692,1
    - Dst: branch_key_offset
      Src: /src/bind9/lib/dns/qp_p.h:692,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: 693
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 693
    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:701,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp_p.h:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 699
    functionDepth: 2
    functionLinenumber: 699
    functionLinenumberEnd: 702
    functionName: branch_twigs
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 6
    functionsReached:
    - ref_ptr
    - branch_twigs_ref
    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:709,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp_p.h:709,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp_p.h:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 707
    functionDepth: 2
    functionLinenumber: 707
    functionLinenumberEnd: 710
    functionName: prefetch_twigs
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 5
    functionsReached:
    - __builtin_prefetch
    - ref_ptr
    - branch_twigs_ref
    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:719,1
    - Dst: ref_ptr
      Src: /src/bind9/lib/dns/qp_p.h:723,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - qpr
    argTypes:
    - dns_qpreadable_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 725
      start: 717
    functionDepth: 2
    functionLinenumber: 717
    functionLinenumberEnd: 725
    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: 738
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 738
    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:755,1
    - Dst: stdc_count_zeros
      Src: /src/bind9/lib/dns/qp_p.h:756,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bit
    argTypes:
    - dns_qpnode_t*
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 757
      start: 752
    functionDepth: 2
    functionLinenumber: 752
    functionLinenumberEnd: 757
    functionName: branch_count_bitmap_before
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 0
    functionsReached:
    - branch_index
    - stdc_count_zeros
    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:767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - n
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 765
    functionDepth: 3
    functionLinenumber: 765
    functionLinenumberEnd: 768
    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:775,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bit
    argTypes:
    - dns_qpnode_t*
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 773
    functionDepth: 3
    functionLinenumber: 773
    functionLinenumberEnd: 776
    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:783,1
    - Dst: branch_twigs_ref
      Src: /src/bind9/lib/dns/qp_p.h:783,1
    - Dst: branch_twig_pos
      Src: /src/bind9/lib/dns/qp_p.h:783,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: 784
      start: 781
    functionDepth: 4
    functionLinenumber: 781
    functionLinenumberEnd: 784
    functionName: branch_twig_ptr
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 4
    functionsReached:
    - branch_twig_pos
    - ref_ptr
    - branch_twigs_ref
    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:791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - n
    - bit
    argTypes:
    - dns_qpnode_t*
    - dns_qpshift_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 792
      start: 789
    functionDepth: 2
    functionLinenumber: 789
    functionLinenumberEnd: 792
    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:798,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: 799
      start: 796
    functionDepth: 0
    functionLinenumber: 796
    functionLinenumberEnd: 799
    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:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - twigs
    - size
    argTypes:
    - dns_qpnode_t*
    - dns_qpweight_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 804
      start: 801
    functionDepth: 0
    functionLinenumber: 801
    functionLinenumberEnd: 804
    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:849,1
    - Dst: make_node
      Src: /src/bind9/lib/dns/qp_p.h:850,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - reader
    - multi
    argTypes:
    - dns_qpnode_t*
    - dns_qpmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 851
    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:856,1
    - Dst: node_tag
      Src: /src/bind9/lib/dns/qp_p.h:857,1
    - Dst: node32
      Src: /src/bind9/lib/dns/qp_p.h:858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - reader
    argTypes:
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 853
    functionDepth: 1
    functionLinenumber: 853
    functionLinenumberEnd: 859
    functionName: reader_valid
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 1
    functionsReached:
    - node_tag
    - node32
    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:867,1
    - Dst: reader_valid
      Src: /src/bind9/lib/dns/qp_p.h:867,1
    - Dst: node_pointer
      Src: /src/bind9/lib/dns/qp_p.h:868,1
    - Dst: node_pointer
      Src: /src/bind9/lib/dns/qp_p.h:869,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp_p.h:870,1
    - Dst: QPMULTI_VALID
      Src: /src/bind9/lib/dns/qp_p.h:870,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp_p.h:871,1
    - Dst: QPBASE_VALID
      Src: /src/bind9/lib/dns/qp_p.h:871,1
    - Dst: node32
      Src: /src/bind9/lib/dns/qp_p.h:876,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - qp
    - reader
    argTypes:
    - dns_qpreader_t*
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 865
    functionDepth: 2
    functionLinenumber: 865
    functionLinenumberEnd: 880
    functionName: unpack_reader
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 3
    functionsReached:
    - INSIST
    - node_pointer
    - reader_valid
    - QPBASE_VALID
    - QPMULTI_VALID
    - node32
    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:889,1
    - Dst: dns_qpreader_t*::methods::attach
      Src: /src/bind9/lib/dns/qp_p.h:890,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp_p.h:890,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp_p.h:890,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 891
      start: 887
    functionDepth: 3
    functionLinenumber: 887
    functionLinenumberEnd: 891
    functionName: attach_leaf
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached:
    - leaf_pval
    - dns_qpreader_t*::methods::attach
    - leaf_ival
    - dns_qpreader
    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:895,1
    - Dst: dns_qpreader_t*::methods::detach
      Src: /src/bind9/lib/dns/qp_p.h:896,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp_p.h:896,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp_p.h:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - qpr
    - n
    argTypes:
    - dns_qpreadable_t
    - dns_qpnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 897
      start: 893
    functionDepth: 3
    functionLinenumber: 893
    functionLinenumberEnd: 897
    functionName: detach_leaf
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 2
    functionsReached:
    - dns_qpreader_t*::methods::detach
    - leaf_pval
    - leaf_ival
    - dns_qpreader
    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:901,1
    - Dst: dns_qpreader_t*::methods::makekey
      Src: /src/bind9/lib/dns/qp_p.h:902,1
    - Dst: leaf_pval
      Src: /src/bind9/lib/dns/qp_p.h:902,1
    - Dst: leaf_ival
      Src: /src/bind9/lib/dns/qp_p.h:903,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qp_p.h:904,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: 906
      start: 899
    functionDepth: 3
    functionLinenumber: 899
    functionLinenumberEnd: 906
    functionName: leaf_qpkey
    functionSourceFile: /src/bind9/lib/dns/qp_p.h
    functionUses: 9
    functionsReached:
    - leaf_ival
    - dns_qpreader
    - INSIST
    - leaf_pval
    - dns_qpreader_t*::methods::makekey
    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:910,1
    - Dst: dns_qpreader_t*::methods::triename
      Src: /src/bind9/lib/dns/qp_p.h:911,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: 913
      start: 908
    functionDepth: 1
    functionLinenumber: 908
    functionLinenumberEnd: 913
    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: 917
      start: 915
    functionDepth: 0
    functionLinenumber: 915
    functionLinenumberEnd: 917
    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: 932
      start: 929
    functionDepth: 0
    functionLinenumber: 929
    functionLinenumberEnd: 932
    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: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 60
    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:67,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:68,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:69,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:69,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:97,1
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/lib/dns/opensslrsa_link.c:100,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:102,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:119,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/dns/opensslrsa_link.c:122,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslrsa_link.c:123,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:124,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 52
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 130
    functionName: opensslrsa_createctx
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - EVP_DigestInit_ex
    - REQUIRE
    - UNUSED
    - EVP_MD_CTX_destroy
    - EVP_MD_CTX_create
    - opensslrsa_valid_key_alg
    - dst__openssl_toresult3
    - UNREACHABLE
    - dst__openssl_toresult
    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:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:137,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:137,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslrsa_link.c:142,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 145
    functionName: opensslrsa_destroyctx
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_MD_CTX_destroy
    - opensslrsa_valid_key_alg
    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:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:152,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:152,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/dns/opensslrsa_link.c:156,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:157,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 161
    functionName: opensslrsa_adddata
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - opensslrsa_valid_key_alg
    - dst__openssl_toresult3
    - EVP_DigestUpdate
    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:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:173,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:173,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslrsa_link.c:191,1
    - Dst: EVP_PKEY_size
      Src: /src/bind9/lib/dns/opensslrsa_link.c:193,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:202,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:203,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:206,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:207,1
    - Dst: EVP_SignFinal
      Src: /src/bind9/lib/dns/opensslrsa_link.c:211,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:212,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslrsa_link.c:215,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 163
    functionDepth: 2
    functionLinenumber: 163
    functionLinenumberEnd: 218
    functionName: opensslrsa_sign
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_PKEY_size
    - isc_buffer_putmem
    - EVP_SignFinal
    - opensslrsa_valid_key_alg
    - isc_buffer_availableregion
    - isc_buffer_add
    - dst__openssl_toresult3
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_sign(dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:229,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:230,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:230,1
    - Dst: isc_ossl_wrap_rsa_key_bits_leq
      Src: /src/bind9/lib/dns/opensslrsa_link.c:236,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:247,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:256,1
    - Dst: EVP_VerifyFinal
      Src: /src/bind9/lib/dns/opensslrsa_link.c:265,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslrsa_link.c:270,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslrsa_link.c:272,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 275
    functionName: opensslrsa_verify
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_ossl_wrap_rsa_key_bits_leq
    - memcmp
    - opensslrsa_valid_key_alg
    - dst__openssl_toresult3
    - dst__openssl_toresult
    - EVP_VerifyFinal
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_verify(dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslrsa_link.c:282,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:292,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:299,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:306,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:310,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:314,1
    - Dst: isc_ossl_wrap_generate_pkcs11_rsa_key
      Src: /src/bind9/lib/dns/opensslrsa_link.c:314,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:317,1
    - Dst: isc_ossl_wrap_generate_rsa_key
      Src: /src/bind9/lib/dns/opensslrsa_link.c:317,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:327,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - key
    - unused
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 329
    functionName: opensslrsa_generate
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - isc_ossl_wrap_generate_pkcs11_rsa_key
    - isc_ossl_wrap_generate_rsa_key
    - CHECK
    - UNREACHABLE
    - EVP_PKEY_free
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_generate(dst_key_t *key, int unused, void (*callback)(int))
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:339,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslrsa_link.c:341,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:349,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:351,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:352,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:356,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/opensslrsa_link.c:358,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:359,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:363,1
    - Dst: isc_ossl_wrap_rsa_public_components
      Src: /src/bind9/lib/dns/opensslrsa_link.c:363,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:366,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:367,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:371,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/opensslrsa_link.c:373,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:374,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:377,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/opensslrsa_link.c:379,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/opensslrsa_link.c:380,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:381,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:385,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:388,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:389,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:390,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:391,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslrsa_link.c:393,1
    - Dst: isc_ossl_wrap_rsa_components_cleanup
      Src: /src/bind9/lib/dns/opensslrsa_link.c:396,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 331
    functionDepth: 2
    functionLinenumber: 331
    functionLinenumberEnd: 398
    functionName: opensslrsa_todns
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - BN_num_bytes
    - isc_buffer_putmem
    - BN_bn2bin
    - isc_buffer_putuint16
    - isc_ossl_wrap_rsa_public_components
    - isc_buffer_availableregion
    - isc_buffer_add
    - CHECK
    - isc_ossl_wrap_rsa_components_cleanup
    - isc_region_consume
    - isc_buffer_putuint8
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_todns(const dst_key_t *key, isc_buffer_t *data)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:408,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:408,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/opensslrsa_link.c:410,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:412,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:421,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:423,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:425,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslrsa_link.c:426,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/opensslrsa_link.c:430,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:432,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:434,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslrsa_link.c:435,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:441,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:445,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:449,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:452,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:454,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:458,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:460,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslrsa_link.c:461,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:462,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:464,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:466,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:467,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:469,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:470,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslrsa_link.c:472,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:474,1
    - Dst: isc_ossl_wrap_load_rsa_public_from_components
      Src: /src/bind9/lib/dns/opensslrsa_link.c:475,1
    - Dst: isc_ossl_wrap_rsa_components_cleanup
      Src: /src/bind9/lib/dns/opensslrsa_link.c:479,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 59
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 400
    functionDepth: 2
    functionLinenumber: 400
    functionLinenumberEnd: 481
    functionName: opensslrsa_fromdns
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_ossl_wrap_rsa_components_cleanup
    - BN_num_bits
    - isc_buffer_forward
    - memcmp
    - opensslrsa_valid_key_alg
    - BN_bin2bn
    - isc_buffer_remainingregion
    - isc_ossl_wrap_load_rsa_public_from_components
    - isc_region_consume
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_fromdns(dst_key_t *key, isc_buffer_t *data)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslrsa_link.c:492,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:495,1
    - Dst: isc_ossl_wrap_rsa_public_components
      Src: /src/bind9/lib/dns/opensslrsa_link.c:495,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:497,1
    - Dst: isc_ossl_wrap_rsa_secret_components
      Src: /src/bind9/lib/dns/opensslrsa_link.c:497,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:501,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:502,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:503,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:508,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:509,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:510,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:516,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:517,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:517,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:518,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:519,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:526,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:527,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:527,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:528,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:529,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:536,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:537,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:537,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:538,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:539,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:546,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:547,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:547,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:548,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:549,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:556,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:557,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:557,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:558,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:559,1
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslrsa_link.c:566,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:567,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:567,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslrsa_link.c:568,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslrsa_link.c:569,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/opensslrsa_link.c:576,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslrsa_link.c:583,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:586,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/opensslrsa_link.c:588,1
    - Dst: isc_ossl_wrap_rsa_components_cleanup
      Src: /src/bind9/lib/dns/opensslrsa_link.c:592,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 89
    argCount: 2
    argNames:
    - key
    - directory
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 595
      start: 483
    functionDepth: 2
    functionLinenumber: 483
    functionLinenumberEnd: 595
    functionName: opensslrsa_tofile
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - BN_num_bytes
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - isc_ossl_wrap_rsa_secret_components
    - BN_bn2bin
    - dst__privstruct_writefile
    - isc_ossl_wrap_rsa_public_components
    - strlen
    - CHECK
    - isc_ossl_wrap_rsa_components_cleanup
    - ARRAY_SIZE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslrsa_tofile(const dst_key_t *key, const char *directory)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:610,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslrsa_link.c:611,1
    - Dst: opensslrsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslrsa_link.c:611,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:616,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/opensslrsa_link.c:616,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:620,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:627,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:648,1
    - Dst: opensslrsa_fromlabel
      Src: /src/bind9/lib/dns/opensslrsa_link.c:648,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslrsa_link.c:650,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:653,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:655,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:666,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:669,1
    - Dst: BN_clear_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:697,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:704,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:706,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:707,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:709,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:710,1
    - Dst: BN_num_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:713,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:715,1
    - Dst: isc_ossl_wrap_load_rsa_secret_from_components
      Src: /src/bind9/lib/dns/opensslrsa_link.c:715,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslrsa_link.c:718,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:719,1
    - Dst: isc_ossl_wrap_rsa_components_cleanup
      Src: /src/bind9/lib/dns/opensslrsa_link.c:727,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:728,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:733,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/opensslrsa_link.c:734,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 102
    argCount: 3
    argNames:
    - key
    - lexer
    - pub
    argTypes:
    - dst_key_t*
    - isc_lex_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 600
    functionDepth: 2
    functionLinenumber: 600
    functionLinenumberEnd: 737
    functionName: opensslrsa_parse
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - BN_num_bits
    - opensslrsa_fromlabel
    - dst__privstruct_parse
    - EVP_PKEY_eq
    - opensslrsa_valid_key_alg
    - dst__privstruct_free
    - BN_clear_free
    - isc_safe_memwipe
    - BN_bin2bn
    - CHECK
    - isc_ossl_wrap_rsa_components_cleanup
    - EVP_PKEY_free
    - isc_ossl_wrap_load_rsa_secret_from_components
    - CLEANUP
    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: CHECK
      Src: /src/bind9/lib/dns/opensslrsa_link.c:744,1
    - Dst: dst__openssl_fromlabel
      Src: /src/bind9/lib/dns/opensslrsa_link.c:744,1
    - Dst: isc_ossl_wrap_rsa_key_bits_leq
      Src: /src/bind9/lib/dns/opensslrsa_link.c:747,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:748,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:750,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:751,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/opensslrsa_link.c:754,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslrsa_link.c:755,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:762,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:763,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 3
    argNames:
    - key
    - label
    - pin
    argTypes:
    - dst_key_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 765
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 765
    functionName: opensslrsa_fromlabel
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 1
    functionsReached:
    - isc_ossl_wrap_rsa_key_bits_leq
    - dst__openssl_fromlabel
    - isc_mem_strdup
    - EVP_PKEY_bits
    - CHECK
    - EVP_PKEY_free
    - CLEANUP
    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:863,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:890,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:896,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslrsa_link.c:897,1
    - Dst: isc_ossl_wrap_load_rsa_public_from_components
      Src: /src/bind9/lib/dns/opensslrsa_link.c:899,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslrsa_link.c:900,1
    - Dst: EVP_DigestInit_ex
      Src: /src/bind9/lib/dns/opensslrsa_link.c:905,1
    - Dst: EVP_DigestUpdate
      Src: /src/bind9/lib/dns/opensslrsa_link.c:906,1
    - Dst: EVP_VerifyFinal
      Src: /src/bind9/lib/dns/opensslrsa_link.c:907,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslrsa_link.c:909,1
    - Dst: isc_ossl_wrap_rsa_components_cleanup
      Src: /src/bind9/lib/dns/opensslrsa_link.c:913,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslrsa_link.c:914,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslrsa_link.c:915,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/opensslrsa_link.c:916,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 918
      start: 860
    functionDepth: 2
    functionLinenumber: 860
    functionLinenumberEnd: 918
    functionName: check_algorithm
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 1
    functionsReached:
    - EVP_DigestInit_ex
    - isc_ossl_wrap_rsa_components_cleanup
    - EVP_MD_CTX_destroy
    - INSIST
    - EVP_DigestUpdate
    - EVP_MD_CTX_create
    - ERR_clear_error
    - BN_bin2bn
    - isc_ossl_wrap_load_rsa_public_from_components
    - EVP_PKEY_free
    - EVP_VerifyFinal
    - CLEANUP
    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:922,1
    - Dst: check_algorithm
      Src: /src/bind9/lib/dns/opensslrsa_link.c:925,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - funcp
    - algorithm
    argTypes:
    - dst_func_t**
    - unsigned short
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 920
    functionDepth: 1
    functionLinenumber: 920
    functionLinenumberEnd: 929
    functionName: dst__opensslrsa_init
    functionSourceFile: /src/bind9/lib/dns/opensslrsa_link.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - check_algorithm
    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: 143
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 143
    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:155,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: 158
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 158
    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:163,1
    - Dst: isc_hmac_init
      Src: /src/bind9/lib/dns/hmac_link.c:165,1
    - Dst: isc_hmac_free
      Src: /src/bind9/lib/dns/hmac_link.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 160
    functionDepth: 0
    functionLinenumber: 160
    functionLinenumberEnd: 173
    functionName: hmac_createctx
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_hmac_init
    - isc_hmac_new
    - isc_hmac_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_createctx(const dst_key_t *key, dst_context_t *dctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:178,1
    - Dst: isc_hmac_free
      Src: /src/bind9/lib/dns/hmac_link.c:180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 182
    functionName: hmac_destroyctx
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_hmac_free
    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:189,1
    - Dst: isc_hmac_update
      Src: /src/bind9/lib/dns/hmac_link.c:191,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 184
    functionDepth: 1
    functionLinenumber: 184
    functionLinenumberEnd: 197
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:203,1
    - Dst: isc_hmac_final
      Src: /src/bind9/lib/dns/hmac_link.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 206
    functionName: hmac_sign
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_hmac_final
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_sign(const dst_context_t *dctx, isc_buffer_t *sig)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/hmac_link.c:214,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/hmac_link.c:216,1
    - Dst: isc_hmac_final
      Src: /src/bind9/lib/dns/hmac_link.c:218,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/hmac_link.c:222,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/dns/hmac_link.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 208
    functionDepth: 2
    functionLinenumber: 208
    functionLinenumberEnd: 229
    functionName: hmac_verify
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_safe_memequal
    - isc_buffer_usedlength
    - isc_hmac_final
    - isc_buffer_init
    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_hmac_key_equal
      Src: /src/bind9/lib/dns/hmac_link.c:244,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 245
    functionName: hmac_compare
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_hmac_key_equal
    linkageType: ''
    returnType: bool
    signature: bool hmac_compare(const dst_key_t *key1, const dst_key_t *key2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_md_type_get_block_size
      Src: /src/bind9/lib/dns/hmac_link.c:254,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/lib/dns/hmac_link.c:263,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/hmac_link.c:265,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/hmac_link.c:266,1
    - Dst: hmac_fromdns
      Src: /src/bind9/lib/dns/hmac_link.c:268,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/hmac_link.c:270,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: 273
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 273
    functionName: hmac_generate
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_nonce_buf
    - isc_md_type_get_block_size
    - isc_buffer_add
    - isc_safe_memwipe
    - hmac_fromdns
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_generate(isc_md_type_t type, dst_key_t *key)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/hmac_link.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 279
    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_hmac_key_destroy
      Src: /src/bind9/lib/dns/hmac_link.c:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 0
    functionLinenumber: 281
    functionLinenumberEnd: 284
    functionName: hmac_destroy
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_hmac_key_destroy
    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:290,1
    - Dst: isc_hmac_key_expose
      Src: /src/bind9/lib/dns/hmac_link.c:292,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/hmac_link.c:294,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/hmac_link.c:298,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 299
    functionName: hmac_todns
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - REQUIRE
    - isc_buffer_availablelength
    - isc_hmac_key_expose
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_todns(const dst_key_t *key, isc_buffer_t *data)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/hmac_link.c:307,1
    - Dst: isc_hmac_key_create
      Src: /src/bind9/lib/dns/hmac_link.c:312,1
    - Dst: isc_hmac_key_expose
      Src: /src/bind9/lib/dns/hmac_link.c:317,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/hmac_link.c:320,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - type
    - key
    - data
    argTypes:
    - isc_md_type_t
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 323
    functionName: hmac_fromdns
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 1
    functionsReached:
    - isc_buffer_forward
    - isc_hmac_key_expose
    - isc_hmac_key_create
    - isc_buffer_remainingregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_fromdns(isc_md_type_t type, dst_key_t *key, isc_buffer_t
      *data)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/hmac_link.c:341,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_md_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 343
    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(isc_md_type_t type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/hmac_link.c:361,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_md_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 345
    functionDepth: 1
    functionLinenumber: 345
    functionLinenumberEnd: 363
    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(isc_md_type_t type)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isc_hmac_key_expose
      Src: /src/bind9/lib/dns/hmac_link.c:379,1
    - Dst: hmac__get_tag_key
      Src: /src/bind9/lib/dns/hmac_link.c:381,1
    - Dst: htons
      Src: /src/bind9/lib/dns/hmac_link.c:385,1
    - Dst: hmac__get_tag_bits
      Src: /src/bind9/lib/dns/hmac_link.c:387,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/hmac_link.c:393,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: 394
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 394
    functionName: hmac_tofile
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - dst__privstruct_writefile
    - hmac__get_tag_bits
    - hmac__get_tag_key
    - isc_hmac_key_expose
    - htons
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t hmac_tofile(isc_md_type_t type, const dst_key_t *key,
      const char *directory)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/hmac_link.c:411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - type
    argTypes:
    - isc_md_type_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 396
    functionDepth: 1
    functionLinenumber: 396
    functionLinenumberEnd: 413
    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(isc_md_type_t type)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/hmac_link.c:424,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/hmac_link.c:426,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/hmac_link.c:426,1
    - Dst: hmac__to_dst_alg
      Src: /src/bind9/lib/dns/hmac_link.c:426,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/hmac_link.c:442,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/hmac_link.c:444,1
    - Dst: hmac_fromdns
      Src: /src/bind9/lib/dns/hmac_link.c:445,1
    - Dst: getkeybits
      Src: /src/bind9/lib/dns/hmac_link.c:456,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/hmac_link.c:466,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/hmac_link.c:467,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    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: 469
      start: 415
    functionDepth: 3
    functionLinenumber: 415
    functionLinenumberEnd: 469
    functionName: hmac_parse
    functionSourceFile: /src/bind9/lib/dns/hmac_link.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dst__privstruct_parse
    - isc_buffer_add
    - hmac__to_dst_alg
    - RETERR
    - getkeybits
    - dst__privstruct_free
    - isc_safe_memwipe
    - hmac_fromdns
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t hmac_parse(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: 393
    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:
    - REQUIRE
    - dst_key_inactive
    - KSK
    - REVOKE
    - dst_key_isprivate
    - SET_IF_NOT_NULL
    - dst_key_getbool
    - ALG
    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: 2
    functionLinenumber: 200
    functionLinenumberEnd: 210
    functionName: dst_key_setbits
    functionSourceFile: /src/bind9/lib/dns/key.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dst_key_sigsize
    - 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_free
    - isc_mem_strdup
    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: 7
    argNames:
    - (
    - a
    - ','
    - min
    - ','
    - max
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 110
    functionDepth: 0
    functionLinenumber: 110
    functionLinenumberEnd: 111
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    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: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    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: 119
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 119
    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: 120
      start: 119
    functionDepth: 0
    functionLinenumber: 119
    functionLinenumberEnd: 120
    functionName: ZONEKEY
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZONEKEY(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: ID
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 393
    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: 122
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 122
    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: 130
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 130
    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: 135
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 135
    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: 5
    argNames:
    - (
    - z
    - ','
    - d
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 161
    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: 7
    argNames:
    - (
    - a
    - ','
    - b
    - ','
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 365
    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: 379
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 379
    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: 392
      start: 380
    functionDepth: 0
    functionLinenumber: 380
    functionLinenumberEnd: 392
    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:439,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - counter
    argTypes:
    - dns_zone_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 441
    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:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:453,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:455,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:456,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:501,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/zone.c:502,1
    - Dst: ZONEDB_INITLOCK
      Src: /src/bind9/lib/dns/zone.c:503,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/zone.c:505,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/zone.c:506,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:507,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:508,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:509,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:510,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:511,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:518,1
    - Dst: dns_notifyctx_init
      Src: /src/bind9/lib/dns/zone.c:520,1
    - Dst: dns_notifyctx_init
      Src: /src/bind9/lib/dns/zone.c:521,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/zone.c:523,1
    - Dst: dns_zone_setdbtype
      Src: /src/bind9/lib/dns/zone.c:529,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 3
    argNames:
    - zonep
    - mctx
    - tid
    argTypes:
    - dns_zone_t**
    - isc_mem_t*
    - isc_tid_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 447
    functionDepth: 3
    functionLinenumber: 447
    functionLinenumberEnd: 532
    functionName: dns_zone_create
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_time_now
    - isc_mutex_init
    - dns_name_init
    - isc_mem_get
    - ZONEDB_INITLOCK
    - ISC_LIST_INIT
    - dns_zone_setdbtype
    - isc_sockaddr_any6
    - isc_stats_create
    - isc_sockaddr_any
    - dns_notifyctx_init
    - isc_refcount_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:536,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:537,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:538,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - list
    - mctx
    argTypes:
    - dns_dnsseckeylist_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 534
    functionDepth: 2
    functionLinenumber: 534
    functionLinenumberEnd: 540
    functionName: clear_keylist
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_dnsseckey_destroy
    linkageType: ''
    returnType: void
    signature: void clear_keylist(dns_dnsseckeylist_t *list, isc_mem_t *mctx)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:544,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:544,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:545,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:545,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:546,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:547,1
    - Dst: dns_zone_unloadplugins
      Src: /src/bind9/lib/dns/zone.c:549,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zone.c:551,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zone.c:552,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:558,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:560,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:561,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:562,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:565,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:566,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:567,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:570,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:571,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:572,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:573,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:574,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:577,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:578,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:579,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:580,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:581,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:584,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:585,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:586,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:587,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:590,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:591,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:592,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:593,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:597,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:600,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:603,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zone.c:607,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zone.c:610,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:612,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:613,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:615,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:616,1
    - Dst: dns_skr_detach
      Src: /src/bind9/lib/dns/zone.c:620,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:625,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/zone.c:628,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/zone.c:631,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/lib/dns/zone.c:634,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/dns/zone.c:637,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:640,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:643,1
    - Dst: dns_rpz_zones_detach
      Src: /src/bind9/lib/dns/zone.c:644,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/zone.c:648,1
    - Dst: dns__zone_freedbargs
      Src: /src/bind9/lib/dns/zone.c:650,1
    - Dst: dns_zone_setparentals
      Src: /src/bind9/lib/dns/zone.c:652,1
    - Dst: dns_zone_setprimaries
      Src: /src/bind9/lib/dns/zone.c:653,1
    - Dst: dns_zone_setalsonotify
      Src: /src/bind9/lib/dns/zone.c:654,1
    - Dst: dns_zone_setcdsendpoints
      Src: /src/bind9/lib/dns/zone.c:655,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:659,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:662,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:665,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:668,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:671,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:674,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zone.c:677,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:679,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:680,1
    - Dst: dns_zone_setrad
      Src: /src/bind9/lib/dns/zone.c:683,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:686,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:689,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:692,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:695,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/dns/zone.c:698,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/zone.c:701,1
    - Dst: ZONEDB_DESTROYLOCK
      Src: /src/bind9/lib/dns/zone.c:705,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/zone.c:706,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:708,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 145
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 709
    functionName: dns__zone_free
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_dbiterator_destroy
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - dns_stats_detach
    - DNS_ZONE_VALID
    - dns_zone_setparentals
    - isc_mem_putanddetach
    - dns_skr_detach
    - isc_mutex_destroy
    - isc_stats_detach
    - dns_acl_detach
    - isc_statsmulti_detach
    - dns_rpz_zones_detach
    - clear_keylist
    - ZONEDB_DESTROYLOCK
    - isc_mem_free
    - dns__zone_freedbargs
    - dns_request_destroy
    - LOCKED_ZONE
    - dns_db_detach
    - dns_name_dynamic
    - dns_zone_unloadplugins
    - ISC_LIST_EMPTY
    - dns_zone_setalsonotify
    - isc_refcount_destroy
    - dns_ssutable_detach
    - dns_kasp_detach
    - dns_zone_setrad
    - zone_detachdb
    - ISC_LIST_FOREACH
    - dns_zone_setprimaries
    - dns_catz_zones_detach
    - dns_name_free
    - dns_zone_setcdsendpoints
    linkageType: ''
    returnType: void
    signature: void dns__zone_free(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:717,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:717,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:718,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:718,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 715
    functionDepth: 1
    functionLinenumber: 715
    functionLinenumberEnd: 723
    functionName: dns__zone_inline_secure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_inline_secure(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:731,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:731,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:732,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:732,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 729
    functionDepth: 1
    functionLinenumber: 729
    functionLinenumberEnd: 737
    functionName: dns__zone_inline_raw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_inline_raw(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:744,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:744,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:745,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:747,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:748,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:750,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:759,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:760,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - zone
    - serialp
    argTypes:
    - dns_zone_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 763
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 763
    functionName: dns_zone_getserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - zone_get_from_db
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    - UNLOCK_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:772,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:772,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:773,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:775,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:777,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:780,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:781,1
    - Dst: dns_db_getzoneversion
      Src: /src/bind9/lib/dns/zone.c:784,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:786,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:793,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:794,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:795,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:798,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/zone.c:799,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:806,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:808,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:810,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 33
    argCount: 2
    argNames:
    - zone
    - b
    argTypes:
    - dns_zone_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 813
      start: 765
    functionDepth: 2
    functionLinenumber: 765
    functionLinenumberEnd: 813
    functionName: dns_zone_getzoneversion
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_OPTION
    - DNS_ZONE_VALID
    - dns_db_getzoneversion
    - isc_buffer_putuint32
    - LOCK_ZONE
    - zone_get_from_db
    - isc_buffer_availablelength
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    - isc_buffer_putuint8
    - dns_name_countlabels
    - UNLOCK_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: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:822,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/zone.c:824,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 815
    functionDepth: 1
    functionLinenumber: 815
    functionLinenumberEnd: 829
    functionName: dns__zone_freedbargs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_mem_free
    - isc_mem_cput
    linkageType: ''
    returnType: void
    signature: void dns__zone_freedbargs(dns_zone_t *zone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/zone.c:836,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:839,1
    - Dst: dns_view_sfd_del
      Src: /src/bind9/lib/dns/zone.c:841,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:842,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/zone.c:844,1
    - Dst: dns_view_sfd_add
      Src: /src/bind9/lib/dns/zone.c:845,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:848,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:851,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zone.c:854,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:855,1
    - Dst: zone_viewname_tostr
      Src: /src/bind9/lib/dns/zone.c:856,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:857,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:859,1
    - Dst: dns_zone_setview
      Src: /src/bind9/lib/dns/zone.c:860,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 2
    argNames:
    - zone
    - view
    argTypes:
    - dns_zone_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 862
      start: 831
    functionDepth: 2
    functionLinenumber: 831
    functionLinenumberEnd: 862
    functionName: dns__zone_setview_helper
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_view_weakattach
    - INSIST
    - dns_view_weakdetach
    - zone_namerd_tostr
    - dns_view_sfd_add
    - zone_viewname_tostr
    - isc_mem_strdup
    - dns_view_sfd_del
    - isc_mem_free
    - dns_zone_setview
    - dns__zone_inline_secure
    linkageType: ''
    returnType: void
    signature: void dns__zone_setview_helper(dns_zone_t *zone, dns_view_t *view)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:866,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:866,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:868,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:870,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:872,1
    - Dst: dns_zone_setviewcommit
      Src: /src/bind9/lib/dns/zone.c:873,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:875,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 876
      start: 864
    functionDepth: 2
    functionLinenumber: 864
    functionLinenumberEnd: 876
    functionName: dns_zone_setviewcommit
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_view_weakdetach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_zone_setviewcommit
    - dns__zone_inline_secure
    - UNLOCK_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:880,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:880,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:882,1
    - Dst: dns__zone_setview_helper
      Src: /src/bind9/lib/dns/zone.c:884,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:885,1
    - Dst: zone_catz_enable
      Src: /src/bind9/lib/dns/zone.c:888,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:890,1
    - Dst: dns_zone_setviewrevert
      Src: /src/bind9/lib/dns/zone.c:891,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:893,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 894
      start: 878
    functionDepth: 3
    functionLinenumber: 878
    functionLinenumberEnd: 894
    functionName: dns_zone_setviewrevert
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_zone_setviewrevert
    - dns_view_weakdetach
    - DNS_ZONE_VALID
    - zone_catz_enable
    - LOCK_ZONE
    - dns__zone_inline_secure
    - dns__zone_setview_helper
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setviewrevert(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:908,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:908,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:913,1
    - Dst: dns_acl_isnone
      Src: /src/bind9/lib/dns/zone.c:927,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 12
    argCount: 2
    argNames:
    - zone
    - ignore_freeze
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 933
      start: 906
    functionDepth: 3
    functionLinenumber: 906
    functionLinenumberEnd: 933
    functionName: dns_zone_isdynamic
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_remote_addresses
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_acl_isnone
    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:944,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:946,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:948,1
    - Dst: dns_rpz_zones_attach
      Src: /src/bind9/lib/dns/zone.c:949,1
    - Dst: DNS_RPZ_ZBIT
      Src: /src/bind9/lib/dns/zone.c:952,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:953,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: 956
      start: 938
    functionDepth: 1
    functionLinenumber: 938
    functionLinenumberEnd: 956
    functionName: dns_zone_rpz_enable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RPZ_ZBIT
    - LOCK_ZONE
    - dns_rpz_zones_attach
    - UNLOCK_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: 961
      start: 958
    functionDepth: 0
    functionLinenumber: 958
    functionLinenumberEnd: 961
    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:971,1
    - Dst: dns_rpz_dbupdate_register
      Src: /src/bind9/lib/dns/zone.c:972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 973
      start: 966
    functionDepth: 2
    functionLinenumber: 966
    functionLinenumberEnd: 973
    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:980,1
    - Dst: dns_rpz_dbupdate_unregister
      Src: /src/bind9/lib/dns/zone.c:981,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 982
      start: 975
    functionDepth: 2
    functionLinenumber: 975
    functionLinenumberEnd: 982
    functionName: dns_zone_rpz_disable_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rpz_dbupdate_unregister
    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:989,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:989,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:990,1
    - Dst: dns_catz_dbupdate_register
      Src: /src/bind9/lib/dns/zone.c:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 995
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 995
    functionName: dns_zone_catz_enable_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - 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:999,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:999,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1000,1
    - Dst: dns_catz_dbupdate_unregister
      Src: /src/bind9/lib/dns/zone.c:1003,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1005
      start: 997
    functionDepth: 1
    functionLinenumber: 997
    functionLinenumberEnd: 1005
    functionName: dns_zone_catz_disable_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - 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:1009,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1009,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1010,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1012,1
    - Dst: dns_catz_catzs_set_view
      Src: /src/bind9/lib/dns/zone.c:1013,1
    - Dst: dns_catz_zones_attach
      Src: /src/bind9/lib/dns/zone.c:1015,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: 1017
      start: 1007
    functionDepth: 1
    functionLinenumber: 1007
    functionLinenumberEnd: 1017
    functionName: zone_catz_enable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_catz_catzs_set_view
    - INSIST
    - DNS_ZONE_VALID
    - dns_catz_zones_attach
    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:1021,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1021,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1023,1
    - Dst: zone_catz_enable
      Src: /src/bind9/lib/dns/zone.c:1024,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1025,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: 1026
      start: 1019
    functionDepth: 2
    functionLinenumber: 1019
    functionLinenumberEnd: 1026
    functionName: dns_zone_catz_enable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_catz_enable
    - LOCK_ZONE
    - UNLOCK_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:1030,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1030,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:1034,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/zone.c:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1028
    functionDepth: 2
    functionLinenumber: 1028
    functionLinenumberEnd: 1038
    functionName: zone_catz_disable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_zone_catz_disable_db
    - dns_catz_zones_detach
    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:1042,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1042,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1044,1
    - Dst: zone_catz_disable
      Src: /src/bind9/lib/dns/zone.c:1045,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1046,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1047
      start: 1040
    functionDepth: 3
    functionLinenumber: 1040
    functionLinenumberEnd: 1047
    functionName: dns_zone_catz_disable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_catz_disable
    - LOCK_ZONE
    - UNLOCK_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:1051,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1051,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1054
    functionName: dns_zone_catz_is_enabled
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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:1061,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1061,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1062,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1063,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1064,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1066,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: 1067
      start: 1059
    functionDepth: 1
    functionLinenumber: 1059
    functionLinenumberEnd: 1067
    functionName: dns_zone_set_parentcatz
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_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:1071,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1071,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1075,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1077,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1069
    functionDepth: 1
    functionLinenumber: 1069
    functionLinenumberEnd: 1080
    functionName: dns_zone_get_parentcatz
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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:1087,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1087,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:1089,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:1091,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1096,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:1097,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:1099,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1082
    functionDepth: 3
    functionLinenumber: 1082
    functionLinenumberEnd: 1106
    functionName: zone_touched
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_time_compare
    - DNS_ZONE_VALID
    - ISC_LIST_FOREACH
    - isc_file_getmodtime
    linkageType: ''
    returnType: bool
    signature: bool zone_touched(dns_zone_t *zone)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1114,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/zone.c:1114,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1115,1
    - Dst: isc_stdio_open
      Src: /src/bind9/lib/dns/zone.c:1115,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1117,1
    - Dst: isc_file_getsizefd
      Src: /src/bind9/lib/dns/zone.c:1117,1
    - Dst: fileno
      Src: /src/bind9/lib/dns/zone.c:1117,1
    - Dst: isc_stdio_read
      Src: /src/bind9/lib/dns/zone.c:1123,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1125,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1127,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/zone.c:1127,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/zone.c:1133,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/zone.c:1137,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/zone.c:1139,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1108
    functionDepth: 3
    functionLinenumber: 1108
    functionLinenumberEnd: 1142
    functionName: copy_initfile
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - isc_stdio_open
    - isc_stdio_write
    - fileno
    - isc_stdio_read
    - CHECK
    - isc_file_getsizefd
    - isc_file_remove
    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:1157,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1157,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1160,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1163,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:1164,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:1188,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1191,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1195,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:1198,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1200,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:1203,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:1205,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:1207,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1210,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:1212,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:1222,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:1243,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:1257,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:1264,1
    - Dst: zone_touched
      Src: /src/bind9/lib/dns/zone.c:1265,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1267,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:1268,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:1271,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:1278,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:1280,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:1291,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:1292,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:1293,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:1303,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1307,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:1308,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/zone.c:1308,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:1309,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1316,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:1321,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:1324,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:1333,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:1335,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:1336,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:1339,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1349,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:1352,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:1361,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:1364,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/dns/zone.c:1368,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1371,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:1372,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:1377,1
    - Dst: isc_file_exists
      Src: /src/bind9/lib/dns/zone.c:1385,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1387,1
    - Dst: copy_initfile
      Src: /src/bind9/lib/dns/zone.c:1391,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1393,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:1396,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1400,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:1400,1
    - Dst: dns_zone_makedb
      Src: /src/bind9/lib/dns/zone.c:1403,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1405,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:1407,1
    - Dst: dns_db_ispersistent
      Src: /src/bind9/lib/dns/zone.c:1411,1
    - Dst: zone_startload
      Src: /src/bind9/lib/dns/zone.c:1413,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:1418,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1420,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:1426,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:1434,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:1436,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:1441,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1445,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1448,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:1451,1
    CyclomaticComplexity: 72
    EdgeCount: 72
    ICount: 163
    argCount: 3
    argNames:
    - zone
    - flags
    - locked
    argTypes:
    - dns_zone_t*
    - unsigned int
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1454
      start: 1149
    functionDepth: 4
    functionLinenumber: 1149
    functionLinenumberEnd: 1454
    functionName: zone_load
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - zone_postload
    - INSIST
    - DNS_ZONE_VALID
    - ISC_LOG_DEBUG
    - isc_file_getmodtime
    - isc_time_compare
    - zone_attachdb
    - zone_touched
    - LOCK_ZONE
    - isc_time_isepoch
    - copy_initfile
    - dns_db_ispersistent
    - zone_startload
    - isc_file_exists
    - isc_result_totext
    - strcmp
    - isc_time_now
    - dns_db_detach
    - zone_load
    - dns__zone_settimer
    - dns_zone_makedb
    - ZONEDB_UNLOCK
    - dns_zone_logc
    - ZONEDB_LOCK
    - dns__zone_inline_secure
    - CLEANUP
    - dns_remote_addresses
    - DNS_DLZ_VALID
    - DNS_ZONE_FLAG
    - dns_zone_isdynamic
    - DNS_ZONE_SETFLAG
    - ISC_LIST_FOREACH
    - zone_detachdb
    - UNLOCK_ZONE
    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:1458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zone
    - newonly
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1459
      start: 1456
    functionDepth: 5
    functionLinenumber: 1456
    functionLinenumberEnd: 1459
    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:1467,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1467,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1469,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:1470,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:1472,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1474,1
    - Dst: dns_asyncload_t*::loaded
      Src: /src/bind9/lib/dns/zone.c:1478,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:1481,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:1482,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1461
    functionDepth: 5
    functionLinenumber: 1461
    functionLinenumberEnd: 1483
    functionName: zone_asyncload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_asyncload_t*::loaded
    - zone_load
    - isc_mem_put
    - DNS_ZONE_VALID
    - dns_zone_idetach
    - LOCK_ZONE
    - DNS_ZONE_CLRFLAG
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void zone_asyncload(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:1490,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1490,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1497,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:1498,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1499,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:1503,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:1510,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:1511,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:1512,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1513,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: 1516
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1516
    functionName: dns_zone_asyncload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    - isc_async_run
    - LOCK_ZONE
    - DNS_ZONE_SETFLAG
    - zone_iattach
    - UNLOCK_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:1520,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1520,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1523
    functionName: dns__zone_loadpending
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_loadpending(dns_zone_t *zone)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1530,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:1531,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1532,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:1535,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:1543,1
    - Dst: zone_load
      Src: /src/bind9/lib/dns/zone.c:1545,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 28
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1566
      start: 1525
    functionDepth: 5
    functionLinenumber: 1525
    functionLinenumberEnd: 1566
    functionName: dns_zone_loadandthaw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_ZONE_SETOPTION
    - zone_load
    - LOCK_ZONE
    - dns__zone_inline_raw
    - UNLOCK_ZONE
    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:1575,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1582,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1585,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1588,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1591,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1594,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1597,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1600,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1603,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1606,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1611
      start: 1568
    functionDepth: 1
    functionLinenumber: 1568
    functionLinenumberEnd: 1611
    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:1618,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:1618,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:1627,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:1628,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:1633,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:1634,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:1635,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:1637,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:1639,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:1642,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - filename
    - arg
    argTypes:
    - char*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1643
      start: 1613
    functionDepth: 3
    functionLinenumber: 1613
    functionLinenumberEnd: 1643
    functionName: zone_registerinclude
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - strcmp
    - isc_mem_get
    - DNS_ZONE_VALID
    - isc_time_settoepoch
    - ISC_LIST_APPEND
    - isc_mem_strdup
    - ISC_LIST_FOREACH
    - isc_file_getmodtime
    - ISC_LINK_INIT
    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:1650,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:1652,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:1659,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - raw
    - rawdata
    argTypes:
    - dns_zone_t*
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1660
      start: 1645
    functionDepth: 1
    functionLinenumber: 1645
    functionLinenumberEnd: 1660
    functionName: get_raw_serial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_get_from_db
    - UNLOCK
    - LOCK
    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: 1676
      start: 1668
    functionDepth: 0
    functionLinenumber: 1668
    functionLinenumberEnd: 1676
    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:1684,1
    - Dst: zone_setrawdata
      Src: /src/bind9/lib/dns/zone.c:1685,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:1686,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - header
    argTypes:
    - dns_zone_t*
    - dns_masterrawheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1687
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1687
    functionName: dns_zone_setrawdata
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - UNLOCK_ZONE
    - zone_setrawdata
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrawdata(dns_zone_t *zone, dns_masterrawheader_t *header)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:1694,1
    - Dst: dns_zone_rpz_enable_db
      Src: /src/bind9/lib/dns/zone.c:1702,1
    - Dst: dns_zone_catz_enable_db
      Src: /src/bind9/lib/dns/zone.c:1703,1
    - Dst: get_primary_options
      Src: /src/bind9/lib/dns/zone.c:1705,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1706,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:1710,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:1711,1
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/zone.c:1713,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:1715,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1717,1
    - Dst: dns_db_beginload
      Src: /src/bind9/lib/dns/zone.c:1717,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:1720,1
    - Dst: dns_master_loadfileasync
      Src: /src/bind9/lib/dns/zone.c:1720,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:1721,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:1721,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zone.c:1729,1
    - Dst: dns_master_loadstream
      Src: /src/bind9/lib/dns/zone.c:1730,1
    - Dst: dns_master_loadfile
      Src: /src/bind9/lib/dns/zone.c:1734,1
    - Dst: dns_zone_rpz_disable_db
      Src: /src/bind9/lib/dns/zone.c:1743,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:1744,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/zone.c:1747,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:1752,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:1753,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:1754,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:1756,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 39
    argCount: 3
    argNames:
    - db
    - zone
    - loadtime
    argTypes:
    - dns_db_t*
    - dns_zone_t*
    - isc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1758
      start: 1689
    functionDepth: 4
    functionLinenumber: 1689
    functionLinenumberEnd: 1758
    functionName: zone_startload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_endload
    - isc_mem_put
    - dns_db_origin
    - DNS_ZONE_OPTION
    - dns_master_loadfileasync
    - dns_zone_rpz_enable_db
    - zone_iattach
    - dns_master_loadfile
    - dns_zone_catz_disable_db
    - dns_master_loadstream
    - dns_zone_catz_enable_db
    - dns_db_detach
    - dns_rdatacallbacks_init
    - CHECK
    - UNCONST
    - dns_db_beginload
    - dns_db_attach
    - isc_mem_get
    - get_primary_options
    - dns_zone_rpz_disable_db
    - zone_idetach
    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:1774,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:1781,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:1794,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:1796,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:1803,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:1810,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:1811,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1815,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:1818,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1825,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1826,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1830,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:1831,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1839,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1840,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1844,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:1845,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:1846,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: 1859
      start: 1760
    functionDepth: 1
    functionLinenumber: 1760
    functionLinenumberEnd: 1859
    functionName: zone_check_mx
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dns_name_format
    - DNS_ZONE_OPTION
    - dns_zone_log
    - dns_db_find
    - dns_fixedname_initname
    - dns_name_issubdomain
    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:1875,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:1882,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:1895,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:1897,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:1904,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:1911,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:1912,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:1916,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1924,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1925,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1929,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:1930,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1938,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1939,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:1943,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:1944,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:1945,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: 1958
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1958
    functionName: zone_check_srv
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dns_name_format
    - dns_zone_log
    - DNS_ZONE_OPTION
    - dns_db_find
    - dns_fixedname_initname
    - dns_name_issubdomain
    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: 26
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:1977,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:1990,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:1991,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:1992,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:1998,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2006,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2007,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:2012,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2013,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2015,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2021,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2027,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2033,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2037,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:2038,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2039,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2043,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2056,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2057,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2062,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2063,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2069,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2079,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2081,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2097,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2102,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2103,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2110,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2111,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 95
    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: 2113
      start: 1960
    functionDepth: 1
    functionLinenumber: 1960
    functionLinenumberEnd: 2113
    functionName: zone_check_glue
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - dns_name_format
    - DNS_ZONE_OPTION
    - SET_IF_NOT_NULL
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_find
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - dns_name_issubdomain
    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:2126,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:2130,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2136,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/zone.c:2137,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2144,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/zone.c:2145,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2147,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:2149,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2154,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2164,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: 2170
      start: 2115
    functionDepth: 1
    functionLinenumber: 2115
    functionLinenumberEnd: 2170
    functionName: zone_rrset_check_dup
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - dns_name_format
    - DNS_ZONE_OPTION
    - dns_rdatatype_format
    - dns_rdataset_init
    - dns_rdataset_clone
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_casecompare
    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:2136,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/zone.c:2137,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2144,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/zone.c:2145,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2147,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:2149,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2154,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2164,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2131
    functionDepth: 1
    functionLinenumber: 2131
    functionLinenumberEnd: 2168
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_zone_log
    - dns_rdatatype_format
    - dns_name_format
    - dns_rdataset_clone
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_casecompare
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2144,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/zone.c:2145,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2147,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:2149,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2154,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2163
      start: 2138
    functionDepth: 1
    functionLinenumber: 2138
    functionLinenumberEnd: 2163
    functionName: (&tmprdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - dns_rdatatype_format
    - dns_name_format
    - dns_rdataset_current
    - dns_rdata_casecompare
    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:2177,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:2182,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:2188,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:2193,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:2200,1
    - Dst: zone_rrset_check_dup
      Src: /src/bind9/lib/dns/zone.c:2201,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2204,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:2206,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2207,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2211,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:2213,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 27
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2216
      start: 2172
    functionDepth: 2
    functionLinenumber: 2172
    functionLinenumberEnd: 2216
    functionName: zone_check_dup
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_fixedname_initname
    - zone_rrset_check_dup
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - dns_dbiterator_current
    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:2188,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:2193,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:2200,1
    - Dst: zone_rrset_check_dup
      Src: /src/bind9/lib/dns/zone.c:2201,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2204,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:2206,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2207,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2208
      start: 2187
    functionDepth: 2
    functionLinenumber: 2187
    functionLinenumberEnd: 2208
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - zone_rrset_check_dup
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - dns_dbiterator_current
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH(dbiterator)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:2200,1
    - Dst: zone_rrset_check_dup
      Src: /src/bind9/lib/dns/zone.c:2201,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2205
      start: 2198
    functionDepth: 2
    functionLinenumber: 2198
    functionLinenumberEnd: 2205
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - zone_rrset_check_dup
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsit)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2228,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:2232,1
    - Dst: strncmp
      Src: /src/bind9/lib/dns/zone.c:2243,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2218
    functionDepth: 0
    functionLinenumber: 2218
    functionLinenumberEnd: 2247
    functionName: isspf
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - strncmp
    linkageType: ''
    returnType: bool
    signature: bool isspf(const dns_rdata_t *rdata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:2254,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2260,1
    - Dst: dns_zone_t*::checkisservedby
      Src: /src/bind9/lib/dns/zone.c:2262,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:2267,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2268,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2270,1
    - Dst: dns_zone_t*::checkisservedby
      Src: /src/bind9/lib/dns/zone.c:2274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    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: 2285
      start: 2249
    functionDepth: 3
    functionLinenumber: 2249
    functionLinenumberEnd: 2285
    functionName: zone_is_served_by
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_find
    - dns_fixedname_initname
    - dns_zone_t*::checkisservedby
    - dns_name_issubdomain
    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: 45
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:2308,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:2309,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:2310,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:2312,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2318,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:2318,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2323,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:2324,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2325,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:2330,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2335,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:2341,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2345,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2347,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2348,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2359,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2361,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2363,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2375,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:2381,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2385,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:2394,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2398,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2400,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2401,1
    - Dst: zone_check_glue
      Src: /src/bind9/lib/dns/zone.c:2402,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2408,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2413,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:2419,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:2420,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2423,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2426,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2427,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2433,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/zone.c:2435,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2438,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2458,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2460,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2462,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2472,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2477,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2482,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2490,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2491,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2495,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:2502,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2503,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2506,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2513,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2515,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2516,1
    - Dst: zone_check_mx
      Src: /src/bind9/lib/dns/zone.c:2517,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2521,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2527,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2534,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2536,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2537,1
    - Dst: zone_check_srv
      Src: /src/bind9/lib/dns/zone.c:2538,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2542,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2549,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2554,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2558,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2563,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2571,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2578,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2581,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2584,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2591,1
    - Dst: isspf
      Src: /src/bind9/lib/dns/zone.c:2593,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2598,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2602,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2603,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2611,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2616,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2619,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2625,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2627,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2628,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:2629,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2636,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2638,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:2646,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:2649,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2655,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2657,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2658,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:2659,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2666,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2668,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2676,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:2678,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 250
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2681
      start: 2287
    functionDepth: 4
    functionLinenumber: 2287
    functionLinenumberEnd: 2681
    functionName: integrity_checks
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_dbiterator_destroy
    - dns_secalg_format
    - DNS_ZONE_OPTION
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - memset
    - dns_dbiterator_current
    - dns_name_format
    - RUNTIME_CHECK
    - dnssec_log
    - zone_check_srv
    - zone_check_mx
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - dns_db_createiterator
    - zone_check_glue
    - dns_name_equal
    - dns_zone_log
    - dns_db_findrdataset
    - zone_is_served_by
    - dns_rdataset_current
    - CHECK
    - dns_dsdigest_format
    - dns_name_countlabels
    - isspf
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_db_find
    - dns_fixedname_initname
    - dns_dbiterator_pause
    linkageType: ''
    returnType: bool
    signature: bool integrity_checks(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 35
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2318,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:2318,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2323,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:2324,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:2325,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:2330,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2335,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:2341,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2345,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2347,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2348,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2359,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2361,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2363,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2375,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:2381,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2385,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:2394,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2398,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2400,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2401,1
    - Dst: zone_check_glue
      Src: /src/bind9/lib/dns/zone.c:2402,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2408,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2413,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:2419,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:2420,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2423,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2426,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2427,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2433,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/zone.c:2435,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2438,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2458,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2460,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2462,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2472,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2477,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2482,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2490,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2491,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2495,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:2502,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2503,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2506,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2513,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2515,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2516,1
    - Dst: zone_check_mx
      Src: /src/bind9/lib/dns/zone.c:2517,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2521,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2527,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2534,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2536,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2537,1
    - Dst: zone_check_srv
      Src: /src/bind9/lib/dns/zone.c:2538,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2542,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2549,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2554,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2558,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2563,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:2571,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2578,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2581,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2584,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2591,1
    - Dst: isspf
      Src: /src/bind9/lib/dns/zone.c:2593,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2598,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2602,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:2603,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2611,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 193
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2612
      start: 2317
    functionDepth: 3
    functionLinenumber: 2317
    functionLinenumberEnd: 2612
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_secalg_format
    - DNS_ZONE_OPTION
    - dns_rdataset_disassociate
    - memset
    - dns_dbiterator_current
    - dns_name_format
    - RUNTIME_CHECK
    - dnssec_log
    - zone_check_srv
    - zone_check_mx
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - zone_check_glue
    - dns_name_equal
    - dns_zone_log
    - dns_db_findrdataset
    - dns_rdataset_current
    - CHECK
    - dns_dsdigest_format
    - dns_name_countlabels
    - isspf
    - dns_db_detachnode
    - dns_dbiterator_pause
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH(dbiterator)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2345,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2347,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2348,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2359,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2361,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2363,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2374
      start: 2342
    functionDepth: 3
    functionLinenumber: 2342
    functionLinenumberEnd: 2374
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_secalg_format
    - dns_name_format
    - RUNTIME_CHECK
    - dnssec_log
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:2398,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2400,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2401,1
    - Dst: zone_check_glue
      Src: /src/bind9/lib/dns/zone.c:2402,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2407
      start: 2396
    functionDepth: 2
    functionLinenumber: 2396
    functionLinenumberEnd: 2407
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - zone_check_glue
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2423,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2426,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2427,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2433,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/zone.c:2435,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2438,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:2458,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2460,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2462,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2421
    functionDepth: 3
    functionLinenumber: 2421
    functionLinenumberEnd: 2471
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_secalg_format
    - dns_name_format
    - RUNTIME_CHECK
    - dnssec_log
    - dns_rdataset_current
    - dns_dsdigest_format
    - dns_rdata_tostruct
    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:2513,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2515,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2516,1
    - Dst: zone_check_mx
      Src: /src/bind9/lib/dns/zone.c:2517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2520
      start: 2511
    functionDepth: 2
    functionLinenumber: 2511
    functionLinenumberEnd: 2520
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - zone_check_mx
    - dns_rdataset_current
    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:2534,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2536,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2537,1
    - Dst: zone_check_srv
      Src: /src/bind9/lib/dns/zone.c:2538,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2541
      start: 2532
    functionDepth: 2
    functionLinenumber: 2532
    functionLinenumberEnd: 2541
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - zone_check_srv
    - dns_rdataset_current
    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:2591,1
    - Dst: isspf
      Src: /src/bind9/lib/dns/zone.c:2593,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2597
      start: 2589
    functionDepth: 1
    functionLinenumber: 2589
    functionLinenumberEnd: 2597
    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:2625,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2627,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2628,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:2629,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2635
      start: 2623
    functionDepth: 4
    functionLinenumber: 2623
    functionLinenumberEnd: 2635
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - zone_is_served_by
    - dns_rdataset_current
    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:2655,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2657,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2658,1
    - Dst: zone_is_served_by
      Src: /src/bind9/lib/dns/zone.c:2659,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2665
      start: 2653
    functionDepth: 4
    functionLinenumber: 2653
    functionLinenumberEnd: 2665
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - zone_is_served_by
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2698,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:2698,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:2700,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:2701,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2702,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2702,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2708,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2709,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2710,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:2740,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2741,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2744,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:2747,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2757,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2759,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2771,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2774,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2780,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:2783,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 43
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2785
      start: 2688
    functionDepth: 3
    functionLinenumber: 2688
    functionLinenumberEnd: 2785
    functionName: zone_check_dnskeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_secalg_format
    - INSIST
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdata_toregion
    - dnssec_log
    - dst_region_computeid
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - dns_rdataset_current
    - dns_db_closeversion
    - dns_db_currentversion
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void zone_check_dnskeys(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2708,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:2709,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2710,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:2740,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2741,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2744,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:2747,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:2757,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2759,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2770
      start: 2705
    functionDepth: 3
    functionLinenumber: 2705
    functionLinenumberEnd: 2770
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_secalg_format
    - INSIST
    - dns_rdata_toregion
    - dnssec_log
    - dst_region_computeid
    - dns_rdataset_current
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:2798,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:2800,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:2802,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:2807,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:2807,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:2809,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:2810,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:2811,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:2814,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:2814,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:2822,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:2835,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2839,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:2841,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:2844,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:2849,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:2852,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:2854,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 41
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2856
      start: 2790
    functionDepth: 2
    functionLinenumber: 2790
    functionLinenumberEnd: 2856
    functionName: resume_signingwithkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_attach
    - dns_db_detach
    - dns_rdataset_isassociated
    - INSIST
    - dns_rdataset_init
    - dns_db_findrdataset
    - ZONEDB_LOCK
    - dnssec_log
    - ZONEDB_UNLOCK
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - dns_rdataset_current
    - dns_db_closeversion
    - dns_db_currentversion
    - zone_signwithkey
    - isc_result_totext
    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:2822,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:2835,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2839,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:2841,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2843
      start: 2818
    functionDepth: 1
    functionLinenumber: 2818
    functionLinenumberEnd: 2843
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dnssec_log
    - zone_signwithkey
    - dns_rdataset_current
    - isc_result_totext
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:2876,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:2878,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:2880,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:2892,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:2893,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:2895,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:2906,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:2918,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:2929,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:2933,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:2937,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:2939,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:2944,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:2946,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:2951,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:2953,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zone.c:2958,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zone.c:2960,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/lib/dns/zone.c:2964,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:2966,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:2967,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:2975,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:2982,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:2994,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:2998,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:3001,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:3012,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/zone.c:3013,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:3015,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:3016,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:3019,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:3026,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:3029,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:3031,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:3036,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: 3039
      start: 2864
    functionDepth: 3
    functionLinenumber: 2864
    functionLinenumberEnd: 3039
    functionName: zone_addnsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_destroy
    - memmove
    - isc_mem_put
    - dns_nsec3param_salttotext
    - ISC_LIST_INITANDAPPEND
    - dns_db_currentversion
    - RUNTIME_CHECK
    - dnssec_log
    - memcmp
    - isc_time_isepoch
    - strlcpy
    - dns_db_createiterator
    - isc_time_now
    - dns_db_detach
    - dns__zone_settimer
    - ZONEDB_UNLOCK
    - dns_db_closeversion
    - ZONEDB_LOCK
    - strlcat
    - dns_db_attach
    - isc_mem_get
    - dns_dbiterator_first
    - dns_nsec_nseconly
    - ISC_LIST_FOREACH
    - dns_dbiterator_pause
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t
      *nsec3param)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3058,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:3058,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:3064,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:3066,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:3068,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3073,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:3073,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:3075,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:3081,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3087,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3088,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3091,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3091,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3100,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:3106,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3111,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3112,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:3121,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3123,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3125,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:3129,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3134,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:3137,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:3139,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 50
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3141
      start: 3048
    functionDepth: 4
    functionLinenumber: 3048
    functionLinenumberEnd: 3141
    functionName: resume_addnsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - dns_db_currentversion
    - zone_addnsec3chain
    - dns_rdataset_isassociated
    - dns_nsec3param_fromprivate
    - RUNTIME_CHECK
    - dnssec_log
    - dns_rdata_tostruct
    - isc_result_totext
    - LOCKED_ZONE
    - dns_db_detach
    - dns_db_findrdataset
    - ZONEDB_UNLOCK
    - dns_rdataset_current
    - ZONEDB_LOCK
    - CHECK
    - dns_db_closeversion
    - dns_db_detachnode
    - dns_db_attach
    - dns_nsec_nseconly
    - dns_db_findnode
    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:3100,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:3106,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3111,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3112,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:3121,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3123,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3125,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3128
      start: 3095
    functionDepth: 4
    functionLinenumber: 3095
    functionLinenumberEnd: 3128
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - RUNTIME_CHECK
    - dnssec_log
    - dns_rdataset_current
    - zone_addnsec3chain
    - dns_rdata_tostruct
    - isc_result_totext
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:3152,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:3152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:3153,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:3153,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:3156,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:3160,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zone.c:3164,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:3166,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:3168,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:3170,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:3172,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:3176,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:3176,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:3179,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:3183,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:3184,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:3185,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:3188,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3190
      start: 3143
    functionDepth: 4
    functionLinenumber: 3143
    functionLinenumberEnd: 3190
    functionName: dns__zone_set_resigntime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - dns_db_attach
    - dns_db_detach
    - isc_random_uniform
    - DNS_ZONE_VALID
    - isc_time_settoepoch
    - isc_time_set
    - dns_db_getsigningtime
    - dns_fixedname_name
    - dns_zone_isdynamic
    - ZONEDB_UNLOCK
    - dns__zone_inline_raw
    - dns_zone_getsigresigninginterval
    - ZONEDB_LOCK
    - dns_fixedname_init
    linkageType: ''
    returnType: void
    signature: void dns__zone_set_resigntime(dns_zone_t *zone)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:3201,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:3204,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:3205,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3207,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3209,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:3212,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:3214,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3218,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3218,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3223,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3223,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3224,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3226,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3233,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3234,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3235,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3243,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3246,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/zone.c:3251,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3253,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3262,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:3274,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3275,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:3278,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3284,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:3289,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:3290,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:3291,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 54
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3293
      start: 3192
    functionDepth: 4
    functionLinenumber: 3192
    functionLinenumberEnd: 3293
    functionName: check_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - DNS_ZONE_OPTION
    - dns_rdataset_init
    - dns_db_currentversion
    - dns_nsec3_maxiterations
    - dns_rdataset_isassociated
    - RUNTIME_CHECK
    - dnssec_log
    - dns_rdata_tostruct
    - isc_result_totext
    - dns_zone_log
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_db_closeversion
    - dns_nsec3_supportedhash
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_zone_isdynamic
    - dns_db_findnode
    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:3233,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3234,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3235,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:3243,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3246,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/zone.c:3251,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3253,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3262,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:3274,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3275,1
    - Dst: dns_nsec3_maxiterations
      Src: /src/bind9/lib/dns/zone.c:3278,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3280
      start: 3230
    functionDepth: 1
    functionLinenumber: 3230
    functionLinenumberEnd: 3280
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - DNS_ZONE_OPTION
    - RUNTIME_CHECK
    - dnssec_log
    - dns_rdataset_current
    - dns_nsec3_maxiterations
    - dns_rdata_tostruct
    - dns_nsec3_supportedhash
    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:3319,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:3321,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:3325,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:3326,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:3331,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3332,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:3332,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:3333,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: 3334
      start: 3300
    functionDepth: 3
    functionLinenumber: 3300
    functionLinenumberEnd: 3334
    functionName: set_refreshkeytimer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_time_now
    - dns_zone_log
    - isc_time_compare
    - dns__zone_settimer
    - isc_time_formattimestamp
    - ISC_LOG_DEBUG
    - DNS_ZONE_TIME_ADD
    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:3354,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:3356,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zone.c:3363,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:3367,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:3371,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3373,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:3373,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3376,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:3376,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:3380,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    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: 3385
      start: 3345
    functionDepth: 4
    functionLinenumber: 3345
    functionLinenumberEnd: 3385
    functionName: create_keydata
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - update_one_rr
    - dns_keynode_dsset
    - dns_rdata_fromstruct
    - set_refreshkeytimer
    - CHECK
    - memset
    - isc_buffer_init
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3395,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:3396,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:3396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 3401
      start: 3390
    functionDepth: 1
    functionLinenumber: 3390
    functionLinenumberEnd: 3401
    functionName: delete_keydata
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - RETERR
    - dns_rdataset_current
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3395,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:3396,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:3396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3398
      start: 3393
    functionDepth: 1
    functionLinenumber: 3393
    functionLinenumberEnd: 3398
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - update_one_rr
    - RETERR
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:3415,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:3416,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:3419,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:3421,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:3422,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: 3426
      start: 3406
    functionDepth: 4
    functionLinenumber: 3406
    functionLinenumberEnd: 3426
    functionName: compute_tag
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dns_rdata_fromstruct
    - dst_key_id
    - dst_key_free
    - isc_buffer_init
    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:3434,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3431
    functionDepth: 2
    functionLinenumber: 3431
    functionLinenumberEnd: 3436
    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:3441,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - name
    - arg
    argTypes:
    - dns_name_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3443
      start: 3438
    functionDepth: 2
    functionLinenumber: 3438
    functionLinenumberEnd: 3443
    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:3458,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:3464,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:3465,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3467,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/zone.c:3467,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3469,1
    - Dst: dns_keytable_add
      Src: /src/bind9/lib/dns/zone.c:3469,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:3472,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:3476,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: 3479
      start: 3448
    functionDepth: 3
    functionLinenumber: 3448
    functionLinenumberEnd: 3479
    functionName: trust_key
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keytable_detach
    - dns_rdata_fromstruct
    - dns_view_getsecroots
    - dns_ds_fromkeyrdata
    - CHECK
    - dns_keytable_add
    - isc_buffer_init
    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:3490,1
    - Dst: dns_keytable_marksecure
      Src: /src/bind9/lib/dns/zone.c:3492,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:3493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - keyname
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3485
    functionDepth: 2
    functionLinenumber: 3485
    functionLinenumberEnd: 3495
    functionName: fail_secure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_view_getsecroots
    - dns_keytable_marksecure
    - 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:3507,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:3510,1
    - Dst: dns_keytable_delete
      Src: /src/bind9/lib/dns/zone.c:3512,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:3513,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3519,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3522,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3526,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:3529,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:3547,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:3551,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:3556,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3557,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3559,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3562,1
    - Dst: fail_secure
      Src: /src/bind9/lib/dns/zone.c:3564,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: 3566
      start: 3501
    functionDepth: 4
    functionLinenumber: 3501
    functionLinenumberEnd: 3566
    functionName: load_secroots
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keytable_detach
    - isc_stdtime_now
    - dns_name_format
    - RUNTIME_CHECK
    - dnssec_log
    - dns_keydata_todnskey
    - trust_key
    - dns_view_getsecroots
    - fail_secure
    - set_refreshkeytimer
    - dns_rdataset_current
    - dns_keytable_delete
    - dns_rdata_tostruct
    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:3519,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3522,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:3526,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:3529,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:3547,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:3551,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3552
      start: 3517
    functionDepth: 4
    functionLinenumber: 3517
    functionLinenumberEnd: 3552
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - RUNTIME_CHECK
    - dns_keydata_todnskey
    - trust_key
    - set_refreshkeytimer
    - dns_rdataset_current
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:3577,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:3578,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/zone.c:3583,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:3584,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:3586,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:3593,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: 3599
      start: 3568
    functionDepth: 1
    functionLinenumber: 3568
    functionLinenumberEnd: 3599
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - dns_diff_init
    - dns_diff_apply
    - dns_diff_appendminimal
    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:3607,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:3608,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: 3609
      start: 3601
    functionDepth: 1
    functionLinenumber: 3601
    functionLinenumberEnd: 3609
    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:3621,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3623,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/zone.c:3623,1
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/dns/zone.c:3624,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:3627,1
    - Dst: dns_update_soaserial
      Src: /src/bind9/lib/dns/zone.c:3628,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3630,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/dns/zone.c:3634,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3635,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:3635,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3636,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:3636,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:3641,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:3644,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: 3647
      start: 3611
    functionDepth: 3
    functionLinenumber: 3611
    functionLinenumberEnd: 3647
    functionName: update_soa_serial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - do_one_tuple
    - dns_db_createsoatuple
    - dns_difftuple_free
    - INSIST
    - dns_zone_log
    - dns_soa_setserial
    - dns_difftuple_copy
    - CHECK
    - dns_update_soaserial
    - dns_soa_getserial
    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:3661,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:3663,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3666,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3668,1
    - Dst: dns_journal_set_sourceserial
      Src: /src/bind9/lib/dns/zone.c:3673,1
    - Dst: dns_journal_write_transaction
      Src: /src/bind9/lib/dns/zone.c:3676,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3678,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3680,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:3682,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: 3686
      start: 3652
    functionDepth: 8
    functionLinenumber: 3652
    functionLinenumberEnd: 3686
    functionName: zone_journal
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_journal_open
    - dns_zone_log
    - dns_journal_destroy
    - dns_zone_getjournal
    - dns_journal_set_sourceserial
    - dns_journal_write_transaction
    - isc_result_totext
    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:3699,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:3699,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:3701,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:3702,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3704,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3706,1
    - Dst: dns_soa_buildrdata
      Src: /src/bind9/lib/dns/zone.c:3711,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:3714,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3716,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:3720,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:3724,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:3726,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3729,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3732
      start: 3691
    functionDepth: 2
    functionLinenumber: 3691
    functionLinenumberEnd: 3732
    functionName: add_soa
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_db_newversion
    - dns_zone_log
    - INSIST
    - dns_soa_buildrdata
    - update_one_rr
    - ISC_LOG_DEBUG
    - dns_diff_init
    - dns_db_closeversion
    - dns_diff_clear
    - isc_result_totext
    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:3754,1
    - Dst: dns_keynode_managed
      Src: /src/bind9/lib/dns/zone.c:3760,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zone.c:3767,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zone.c:3775,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:3776,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:3778,1
    - Dst: create_keydata
      Src: /src/bind9/lib/dns/zone.c:3786,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: 3790
      start: 3743
    functionDepth: 5
    functionLinenumber: 3743
    functionLinenumberEnd: 3790
    functionName: addifmissing
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - create_keydata
    - dns_keynode_dsset
    - dns_db_find
    - dns_fixedname_name
    - dns_fixedname_init
    - dns_keynode_managed
    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:3816,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:3816,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:3818,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3820,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:3820,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:3822,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3824,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3826,1
    - Dst: dns_rriterator_init
      Src: /src/bind9/lib/dns/zone.c:3837,1
    - Dst: dns_rriterator_first
      Src: /src/bind9/lib/dns/zone.c:3838,1
    - Dst: dns_rriterator_nextrrset
      Src: /src/bind9/lib/dns/zone.c:3839,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:3843,1
    - Dst: dns_rriterator_current
      Src: /src/bind9/lib/dns/zone.c:3848,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:3849,1
    - Dst: dns_rriterator_destroy
      Src: /src/bind9/lib/dns/zone.c:3850,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:3867,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3869,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:3874,1
    - Dst: dns_rriterator_pause
      Src: /src/bind9/lib/dns/zone.c:3883,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/zone.c:3884,1
    - Dst: dns_keynode_managed
      Src: /src/bind9/lib/dns/zone.c:3885,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3886,1
    - Dst: delete_keydata
      Src: /src/bind9/lib/dns/zone.c:3886,1
    - Dst: load_secroots
      Src: /src/bind9/lib/dns/zone.c:3889,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zone.c:3893,1
    - Dst: dns_rriterator_destroy
      Src: /src/bind9/lib/dns/zone.c:3896,1
    - Dst: dns_keytable_forall
      Src: /src/bind9/lib/dns/zone.c:3910,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3914,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:3914,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3916,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:3916,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:3918,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:3919,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:3925,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:3927,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:3928,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zone.c:3931,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:3934,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:3937,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:3939,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:3941,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 75
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3944
      start: 3803
    functionDepth: 9
    functionLinenumber: 3803
    functionLinenumberEnd: 3944
    functionName: sync_keyzone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_newversion
    - dns_rriterator_nextrrset
    - delete_keydata
    - INSIST
    - ISC_LOG_DEBUG
    - load_secroots
    - dns_rriterator_init
    - dns_keytable_forall
    - dns_rdataset_isassociated
    - isc_time_settoepoch
    - dnssec_log
    - dns_view_getsecroots
    - zone_journal
    - dns_rriterator_pause
    - dns_rdata_tostruct
    - dns_rriterator_first
    - isc_result_totext
    - dns_rriterator_destroy
    - zone_needdump
    - dns_zone_log
    - isc_stdtime_now
    - dns_keytable_find
    - dns_keytable_detach
    - dns_rriterator_current
    - set_refreshkeytimer
    - dns_rdataset_current
    - CHECK
    - dns_db_closeversion
    - dns_keynode_managed
    - dns_diff_clear
    - update_soa_serial
    - DNS_ZONE_SETFLAG
    - dns_keynode_detach
    - dns_diff_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:3867,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:3869,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:3874,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3877
      start: 3863
    functionDepth: 4
    functionLinenumber: 3863
    functionLinenumberEnd: 3877
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_rdata_tostruct
    - set_refreshkeytimer
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:3955,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:3955,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:3957,1
    - Dst: sync_keyzone
      Src: /src/bind9/lib/dns/zone.c:3958,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:3959,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:3963,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3966
      start: 3946
    functionDepth: 10
    functionLinenumber: 3946
    functionLinenumberEnd: 3966
    functionName: dns_zone_synckeyzone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - sync_keyzone
    - dns_db_detach
    - LOCK_ZONE
    - CHECK
    - dns_zone_getdb
    - UNLOCK_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:3986,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:3990,1
    - Dst: zone_send_securedb
      Src: /src/bind9/lib/dns/zone.c:3993,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:3996,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3998
      start: 3968
    functionDepth: 1
    functionLinenumber: 3968
    functionLinenumberEnd: 3998
    functionName: maybe_send_secure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_send_secureserial
    - zone_get_from_db
    - DNS_ZONE_SETFLAG
    - zone_send_securedb
    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:4006,1
    - Dst: dns_db_diffx
      Src: /src/bind9/lib/dns/zone.c:4007,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:4008,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:4011,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: 4013
      start: 4000
    functionDepth: 9
    functionLinenumber: 4000
    functionLinenumberEnd: 4013
    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:4017,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:4018,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:4019,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:4020,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4022
      start: 4015
    functionDepth: 2
    functionLinenumber: 4015
    functionLinenumberEnd: 4022
    functionName: process_zone_setnsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_iattach
    - isc_async_run
    - ISC_LIST_UNLINK
    - 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:4039,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:4046,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4047,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/zone.c:4047,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4048,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:4048,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:4050,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:4052,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:4054,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:4055,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:4057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4062
      start: 4027
    functionDepth: 2
    functionLinenumber: 4027
    functionLinenumberEnd: 4062
    functionName: check_reportchannel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_name_concatenate
    - DNS_ZONE_OPTION
    - dns_db_findrdataset
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - dns_db_closeversion
    - dns_db_currentversion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_reportchannel(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 73
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:4078,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4083,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:4083,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:4084,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4085,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:4085,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:4088,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:4100,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4103,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4104,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4107,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4112,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:4115,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4118,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4119,1
    - Dst: maybe_send_secure
      Src: /src/bind9/lib/dns/zone.c:4121,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4127,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4129,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:4132,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4141,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4141,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/zone.c:4142,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4145,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:4147,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4157,1
    - Dst: add_soa
      Src: /src/bind9/lib/dns/zone.c:4157,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4164,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:4165,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4167,1
    - Dst: zone_journal_rollforward
      Src: /src/bind9/lib/dns/zone.c:4167,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4174,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:4175,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4179,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:4188,1
    - Dst: process_zone_setnsec3param
      Src: /src/bind9/lib/dns/zone.c:4190,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4199,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:4205,1
    - Dst: dns_journal_last_serial
      Src: /src/bind9/lib/dns/zone.c:4208,1
    - Dst: dns_journal_empty
      Src: /src/bind9/lib/dns/zone.c:4209,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:4210,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4218,1
    - Dst: remove
      Src: /src/bind9/lib/dns/zone.c:4223,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:4225,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:4226,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4236,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4236,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4252,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4258,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:4266,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4271,1
    - Dst: check_nsec3param
      Src: /src/bind9/lib/dns/zone.c:4271,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4274,1
    - Dst: integrity_checks
      Src: /src/bind9/lib/dns/zone.c:4275,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:4277,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4280,1
    - Dst: zone_check_dup
      Src: /src/bind9/lib/dns/zone.c:4281,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:4283,1
    - Dst: dns_zone_cdscheck
      Src: /src/bind9/lib/dns/zone.c:4287,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4289,1
    - Dst: check_reportchannel
      Src: /src/bind9/lib/dns/zone.c:4296,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4298,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:4301,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:4304,1
    - Dst: dns_zone_verifydb
      Src: /src/bind9/lib/dns/zone.c:4304,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:4313,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4316,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4317,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4318,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:4319,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4323,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4324,1
    - Dst: zone_unchanged
      Src: /src/bind9/lib/dns/zone.c:4327,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4329,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4341,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:4347,1
    - Dst: isc_serial_ge
      Src: /src/bind9/lib/dns/zone.c:4348,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4349,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:4355,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4357,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:4368,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:4369,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4371,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:4377,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:4379,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:4380,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4384,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:4390,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:4395,1
    - Dst: isc_file_getmodtime
      Src: /src/bind9/lib/dns/zone.c:4397,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:4401,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:4404,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:4409,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:4410,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:4411,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4414,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:4419,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/zone.c:4431,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:4432,1
    - Dst: zone_check_dnskeys
      Src: /src/bind9/lib/dns/zone.c:4439,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:4449,1
    - Dst: zone_replacedb
      Src: /src/bind9/lib/dns/zone.c:4452,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:4453,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:4458,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:4459,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4460,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:4462,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:4463,1
    - Dst: zone_send_securedb
      Src: /src/bind9/lib/dns/zone.c:4466,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:4468,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:4477,1
    - Dst: maybe_send_secure
      Src: /src/bind9/lib/dns/zone.c:4478,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4484,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:4485,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:4489,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:4491,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:4497,1
    - Dst: resume_signingwithkey
      Src: /src/bind9/lib/dns/zone.c:4498,1
    - Dst: resume_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:4499,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:4502,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:4504,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:4504,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:4511,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:4513,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:4516,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:4520,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:4521,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/zone.c:4522,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4524,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4525,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:4530,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:4533,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:4539,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:4545,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:4546,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:4547,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:4548,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:4555,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:4556,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:4557,1
    - Dst: dns_db_ispersistent
      Src: /src/bind9/lib/dns/zone.c:4561,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4562,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:4564,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4568,1
    - Dst: dns_zone_rpz_disable_db
      Src: /src/bind9/lib/dns/zone.c:4577,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:4578,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:4581,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:4582,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:4583,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:4584,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:4589,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:4591,1
    - Dst: zone_saveunique
      Src: /src/bind9/lib/dns/zone.c:4594,1
    - Dst: zone_saveunique
      Src: /src/bind9/lib/dns/zone.c:4597,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:4603,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:4609,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:4612,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:4621,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:4631,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:4632,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:4634,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:4641,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:4645,1
    CyclomaticComplexity: 121
    EdgeCount: 121
    ICount: 303
    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: 4648
      start: 4068
    functionDepth: 10
    functionLinenumber: 4068
    functionLinenumberEnd: 4648
    functionName: zone_postload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_mem_put
    - INSIST
    - DNS_ZONE_OPTION
    - zone_debuglog
    - isc_serial_ge
    - dns_zone_getsigresigninginterval
    - resume_signingwithkey
    - zone_send_secureserial
    - isc_time_compare
    - RUNTIME_CHECK
    - isc_mem_free
    - dns_db_ispersistent
    - process_zone_setnsec3param
    - zone_send_securedb
    - zone_saveunique
    - zone_needdump
    - LOCKED_ZONE
    - isc_time_now
    - isc_stdtime_now
    - ZONEDB_UNLOCK
    - dns_db_issecure
    - check_nsec3param
    - DNS_ZONE_TIME_ADD
    - dns_journal_open
    - isc_random_uniform
    - zone_attachdb
    - integrity_checks
    - UNEXPECTED_ERROR
    - dns_zone_log
    - dns_rdatatype_format
    - isc_log_write
    - CHECK
    - zone_check_dup
    - zone_journal_rollforward
    - DNS_TYPEPAIR_COVERS
    - dns_zone_isdynamic
    - dns_zone_rpz_disable_db
    - dns_zone_verifydb
    - zone_journal_compact
    - ISC_LIST_UNLINK
    - check_reportchannel
    - ISC_LOG_DEBUG
    - isc_file_getmodtime
    - DNS_ZONE_CLRFLAG
    - dns__zone_set_resigntime
    - dns_zone_catz_disable_db
    - remove
    - maybe_send_secure
    - dns_journal_last_serial
    - zone_get_from_db
    - ZONEDB_LOCK
    - CLEANUP
    - zone_check_dnskeys
    - zone_unchanged
    - resume_addnsec3chain
    - DNS_ZONE_FLAG
    - add_soa
    - dns_db_getsigningtime
    - DNS_ZONE_SETFLAG
    - RANGE
    - dns_journal_empty
    - isc_serial_gt
    - dns_db_nodecount
    - dns_journal_destroy
    - dns_zone_cdscheck
    - dns_name_format
    - dnssec_log
    - strerror_r
    - isc_result_totext
    - strcmp
    - dns__zone_settimer
    - dns_zone_logc
    - dns__zone_inline_secure
    - zone_replacedb
    - dns_remote_addresses
    - ISC_LIST_APPEND
    - dns_fixedname_initname
    - dns__zone_inline_raw
    - ISC_LIST_FOREACH
    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:4652,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:4652,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:4654,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:4655,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4660,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:4660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4664
      start: 4650
    functionDepth: 1
    functionLinenumber: 4650
    functionLinenumberEnd: 4664
    functionName: dns__zone_free_check
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - INSIST
    - isc_refcount_current
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_free_check(dns_zone_t *zone)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:4676,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:4686,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:4688,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:4695,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:4706,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4707,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:4717,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4718,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:4728,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:4729,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4730,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: 4739
      start: 4666
    functionDepth: 1
    functionLinenumber: 4666
    functionLinenumberEnd: 4739
    functionName: zone_check_ns
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - dns_name_format
    - DNS_ZONE_OPTION
    - dns_db_find
    - dns_fixedname_initname
    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:4751,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:4752,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4755,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4755,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4759,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4759,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4770,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4772,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4773,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:4774,1
    - Dst: zone_check_ns
      Src: /src/bind9/lib/dns/zone.c:4775,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:4782,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:4785,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:4786,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/zone.c:4791,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: 4794
      start: 4741
    functionDepth: 2
    functionLinenumber: 4741
    functionLinenumberEnd: 4794
    functionName: zone_count_ns_rr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - INSIST
    - RUNTIME_CHECK
    - SET_IF_NOT_NULL
    - dns_rdataset_init
    - dns_db_findrdataset
    - zone_check_ns
    - dns_rdataset_invalidate
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    - dns_name_issubdomain
    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:4770,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4772,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4773,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:4774,1
    - Dst: zone_check_ns
      Src: /src/bind9/lib/dns/zone.c:4775,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4781
      start: 4763
    functionDepth: 2
    functionLinenumber: 4763
    functionLinenumberEnd: 4781
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - zone_check_ns
    - dns_rdataset_current
    - dns_rdata_tostruct
    - dns_name_issubdomain
    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: 4806
      start: 4796
    functionDepth: 0
    functionLinenumber: 4796
    functionLinenumberEnd: 4806
    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: 4811
      start: 4807
    functionDepth: 0
    functionLinenumber: 4807
    functionLinenumberEnd: 4811
    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:4821,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:4822,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4825,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4825,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4830,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:4830,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:4836,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4841,1
    - Dst: SET_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:4842,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4844,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:4847,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:4852,1
    - Dst: CLR_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:4854,1
    - Dst: dns_rdataset_invalidate
      Src: /src/bind9/lib/dns/zone.c:4857,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: 4860
      start: 4812
    functionDepth: 1
    functionLinenumber: 4812
    functionLinenumberEnd: 4860
    functionName: zone_load_soa_rr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - INSIST
    - RUNTIME_CHECK
    - SET_IF_NOT_NULL
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_invalidate
    - CLR_SOA_VALUES
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - SET_SOA_VALUES
    - dns_rdata_tostruct
    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:4836,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:4841,1
    - Dst: SET_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:4842,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:4844,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4846
      start: 4834
    functionDepth: 1
    functionLinenumber: 4834
    functionLinenumberEnd: 4846
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - SET_SOA_VALUES
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4875,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4876,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:4878,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:4880,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:4881,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:4882,1
    - Dst: CLR_SOA_VALUES
      Src: /src/bind9/lib/dns/zone.c:4883,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:4886,1
    - Dst: zone_count_ns_rr
      Src: /src/bind9/lib/dns/zone.c:4893,1
    - Dst: zone_load_soa_rr
      Src: /src/bind9/lib/dns/zone.c:4904,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:4912,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:4914,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: 4917
      start: 4865
    functionDepth: 3
    functionLinenumber: 4865
    functionLinenumberEnd: 4917
    functionName: zone_get_from_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_db_detachnode
    - zone_load_soa_rr
    - zone_count_ns_rr
    - SET_IF_NOT_NULL
    - CLR_SOA_VALUES
    - dns_db_findnode
    - dns_db_closeversion
    - dns_db_currentversion
    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:4924,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:4925,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:4925,1
    - Dst: zone_shutdown
      Src: /src/bind9/lib/dns/zone.c:4933,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:4939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4941
      start: 4919
    functionDepth: 2
    functionLinenumber: 4919
    functionLinenumberEnd: 4941
    functionName: zone_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_zone_log
    - zone_shutdown
    - isc_async_run
    - ISC_LOG_DEBUG
    - DNS_ZONE_SETFLAG
    linkageType: ''
    returnType: void
    signature: void zone_destroy(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4951,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:4951,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4952,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:4952,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4953,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4954,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:4954,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:4955,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4958
      start: 4949
    functionDepth: 1
    functionLinenumber: 4949
    functionLinenumberEnd: 4958
    functionName: zone_iattach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - isc_refcount_current
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void zone_iattach(dns_zone_t *source, dns_zone_t **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:4962,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4963
      start: 4960
    functionDepth: 2
    functionLinenumber: 4960
    functionLinenumberEnd: 4963
    functionName: dns__zone_iattach_locked
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_iattach
    linkageType: ''
    returnType: void
    signature: void dns__zone_iattach_locked(dns_zone_t *source, dns_zone_t **target)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4967,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:4967,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:4969,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:4970,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:4971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4972
      start: 4965
    functionDepth: 2
    functionLinenumber: 4965
    functionLinenumberEnd: 4972
    functionName: dns_zone_iattach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - zone_iattach
    - UNLOCK_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:4981,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:4981,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:4982,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:4982,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:4987,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:4987,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:4988,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zonep
    argTypes:
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4990
      start: 4974
    functionDepth: 1
    functionLinenumber: 4974
    functionLinenumberEnd: 4990
    functionName: zone_idetach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - isc_refcount_current
    - isc_refcount_decrement
    linkageType: ''
    returnType: void
    signature: void zone_idetach(dns_zone_t **zonep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:4994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zonep
    argTypes:
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4995
      start: 4992
    functionDepth: 2
    functionLinenumber: 4992
    functionLinenumberEnd: 4995
    functionName: dns__zone_idetach_locked
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_idetach
    linkageType: ''
    returnType: void
    signature: void dns__zone_idetach_locked(dns_zone_t **zonep)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5001,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5001,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:5006,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5008,1
    - Dst: dns__zone_free_check
      Src: /src/bind9/lib/dns/zone.c:5009,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5010,1
    - Dst: dns__zone_free
      Src: /src/bind9/lib/dns/zone.c:5012,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - zonep
    argTypes:
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5015
      start: 4997
    functionDepth: 4
    functionLinenumber: 4997
    functionLinenumberEnd: 5015
    functionName: dns_zone_idetach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns__zone_free
    - DNS_ZONE_VALID
    - dns__zone_free_check
    - isc_refcount_decrement
    - LOCK_ZONE
    - UNLOCK_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:5019,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5022
      start: 5017
    functionDepth: 1
    functionLinenumber: 5017
    functionLinenumberEnd: 5022
    functionName: dns__zone_irefs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: isc_refcount_t
    signature: 'isc_refcount_t *

      dns__zone_irefs(dns_zone_t *zone)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5026,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5026,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5028,1
    - Dst: dns_skr_detach
      Src: /src/bind9/lib/dns/zone.c:5031,1
    - Dst: dns_skr_attach
      Src: /src/bind9/lib/dns/zone.c:5034,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - skr
    argTypes:
    - dns_zone_t*
    - dns_skr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5037
      start: 5024
    functionDepth: 2
    functionLinenumber: 5024
    functionLinenumberEnd: 5037
    functionName: dns_zone_setskr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_skr_attach
    - LOCK_ZONE
    - dns_skr_detach
    - UNLOCK_ZONE
    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:5043,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5043,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5045,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:5046,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5051,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5054
      start: 5039
    functionDepth: 2
    functionLinenumber: 5039
    functionLinenumberEnd: 5054
    functionName: dns_zone_getskrbundle
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns__zone_inline_raw
    - UNLOCK_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:5058,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5058,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:5061,1
    - Dst: DNS_ZONE_CLROPTION
      Src: /src/bind9/lib/dns/zone.c:5063,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: 5065
      start: 5056
    functionDepth: 1
    functionLinenumber: 5056
    functionLinenumberEnd: 5065
    functionName: dns_zone_setoption
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - DNS_ZONE_CLROPTION
    - 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:5069,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5069,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/zone.c:5071,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5072
      start: 5067
    functionDepth: 1
    functionLinenumber: 5067
    functionLinenumberEnd: 5072
    functionName: dns_zone_getoptions
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - atomic_load_relaxed
    linkageType: ''
    returnType: dns_zoneopt_t
    signature: dns_zoneopt_t dns_zone_getoptions(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5076,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:5076,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:5078,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5082,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:5083,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:5084,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5086
      start: 5074
    functionDepth: 2
    functionLinenumber: 5074
    functionLinenumberEnd: 5086
    functionName: was_dumping
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - isc_time_settoepoch
    - DNS_ZONE_FLAG
    - DNS_ZONE_SETFLAG
    - DNS_ZONE_CLRFLAG
    linkageType: ''
    returnType: bool
    signature: bool was_dumping(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:5096,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/zone.c:5096,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:5097,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/zone.c:5097,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/zone.c:5099,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:5100,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5100,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5101,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/zone.c:5106,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/zone.c:5107,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/zone.c:5110,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:5111,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5111,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5112,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: 5124
      start: 5088
    functionDepth: 4
    functionLinenumber: 5088
    functionLinenumberEnd: 5124
    functionName: keyfromfile
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - strcmp
    - dst_key_alg
    - dst_key_name
    - dst_key_fromfile
    - dst_key_id
    - dns_kasp_getname
    - dns_kasp_key_keystore
    - dns_keystore_directory
    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:5106,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/zone.c:5107,1
    - Dst: dst_key_fromfile
      Src: /src/bind9/lib/dns/zone.c:5110,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:5111,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5111,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5112,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5119
      start: 5105
    functionDepth: 4
    functionLinenumber: 5105
    functionLinenumberEnd: 5119
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 203
    functionsReached:
    - dst_key_alg
    - dst_key_name
    - dst_key_fromfile
    - dst_key_id
    - dns_kasp_key_keystore
    - dns_keystore_directory
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dns_kasp_keys(kasp), kkey, link)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:5138,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:5139,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5140,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:5140,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5142,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:5142,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:5145,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5146,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:5146,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/zone.c:5147,1
    - Dst: ZONEKEY
      Src: /src/bind9/lib/dns/zone.c:5149,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:5153,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:5153,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/zone.c:5157,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/zone.c:5166,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/zone.c:5168,1
    - Dst: keyfromfile
      Src: /src/bind9/lib/dns/zone.c:5170,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/zone.c:5173,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/zone.c:5176,1
    - Dst: dst_key_setflags
      Src: /src/bind9/lib/dns/zone.c:5178,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:5189,1
    - Dst: dst_key_getfilename
      Src: /src/bind9/lib/dns/zone.c:5190,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:5191,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5191,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5192,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5200,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/zone.c:5200,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:5202,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5202,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/zone.c:5204,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5206,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:5209,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:5212,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5222,1
    - Dst: dns_dnssec_keyactive
      Src: /src/bind9/lib/dns/zone.c:5227,1
    - Dst: dst_key_setinactive
      Src: /src/bind9/lib/dns/zone.c:5228,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:5229,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/zone.c:5240,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:5244,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:5246,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zone.c:5247,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5250,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:5259,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:5261,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:5265,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 90
    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: 5270
      start: 5126
    functionDepth: 4
    functionLinenumber: 5126
    functionLinenumberEnd: 5270
    functionName: findzonekeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_dnssec_keyfromrdata
    - dns_secalg_format
    - dns_rdataset_next
    - dst_key_setttl
    - dns_rdataset_init
    - ZONEKEY
    - dst_key_getfilename
    - memset
    - dns_name_format
    - snprintf
    - dst_key_setflags
    - dst_key_free
    - isc_buffer_init
    - isc_result_totext
    - dst_key_setinactive
    - dst_key_flags
    - dns_name_equal
    - dst_key_alg
    - dns_rdataset_first
    - dst_key_name
    - dns_db_findrdataset
    - dns_rdata_reset
    - isc_log_write
    - dns_rdataset_current
    - CHECK
    - dst_key_pubcompare
    - dns_rdataset_cleanup
    - dns_dnssec_keyactive
    - dst_key_id
    - keyfromfile
    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:5285,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5287,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5288,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5290,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:5290,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:5290,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:5292,1
    - Dst: findzonekeys
      Src: /src/bind9/lib/dns/zone.c:5294,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:5294,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:5297,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5306,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: 5309
      start: 5278
    functionDepth: 5
    functionLinenumber: 5278
    functionLinenumberEnd: 5309
    functionName: dns_zone_findkeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_zone_unlock_keyfiles
    - dns_db_detachnode
    - dns_db_origin
    - DNS_ZONE_VALID
    - findzonekeys
    - dns_db_findnode
    - CHECK
    - dns_zone_lock_keyfiles
    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:5313,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5313,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5315,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:5316,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5318
      start: 5311
    functionDepth: 1
    functionLinenumber: 5311
    functionLinenumberEnd: 5318
    functionName: dns_zone_prepare_shutdown
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - DNS_ZONE_SETFLAG
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_prepare_shutdown(dns_zone_t *zone)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/zone.c:5328,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:5331,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5335,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:5335,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5336,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:5338,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:5340,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5342,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:5342,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:5345,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/zone.c:5346,1
    - Dst: dns_zone_getkeystores
      Src: /src/bind9/lib/dns/zone.c:5347,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:5348,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:5349,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5352,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:5356,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:5357,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5360,1
    - Dst: dns_dnssec_keylistfromrdataset
      Src: /src/bind9/lib/dns/zone.c:5360,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:5361,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5364,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:5371,1
    - Dst: dst_key_compare
      Src: /src/bind9/lib/dns/zone.c:5372,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:5380,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:5381,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:5386,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5388,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:5391,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:5392,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:5392,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    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: 5395
      start: 5324
    functionDepth: 4
    functionLinenumber: 5324
    functionLinenumberEnd: 5395
    functionName: dns_zone_getdnsseckeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_zone_getmctx
    - dns_dnssec_keylistfromrdataset
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_dnsseckey_destroy
    - ISC_LIST_INIT
    - dns_zone_unlock_keyfiles
    - dns_zone_lock_keyfiles
    - dns_zone_getorigin
    - dns_zone_getkeystores
    - dns_db_findrdataset
    - CHECK
    - dns_zone_getkeydirectory
    - dns_db_detachnode
    - dst_key_compare
    - dns_rdataset_cleanup
    - ISC_LIST_APPEND
    - dns_dnssec_findmatchingkeys
    - ISC_LIST_FOREACH
    - dns_db_findnode
    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:5371,1
    - Dst: dst_key_compare
      Src: /src/bind9/lib/dns/zone.c:5372,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:5380,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:5381,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5383
      start: 5368
    functionDepth: 3
    functionLinenumber: 5368
    functionLinenumberEnd: 5383
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 205
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dst_key_compare
    - ISC_LIST_APPEND
    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:5391,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:5392,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:5392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5393
      start: 5390
    functionDepth: 2
    functionLinenumber: 5390
    functionLinenumberEnd: 5393
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 205
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    - dns_zone_getmctx
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dnskeys, key, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:5405,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5405,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5408,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    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: 5412
      start: 5397
    functionDepth: 1
    functionLinenumber: 5397
    functionLinenumberEnd: 5412
    functionName: offline
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - update_one_rr
    - RETERR
    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:5420,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5423,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:5425,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:5428,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:5429,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5430,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:5437,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/zone.c:5439,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:5440,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5441,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:5444,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: 5445
      start: 5414
    functionDepth: 2
    functionLinenumber: 5414
    functionLinenumberEnd: 5445
    functionName: set_key_expiry_warning
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - isc_time_settoepoch
    - isc_time_formattimestamp
    - isc_time_set
    - LOCK_ZONE
    - UNLOCK_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:5460,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5470,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:5474,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5476,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:5478,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5480,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:5485,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:5491,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5529,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5530,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: 5540
      start: 5451
    functionDepth: 4
    functionLinenumber: 5451
    functionLinenumberEnd: 5540
    functionName: delsig_ok
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - KSK
    - dst_key_alg
    - dst_key_isprivate
    - dst_algorithm_fromdata
    - dst_key_getbool
    - dst_key_id
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:5560,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:5563,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zone.c:5567,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:5569,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5574,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:5576,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5578,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5581,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5581,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5585,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5585,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:5593,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:5594,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5595,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:5596,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:5599,1
    - Dst: delsig_ok
      Src: /src/bind9/lib/dns/zone.c:5601,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5603,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:5623,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5638,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zone.c:5640,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5642,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5661,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5662,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:5670,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:5671,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/zone.c:5673,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:5696,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5701,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5714,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:5723,1
    - Dst: set_key_expiry_warning
      Src: /src/bind9/lib/dns/zone.c:5727,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5730,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5736,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 101
    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: 5739
      start: 5546
    functionDepth: 5
    functionLinenumber: 5546
    functionLinenumberEnd: 5739
    functionName: del_sigs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_rdataset_init
    - dst_algorithm_format
    - dns_rdataset_disassociate
    - dst_key_inactive
    - dns_rdataset_isassociated
    - dns_name_format
    - RUNTIME_CHECK
    - update_one_rr
    - dst_key_isprivate
    - dns_rdata_tostruct
    - dns_zone_log
    - dst_key_alg
    - dns_rdatatype_iskeymaterial
    - offline
    - dns_db_findrdataset
    - dns_rdataset_current
    - CHECK
    - dns_time64_from32
    - dns_kasp_offlineksk
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dst_algorithm_fromdata
    - dst_key_id
    - set_key_expiry_warning
    - dns_db_findnode
    - delsig_ok
    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:5593,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:5594,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:5595,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:5596,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:5599,1
    - Dst: delsig_ok
      Src: /src/bind9/lib/dns/zone.c:5601,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5603,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:5623,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:5638,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zone.c:5640,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:5642,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:5661,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:5662,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:5670,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:5671,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/zone.c:5673,1
    - Dst: offline
      Src: /src/bind9/lib/dns/zone.c:5696,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5701,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5714,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5721
      start: 5589
    functionDepth: 5
    functionLinenumber: 5589
    functionLinenumberEnd: 5721
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dst_key_inactive
    - delsig_ok
    - dns_zone_log
    - dns_name_format
    - dst_key_alg
    - RUNTIME_CHECK
    - update_one_rr
    - offline
    - dst_key_isprivate
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_time64_from32
    - dns_rdataset_current
    - dst_algorithm_format
    - dns_rdatatype_iskeymaterial
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 32
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:5759,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:5762,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:5763,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zone.c:5766,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:5768,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5773,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:5775,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5777,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5779,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5779,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5783,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:5783,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:5789,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:5792,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:5807,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5809,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:5813,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5815,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:5823,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:5826,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/zone.c:5833,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:5838,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:5858,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/zone.c:5866,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/zone.c:5872,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5873,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5874,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:5880,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5881,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:5884,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/zone.c:5893,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/zone.c:5898,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:5900,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/zone.c:5902,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:5904,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5906,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/zone.c:5906,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5909,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/zone.c:5909,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:5916,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:5916,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:5918,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:5919,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:5922,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:5925,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:5926,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:5927,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:5930,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:5931,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:5932,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:5938,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:5940,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 115
    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: 5943
      start: 5741
    functionDepth: 4
    functionLinenumber: 5741
    functionLinenumberEnd: 5943
    functionName: add_sigs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - INSIST
    - KSK
    - dns_rdataset_init
    - dns_zone_getskrbundle
    - ALG
    - dst_key_inactive
    - dns_rdataset_isassociated
    - REVOKE
    - dst_key_isprivate
    - update_one_rr
    - isc_buffer_init
    - dns_dnssecsignstats_increment
    - dst_key_is_signing
    - ID
    - dns_db_findrdataset
    - dst_key_have_ksk_and_zsk
    - dns_rdata_reset
    - dst_key_getbool
    - CHECK
    - isc_buffer_clear
    - dns_zone_getdnssecsignstats
    - dns_kasp_offlineksk
    - CLEANUP
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dns_skrbundle_getsig
    - dns_dnssec_sign
    - dns_rdataset_cleanup
    - dns_db_findnode
    - dns_rdatatype_iskeymaterial
    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:5949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:5950,1
    - Dst: dns_zone_getsigvalidityinterval
      Src: /src/bind9/lib/dns/zone.c:5954,1
    - Dst: dns_kasp_sigjitter
      Src: /src/bind9/lib/dns/zone.c:5958,1
    - Dst: dns_kasp_sigvalidity
      Src: /src/bind9/lib/dns/zone.c:5959,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:5960,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:5981,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:5982,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:5984,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5988,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zone.c:5989,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: 5990
      start: 5945
    functionDepth: 1
    functionLinenumber: 5945
    functionLinenumberEnd: 5990
    functionName: calculate_rrsig_validity
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_random_uniform
    - INSIST
    - SET_IF_NOT_NULL
    - dns_kasp_sigjitter
    - dns_kasp_sigvalidity
    - dns_zone_getsigvalidityinterval
    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:6010,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:6011,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:6017,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:6020,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:6022,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:6024,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:6026,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:6029,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6031,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6033,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:6037,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:6039,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6042,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6044,1
    - Dst: calculate_rrsig_validity
      Src: /src/bind9/lib/dns/zone.c:6048,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:6053,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:6054,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6056,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6058,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/zone.c:6063,1
    - Dst: dns_zone_getsigresigninginterval
      Src: /src/bind9/lib/dns/zone.c:6065,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:6074,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:6080,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6083,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6085,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:6095,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6100,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6102,1
    - Dst: dns_db_getsigningtime
      Src: /src/bind9/lib/dns/zone.c:6105,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6111,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6114,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6119,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:6122,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6125,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6127,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:6134,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:6139,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:6145,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6148,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6150,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:6158,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:6162,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:6164,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6169,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:6169,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:6172,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:6175,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:6177,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:6180,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:6181,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:6183,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6186,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:6188,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:6189,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:6190,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:6196,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:6197,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:6199,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6201,1
    CyclomaticComplexity: 37
    EdgeCount: 37
    ICount: 114
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6202
      start: 5992
    functionDepth: 9
    functionLinenumber: 5992
    functionLinenumberEnd: 6202
    functionName: zone_resigninc
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_findkeys
    - dns_db_newversion
    - INSIST
    - dns_zone_getsigresigninginterval
    - del_sigs
    - dns__zone_set_resigntime
    - isc_time_nowplusinterval
    - LOCK_ZONE
    - zone_journal
    - dst_key_free
    - isc_result_totext
    - zone_needdump
    - zonediff_init
    - calculate_rrsig_validity
    - dns_db_detach
    - dns_zone_log
    - isc_stdtime_now
    - dns_name_equal
    - ISC_LIST_EMPTY
    - ZONEDB_UNLOCK
    - dns_db_closeversion
    - ZONEDB_LOCK
    - CHECK
    - dns_diff_clear
    - isc_interval_set
    - update_soa_serial
    - CLEANUP
    - dns_db_attach
    - DNS_TYPEPAIR_COVERS
    - dns_db_getsigningtime
    - add_sigs
    - dns_fixedname_initname
    - DNS_ZONE_SETFLAG
    - dns_diff_init
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void zone_resigninc(dns_zone_t *zone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6212,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:6212,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6213,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/zone.c:6213,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:6215,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6217,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:6217,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6219,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:6219,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:6220,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:6221,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6223,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6229,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:6229,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/zone.c:6230,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6231,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:6232,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6239,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:6242,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: 6245
      start: 6204
    functionDepth: 2
    functionLinenumber: 6204
    functionLinenumberEnd: 6245
    functionName: next_active
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_db_createiterator
    - dns_dbiterator_next
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - dns_rdatasetiter_first
    - dns_name_equal
    - dns_db_allrdatasets
    - dns_dbiterator_first
    - dns_rdatasetiter_destroy
    - dns_dbiterator_current
    - CHECK
    - dns_dbiterator_seek
    - dns_name_issubdomain
    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:6257,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6258,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6261,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:6261,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6266,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6267,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6268,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:6270,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6272,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6273,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6275,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6278,1
    - Dst: KASP_LOCK
      Src: /src/bind9/lib/dns/zone.c:6287,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/dns/zone.c:6289,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6289,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/zone.c:6292,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:6296,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:6298,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6310,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6314,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 39
    argCount: 7
    argNames:
    - zone
    - db
    - node
    - version
    - type
    - key
    - fullsign
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatatype_t
    - dst_key_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6316
      start: 6247
    functionDepth: 4
    functionLinenumber: 6247
    functionLinenumberEnd: 6316
    functionName: signed_with_good_key
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - KASP_LOCK
    - dns_kasp_key_zsk
    - dns_rdataset_isassociated
    - INSIST
    - dst_key_alg
    - dns_rdataset_init
    - dns_db_findrdataset
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_kasp_key_algorithm
    - KASP_UNLOCK
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdatatype_iskeymaterial
    - dns_rdata_tostruct
    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, bool fullsign)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6266,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6267,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6268,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:6270,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6272,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:6273,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6275,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6281
      start: 6264
    functionDepth: 4
    functionLinenumber: 6264
    functionLinenumberEnd: 6281
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dst_key_alg
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    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:6289,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:6289,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/zone.c:6292,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6295
      start: 6288
    functionDepth: 2
    functionLinenumber: 6288
    functionLinenumberEnd: 6295
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 205
    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:6327,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6329,1
    - Dst: next_active
      Src: /src/bind9/lib/dns/zone.c:6329,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6330,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/zone.c:6330,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6331,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6331,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: 6335
      start: 6318
    functionDepth: 1
    functionLinenumber: 6318
    functionLinenumberEnd: 6335
    functionName: add_nsec
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - next_active
    - dns_nsec_buildrdata
    - update_one_rr
    - dns_fixedname_initname
    - CHECK
    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:6344,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:6346,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:6356,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6368,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:6375,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: 6377
      start: 6337
    functionDepth: 1
    functionLinenumber: 6337
    functionLinenumberEnd: 6377
    functionName: check_if_bottom_of_zone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    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:6356,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6368,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6369
      start: 6354
    functionDepth: 1
    functionLinenumber: 6354
    functionLinenumberEnd: 6369
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:6396,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:6396,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:6399,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6402,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 30
    argCount: 5
    argNames:
    - db
    - node
    - version
    - iterp
    - seen
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    - dns_dbversion_t*
    - dns_rdatasetiter_t**
    - seen_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6426
      start: 6389
    functionDepth: 1
    functionLinenumber: 6389
    functionLinenumberEnd: 6426
    functionName: allrdatasets
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 26
    functionsReached:
    - dns_db_allrdatasets
    - RETERR
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t allrdatasets(dns_db_t *db, dns_dbnode_t *node, dns_dbversion_t
      *version,\n\t     dns_rdatasetiter_t **iterp, seen_t *seen)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:6399,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6402,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6422,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6423
      start: 6398
    functionDepth: 1
    functionLinenumber: 6398
    functionLinenumberEnd: 6423
    functionName: (*iterp)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: DNS_RDATASETITER_FOREACH
    signature: DNS_RDATASETITER_FOREACH (*iterp)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:6447,1
    - Dst: allrdatasets
      Src: /src/bind9/lib/dns/zone.c:6450,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:6458,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6466,1
    - Dst: dns_nsec3_addnsec3s
      Src: /src/bind9/lib/dns/zone.c:6466,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:6478,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:6478,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6479,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/zone.c:6479,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:6489,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:6491,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:6497,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:6510,1
    - Dst: signed_with_good_key
      Src: /src/bind9/lib/dns/zone.c:6523,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/zone.c:6530,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:6531,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/zone.c:6533,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:6535,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6537,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/zone.c:6537,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6540,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/zone.c:6540,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6546,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6546,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6548,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:6551,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:6554,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:6554,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:6555,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:6558,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:6559,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:6559,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:6567,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:6569,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 71
    argCount: 20
    argNames:
    - db
    - zone
    - name
    - node
    - version
    - build_nsec3
    - build_nsec
    - key
    - now
    - inception
    - expire
    - nsecttl
    - both
    - is_ksk
    - is_zsk
    - fullsign
    - 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
    - bool
    - dns_diff_t*
    - int32_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6572
      start: 6428
    functionDepth: 5
    functionLinenumber: 6428
    functionLinenumberEnd: 6572
    functionName: sign_a_node
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_origin
    - dns_nsec3_addnsec3s
    - dns_zone_getskrbundle
    - dns_rdatasetiter_current
    - ALG
    - update_one_rr
    - isc_buffer_init
    - dns_dnssecsignstats_increment
    - dst_key_is_signing
    - dns_name_equal
    - ID
    - signed_with_good_key
    - dns_rdatasetiter_destroy
    - dns_rdata_reset
    - CHECK
    - allrdatasets
    - isc_buffer_clear
    - dns_zone_getdnssecsignstats
    - CLEANUP
    - dns_kasp_offlineksk
    - dns_skrbundle_getsig
    - dns_dnssec_sign
    - add_nsec
    - dns_rdataset_cleanup
    - dns_rdatatype_iskeymaterial
    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 fullsign,\n\t    bool is_bottom_of_zone, dns_diff_t *diff,
      int32_t *signatures,\n\t    isc_mem_t *mctx)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:6489,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:6491,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:6497,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:6510,1
    - Dst: signed_with_good_key
      Src: /src/bind9/lib/dns/zone.c:6523,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/zone.c:6530,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:6531,1
    - Dst: dns_zone_getskrbundle
      Src: /src/bind9/lib/dns/zone.c:6533,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:6535,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6537,1
    - Dst: dns_skrbundle_getsig
      Src: /src/bind9/lib/dns/zone.c:6537,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6540,1
    - Dst: dns_dnssec_sign
      Src: /src/bind9/lib/dns/zone.c:6540,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6546,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6546,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6548,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:6551,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:6554,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:6554,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:6555,1
    - Dst: dns_dnssecsignstats_increment
      Src: /src/bind9/lib/dns/zone.c:6558,1
    - Dst: ID
      Src: /src/bind9/lib/dns/zone.c:6559,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:6559,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6564
      start: 6486
    functionDepth: 5
    functionLinenumber: 6486
    functionLinenumberEnd: 6564
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_skrbundle_getsig
    - dns_dnssec_sign
    - dns_zone_getdnssecsignstats
    - dst_key_is_signing
    - dns_dnssecsignstats_increment
    - ID
    - signed_with_good_key
    - dns_rdataset_cleanup
    - update_one_rr
    - dns_rdata_reset
    - dns_zone_getskrbundle
    - CHECK
    - dns_rdatatype_iskeymaterial
    - isc_buffer_clear
    - dns_rdatasetiter_current
    - ALG
    - CLEANUP
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(iterator)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6584,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:6584,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:6586,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6587,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:6590,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6594,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6596,1
    - Dst: delete_nsec
      Src: /src/bind9/lib/dns/zone.c:6596,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6597,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/zone.c:6597,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6602,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    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: 6605
      start: 6577
    functionDepth: 1
    functionLinenumber: 6577
    functionLinenumberEnd: 6605
    functionName: updatesecure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - add_nsec
    - delete_nsec
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - CHECK
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:6617,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6618,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:6618,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6620,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6624,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:6624,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:6629,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:6629,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:6635,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6637,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6668,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6668,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:6681,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/zone.c:6695,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6706,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6706,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:6709,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6715,1
    - Dst: dns_nsec3_addnsec3s
      Src: /src/bind9/lib/dns/zone.c:6715,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6718,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:6718,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:6723,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6725,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 46
    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: 6728
      start: 6607
    functionDepth: 2
    functionLinenumber: 6607
    functionLinenumberEnd: 6728
    functionName: updatesignwithkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dst_algorithm_tosecalg
    - dns_db_detachnode
    - dns_rdataset_isassociated
    - INSIST
    - dns_db_origin
    - update_one_rr
    - dns_nsec3_addnsec3s
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_cleanup
    - dns_rdataset_current
    - CHECK
    - updatesecure
    - dns_db_class
    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:6635,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6637,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6668,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6668,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6672
      start: 6633
    functionDepth: 1
    functionLinenumber: 6633
    functionLinenumberEnd: 6672
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_tosecalg
    - update_one_rr
    - dns_rdataset_current
    - CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:6758,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:6769,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:6771,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:6772,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6775,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6778,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:6778,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6779,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6780,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6780,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6782,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:6784,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6786,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6799,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6800,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6800,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6806,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6815,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6815,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6819,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6823,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6823,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6825,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6833,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6834,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6834,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6842,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6846,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6846,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6850,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6854,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:6862,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6868,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6873,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6879,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:6880,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6885,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6885,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6886,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6893,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6899,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6899,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:6916,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6917,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:6917,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/zone.c:6917,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6921,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6921,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:6924,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:6925,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 85
    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: 6927
      start: 6754
    functionDepth: 2
    functionLinenumber: 6754
    functionLinenumberEnd: 6927
    functionName: fixup_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_origin
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - dns_nsec3param_fromprivate
    - RUNTIME_CHECK
    - update_one_rr
    - memcmp
    - isc_buffer_init
    - dns_rdata_tostruct
    - dns_rdataset_first
    - dns_db_findrdataset
    - dns_rdata_reset
    - dns_rdataset_current
    - CHECK
    - dns_db_class
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_rdata_fromstruct
    - dns_nsec_nseconly
    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:6799,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6800,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6800,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6806,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6815,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6815,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6819,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6823,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6823,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6825,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6826
      start: 6798
    functionDepth: 1
    functionLinenumber: 6798
    functionLinenumberEnd: 6826
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - dns_rdata_reset
    - memcmp
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:6833,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6834,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6834,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6842,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6846,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6846,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6850,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6851
      start: 6832
    functionDepth: 1
    functionLinenumber: 6832
    functionLinenumberEnd: 6851
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - dns_rdata_reset
    - memcmp
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:6879,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:6880,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6885,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6885,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:6886,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6893,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6899,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6899,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6901
      start: 6875
    functionDepth: 1
    functionLinenumber: 6875
    functionLinenumberEnd: 6901
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - update_one_rr
    - dns_rdata_reset
    - memcmp
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:6935,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6937,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6949,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6950,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6950,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6955,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: 6957
      start: 6929
    functionDepth: 1
    functionLinenumber: 6929
    functionLinenumberEnd: 6957
    functionName: delete_nsec
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - update_one_rr
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    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:6949,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6950,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6950,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6952
      start: 6946
    functionDepth: 1
    functionLinenumber: 6946
    functionLinenumberEnd: 6952
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - dns_rdataset_current
    - CHECK
    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:6967,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:6968,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:6980,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6981,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6981,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6985,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6990,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6990,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:6995,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: 6997
      start: 6959
    functionDepth: 1
    functionLinenumber: 6959
    functionLinenumberEnd: 6997
    functionName: deletematchingnsec3
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - dns_rdataset_init
    - dns_db_findrdataset
    - memcmp
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:6980,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6981,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:6981,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:6985,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:6990,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:6990,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6992
      start: 6977
    functionDepth: 1
    functionLinenumber: 6977
    functionLinenumberEnd: 6992
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - memcmp
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:7009,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:7010,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:7012,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:7014,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7017,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7018,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7022,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:7026,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7030,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7034,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:7041,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7042,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:7042,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:7047,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:7056,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:7072,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7073,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 4
    argNames:
    - db
    - ver
    - param
    - answer
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_rdata_nsec3param_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7075
      start: 6999
    functionDepth: 1
    functionLinenumber: 6999
    functionLinenumberEnd: 7075
    functionName: need_nsec_chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - RUNTIME_CHECK
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - memcmp
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - NSEC3REMOVE
    - CHECK
    - dns_rdata_tostruct
    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:7041,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7042,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:7042,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:7047,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:7056,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7067
      start: 7039
    functionDepth: 1
    functionLinenumber: 7039
    functionLinenumberEnd: 7067
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - memcmp
    - dns_rdataset_current
    - CHECK
    - NSEC3REMOVE
    - dns_rdata_tostruct
    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:7086,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:7088,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - cur
    argTypes:
    - dns_difftuple_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7095
      start: 7082
    functionDepth: 1
    functionLinenumber: 7082
    functionLinenumberEnd: 7095
    functionName: find_next_matching_tuple
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - dns_name_equal
    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:7104,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:7105,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:7106,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: 7109
      start: 7101
    functionDepth: 2
    functionLinenumber: 7101
    functionLinenumberEnd: 7109
    functionName: move_matching_tuples
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - find_next_matching_tuple
    - ISC_LIST_UNLINK
    - dns_diff_appendminimal
    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:7125,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:7129,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:7134,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7138,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7140,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:7143,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:7147,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7149,1
    - Dst: move_matching_tuples
      Src: /src/bind9/lib/dns/zone.c:7160,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: 7163
      start: 7116
    functionDepth: 6
    functionLinenumber: 7116
    functionLinenumberEnd: 7163
    functionName: dns__zone_updatesigs
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_zone_log
    - move_matching_tuples
    - ISC_LIST_HEAD
    - add_sigs
    - del_sigs
    - dns_rdatatype_iskeymaterial
    - isc_result_totext
    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: 78
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:7202,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:7203,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:7204,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:7205,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:7206,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:7207,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:7208,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:7209,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:7215,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:7218,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:7229,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:7231,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:7236,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7238,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7240,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:7244,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:7246,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7249,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7251,1
    - Dst: calculate_rrsig_validity
      Src: /src/bind9/lib/dns/zone.c:7255,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7265,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:7266,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7267,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7296,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7298,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:7299,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:7302,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:7304,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:7305,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:7307,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7308,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/zone.c:7309,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:7320,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:7324,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7328,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7329,1
    - Dst: delete_nsec
      Src: /src/bind9/lib/dns/zone.c:7329,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:7341,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:7342,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:7347,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:7353,1
    - Dst: allrdatasets
      Src: /src/bind9/lib/dns/zone.c:7362,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7367,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7369,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:7371,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7389,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/zone.c:7390,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:7392,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7394,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7397,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7416,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:7418,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7421,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7422,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:7422,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7425,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:7426,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7428,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:7429,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7433,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7435,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:7435,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7441,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:7441,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7444,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:7445,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7447,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:7448,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7451,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7454,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:7457,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7459,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:7460,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7470,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:7470,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7475,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7500,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:7501,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7502,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7506,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7508,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:7509,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7511,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:7517,1
    - Dst: need_nsec_chain
      Src: /src/bind9/lib/dns/zone.c:7528,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7532,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7535,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7541,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:7541,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:7546,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7547,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:7555,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7559,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7562,1
    - Dst: deletematchingnsec3
      Src: /src/bind9/lib/dns/zone.c:7570,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7574,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7577,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:7586,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:7587,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:7592,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:7598,1
    - Dst: allrdatasets
      Src: /src/bind9/lib/dns/zone.c:7607,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7612,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:7614,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:7626,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:7626,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7627,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7628,1
    - Dst: add_nsec
      Src: /src/bind9/lib/dns/zone.c:7628,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:7629,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7636,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:7638,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7648,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7649,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:7650,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7652,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:7653,1
    - Dst: fixup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:7654,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7658,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7661,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7666,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7669,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:7672,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7674,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:7675,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7685,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:7685,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7691,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:7700,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:7702,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:7703,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:7704,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7707,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7709,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7714,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7720,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:7722,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7723,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7727,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:7730,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:7731,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7734,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7736,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7743,1
    - Dst: dns_nsec3_addnsec3s
      Src: /src/bind9/lib/dns/zone.c:7746,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:7747,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:7748,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7750,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7753,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7763,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:7765,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7769,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7771,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:7779,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7783,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7785,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:7790,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:7791,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7793,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7795,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:7800,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7804,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7806,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:7814,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:7822,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7825,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7827,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:7831,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7834,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7836,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:7840,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7844,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7846,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:7851,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:7851,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7853,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:7854,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:7855,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7856,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7862,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:7863,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7864,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7866,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:7872,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:7878,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7879,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:7880,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:7881,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7884,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:7885,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7886,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:7890,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:7891,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7899,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:7900,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:7901,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:7903,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:7904,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7905,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:7914,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7916,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:7917,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:7918,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7920,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:7921,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7922,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:7923,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:7924,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7925,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7930,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:7931,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7932,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7934,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:7936,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:7937,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:7938,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:7939,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:7942,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:7946,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:7950,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:7953,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7954,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7956,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7959,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:7960,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:7963,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:7965,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:7967,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:7969,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7971,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:7973,1
    CyclomaticComplexity: 151
    EdgeCount: 151
    ICount: 496
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7974
      start: 7169
    functionDepth: 9
    functionLinenumber: 7169
    functionLinenumberEnd: 7974
    functionName: zone_nsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_db_getoriginnode
    - dns_zone_findkeys
    - ISC_LIST_UNLINK
    - dns_dbiterator_destroy
    - dns_db_newversion
    - INSIST
    - dns_db_origin
    - dns__zone_updatesigs
    - delete_nsec
    - dns_db_allrdatasets
    - dns_nsec3_addnsec3s
    - isc_mem_put
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - fixup_nsec3param
    - deletematchingnsec3
    - del_sigs
    - dns_rdataset_disassociate
    - NSEC3REMOVE
    - dns_rdatasetiter_current
    - updatesecure
    - dns_dbiterator_current
    - ISC_LIST_PREPEND
    - dns__zone_set_resigntime
    - ISC_LIST_TAIL
    - RUNTIME_CHECK
    - isc_time_settoepoch
    - isc_time_nowplusinterval
    - dnssec_log
    - ISC_LIST_NEXT
    - LOCK_ZONE
    - need_nsec_chain
    - zone_journal
    - dst_key_free
    - isc_result_totext
    - dns_dbiterator_next
    - dns_name_issubdomain
    - zonediff_init
    - calculate_rrsig_validity
    - zone_needdump
    - dns_db_detach
    - isc_stdtime_now
    - dns_name_equal
    - dns_rdatasetiter_destroy
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - ZONEDB_UNLOCK
    - dns_nsec3_addnsec3
    - dns_db_closeversion
    - ZONEDB_LOCK
    - CHECK
    - allrdatasets
    - dns_diff_clear
    - update_soa_serial
    - isc_interval_set
    - CLEANUP
    - zone_nsecttl
    - dns_db_detachnode
    - dns_db_attach
    - add_nsec
    - ISC_LIST_APPEND
    - dns_dbiterator_first
    - dns_db_find
    - add_sigs
    - dns_fixedname_initname
    - DNS_ZONE_SETFLAG
    - ISC_LIST_FOREACH
    - dns_diff_init
    - UNLOCK_ZONE
    - dns_dbiterator_pause
    linkageType: ''
    returnType: void
    signature: void zone_nsec3chain(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:7714,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:7720,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7721
      start: 7712
    functionDepth: 1
    functionLinenumber: 7712
    functionLinenumberEnd: 7721
    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:7878,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7879,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:7880,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:7881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7882
      start: 7877
    functionDepth: 1
    functionLinenumber: 7877
    functionLinenumberEnd: 7882
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 206
    functionsReached:
    - dns_dbiterator_destroy
    - dns_db_detach
    - ISC_LIST_UNLINK
    - isc_mem_put
    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:7914,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:7916,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:7917,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:7918,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7920,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:7921,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:7922,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:7923,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:7924,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:7925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7928
      start: 7913
    functionDepth: 1
    functionLinenumber: 7913
    functionLinenumberEnd: 7928
    functionName: ISC_LIST_FOREACH_REV
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_dbiterator_destroy
    - dns_db_detach
    - ISC_LIST_UNLINK
    - isc_mem_put
    - RUNTIME_CHECK
    - dns_dbiterator_first
    - LOCK_ZONE
    - ISC_LIST_PREPEND
    - UNLOCK_ZONE
    - dns_dbiterator_pause
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH_REV(cleanup, chain, link)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:7994,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:7996,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:8004,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:8007,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8011,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8012,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8012,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8016,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8020,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8027,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8028,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8028,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:8030,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8040,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8040,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8044,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:8063,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:8064,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    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: 8066
      start: 7982
    functionDepth: 4
    functionLinenumber: 7982
    functionLinenumberEnd: 8066
    functionName: del_sig
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - update_one_rr
    - dns_db_allrdatasets
    - dns_rdataset_init
    - dns_rdataset_cleanup
    - dns_rdatasetiter_destroy
    - dst_algorithm_fromdata
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - dns_rdatasetiter_current
    - dns_rdata_tostruct
    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:8007,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8011,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8012,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8012,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8016,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8020,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8027,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8028,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8028,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:8030,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8040,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8040,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:8044,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8055
      start: 8005
    functionDepth: 4
    functionLinenumber: 8005
    functionLinenumberEnd: 8055
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - dst_algorithm_fromdata
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - CHECK
    - dns_rdatasetiter_current
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(iterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8011,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8012,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8015
      start: 8009
    functionDepth: 1
    functionLinenumber: 8009
    functionLinenumberEnd: 8015
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - dns_rdataset_current
    - CHECK
    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:8027,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8028,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8028,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:8030,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8040,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8040,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8043
      start: 8023
    functionDepth: 4
    functionLinenumber: 8023
    functionLinenumberEnd: 8043
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - dst_algorithm_fromdata
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:8081,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:8081,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:8082,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/dns/zone.c:8084,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:8088,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:8116,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:8128,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8137,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8142,1
    - Dst: dns_nsec3_activex
      Src: /src/bind9/lib/dns/zone.c:8142,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/lib/dns/zone.c:8149,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: 8162
      start: 8072
    functionDepth: 2
    functionLinenumber: 8072
    functionLinenumberEnd: 8162
    functionName: dns_zone_check_dnskey_nsec3
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_kasp_nsec3
    - dst_key_alg
    - DNS_ZONE_VALID
    - ISC_LIST_FOREACH
    - dns_zone_getprivatetype
    - dns_nsec_nseconly
    - CHECK
    - dns_nsec3_activex
    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:8201,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:8202,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:8203,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:8204,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:8205,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:8206,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:8207,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:8217,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:8219,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:8221,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:8227,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8229,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8231,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:8235,1
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:8237,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8240,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8242,1
    - Dst: calculate_rrsig_validity
      Src: /src/bind9/lib/dns/zone.c:8248,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:8258,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8264,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:8264,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8268,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/dns/zone.c:8268,1
    - Dst: dns_kasp_nsec3
      Src: /src/bind9/lib/dns/zone.c:8272,1
    - Dst: dns_zone_check_dnskey_nsec3
      Src: /src/bind9/lib/dns/zone.c:8273,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8277,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:8290,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8293,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:8295,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8302,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:8303,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:8304,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:8307,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:8323,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:8324,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:8326,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:8338,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8341,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8342,1
    - Dst: del_sig
      Src: /src/bind9/lib/dns/zone.c:8342,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:8354,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/zone.c:8355,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:8360,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zone.c:8366,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8377,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8379,1
    - Dst: check_if_bottom_of_zone
      Src: /src/bind9/lib/dns/zone.c:8379,1
    - Dst: dst_key_isprivate
      Src: /src/bind9/lib/dns/zone.c:8387,1
    - Dst: dst_key_inactive
      Src: /src/bind9/lib/dns/zone.c:8390,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:8398,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:8399,1
    - Dst: ALG
      Src: /src/bind9/lib/dns/zone.c:8409,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:8424,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:8427,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/zone.c:8433,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:8436,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:8442,1
    - Dst: dst_key_have_ksk_and_zsk
      Src: /src/bind9/lib/dns/zone.c:8450,1
    - Dst: REVOKE
      Src: /src/bind9/lib/dns/zone.c:8453,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:8454,1
    - Dst: KSK
      Src: /src/bind9/lib/dns/zone.c:8455,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8475,1
    - Dst: sign_a_node
      Src: /src/bind9/lib/dns/zone.c:8475,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:8478,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8501,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zone.c:8503,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8505,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:8506,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8507,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:8517,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:8519,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8522,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8524,1
    - Dst: updatesignwithkey
      Src: /src/bind9/lib/dns/zone.c:8529,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:8531,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8533,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8535,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8541,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8544,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:8547,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8549,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:8550,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8560,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:8565,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:8566,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8570,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8572,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:8580,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:8590,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8593,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8594,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:8598,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8601,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8603,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:8611,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8615,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8616,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8623,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:8623,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:8629,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8630,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8634,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:8640,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8646,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:8647,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:8648,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:8649,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8652,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:8653,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:8655,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:8656,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8658,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8662,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8663,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:8670,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8671,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:8678,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:8679,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:8680,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8681,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:8684,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:8685,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:8688,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:8692,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:8696,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:8697,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:8699,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8702,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:8703,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:8706,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:8708,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:8710,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:8712,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:8714,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:8716,1
    CyclomaticComplexity: 104
    EdgeCount: 104
    ICount: 316
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8717
      start: 8168
    functionDepth: 9
    functionLinenumber: 8168
    functionLinenumberEnd: 8717
    functionName: zone_sign
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_zone_findkeys
    - dns_kasp_nsec3
    - ISC_LIST_UNLINK
    - dns_db_newversion
    - dns_private_chains
    - KSK
    - updatesignwithkey
    - dns__zone_updatesigs
    - dns_dbiterator_destroy
    - dns_rdataset_init
    - isc_mem_put
    - INSIST
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - del_sigs
    - del_sig
    - updatesecure
    - dns_zone_check_dnskey_nsec3
    - ALG
    - dns_dbiterator_current
    - ISC_LIST_PREPEND
    - dst_key_inactive
    - dns__zone_set_resigntime
    - check_if_bottom_of_zone
    - REVOKE
    - dst_key_isprivate
    - isc_time_settoepoch
    - isc_time_nowplusinterval
    - dnssec_log
    - ISC_LIST_NEXT
    - LOCK_ZONE
    - zone_journal
    - sign_a_node
    - dst_key_free
    - isc_result_totext
    - dns_dbiterator_next
    - dns_name_issubdomain
    - zonediff_init
    - calculate_rrsig_validity
    - dns_db_detach
    - zone_needdump
    - isc_stdtime_now
    - dns_name_equal
    - ISC_LIST_HEAD
    - dst_key_have_ksk_and_zsk
    - dst_key_getbool
    - ISC_LIST_EMPTY
    - ZONEDB_UNLOCK
    - dns_db_closeversion
    - ZONEDB_LOCK
    - CHECK
    - dns_diff_clear
    - isc_interval_set
    - update_soa_serial
    - zone_nsecttl
    - dns_db_detachnode
    - dns_db_attach
    - ISC_LIST_APPEND
    - dns_dbiterator_first
    - dst_key_id
    - dns_db_find
    - add_sigs
    - dns_fixedname_initname
    - DNS_ZONE_SETFLAG
    - ISC_LIST_FOREACH
    - dns_diff_init
    - UNLOCK_ZONE
    - dns_dbiterator_pause
    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:8634,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8635
      start: 8633
    functionDepth: 1
    functionLinenumber: 8633
    functionLinenumberEnd: 8635
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 208
    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:8646,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:8647,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:8648,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:8649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8650
      start: 8645
    functionDepth: 1
    functionLinenumber: 8645
    functionLinenumberEnd: 8650
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 208
    functionsReached:
    - dns_dbiterator_destroy
    - dns_db_detach
    - ISC_LIST_UNLINK
    - isc_mem_put
    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:8678,1
    - Dst: ISC_LIST_PREPEND
      Src: /src/bind9/lib/dns/zone.c:8679,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:8680,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:8681,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8682
      start: 8677
    functionDepth: 1
    functionLinenumber: 8677
    functionLinenumberEnd: 8682
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 208
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_PREPEND
    - dns_dbiterator_pause
    - dns_dbiterator_first
    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:8727,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:8728,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8732,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:8733,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:8735,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8739,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:8743,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:8744,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:8745,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:8749,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: 8752
      start: 8719
    functionDepth: 2
    functionLinenumber: 8719
    functionLinenumberEnd: 8752
    functionName: normalize_key
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dns_rdata_fromstruct
    - dns_keydata_todnskey
    - UNREACHABLE
    - dns_rdata_tostruct
    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:8771,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8781,1
    - Dst: normalize_key
      Src: /src/bind9/lib/dns/zone.c:8782,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:8786,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - rdset
    - rr
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8792
      start: 8765
    functionDepth: 3
    functionLinenumber: 8765
    functionLinenumberEnd: 8792
    functionName: matchkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_compare
    - normalize_key
    - dns_rdataset_current
    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:8781,1
    - Dst: normalize_key
      Src: /src/bind9/lib/dns/zone.c:8782,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:8786,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8789
      start: 8776
    functionDepth: 3
    functionLinenumber: 8776
    functionLinenumberEnd: 8789
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_rdata_compare
    - normalize_key
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdset)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:8814,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:8816,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:8818,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:8824,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8829,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8830,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:8831,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:8836,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:8853,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 2
    argNames:
    - fetch
    - retry
    argTypes:
    - dns_zonefetch_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8870
      start: 8805
    functionDepth: 1
    functionLinenumber: 8805
    functionLinenumberEnd: 8870
    functionName: refresh_time
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_isassociated
    - isc_stdtime_now
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_rdataset_current
    - isc_serial_gt
    - dns_rdata_tostruct
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t refresh_time(dns_zonefetch_t *fetch, bool retry)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:8888,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:8890,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:8892,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/zone.c:8895,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8897,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8900,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8900,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8904,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8908,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:8910,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:8911,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:8913,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:8914,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8915,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:8915,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:8920,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:8920,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 25
    argCount: 3
    argNames:
    - fetch
    - ver
    - diff
    argTypes:
    - dns_zonefetch_t*
    - dns_dbversion_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8926
      start: 8877
    functionDepth: 4
    functionLinenumber: 8877
    functionLinenumberEnd: 8926
    functionName: minimal_update
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_init
    - isc_stdtime_now
    - update_one_rr
    - dns_rdata_reset
    - refresh_time
    - dns_rdata_fromstruct
    - DNS_RDATASET_FOREACH
    - set_refreshkeytimer
    - dns_rdataset_current
    - CHECK
    - dns_fixedname_name
    - dns_rdata_tostruct
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t minimal_update(dns_zonefetch_t *fetch, dns_dbversion_t
      *ver, dns_diff_t *diff)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:8945,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:8946,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:8947,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:8947,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:8949,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:8953,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:8954,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:8955,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:8957,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/zone.c:8963,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zone.c:8966,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:8968,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:8969,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:8970,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:8972,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:8974,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/zone.c:8975,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zone.c:8977,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:8979,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:8981,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:8981,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:8983,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:8992,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 2
    argNames:
    - fetch
    - keydata
    argTypes:
    - dns_zonefetch_t*
    - dns_rdata_keydata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8994
      start: 8931
    functionDepth: 4
    functionLinenumber: 8931
    functionLinenumberEnd: 8994
    functionName: revocable
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_dnssec_keyfromrdata
    - ISC_LOG_DEBUG
    - dst_key_rid
    - dns_rdataset_isassociated
    - RUNTIME_CHECK
    - dnssec_log
    - dst_key_free
    - dns_rdata_tostruct
    - isc_buffer_init
    - isc_result_totext
    - dst_key_alg
    - dns_rdataset_current
    - dns_fixedname_init
    - dns_rdata_fromstruct
    - dns_keydata_todnskey
    - dst_algorithm_fromdata
    - DNS_RDATASET_FOREACH
    - dns_dnssec_verify
    - dns_fixedname_name
    linkageType: ''
    returnType: bool
    signature: bool revocable(dns_zonefetch_t *fetch, dns_rdata_keydata_t *keydata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9001,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:9003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9007
      start: 8999
    functionDepth: 1
    functionLinenumber: 8999
    functionLinenumberEnd: 9007
    functionName: keyfetch_start
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_fixedname_name
    - REQUIRE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t keyfetch_start(dns_zonefetch_t *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9011,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9014
      start: 9009
    functionDepth: 1
    functionLinenumber: 9009
    functionLinenumberEnd: 9014
    functionName: keyfetch_continue
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void keyfetch_continue(dns_zonefetch_t *fetch)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9021,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9022,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:9022,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9023,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:9023,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9033,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9034,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9036,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:9041,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:9042,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:9044,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:9046,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9047,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:9047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9050
      start: 9016
    functionDepth: 3
    functionLinenumber: 9016
    functionLinenumberEnd: 9050
    functionName: keyfetch_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - isc_time_now
    - dns_db_detach
    - dns__zone_settimer
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    - isc_time_formattimestamp
    - dnssec_log
    - ISC_LOG_DEBUG
    - DNS_ZONE_TIME_ADD
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void keyfetch_cancel(dns_zonefetch_t *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9056,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:9060,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:9062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9063
      start: 9052
    functionDepth: 1
    functionLinenumber: 9052
    functionLinenumberEnd: 9063
    functionName: keyfetch_cleanup
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_cleanup
    - dns_db_detach
    linkageType: ''
    returnType: void
    signature: void keyfetch_cleanup(dns_zonefetch_t *fetch)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9098,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9099,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9100,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:9100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9101,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:9101,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:9106,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/zone.c:9112,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:9113,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:9115,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:9116,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:9118,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9120,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:9120,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:9126,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9129,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:9129,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9131,1
    - Dst: dns_zonefetch_verify
      Src: /src/bind9/lib/dns/zone.c:9133,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9135,1
    - Dst: minimal_update
      Src: /src/bind9/lib/dns/zone.c:9135,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/zone.c:9146,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:9154,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zone.c:9155,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9161,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9162,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9168,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9169,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9170,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:9178,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:9189,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zone.c:9195,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:9197,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9199,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:9199,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9203,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/lib/dns/zone.c:9208,1
    - Dst: dns_keynode_trust
      Src: /src/bind9/lib/dns/zone.c:9209,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:9214,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zone.c:9219,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9227,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9250,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9251,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9252,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9253,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:9255,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:9256,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:9262,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9266,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9269,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:9279,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9291,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9301,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9303,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9311,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9318,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9323,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9323,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9332,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:9333,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:9334,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9339,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9339,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:9343,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9372,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9373,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9374,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:9381,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:9387,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9391,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9394,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:9398,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9399,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9400,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9401,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9402,1
    - Dst: revocable
      Src: /src/bind9/lib/dns/zone.c:9404,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9411,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/zone.c:9421,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9435,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9443,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9451,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9473,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9487,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9503,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9527,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9536,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9553,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9553,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9560,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9561,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:9562,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:9563,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9568,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9568,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9573,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9574,1
    - Dst: dns_keydata_fromdnskey
      Src: /src/bind9/lib/dns/zone.c:9575,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9580,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9581,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:9582,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:9583,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9588,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9588,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9595,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9596,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:9597,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:9601,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:9602,1
    - Dst: fail_secure
      Src: /src/bind9/lib/dns/zone.c:9616,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:9620,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9622,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:9622,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9624,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:9624,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:9627,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:9628,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9644,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9647,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:9650,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:9653,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:9657,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:9660,1
    CyclomaticComplexity: 77
    EdgeCount: 77
    ICount: 276
    argCount: 2
    argNames:
    - fetch
    - eresult
    argTypes:
    - dns_zonefetch_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9663
      start: 9070
    functionDepth: 9
    functionLinenumber: 9070
    functionLinenumberEnd: 9663
    functionName: keyfetch_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_keynode_initial
    - REQUIRE
    - dns_dnssec_keyfromrdata
    - dns_db_newversion
    - INSIST
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - compute_tag
    - ISC_LOG_DEBUG
    - minimal_update
    - dns_rdataset_disassociate
    - DNS_ZONE_CLRFLAG
    - dns_keydata_fromdnskey
    - dns_name_format
    - RUNTIME_CHECK
    - dns_keynode_dsset
    - update_one_rr
    - dnssec_log
    - dns_view_getsecroots
    - dns_zonefetch_verify
    - zone_journal
    - dst_key_free
    - dns_rdata_tostruct
    - isc_result_totext
    - LOCKED_ZONE
    - isc_buffer_init
    - zone_needdump
    - isc_stdtime_now
    - dns_zone_log
    - dns_keytable_find
    - dns_keytable_detach
    - dns_rdata_reset
    - matchkey
    - refresh_time
    - ISC_LIST_EMPTY
    - trust_key
    - fail_secure
    - set_refreshkeytimer
    - dns_rdataset_current
    - CHECK
    - dns_db_closeversion
    - revocable
    - dns_diff_clear
    - update_soa_serial
    - dns_keynode_trust
    - dns_view_untrust
    - dns_dnssec_matchdskey
    - dns_rdata_fromstruct
    - dns_keydata_todnskey
    - DNS_ZONE_SETFLAG
    - dns_keynode_detach
    - dns_diff_init
    - dns_dnssec_verify
    - dns_fixedname_name
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t keyfetch_done(dns_zonefetch_t *fetch, isc_result_t eresult)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9161,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9162,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9168,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9169,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9170,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:9178,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:9189,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zone.c:9195,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:9197,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9199,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:9199,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9203,1
    - Dst: dns_keynode_initial
      Src: /src/bind9/lib/dns/zone.c:9208,1
    - Dst: dns_keynode_trust
      Src: /src/bind9/lib/dns/zone.c:9209,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9213
      start: 9156
    functionDepth: 4
    functionLinenumber: 9156
    functionLinenumberEnd: 9213
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_keynode_initial
    - dns_keynode_trust
    - dns_dnssec_keyfromrdata
    - dns_dnssec_matchdskey
    - dns_rdata_reset
    - dnssec_log
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - dns_dnssec_verify
    - dst_key_free
    - dns_rdata_tostruct
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(dnskeysigs)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9168,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9169,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9170,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:9178,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9183
      start: 9164
    functionDepth: 2
    functionLinenumber: 9164
    functionLinenumberEnd: 9183
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_dnssec_matchdskey
    - dns_rdata_reset
    - dns_rdataset_current
    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:9250,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9251,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9252,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9253,1
    - Dst: dns_keydata_todnskey
      Src: /src/bind9/lib/dns/zone.c:9255,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:9256,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:9262,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9266,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9269,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:9279,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9291,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9301,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9303,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9311,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9318,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9323,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9323,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9332,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:9333,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:9334,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9339,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9339,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:9343,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9345
      start: 9247
    functionDepth: 5
    functionLinenumber: 9247
    functionLinenumberEnd: 9345
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - isc_buffer_init
    - dns_zone_log
    - RUNTIME_CHECK
    - update_one_rr
    - dns_rdata_reset
    - matchkey
    - dnssec_log
    - dns_keydata_todnskey
    - compute_tag
    - refresh_time
    - dns_rdata_fromstruct
    - set_refreshkeytimer
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(keydataset)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9372,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9373,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9374,1
    - Dst: compute_tag
      Src: /src/bind9/lib/dns/zone.c:9381,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:9387,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9391,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9394,1
    - Dst: matchkey
      Src: /src/bind9/lib/dns/zone.c:9398,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9399,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9400,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9401,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9402,1
    - Dst: revocable
      Src: /src/bind9/lib/dns/zone.c:9404,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9411,1
    - Dst: dns_view_untrust
      Src: /src/bind9/lib/dns/zone.c:9421,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9435,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9443,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9451,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9473,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9487,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9503,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9527,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:9536,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9553,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9553,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9560,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9561,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:9562,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:9563,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9568,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9568,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9573,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9574,1
    - Dst: dns_keydata_fromdnskey
      Src: /src/bind9/lib/dns/zone.c:9575,1
    - Dst: refresh_time
      Src: /src/bind9/lib/dns/zone.c:9580,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:9581,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:9582,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:9583,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9588,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9588,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9595,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9596,1
    - Dst: trust_key
      Src: /src/bind9/lib/dns/zone.c:9597,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:9601,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:9602,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 115
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9604
      start: 9363
    functionDepth: 5
    functionLinenumber: 9363
    functionLinenumberEnd: 9604
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - INSIST
    - compute_tag
    - dns_keydata_fromdnskey
    - RUNTIME_CHECK
    - update_one_rr
    - dnssec_log
    - isc_buffer_init
    - dns_rdata_tostruct
    - isc_result_totext
    - dns_zone_log
    - matchkey
    - dns_rdata_reset
    - refresh_time
    - trust_key
    - set_refreshkeytimer
    - dns_rdataset_current
    - CHECK
    - revocable
    - dns_view_untrust
    - dns_rdata_fromstruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(dnskeys)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:9724,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:9725,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:9726,1
    - Dst: dns_rriterator_pause
      Src: /src/bind9/lib/dns/zone.c:9730,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:9731,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:9731,1
    - Dst: dns_rriterator_pause
      Src: /src/bind9/lib/dns/zone.c:9747,1
    - Dst: set_refreshkeytimer
      Src: /src/bind9/lib/dns/zone.c:9748,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9750
      start: 9722
    functionDepth: 4
    functionLinenumber: 9722
    functionLinenumberEnd: 9750
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - RUNTIME_CHECK
    - update_one_rr
    - set_refreshkeytimer
    - dns_rdataset_current
    - CHECK
    - dns_rriterator_pause
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(kdset)
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:9862,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:9862,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9870,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9871,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9872,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/zone.c:9875,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/zone.c:9877,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9881,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:9887,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:9894,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9901,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:9902,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9903,1
    - Dst: zone_expire
      Src: /src/bind9/lib/dns/zone.c:9905,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9908,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:9919,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9926,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:9927,1
    - Dst: zone_refresh
      Src: /src/bind9/lib/dns/zone.c:9928,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9930,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9940,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9942,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9943,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:9945,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:9948,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:9949,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9955,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9956,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:9957,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9958,1
    - Dst: zone_notify
      Src: /src/bind9/lib/dns/zone.c:9961,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9974,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:9976,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9977,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:9978,1
    - Dst: was_dumping
      Src: /src/bind9/lib/dns/zone.c:9980,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:9984,1
    - Dst: zone_dump
      Src: /src/bind9/lib/dns/zone.c:9986,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:9988,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:9990,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10004,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10005,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10006,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10007,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10008,1
    - Dst: zone_notify
      Src: /src/bind9/lib/dns/zone.c:10010,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10021,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10022,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10024,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10025,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10026,1
    - Dst: zone_refreshkeys
      Src: /src/bind9/lib/dns/zone.c:10028,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10032,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10034,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10035,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:10038,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10039,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10040,1
    - Dst: zone_rekey
      Src: /src/bind9/lib/dns/zone.c:10042,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10055,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10057,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10058,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10059,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10060,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10061,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:10064,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10065,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:10066,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10067,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:10068,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10069,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:10070,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10071,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10072,1
    - Dst: zone_sign
      Src: /src/bind9/lib/dns/zone.c:10075,1
    - Dst: zone_resigninc
      Src: /src/bind9/lib/dns/zone.c:10077,1
    - Dst: zone_nsec3chain
      Src: /src/bind9/lib/dns/zone.c:10079,1
    - Dst: set_key_expiry_warning
      Src: /src/bind9/lib/dns/zone.c:10086,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/zone.c:10087,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10094,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:10095,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10096,1
    CyclomaticComplexity: 66
    EdgeCount: 66
    ICount: 165
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10097
      start: 9855
    functionDepth: 10
    functionLinenumber: 9855
    functionLinenumberEnd: 10097
    functionName: zone_maintenance
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_nsec3chain
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_refreshkeys
    - zone_expire
    - zone_refresh
    - zone_notify
    - zone_rekey
    - isc_time_compare
    - isc_time_settoepoch
    - LOCK_ZONE
    - isc_time_isepoch
    - isc_result_totext
    - isc_time_seconds
    - zone_sign
    - isc_time_now
    - was_dumping
    - dns_zone_log
    - dns__zone_settimer
    - zone_resigninc
    - dns_adb_detach
    - dns_remote_addresses
    - DNS_ZONE_FLAG
    - DNS_ZONE_SETFLAG
    - DNS_ZONE_TIME_ADD
    - zone_dump
    - set_key_expiry_warning
    - dns_view_getadb
    - UNLOCK_ZONE
    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:10111,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:10113,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10116,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10117,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10119,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:10121,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:10125,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:10127,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:10133,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:10135,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:10141,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:10144,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:10145,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10150,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:10152,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10153,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 40
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10154
      start: 10099
    functionDepth: 5
    functionLinenumber: 10099
    functionLinenumberEnd: 10154
    functionName: dns_zone_markdirty
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - zone_send_secureserial
    - isc_time_now
    - dns__zone_set_resigntime
    - INSIST
    - dns__zone_settimer
    - isc_thread_yield
    - LOCK_ZONE
    - zone_get_from_db
    - TRYLOCK_ZONE
    - dns__zone_inline_raw
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    - UNLOCK_ZONE
    - zone_needdump
    linkageType: ''
    returnType: void
    signature: void dns_zone_markdirty(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10164,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10164,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10166,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10169,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10171,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10184,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:10184,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:10187,1
    - Dst: dns_rpz_dbupdate_callback
      Src: /src/bind9/lib/dns/zone.c:10187,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10188,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10195,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:10198,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10199
      start: 10156
    functionDepth: 3
    functionLinenumber: 10156
    functionLinenumberEnd: 10199
    functionName: zone_expire
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - dns_db_detach
    - dns_zone_log
    - dns_db_create
    - dns_rpz_dbupdate_callback
    - zone_unload
    - DNS_ZONE_SETFLAG
    - CHECK
    - DNS_ZONE_CLRFLAG
    linkageType: ''
    returnType: void
    signature: void zone_expire(dns_zone_t *zone)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10207,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10208,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10208,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10210,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/zone.c:10219,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:10220,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10221,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10223,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10229,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10230,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:10240,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zone.c:10240,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:10242,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10244,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10246,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10254,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:10255,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:10258,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:10261,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10262
      start: 10201
    functionDepth: 2
    functionLinenumber: 10201
    functionLinenumberEnd: 10262
    functionName: zone_refresh
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - dns_remote_addresses
    - queue_soa_query
    - isc_random_uniform
    - DNS_ZONE_VALID
    - dns_remote_reset
    - DNS_ZONE_FLAG
    - isc_time_nowplusinterval
    - ISC_MIN
    - DNS_ZONE_SETFLAG
    - dns_zone_logc
    - isc_interval_set
    - atomic_load
    - DNS_ZONE_CLRFLAG
    - isc_result_totext
    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:10268,1
    - Dst: zone_refresh
      Src: /src/bind9/lib/dns/zone.c:10269,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10270,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:10272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10273
      start: 10264
    functionDepth: 3
    functionLinenumber: 10264
    functionLinenumberEnd: 10273
    functionName: zone_refresh_async
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCK_ZONE
    - dns_zone_detach
    - zone_refresh
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void zone_refresh_async(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10277,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10277,1
    - Dst: dns_zone_ref
      Src: /src/bind9/lib/dns/zone.c:10279,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:10280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10281
      start: 10275
    functionDepth: 2
    functionLinenumber: 10275
    functionLinenumberEnd: 10281
    functionName: dns_zone_refresh
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - isc_async_run
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_zone_ref
    linkageType: ''
    returnType: void
    signature: void dns_zone_refresh(dns_zone_t *zone)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:10291,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:10299,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10302,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10302,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10306,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10308,1
    - Dst: dns_journal_empty
      Src: /src/bind9/lib/dns/zone.c:10312,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10313,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10313,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:10315,1
    - Dst: dns_journal_rollforward
      Src: /src/bind9/lib/dns/zone.c:10319,1
    - Dst: dns_journal_recovered
      Src: /src/bind9/lib/dns/zone.c:10325,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10327,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10329,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10332,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10334,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10335,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10338,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:10341,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10345,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:10348,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:10351,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10353,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:10354,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: 10357
      start: 10283
    functionDepth: 8
    functionLinenumber: 10283
    functionLinenumberEnd: 10357
    functionName: zone_journal_rollforward
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_journal_recovered
    - dns_journal_open
    - dns_journal_destroy
    - dns_journal_rollforward
    - ISC_LOG_DEBUG
    - dns_journal_empty
    - dns_zone_logc
    - dns__zone_inline_secure
    - isc_result_totext
    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:10367,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10367,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:10368,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10369,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10369,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:10375,1
    - Dst: dns_db_getsize
      Src: /src/bind9/lib/dns/zone.c:10376,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:10377,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10379,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10382,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10387,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10389,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:10390,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:10392,1
    - Dst: dns_journal_compact
      Src: /src/bind9/lib/dns/zone.c:10395,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10401,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:10401,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10402,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10405,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:10407,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: 10410
      start: 10359
    functionDepth: 7
    functionLinenumber: 10359
    functionLinenumberEnd: 10410
    functionName: zone_journal_compact
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - LOCKED_ZONE
    - INSIST
    - dns_zone_log
    - zone_debuglog
    - DNS_ZONE_FLAG
    - ISC_LOG_DEBUG
    - dns__zone_inline_raw
    - dns_db_closeversion
    - dns_db_getsize
    - dns_db_currentversion
    - DNS_ZONE_CLRFLAG
    - dns_journal_compact
    - isc_result_totext
    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:10417,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10417,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10419,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10420,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10421,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10424,1
    - Dst: was_dumping
      Src: /src/bind9/lib/dns/zone.c:10426,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10430,1
    - Dst: zone_dump
      Src: /src/bind9/lib/dns/zone.c:10432,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10435
      start: 10412
    functionDepth: 3
    functionLinenumber: 10412
    functionLinenumberEnd: 10435
    functionName: dns_zone_flush
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - was_dumping
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    - LOCK_ZONE
    - DNS_ZONE_SETFLAG
    - zone_dump
    - UNLOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_flush(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10446,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10446,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10447,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10447,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10454,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:10459,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:10461,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10463,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:10464,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:10465,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:10470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 2
    argNames:
    - zone
    - delay
    argTypes:
    - dns_zone_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10472
      start: 10437
    functionDepth: 3
    functionLinenumber: 10437
    functionLinenumberEnd: 10472
    functionName: zone_needdump
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 7
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - isc_time_now
    - DNS_ZONE_JITTER_ADD
    - isc_time_compare
    - dns__zone_settimer
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    - isc_time_isepoch
    - DNS_ZONE_SETFLAG
    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:10483,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10483,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10495,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:10498,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:10499,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:10501,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10505,1
    - Dst: dns_dumpctx_serial
      Src: /src/bind9/lib/dns/zone.c:10509,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10517,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:10518,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10520,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10521,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10523,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:10525,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:10538,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/zone.c:10540,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/zone.c:10543,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:10548,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:10552,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:10553,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10554,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10561,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10563,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10566,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10567,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10569,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10571,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:10581,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10584,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:10590,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10592,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10593,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10594,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10596,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10597,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10598,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10601,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/zone.c:10605,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10607,1
    - Dst: zone_dump
      Src: /src/bind9/lib/dns/zone.c:10609,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:10611,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 90
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10612
      start: 10474
    functionDepth: 8
    functionLinenumber: 10474
    functionLinenumberEnd: 10612
    functionName: dump_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_dumpctx_detach
    - dns_zone_detach
    - INSIST
    - DNS_ZONE_VALID
    - isc_thread_yield
    - isc_file_settime
    - DNS_ZONE_CLRFLAG
    - isc_time_settoepoch
    - dns_zone_idetach
    - LOCK_ZONE
    - dns_db_getsoaserial
    - zone_needdump
    - dns_db_detach
    - isc_serial_lt
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    - isc_time_subtract
    - isc_interval_set
    - dns_zone_getdb
    - DNS_ZONE_FLAG
    - TRYLOCK_ZONE
    - dns__zone_inline_raw
    - DNS_ZONE_SETFLAG
    - zone_dump
    - dns_dumpctx_serial
    - zone_journal_compact
    - UNLOCK_ZONE
    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:10630,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10630,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:10634,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:10636,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:10638,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10639,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:10641,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10651,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:10661,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/zone.c:10663,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10665,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:10666,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10667,1
    - Dst: get_raw_serial
      Src: /src/bind9/lib/dns/zone.c:10670,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10674,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:10675,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:10677,1
    - Dst: dns_master_dumpasync
      Src: /src/bind9/lib/dns/zone.c:10679,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10684,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:10686,1
    - Dst: dns_master_dump
      Src: /src/bind9/lib/dns/zone.c:10691,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:10700,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:10701,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:10704,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:10712,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10715,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zone.c:10718,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10730,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10731,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:10736,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10737,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10738,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10739,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10741,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10742,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:10743,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10746,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10748,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 100
    argCount: 2
    argNames:
    - zone
    - compact
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10754
      start: 10614
    functionDepth: 5
    functionLinenumber: 10614
    functionLinenumberEnd: 10754
    functionName: zone_dump
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - isc_mem_strdup
    - isc_file_settime
    - get_raw_serial
    - zone_iattach
    - dns_db_currentversion
    - DNS_ZONE_CLRFLAG
    - isc_time_settoepoch
    - dns_zone_idetach
    - isc_mem_free
    - LOCK_ZONE
    - dns_master_dumpasync
    - dns_master_dump
    - zone_needdump
    - dns_db_detach
    - dns_master_initrawheader
    - ZONEDB_UNLOCK
    - dns_db_closeversion
    - ZONEDB_LOCK
    - isc_interval_set
    - dns__zone_inline_secure
    - isc_time_subtract
    - dns_db_attach
    - DNS_ZONE_FLAG
    - DNS_ZONE_SETFLAG
    - UNLOCK_ZONE
    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:10765,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10765,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:10767,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:10769,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:10771,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10776,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:10777,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10778,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:10780,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/zone.c:10781,1
    - Dst: get_raw_serial
      Src: /src/bind9/lib/dns/zone.c:10785,1
    - Dst: dns_master_dumptostream
      Src: /src/bind9/lib/dns/zone.c:10790,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:10792,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:10793,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    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: 10795
      start: 10756
    functionDepth: 2
    functionLinenumber: 10756
    functionLinenumberEnd: 10795
    functionName: dumptostream
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - dns_db_detach
    - dns_master_initrawheader
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - ZONEDB_UNLOCK
    - get_raw_serial
    - dns_db_closeversion
    - ZONEDB_LOCK
    - dns__zone_inline_secure
    - dns_db_currentversion
    - dns_master_dumptostream
    - UNLOCK_ZONE
    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:10801,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: 10802
      start: 10797
    functionDepth: 0
    functionLinenumber: 10797
    functionLinenumberEnd: 10802
    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:10806,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10806,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10808,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:10809,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10811
      start: 10804
    functionDepth: 1
    functionLinenumber: 10804
    functionLinenumberEnd: 10811
    functionName: dns_zone_unload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_unload
    - LOCK_ZONE
    - UNLOCK_ZONE
    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:10819,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10819,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:10821,1
    - Dst: dns_adb_cancelfind
      Src: /src/bind9/lib/dns/zone.c:10823,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:10826,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10829
      start: 10813
    functionDepth: 1
    functionLinenumber: 10813
    functionLinenumberEnd: 10829
    functionName: checkds_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - dns_request_cancel
    - dns_adb_cancelfind
    - 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:10837,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10837,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:10839,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:10841,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10844
      start: 10831
    functionDepth: 1
    functionLinenumber: 10831
    functionLinenumberEnd: 10844
    functionName: dns__zone_forward_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - ISC_LIST_FOREACH
    - dns_request_cancel
    linkageType: ''
    returnType: void
    signature: void dns__zone_forward_cancel(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10852,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:10852,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10854,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10855,1
    - Dst: dns_dumpctx_cancel
      Src: /src/bind9/lib/dns/zone.c:10858,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:10861,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:10862,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:10863,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10864,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10865,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:10868,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10872
      start: 10846
    functionDepth: 1
    functionLinenumber: 10846
    functionLinenumberEnd: 10872
    functionName: zone_unload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 8
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - dns_zone_log
    - DNS_ZONE_FLAG
    - ZONEDB_UNLOCK
    - zone_detachdb
    - dns_dumpctx_cancel
    - ZONEDB_LOCK
    - DNS_ZONE_CLRFLAG
    linkageType: ''
    returnType: void
    signature: void zone_unload(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10878,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10878,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10880,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10881,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10883,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10889,1
    - Dst: DNS_ZONE_TIME_SUBTRACT
      Src: /src/bind9/lib/dns/zone.c:10890,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:10894,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:10896,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:10897,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10898,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 2
    argNames:
    - zone
    - nodefer
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10899
      start: 10874
    functionDepth: 3
    functionLinenumber: 10874
    functionLinenumberEnd: 10899
    functionName: dns_zone_notify
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_time_now
    - UNLOCK_ZONE
    - dns__zone_settimer
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    - LOCK_ZONE
    - DNS_ZONE_SETFLAG
    - DNS_ZONE_CLRFLAG
    - DNS_ZONE_TIME_SUBTRACT
    linkageType: ''
    returnType: void
    signature: void dns_zone_notify(dns_zone_t *zone, bool nodefer)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:10923,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:10923,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10925,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10926,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:10927,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:10932,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:10933,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10935,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:10936,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:10963,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:10965,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:10967,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:10971,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:10972,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:10977,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:10978,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:10987,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:10988,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:10992,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:10993,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:10994,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:10995,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:10997,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11002,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:11004,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:11005,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:11009,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:11011,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:11013,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:11014,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:11017,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:11019,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:11020,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11024,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11029,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11033,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:11035,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:11045,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:11046,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11047,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:11047,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:11047,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:11049,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:11051,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:11054,1
    - Dst: dns_notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:11059,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:11064,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:11067,1
    - Dst: dns_notify_create
      Src: /src/bind9/lib/dns/zone.c:11072,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:11074,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11078,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11085,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:11091,1
    - Dst: dns_notify_queue
      Src: /src/bind9/lib/dns/zone.c:11092,1
    - Dst: dns_notify_destroy
      Src: /src/bind9/lib/dns/zone.c:11094,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11097,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:11104,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11106,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:11116,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:11117,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:11125,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:11129,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:11130,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:11136,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:11137,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11143,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11149,1
    - Dst: dns_notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:11150,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11153,1
    - Dst: dns_notify_create
      Src: /src/bind9/lib/dns/zone.c:11157,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/zone.c:11159,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:11160,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11161,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:11162,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11163,1
    - Dst: dns_notify_find_address
      Src: /src/bind9/lib/dns/zone.c:11164,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:11166,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:11169,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:11170,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:11173,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:11175,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:11176,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 172
    argCount: 2
    argNames:
    - zone
    - now
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11177
      start: 10901
    functionDepth: 3
    functionLinenumber: 10901
    functionLinenumberEnd: 11177
    functionName: zone_notify
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_notify_find_address
    - dns_transport_detach
    - INSIST
    - DNS_ZONE_OPTION
    - DNS_ZONE_VALID
    - dns_zone_iattach
    - dns_rdataset_init
    - dns_remote_tlsname
    - dns_rdataset_disassociate
    - zone_iattach
    - dns_name_compare
    - dns_db_currentversion
    - dns_name_dup
    - DNS_ZONE_CLRFLAG
    - dns_name_init
    - RUNTIME_CHECK
    - dns_tsigkey_detach
    - LOCK_ZONE
    - dns_remote_curraddr
    - isc_sockaddr_pf
    - isc_sockaddr_disabled
    - dns_rdata_tostruct
    - isc_result_totext
    - dns_db_detach
    - dns_name_dynamic
    - dns_notify_destroy
    - dns_rdataset_first
    - dns_notify_isqueued
    - dns_db_findrdataset
    - ZONEDB_UNLOCK
    - dns_notify_queue
    - dns_zone_logc
    - dns_rdataset_current
    - ZONEDB_LOCK
    - dns_zone_getview
    - dns_db_closeversion
    - dns_remote_reset
    - dns_remote_done
    - dns_db_detachnode
    - dns_db_attach
    - dns_view_gettransport
    - dns_view_gettsig
    - dns_remote_sourceaddr
    - DNS_ZONE_FLAG
    - ISC_LIST_APPEND
    - dns_remote_keyname
    - DNS_ZONE_TIME_ADD
    - dns_db_findnode
    - dns_name_free
    - dns_remote_next
    - UNLOCK_ZONE
    - dns_notify_create
    linkageType: ''
    returnType: void
    signature: void zone_notify(dns_zone_t *zone, isc_time_t *now)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:11125,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:11129,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:11130,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:11136,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:11137,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:11143,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11149,1
    - Dst: dns_notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:11150,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11153,1
    - Dst: dns_notify_create
      Src: /src/bind9/lib/dns/zone.c:11157,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/zone.c:11159,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:11160,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11161,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:11162,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11163,1
    - Dst: dns_notify_find_address
      Src: /src/bind9/lib/dns/zone.c:11164,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11165
      start: 11123
    functionDepth: 3
    functionLinenumber: 11123
    functionLinenumberEnd: 11165
    functionName: (&nsrdset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_notify_find_address
    - DNS_ZONE_OPTION
    - RUNTIME_CHECK
    - dns_notify_isqueued
    - dns_zone_iattach
    - ISC_LIST_APPEND
    - LOCK_ZONE
    - dns_zone_logc
    - dns_rdataset_current
    - dns_name_compare
    - dns_name_dup
    - UNLOCK_ZONE
    - dns_rdata_tostruct
    - dns_notify_create
    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:11189,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/zone.c:11195,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/zone.c:11197,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/zone.c:11202,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/zone.c:11203,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:11204,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/zone.c:11205,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: 11208
      start: 11182
    functionDepth: 1
    functionLinenumber: 11182
    functionLinenumberEnd: 11208
    functionName: create_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_makequestion
    - dns_message_create
    - ISC_LIST_APPEND
    - dns_name_clone
    - dns_message_gettempname
    - dns_message_gettemprdataset
    - dns_message_addname
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_ednsinit
      Src: /src/bind9/lib/dns/zone.c:11213,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:11218,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/zone.c:11218,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:11222,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/zone.c:11222,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/dns/zone.c:11225,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 4
    argNames:
    - message
    - udpsize
    - reqnsid
    - reqexpire
    argTypes:
    - dns_message_t*
    - uint16_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11226
      start: 11210
    functionDepth: 1
    functionLinenumber: 11210
    functionLinenumberEnd: 11226
    functionName: add_opt
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - RETERR
    - dns_message_setopt
    - dns_message_ednsinit
    - dns_message_ednsaddopt
    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:11245,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:11246,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:11248,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:11250,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:11253,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:11255,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:11256,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11258,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:11260,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:11261,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:11263,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11264,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:11265,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:11266,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:11267,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:11270,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:11273,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - stub
    - now
    argTypes:
    - dns_stub_t*
    - isc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11274
      start: 11234
    functionDepth: 4
    functionLinenumber: 11234
    functionLinenumberEnd: 11274
    functionName: stub_finish_zone_update
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detach
    - DNS_ZONE_JITTER_ADD
    - dns__zone_settimer
    - zone_attachdb
    - zone_get_from_db
    - ZONEDB_UNLOCK
    - DNS_ZONE_SETFLAG
    - isc_interval_set
    - dns_db_closeversion
    - ZONEDB_LOCK
    - RANGE
    - DNS_ZONE_TIME_ADD
    - DNS_ZONE_CLRFLAG
    - zone_needdump
    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:11284,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11297,1
    - Dst: DNS_STUB_VALID
      Src: /src/bind9/lib/dns/zone.c:11297,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11303,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11305,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:11306,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:11310,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:11311,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:11312,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:11314,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/lib/dns/zone.c:11315,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11317,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11321,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:11321,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:11325,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:11327,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11329,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11331,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:11342,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:11343,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11345,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:11359,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:11360,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11362,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:11373,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11374,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11386,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:11397,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:11398,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11403,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11411,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:11420,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:11427,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:11433,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:11438,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11440,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11443,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:11447,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11450,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11453,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:11455,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:11459,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:11462,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:11463,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11464,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/zone.c:11467,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11468,1
    - Dst: stub_finish_zone_update
      Src: /src/bind9/lib/dns/zone.c:11469,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:11469,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11470,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:11472,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11473,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11474,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11475,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11477,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 104
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11479
      start: 11281
    functionDepth: 5
    functionLinenumber: 11281
    functionLinenumberEnd: 11479
    functionName: stub_glue_response
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_unreachcache_add
    - dns_rcode_totext
    - INSIST
    - isc_mem_put
    - zone_debuglog
    - isc_sockaddr_format
    - dns_request_getresponse
    - dns_db_addrdataset
    - atomic_fetch_sub_release
    - message_count
    - dns_name_format
    - dns_message_findname
    - dns_zone_idetach
    - LOCK_ZONE
    - dns_remote_curraddr
    - dns_request_getresult
    - isc_buffer_init
    - isc_result_totext
    - dns_request_destroy
    - dns_request_getarg
    - isc_time_now
    - dns_zone_log
    - stub_finish_zone_update
    - dns_message_create
    - dns_db_detachnode
    - DNS_STUB_VALID
    - UNLOCK_ZONE
    - DNS_ZONE_FLAG
    - dns_request_usedtcp
    - dns_db_findnode
    - dns_name_free
    - dns_message_detach
    - dns_opcode_totext
    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:11495,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:11502,1
    - Dst: create_query
      Src: /src/bind9/lib/dns/zone.c:11504,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11507,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/zone.c:11508,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:11510,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11512,1
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/dns/zone.c:11517,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:11519,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:11520,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/zone.c:11529,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11530,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:11531,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11533,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:11537,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:11542,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11543,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:11546,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: 11550
      start: 11485
    functionDepth: 2
    functionLinenumber: 11485
    functionLinenumberEnd: 11550
    functionName: stub_request_nameserver_address
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - create_query
    - atomic_fetch_sub_release
    - add_opt
    - INSIST
    - isc_mem_get
    - isc_mem_put
    - zone_debuglog
    - DNS_ZONE_FLAG
    - dns_remote_curraddr
    - atomic_fetch_add_release
    - dns_name_free
    - dns_name_dup
    - dns_message_detach
    - dns_request_create
    - isc_result_totext
    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:11568,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:11573,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:11583,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:11587,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:11588,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:11597,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:11598,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:11599,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:11601,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:11605,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:11611,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:11615,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:11617,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:11624,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:11629,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:11633,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:11635,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:11647,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:11649,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:11651,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:11652,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:11653,1
    - Dst: stub_request_nameserver_address
      Src: /src/bind9/lib/dns/zone.c:11666,1
    - Dst: stub_request_nameserver_address
      Src: /src/bind9/lib/dns/zone.c:11674,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:11685,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:11686,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:11687,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11688,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: 11691
      start: 11552
    functionDepth: 3
    functionLinenumber: 11552
    functionLinenumberEnd: 11691
    functionName: save_nsrrset
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_name_init
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_mem_get
    - dns_message_findname
    - RUNTIME_CHECK
    - ISC_LIST_APPEND
    - stub_request_nameserver_address
    - ISC_LIST_INIT
    - ISC_LIST_FOREACH
    - dns_db_findnode
    - dns_rdataset_current
    - dns_name_free
    - dns_name_dup
    - dns_db_addrdataset
    - dns_rdata_tostruct
    - dns_name_issubdomain
    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:11597,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:11598,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:11599,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:11601,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:11605,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:11611,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:11615,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:11617,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:11624,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:11629,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:11633,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:11635,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zone.c:11647,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:11649,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:11651,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:11652,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:11653,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11655
      start: 11595
    functionDepth: 1
    functionLinenumber: 11595
    functionLinenumberEnd: 11655
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_db_detachnode
    - dns_name_init
    - isc_mem_get
    - RUNTIME_CHECK
    - dns_message_findname
    - ISC_LIST_APPEND
    - dns_rdataset_current
    - dns_db_findnode
    - dns_name_dup
    - dns_db_addrdataset
    - dns_rdata_tostruct
    - dns_name_issubdomain
    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:11666,1
    - Dst: stub_request_nameserver_address
      Src: /src/bind9/lib/dns/zone.c:11674,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11679
      start: 11662
    functionDepth: 3
    functionLinenumber: 11662
    functionLinenumberEnd: 11679
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 211
    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:11696,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11708,1
    - Dst: DNS_STUB_VALID
      Src: /src/bind9/lib/dns/zone.c:11708,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:11714,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11716,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11718,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:11722,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:11723,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:11724,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:11726,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11734,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11735,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11736,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11736,1
    - Dst: dns_unreachcache_add
      Src: /src/bind9/lib/dns/zone.c:11744,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11746,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:11749,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:11753,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:11756,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:11768,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:11769,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11771,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:11785,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:11786,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:11788,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11793,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11793,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11797,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11801,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:11812,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11813,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:11819,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11827,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:11838,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:11839,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11842,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11850,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/lib/dns/zone.c:11857,1
    - Dst: save_nsrrset
      Src: /src/bind9/lib/dns/zone.c:11862,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11865,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:11872,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:11873,1
    - Dst: atomic_fetch_sub
      Src: /src/bind9/lib/dns/zone.c:11879,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11880,1
    - Dst: stub_finish_zone_update
      Src: /src/bind9/lib/dns/zone.c:11881,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11885,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:11889,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11893,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:11895,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:11898,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:11901,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:11903,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:11907,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:11908,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:11909,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:11910,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:11911,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:11914,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11918,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:11920,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:11922,1
    - Dst: ns_query
      Src: /src/bind9/lib/dns/zone.c:11923,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11924,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:11928,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:11930,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11931,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:11932,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:11933,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 151
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11934
      start: 11693
    functionDepth: 5
    functionLinenumber: 11693
    functionLinenumberEnd: 11934
    functionName: stub_callback
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_unreachcache_add
    - dns_rcode_totext
    - INSIST
    - isc_mem_put
    - zone_debuglog
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - dns_request_getresponse
    - DNS_ZONE_CLRFLAG
    - message_count
    - dns_zone_idetach
    - LOCK_ZONE
    - dns_remote_curraddr
    - dns_request_getresult
    - isc_buffer_init
    - isc_result_totext
    - dns_request_destroy
    - dns_request_getarg
    - isc_time_now
    - dns_db_detach
    - queue_soa_query
    - dns_zone_log
    - stub_finish_zone_update
    - dns__zone_settimer
    - dns_message_create
    - atomic_fetch_add
    - dns_db_closeversion
    - save_nsrrset
    - dns_remote_done
    - DNS_STUB_VALID
    - UNLOCK_ZONE
    - atomic_fetch_sub
    - DNS_ZONE_FLAG
    - dns_request_usedtcp
    - DNS_ZONE_SETFLAG
    - ns_query
    - dns_remote_next
    - dns_message_detach
    - dns_opcode_totext
    linkageType: ''
    returnType: void
    signature: void stub_callback(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:11950,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:11956,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:11958,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:11959,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/zone.c:11960,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/zone.c:11961,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/zone.c:11962,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/zone.c:11963,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/zone.c:11968,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/zone.c:11971,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:11972,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:11972,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: 11983
      start: 11940
    functionDepth: 3
    functionLinenumber: 11940
    functionLinenumberEnd: 11983
    functionName: get_edns_expire
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_zone_log
    - dns_rdataset_first
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - isc_buffer_add
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - isc_buffer_getuint16
    - isc_buffer_getuint32
    - isc_buffer_init
    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:11994,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:11995,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:12002,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12005,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12006,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:12008,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:12010,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:12017,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:12019,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12022,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 22
    argCount: 2
    argNames:
    - zone
    - expiretime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12024
      start: 11988
    functionDepth: 4
    functionLinenumber: 11988
    functionLinenumberEnd: 12024
    functionName: setmodtime
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - isc_result_totext
    - DNS_ZONE_FLAG
    - isc_file_settime
    - isc_time_subtract
    - isc_interval_set
    - zone_needdump
    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:12032,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:12042,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12047,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12047,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:12051,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12051,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12052,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12052,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12054,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:12057,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12059,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12061,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:12068,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:12069,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:12070,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12079,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12080,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12081,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12082,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:12087,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12088,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:12097,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/lib/dns/zone.c:12099,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12103,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12108,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12109,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12120,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12123,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:12127,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:12129,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12131,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12134,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:12145,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:12146,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12148,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:12162,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:12163,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12165,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12170,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12171,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12175,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12178,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12181,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12182,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12187,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12190,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12215,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12221,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12224,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/zone.c:12225,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12226,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12233,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12242,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:12249,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:12250,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:12251,1
    - Dst: message_count
      Src: /src/bind9/lib/dns/zone.c:12252,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12258,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12269,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12280,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12291,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:12302,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12306,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:12313,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12315,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:12320,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:12321,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:12322,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12325,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:12327,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:12330,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:12331,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:12332,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:12335,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12339,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12340,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:12341,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/lib/dns/zone.c:12343,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12346,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:12359,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12366,1
    - Dst: ns_query
      Src: /src/bind9/lib/dns/zone.c:12367,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12370,1
    - Dst: isc_serial_eq
      Src: /src/bind9/lib/dns/zone.c:12372,1
    - Dst: get_edns_expire
      Src: /src/bind9/lib/dns/zone.c:12380,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:12381,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:12386,1
    - Dst: setmodtime
      Src: /src/bind9/lib/dns/zone.c:12389,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:12393,1
    - Dst: dns_remote_mark
      Src: /src/bind9/lib/dns/zone.c:12394,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:12397,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12398,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:12404,1
    - Dst: dns_remote_mark
      Src: /src/bind9/lib/dns/zone.c:12407,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12411,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12417,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:12419,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:12423,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12424,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:12425,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12426,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12427,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12428,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:12431,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:12435,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12446,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:12448,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:12450,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12455,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:12457,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:12458,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:12463,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12465,1
    - Dst: queue_xfrin
      Src: /src/bind9/lib/dns/zone.c:12467,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12469,1
    CyclomaticComplexity: 92
    EdgeCount: 92
    ICount: 253
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12471
      start: 12029
    functionDepth: 5
    functionLinenumber: 12029
    functionLinenumberEnd: 12471
    functionName: refresh_callback
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rcode_totext
    - INSIST
    - DNS_ZONE_OPTION
    - DNS_ZONE_VALID
    - isc_serial_eq
    - get_edns_expire
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - dns_request_getresponse
    - DNS_ZONE_CLRFLAG
    - dns_unreachcache_find
    - message_count
    - zone_debuglogc
    - isc_time_compare
    - DNS_ZONE_JITTER_ADD
    - dns_message_findname
    - RUNTIME_CHECK
    - dns_zone_idetach
    - dns_request_getresult
    - LOCK_ZONE
    - dns_remote_curraddr
    - dns_remote_mark
    - isc_buffer_init
    - isc_result_totext
    - dns_rdata_tostruct
    - dns_request_getarg
    - isc_time_now
    - dns_request_destroy
    - queue_soa_query
    - setmodtime
    - dns__zone_settimer
    - dns_rdataset_first
    - dns_message_create
    - zone_get_from_db
    - dns_zone_logc
    - dns_rdataset_current
    - isc_log_wouldlog
    - dns_remote_done
    - queue_xfrin
    - UNLOCK_ZONE
    - DNS_ZONE_FLAG
    - dns_request_usedtcp
    - DNS_ZONE_SETFLAG
    - DNS_ZONE_TIME_ADD
    - ns_query
    - isc_serial_gt
    - dns_remote_next
    - dns_message_detach
    - dns_opcode_totext
    linkageType: ''
    returnType: void
    signature: void refresh_callback(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12487,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12487,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12489,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:12490,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:12494,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:12498,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:12503,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:12504,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12507,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:12508,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:12509,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12511
      start: 12478
    functionDepth: 3
    functionLinenumber: 12478
    functionLinenumberEnd: 12511
    functionName: queue_soa_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - isc_time_now
    - isc_mem_put
    - isc_mem_get
    - DNS_ZONE_FLAG
    - zone_idetach
    - zone_iattach
    - cancel_refresh
    - isc_ratelimiter_enqueue
    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:12529,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12529,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12533,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12534,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12537,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12544,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:12545,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12548,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:12548,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12549,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:12549,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:12551,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:12552,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:12553,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:12555,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:12563,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:12564,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:12565,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:12566,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:12569,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12570,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:12577,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/zone.c:12580,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12582,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:12589,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:12590,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:12591,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:12592,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:12596,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:12597,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12605,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:12612,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/zone.c:12615,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12617,1
    - Dst: dns_peer_gettransfersource
      Src: /src/bind9/lib/dns/zone.c:12619,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/dns/zone.c:12624,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/zone.c:12625,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/zone.c:12626,1
    - Dst: dns_peer_getrequestexpire
      Src: /src/bind9/lib/dns/zone.c:12627,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/zone.c:12628,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12635,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:12639,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:12642,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:12650,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:12653,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:12659,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12668,1
    - Dst: create_query
      Src: /src/bind9/lib/dns/zone.c:12675,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12677,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/zone.c:12678,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:12680,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12682,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:12686,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/zone.c:12687,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:12689,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12695,1
    - Dst: zone_debuglogc
      Src: /src/bind9/lib/dns/zone.c:12696,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12698,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:12702,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12704,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:12705,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:12708,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:12715,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:12718,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:12721,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12724,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:12727,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:12731,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:12733,1
    - Dst: queue_xfrin
      Src: /src/bind9/lib/dns/zone.c:12735,1
    - Dst: isc_rlevent_free
      Src: /src/bind9/lib/dns/zone.c:12737,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:12738,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12739,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:12744,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:12747,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12750,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:12755,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:12756,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:12759,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 174
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 12761
      start: 12513
    functionDepth: 5
    functionLinenumber: 12513
    functionLinenumberEnd: 12761
    functionName: soa_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_nm_getprimariestimeout
    - dns_transport_detach
    - INSIST
    - isc_mem_put
    - DNS_ZONE_VALID
    - ISC_LOG_DEBUG
    - dns_remote_tlsname
    - dns_view_getpeertsig
    - isc_sockaddr_any6
    - zone_iattach
    - dns__zone_stats_increment
    - DNS_ZONE_CLRFLAG
    - isc_sockaddr_any
    - add_opt
    - isc_netaddr_format
    - dns_name_format
    - dns_peer_getsupportedns
    - zone_debuglogc
    - dns_peer_getudpsize
    - isc_sockaddr_equal
    - dns_zone_idetach
    - dns_tsigkey_detach
    - dns_remote_count
    - LOCK_ZONE
    - dns_remote_curraddr
    - isc_rlevent_free
    - isc_sockaddr_pf
    - isc_sockaddr_disabled
    - dns_peer_getrequestexpire
    - isc_result_totext
    - isc_time_now
    - dns_peer_getforcetcp
    - isc_netaddr_fromsockaddr
    - dns_peer_getrequestnsid
    - dns_zone_logc
    - dns_zone_getview
    - dns_peer_gettransfersource
    - dns_view_getudpsize
    - dns_peerlist_peerbyaddr
    - dns_request_create
    - dns_remote_done
    - CLEANUP
    - queue_xfrin
    - cancel_refresh
    - create_query
    - dns_view_gettransport
    - dns_remote_reset
    - dns_view_gettsig
    - dns_remote_sourceaddr
    - DNS_ZONE_FLAG
    - dns_remote_keyname
    - DNS_ZONE_SETFLAG
    - zone_idetach
    - dns_remote_next
    - dns_message_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void soa_query(void *arg)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12776,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:12776,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12777,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:12777,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12778,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:12780,1
    - Dst: DNS_STUB_VALID
      Src: /src/bind9/lib/dns/zone.c:12780,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:12785,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/zone.c:12791,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:12796,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:12803,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:12805,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:12806,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:12808,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12810,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:12811,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:12816,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12820,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zone.c:12823,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zone.c:12824,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:12828,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:12830,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12833,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:12840,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:12842,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12845,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:12849,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:12851,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:12853,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12856,1
    - Dst: create_query
      Src: /src/bind9/lib/dns/zone.c:12864,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12866,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:12866,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:12867,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:12867,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:12869,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:12870,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:12871,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:12876,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:12877,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:12878,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:12879,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:12882,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:12883,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:12888,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:12897,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/zone.c:12900,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:12902,1
    - Dst: dns_peer_gettransfersource
      Src: /src/bind9/lib/dns/zone.c:12904,1
    - Dst: dns_view_getudpsize
      Src: /src/bind9/lib/dns/zone.c:12909,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/zone.c:12910,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/zone.c:12911,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:12914,1
    - Dst: add_opt
      Src: /src/bind9/lib/dns/zone.c:12915,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:12917,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12919,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:12926,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:12930,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:12933,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:12941,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:12944,1
    - Dst: POST
      Src: /src/bind9/lib/dns/zone.c:12951,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:12959,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/zone.c:12963,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:12967,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:12973,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:12975,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12978,1
    - Dst: cancel_refresh
      Src: /src/bind9/lib/dns/zone.c:12982,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:12985,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:12988,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:12991,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:12994,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:12996,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:12998,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:13002,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 157
    argCount: 3
    argNames:
    - zone
    - soardataset
    - stub
    argTypes:
    - dns_zone_t*
    - dns_rdataset_t*
    - dns_stub_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13005
      start: 12763
    functionDepth: 3
    functionLinenumber: 12763
    functionLinenumberEnd: 13005
    functionName: ns_query
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_nm_getprimariestimeout
    - dns_db_newversion
    - INSIST
    - dns_db_create
    - isc_mem_put
    - DNS_ZONE_VALID
    - zone_debuglog
    - atomic_init
    - dns_view_getpeertsig
    - isc_sockaddr_any6
    - zone_iattach
    - dns_db_addrdataset
    - isc_sockaddr_any
    - add_opt
    - dns_name_format
    - dns_peer_getsupportedns
    - dns_peer_getudpsize
    - isc_sockaddr_equal
    - dns_tsigkey_detach
    - dns_remote_count
    - zone_idetach
    - dns_remote_curraddr
    - isc_sockaddr_pf
    - isc_result_totext
    - LOCKED_ZONE
    - dns_db_detach
    - dns_zone_log
    - isc_netaddr_fromsockaddr
    - ZONEDB_UNLOCK
    - dns_peer_getrequestnsid
    - dns_zone_getview
    - ZONEDB_LOCK
    - dns_peer_gettransfersource
    - dns_view_getudpsize
    - dns_db_closeversion
    - dns_peerlist_peerbyaddr
    - dns_request_create
    - dns_remote_done
    - dns_db_detachnode
    - DNS_STUB_VALID
    - dns_db_attach
    - create_query
    - dns_view_gettsig
    - isc_mem_get
    - dns_remote_sourceaddr
    - DNS_ZONE_FLAG
    - POST
    - dns_db_setmaxrrperset
    - dns_db_setmaxtypepername
    - dns_remote_keyname
    - DNS_ZONE_SETFLAG
    - dns_db_findnode
    - cancel_refresh
    - dns_message_detach
    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:13017,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13017,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13018,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/zone.c:13018,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:13020,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:13029,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:13031,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:13037,1
    - Dst: dns__zonemgr_resume_xfrs
      Src: /src/bind9/lib/dns/zone.c:13040,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:13042,1
    - Dst: dns_xfrin_shutdown
      Src: /src/bind9/lib/dns/zone.c:13050,1
    - Dst: dns_zonemgr_releasezone
      Src: /src/bind9/lib/dns/zone.c:13055,1
    - Dst: dns_zone_setcfg
      Src: /src/bind9/lib/dns/zone.c:13059,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13061,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13062,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:13075,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zone.c:13078,1
    - Dst: dns_loadctx_cancel
      Src: /src/bind9/lib/dns/zone.c:13082,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13085,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13086,1
    - Dst: dns_dumpctx_cancel
      Src: /src/bind9/lib/dns/zone.c:13089,1
    - Dst: checkds_cancel
      Src: /src/bind9/lib/dns/zone.c:13093,1
    - Dst: dns_notify_cancel
      Src: /src/bind9/lib/dns/zone.c:13095,1
    - Dst: dns_notify_cancel
      Src: /src/bind9/lib/dns/zone.c:13096,1
    - Dst: dns__zone_forward_cancel
      Src: /src/bind9/lib/dns/zone.c:13098,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:13101,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/zone.c:13102,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:13110,1
    - Dst: dns__zone_free_check
      Src: /src/bind9/lib/dns/zone.c:13111,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:13118,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13119,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:13124,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13128,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:13131,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/zone.c:13134,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:13138,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:13141,1
    - Dst: dns__zone_free
      Src: /src/bind9/lib/dns/zone.c:13144,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 79
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13146
      start: 13010
    functionDepth: 5
    functionLinenumber: 13010
    functionLinenumberEnd: 13146
    functionName: zone_shutdown
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_notify_cancel
    - REQUIRE
    - isc_timer_destroy
    - ISC_LIST_UNLINK
    - dns_zone_detach
    - dns__zone_free
    - INSIST
    - DNS_ZONE_VALID
    - zone_debuglog
    - dns_zonemgr_releasezone
    - checkds_cancel
    - RWLOCK
    - dns_request_cancel
    - dns_zone_setcfg
    - dns_zone_idetach
    - LOCK_ZONE
    - dns_loadctx_cancel
    - dns_view_weakdetach
    - isc_refcount_current
    - isc_refcount_decrement
    - dns__zone_forward_cancel
    - dns__zonemgr_resume_xfrs
    - dns_dumpctx_cancel
    - dns__zone_inline_secure
    - RWUNLOCK
    - DNS_ZONE_FLAG
    - dns__zone_free_check
    - DNS_ZONE_SETFLAG
    - dns__zone_inline_raw
    - dns_xfrin_shutdown
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void zone_shutdown(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13152,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13152,1
    - Dst: zone_maintenance
      Src: /src/bind9/lib/dns/zone.c:13154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13155
      start: 13148
    functionDepth: 11
    functionLinenumber: 13148
    functionLinenumberEnd: 13155
    functionName: zone_timer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_maintenance
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void zone_timer(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:13159,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/zone.c:13161,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13163
      start: 13157
    functionDepth: 2
    functionLinenumber: 13157
    functionLinenumberEnd: 13163
    functionName: zone_timer_stop
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - zone_debuglog
    - isc_timer_stop
    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:13169,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:13170,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:13172,1
    - Dst: zone_debuglog
      Src: /src/bind9/lib/dns/zone.c:13176,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:13178,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/zone.c:13179,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/zone.c:13182,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: 13184
      start: 13165
    functionDepth: 2
    functionLinenumber: 13165
    functionLinenumberEnd: 13184
    functionName: zone_timer_set
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_timer_create
    - isc_time_compare
    - isc_timer_start
    - zone_debuglog
    - isc_time_subtract
    - isc_interval_set
    - isc_refcount_increment0
    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:13194,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13194,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13197,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13198,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:13201,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:13205,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13210,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13211,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13215,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13216,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13218,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13218,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13219,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13220,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13228,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13229,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13231,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13232,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13237,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13238,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13239,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13244,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13245,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13246,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13251,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13252,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13253,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13258,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13259,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13260,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13270,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13271,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13277,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13278,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13279,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13280,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13281,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13282,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13283,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13287,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13288,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13290,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13291,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13296,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13297,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13299,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13299,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13300,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13301,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13309,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13310,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13312,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13312,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13313,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13314,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13319,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13320,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13321,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:13322,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:13334,1
    - Dst: zone_timer_stop
      Src: /src/bind9/lib/dns/zone.c:13335,1
    - Dst: zone_timer_set
      Src: /src/bind9/lib/dns/zone.c:13337,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:13341,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:13342,1
    - Dst: dns__zone_free_check
      Src: /src/bind9/lib/dns/zone.c:13343,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13344,1
    - Dst: dns__zone_free
      Src: /src/bind9/lib/dns/zone.c:13346,1
    CyclomaticComplexity: 60
    EdgeCount: 60
    ICount: 109
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13348
      start: 13186
    functionDepth: 4
    functionLinenumber: 13186
    functionLinenumberEnd: 13348
    functionName: zone__settimer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_remote_addresses
    - dns__zone_free
    - zone_timer_stop
    - INSIST
    - isc_time_compare
    - isc_mem_put
    - DNS_ZONE_VALID
    - isc_time_settoepoch
    - zone_timer_set
    - DNS_ZONE_FLAG
    - isc_refcount_decrement
    - dns__zone_free_check
    - LOCK_ZONE
    - isc_time_isepoch
    - UNLOCK_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:13352,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:13356,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:13361,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:13362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - now
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13363
      start: 13350
    functionDepth: 2
    functionLinenumber: 13350
    functionLinenumberEnd: 13363
    functionName: dns__zone_settimer
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 12
    functionsReached:
    - isc_async_run
    - DNS_ZONE_FLAG
    - isc_refcount_increment0
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void dns__zone_settimer(dns_zone_t *zone, isc_time_t *now)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13373,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13373,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13374,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:13374,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:13378,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:13379,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:13380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13381
      start: 13365
    functionDepth: 3
    functionLinenumber: 13365
    functionLinenumberEnd: 13381
    functionName: cancel_refresh
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - isc_time_now
    - dns__zone_settimer
    - DNS_ZONE_VALID
    - DNS_ZONE_CLRFLAG
    linkageType: ''
    returnType: void
    signature: void cancel_refresh(dns_zone_t *zone)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13399,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13399,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:13421,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13426,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:13427,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:13428,1
    - Dst: dns_zone_notifyreceive
      Src: /src/bind9/lib/dns/zone.c:13429,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13430,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:13436,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:13437,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:13440,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13444,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13448,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13450,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13457,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13466,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:13470,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:13471,1
    - Dst: dns_remote_addr
      Src: /src/bind9/lib/dns/zone.c:13472,1
    - Dst: isc_sockaddr_eqaddr
      Src: /src/bind9/lib/dns/zone.c:13473,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/zone.c:13477,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:13478,1
    - Dst: isc_netaddr_fromv4mapped
      Src: /src/bind9/lib/dns/zone.c:13481,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:13482,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/dns/zone.c:13483,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/zone.c:13493,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/lib/dns/zone.c:13494,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:13495,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/zone.c:13497,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:13503,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13504,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:13506,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13507,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13516,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/zone.c:13518,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:13522,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:13528,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:13529,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13530,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:13537,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13540,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:13541,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/zone.c:13542,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13543,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13548,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13559,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:13560,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13562,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13564,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13571,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13581,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:13584,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13588,1
    - Dst: dns_unreachcache_remove
      Src: /src/bind9/lib/dns/zone.c:13591,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/lib/dns/zone.c:13593,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: 13595
      start: 13383
    functionDepth: 4
    functionLinenumber: 13383
    functionLinenumberEnd: 13595
    functionName: dns_zone_notifyreceive
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_netaddr_fromv4mapped
    - INSIST
    - DNS_ZONE_VALID
    - dns__zone_stats_increment
    - isc_sockaddr_format
    - dns_unreachcache_remove
    - dns_remote_addr
    - dns_message_findname
    - RUNTIME_CHECK
    - isc_sockaddr_eqaddr
    - dns_tsigkey_identity
    - dns_remote_count
    - LOCK_ZONE
    - IN6_IS_ADDR_V4MAPPED
    - isc_sockaddr_pf
    - isc_netaddr_equal
    - dns_rdata_tostruct
    - dns_message_gettsigkey
    - dns_rdataset_first
    - isc_netaddr_fromsockaddr
    - zone_get_from_db
    - dns_zone_logc
    - dns_rdataset_current
    - dns__zone_inline_secure
    - dns_acl_match
    - DNS_ZONE_FLAG
    - dns_zone_refresh
    - isc_serial_le
    - DNS_ZONE_SETFLAG
    - dns_zone_notifyreceive
    - UNLOCK_ZONE
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13603,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13603,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:13605,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/zone.c:13609,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:13622,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: 13625
      start: 13597
    functionDepth: 2
    functionLinenumber: 13597
    functionLinenumberEnd: 13625
    functionName: dns_zone_logv
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - vsnprintf
    - DNS_ZONE_VALID
    - isc_log_write
    - 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:13632,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:13633,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:13634,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: 13635
      start: 13627
    functionDepth: 3
    functionLinenumber: 13627
    functionLinenumberEnd: 13635
    functionName: dns_zone_logc
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 9
    functionsReached:
    - va_start
    - dns_zone_logv
    - va_end
    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:13641,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:13642,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:13643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - zone
    - level
    - fmt
    argTypes:
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13644
      start: 13637
    functionDepth: 3
    functionLinenumber: 13637
    functionLinenumberEnd: 13644
    functionName: dns_zone_log
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 48
    functionsReached:
    - va_start
    - dns_zone_logv
    - va_end
    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:13649,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:13652,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:13653,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:13654,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: 13655
      start: 13646
    functionDepth: 3
    functionLinenumber: 13646
    functionLinenumberEnd: 13655
    functionName: zone_debuglogc
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - va_start
    - dns_zone_logv
    - ISC_LOG_DEBUG
    - va_end
    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:13660,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/zone.c:13663,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:13664,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:13665,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: 13666
      start: 13657
    functionDepth: 3
    functionLinenumber: 13657
    functionLinenumberEnd: 13666
    functionName: zone_debuglog
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 9
    functionsReached:
    - va_start
    - dns_zone_logv
    - ISC_LOG_DEBUG
    - va_end
    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:13672,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/zone.c:13673,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:13674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - zone
    - level
    - fmt
    argTypes:
    - dns_zone_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13675
      start: 13668
    functionDepth: 3
    functionLinenumber: 13668
    functionLinenumberEnd: 13675
    functionName: dnssec_log
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 24
    functionsReached:
    - va_start
    - dns_zone_logv
    - va_end
    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:13682,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: 13690
      start: 13677
    functionDepth: 0
    functionLinenumber: 13677
    functionLinenumberEnd: 13690
    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:13682,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13687
      start: 13681
    functionDepth: 0
    functionLinenumber: 13681
    functionLinenumberEnd: 13687
    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: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_zonetype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13716
      start: 13692
    functionDepth: 0
    functionLinenumber: 13692
    functionLinenumberEnd: 13716
    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:13720,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13720,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13721,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:13723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13726
      start: 13718
    functionDepth: 1
    functionLinenumber: 13718
    functionLinenumberEnd: 13726
    functionName: dns_zone_getredirecttype
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_remote_addresses
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t dns_zone_getredirecttype(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13730,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13730,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:13738,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13741
      start: 13728
    functionDepth: 1
    functionLinenumber: 13728
    functionLinenumberEnd: 13741
    functionName: dns__zone_getnotifyctx
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - UNREACHABLE
    linkageType: ''
    returnType: dns_notifyctx_t
    signature: 'dns_notifyctx_t *

      dns__zone_getnotifyctx(dns_zone_t *zone, dns_rdatatype_t type)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13745,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13745,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13746,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:13746,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/zone.c:13747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - counter
    argTypes:
    - dns_zone_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13748
      start: 13743
    functionDepth: 1
    functionLinenumber: 13743
    functionLinenumberEnd: 13748
    functionName: dns__zone_stats_increment
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - inc_stats
    linkageType: ''
    returnType: void
    signature: void dns__zone_stats_increment(dns_zone_t *zone, isc_statscounter_t
      counter)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13752,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13752,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13754
      start: 13750
    functionDepth: 1
    functionLinenumber: 13750
    functionLinenumberEnd: 13754
    functionName: dns__zone_lock
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dns__zone_lock(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13758,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13758,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:13759,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13760
      start: 13756
    functionDepth: 1
    functionLinenumber: 13756
    functionLinenumberEnd: 13760
    functionName: dns__zone_unlock
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns__zone_unlock(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13764,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13764,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:13765,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13766
      start: 13762
    functionDepth: 1
    functionLinenumber: 13762
    functionLinenumberEnd: 13766
    functionName: dns__zone_locked
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_locked(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13770,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13770,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13772
      start: 13768
    functionDepth: 1
    functionLinenumber: 13768
    functionLinenumberEnd: 13772
    functionName: dns__zone_loaded
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_loaded(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13776,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13776,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:13777,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13778
      start: 13774
    functionDepth: 1
    functionLinenumber: 13774
    functionLinenumberEnd: 13778
    functionName: dns__zone_exiting
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns__zone_exiting(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:13789,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13790,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: 13791
      start: 13787
    functionDepth: 4
    functionLinenumber: 13787
    functionLinenumberEnd: 13791
    functionName: update_log_cb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - dns_zone_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: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zone.c:13799,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:13799,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13802,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13804,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:13808,1
    - Dst: dst_key_pubcompare
      Src: /src/bind9/lib/dns/zone.c:13809,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:13815,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: 13817
      start: 13793
    functionDepth: 4
    functionLinenumber: 13793
    functionLinenumberEnd: 13817
    functionName: dnskey_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_zone_getorigin
    - dns_dnssec_keyfromrdata
    - dns_zone_log
    - dst_key_pubcompare
    - ISC_LIST_FOREACH
    - dst_key_free
    - isc_result_totext
    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:13825,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13827,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13829,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:13833,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/zone.c:13837,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13840,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13842,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:13847,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: 13854
      start: 13819
    functionDepth: 4
    functionLinenumber: 13819
    functionLinenumberEnd: 13854
    functionName: cdnskey_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_log
    - dns_dnssec_make_dnskey
    - ISC_LIST_FOREACH
    - dns_rdata_compare
    - dns_rdata_tostruct
    - isc_result_totext
    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:13862,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13864,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13866,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:13870,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:13876,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:13877,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:13877,1
    - Dst: dns_dnssec_make_dnskey
      Src: /src/bind9/lib/dns/zone.c:13882,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13885,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13887,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zone.c:13890,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:13890,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13894,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13899,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:13904,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: 13911
      start: 13856
    functionDepth: 4
    functionLinenumber: 13856
    functionLinenumberEnd: 13911
    functionName: cds_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - dst_algorithm_tosecalg
    - dns_zone_getorigin
    - dns_zone_log
    - dst_key_alg
    - dst_key_id
    - dns_dnssec_make_dnskey
    - ISC_LIST_FOREACH
    - dns_rdata_compare
    - dns_rdata_tostruct
    - isc_result_totext
    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:13917,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13923,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:13923,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13924,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:13924,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:13928,1
    - Dst: dns_zone_getkasp
      Src: /src/bind9/lib/dns/zone.c:13932,1
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/zone.c:13933,1
    - Dst: dns_zone_getkeystores
      Src: /src/bind9/lib/dns/zone.c:13934,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:13936,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/zone.c:13937,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zone.c:13937,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:13940,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:13944,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:13946,1
    - Dst: dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:13952,1
    - Dst: cdnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:13955,1
    - Dst: cds_inuse
      Src: /src/bind9/lib/dns/zone.c:13958,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:13961,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:13966,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:13967,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: 13970
      start: 13913
    functionDepth: 5
    functionLinenumber: 13913
    functionLinenumberEnd: 13970
    functionName: dns_zone_dnskey_inuse
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - DNS_ZONE_VALID
    - dnskey_inuse
    - dns_dnsseckey_destroy
    - ISC_LIST_INIT
    - dns_zone_unlock_keyfiles
    - dns_zone_lock_keyfiles
    - isc_result_totext
    - dns_zone_getorigin
    - dns_zone_getkeystores
    - cdnskey_inuse
    - isc_stdtime_now
    - dns_zone_log
    - cds_inuse
    - dns_zone_getkeydirectory
    - UNREACHABLE
    - dns_zone_getkasp
    - dns_dnssec_findmatchingkeys
    - dns_rdatatype_iskeymaterial
    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:13966,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:13967,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 13968
      start: 13965
    functionDepth: 2
    functionLinenumber: 13965
    functionLinenumberEnd: 13968
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 214
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(keylist, key, link)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:13981,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:13987,1
    - Dst: dns_journal_iter_init
      Src: /src/bind9/lib/dns/zone.c:13987,1
    - Dst: dns_journal_first_rr
      Src: /src/bind9/lib/dns/zone.c:13988,1
    - Dst: dns_journal_next_rr
      Src: /src/bind9/lib/dns/zone.c:13989,1
    - Dst: dns_journal_current_rr
      Src: /src/bind9/lib/dns/zone.c:13994,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14003,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:14005,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14017,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:14043,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:14045,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:14054,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:14055,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: 14063
      start: 13972
    functionDepth: 8
    functionLinenumber: 13972
    functionLinenumberEnd: 14063
    functionName: sync_secure_journal
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_difftuple_free
    - dns_journal_first_rr
    - dns_zone_log
    - dns_difftuple_create
    - dns_journal_current_rr
    - dns_zone_dnskey_inuse
    - dns_journal_next_rr
    - dns_journal_iter_init
    - CHECK
    - dns_rdatatype_iskeymaterial
    - dns_diff_appendminimal
    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:14076,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:14077,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:14084,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:14087,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:14090,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14099,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14100,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14101,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14102,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:14114,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14117,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14118,1
    - Dst: dns_zone_dnskey_inuse
      Src: /src/bind9/lib/dns/zone.c:14123,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14126,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14127,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: 14134
      start: 14073
    functionDepth: 6
    functionLinenumber: 14073
    functionLinenumberEnd: 14134
    functionName: filter_keymaterial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - dns_zone_dnskey_inuse
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - dns_rdata_compare
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14156,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:14156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14157,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:14163,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:14164,1
    - Dst: dns_db_diffx
      Src: /src/bind9/lib/dns/zone.c:14165,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:14166,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:14167,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/zone.c:14181,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:14183,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:14185,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14186,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:14188,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:14192,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:14194,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:14198,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:14200,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:14204,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:14205,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:14208,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14217,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14218,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14230,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14231,1
    - Dst: dns_rdatatype_iskeymaterial
      Src: /src/bind9/lib/dns/zone.c:14239,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:14240,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:14256,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14262,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14266,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14274,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:14278,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:14282,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:14285,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:14290,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14291,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:14293,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14294,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:14305,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:14306,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14308,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14309,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14310,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14311,1
    - Dst: filter_keymaterial
      Src: /src/bind9/lib/dns/zone.c:14318,1
    - Dst: filter_keymaterial
      Src: /src/bind9/lib/dns/zone.c:14319,1
    - Dst: filter_keymaterial
      Src: /src/bind9/lib/dns/zone.c:14320,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14325,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14326,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14327,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14328,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14329,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14330,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14331,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:14332,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:14334,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14343,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14344,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14348,1
    CyclomaticComplexity: 36
    EdgeCount: 36
    ICount: 118
    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: 14353
      start: 14136
    functionDepth: 9
    functionLinenumber: 14136
    functionLinenumberEnd: 14353
    functionName: sync_secure_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_getoriginnode
    - ISC_LIST_UNLINK
    - INSIST
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_db_currentversion
    - dns_kasp_dnskeyttl
    - RUNTIME_CHECK
    - dns_db_diffx
    - dns_rdata_tostruct
    - filter_keymaterial
    - dns_db_detach
    - dns_name_equal
    - dns_db_findrdataset
    - ISC_LIST_EMPTY
    - dns_db_closeversion
    - UNREACHABLE
    - dns_db_detachnode
    - dns_db_attach
    - dns_difftuple_free
    - dns_rdataset_cleanup
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - ISC_LIST_FOREACH
    - dns_rdatatype_iskeymaterial
    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:14371,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14378,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14381,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14382,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:14385,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:14391,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:14393,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:14397,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/zone.c:14400,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14405,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14407,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14418,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:14418,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:14422,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14425,1
    - Dst: dns_journal_get_sourceserial
      Src: /src/bind9/lib/dns/zone.c:14428,1
    - Dst: dns_journal_first_serial
      Src: /src/bind9/lib/dns/zone.c:14429,1
    - Dst: dns_journal_set_sourceserial
      Src: /src/bind9/lib/dns/zone.c:14430,1
    - Dst: dns_journal_get_sourceserial
      Src: /src/bind9/lib/dns/zone.c:14439,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:14440,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:14444,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:14447,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14448,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:14448,1
    - Dst: sync_secure_journal
      Src: /src/bind9/lib/dns/zone.c:14455,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14461,1
    - Dst: sync_secure_db
      Src: /src/bind9/lib/dns/zone.c:14461,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14466,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/zone.c:14466,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14472,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/zone.c:14472,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:14475,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:14477,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:14478,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/dns/zone.c:14483,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14485,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:14485,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14487,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:14487,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14490,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:14490,1
    - Dst: dns_update_signaturesinc
      Src: /src/bind9/lib/dns/zone.c:14496,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:14501,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:14503,1
    - Dst: dns_db_issecure
      Src: /src/bind9/lib/dns/zone.c:14515,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14520,1
    - Dst: dns_journal_open
      Src: /src/bind9/lib/dns/zone.c:14520,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14524,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:14524,1
    - Dst: dns_journal_set_sourceserial
      Src: /src/bind9/lib/dns/zone.c:14527,1
    - Dst: dns_journal_commit
      Src: /src/bind9/lib/dns/zone.c:14528,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14530,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14531,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:14535,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:14541,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14542,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:14543,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14544,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:14546,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:14547,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14550,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:14555,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zone.c:14559,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14562,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:14563,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14564,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:14565,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14566,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:14570,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:14571,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14574,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:14577,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:14581,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:14585,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:14588,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14590,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14591,1
    - Dst: dns_journal_destroy
      Src: /src/bind9/lib/dns/zone.c:14593,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:14595,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:14597,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 142
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14598
      start: 14355
    functionDepth: 10
    functionLinenumber: 14355
    functionLinenumberEnd: 14598
    functionName: receive_secure_serial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_createsoatuple
    - dns_zone_detach
    - dns_db_newversion
    - INSIST
    - isc_mem_put
    - dns_journal_destroy
    - dns_journal_get_sourceserial
    - dns_db_currentversion
    - dns_diff_apply
    - dns_soa_getserial
    - dns_journal_open
    - dns__zone_set_resigntime
    - dns_journal_first_serial
    - dns_journal_commit
    - dns_zone_idetach
    - LOCK_ZONE
    - zone_journal
    - zone_needdump
    - isc_result_totext
    - isc_time_now
    - dns_db_detach
    - dns__zone_settimer
    - dns_zone_log
    - ZONEDB_UNLOCK
    - dns_db_closeversion
    - ZONEDB_LOCK
    - CHECK
    - dns_update_signaturesinc
    - dns_diff_clear
    - update_soa_serial
    - dns_journal_set_sourceserial
    - sync_secure_journal
    - do_one_tuple
    - dns_db_attach
    - dns_db_issecure
    - dns_difftuple_free
    - dns_soa_setserial
    - dns_zone_attach
    - sync_secure_db
    - isc_async_run
    - DNS_ZONE_SETFLAG
    - dns_diff_init
    - isc_serial_gt
    - UNLOCK_ZONE
    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:14604,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14610,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:14610,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:14611,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:14612,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:14614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14616
      start: 14600
    functionDepth: 2
    functionLinenumber: 14600
    functionLinenumberEnd: 14616
    functionName: zone_send_secureserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - LOCKED_ZONE
    - INSIST
    - isc_mem_get
    - isc_async_run
    - zone_iattach
    - DNS_ZONE_CLRFLAG
    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:14629,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14630,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:14631,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:14632,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14633,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:14635,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:14636,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:14651,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:14652,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:14653,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:14655,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/zone.c:14656,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:14660,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:14662,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/zone.c:14663,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/zone.c:14665,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/dns/zone.c:14666,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:14667,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: 14668
      start: 14618
    functionDepth: 2
    functionLinenumber: 14618
    functionLinenumberEnd: 14668
    functionName: checkandaddsoa
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - dns_rdataset_getownercase
    - dns_rdataset_first
    - RUNTIME_CHECK
    - ISC_LIST_APPEND
    - dns_rdata_reset
    - dns_rdataset_init
    - dns_rdata_fromstruct
    - dns_rdataset_setownercase
    - dns_rdataset_current
    - dns_rdatalist_init
    - isc_serial_gt
    - dns_rdatalist_tordataset
    - dns_db_addrdataset
    - dns_rdata_tostruct
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14684,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:14684,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14685,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14686,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:14686,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:14688,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:14689,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:14691,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14692,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:14692,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:14694,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:14695,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:14713,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:14714,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14715,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:14717,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:14718,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:14724,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:14728,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:14732,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:14747,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:14748,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14749,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:14755,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:14764,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:14770,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:14773,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14776,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:14778,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:14785,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:14786,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14792,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:14793,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:14795,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:14805,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:14808,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:14811,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:14813,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:14814,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 70
    argCount: 2
    argNames:
    - zone
    - nsec3list
    argTypes:
    - dns_zone_t*
    - nsec3paramlist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14816
      start: 14674
    functionDepth: 2
    functionLinenumber: 14674
    functionLinenumberEnd: 14816
    functionName: save_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_getoriginnode
    - ISC_LIST_UNLINK
    - memmove
    - isc_mem_put
    - INSIST
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - ISC_LOG_DEBUG
    - NSEC3REMOVE
    - dns_db_currentversion
    - ISC_LINK_INIT
    - dns_nsec3param_fromprivate
    - memcmp
    - dns_nsec3param_toprivate
    - dns_db_detach
    - dns_db_findrdataset
    - ISC_LIST_EMPTY
    - isc_log_write
    - dns_rdataset_current
    - CHECK
    - dns_db_closeversion
    - dns_db_detachnode
    - dns_db_attach
    - isc_mem_get
    - dns_rdataset_cleanup
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    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:14713,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:14714,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14715,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:14717,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:14718,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:14724,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:14728,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14729
      start: 14709
    functionDepth: 2
    functionLinenumber: 14709
    functionLinenumberEnd: 14729
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mem_get
    - ISC_LIST_APPEND
    - isc_log_write
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - dns_nsec3param_toprivate
    - ISC_LINK_INIT
    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:14747,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:14748,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:14749,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:14755,1
    - Dst: NSEC3REMOVE
      Src: /src/bind9/lib/dns/zone.c:14764,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:14770,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:14773,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:14776,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:14778,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:14785,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:14786,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14792,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zone.c:14793,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:14795,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14796
      start: 14743
    functionDepth: 2
    functionLinenumber: 14743
    functionLinenumberEnd: 14796
    functionName: (&prdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - memmove
    - isc_mem_put
    - dns_nsec3param_fromprivate
    - isc_mem_get
    - INSIST
    - ISC_LIST_APPEND
    - memcmp
    - isc_log_write
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - NSEC3REMOVE
    - ISC_LINK_INIT
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&prdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14828,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:14828,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:14829,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:14829,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:14831,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:14838,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/zone.c:14839,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:14845,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:14852,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: 14854
      start: 14821
    functionDepth: 1
    functionLinenumber: 14821
    functionLinenumberEnd: 14854
    functionName: restore_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_init
    - DNS_ZONE_VALID
    - update_one_rr
    - ISC_LIST_EMPTY
    - ISC_LIST_FOREACH
    - dns_diff_init
    - dns_diff_clear
    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: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:14861,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zone.c:14865,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:14870,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14872,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:14872,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14874,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zone.c:14874,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zone.c:14878,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:14884,1
    - Dst: checkandaddsoa
      Src: /src/bind9/lib/dns/zone.c:14894,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:14897,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:14900,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zone.c:14908,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:14911,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:14914,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 35
    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: 14917
      start: 14856
    functionDepth: 3
    functionLinenumber: 14856
    functionLinenumberEnd: 14917
    functionName: copy_non_dnssec_records
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_db_addrdataset
    - dns_fixedname_initname
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - checkandaddsoa
    - dns_rdatasetiter_current
    - dns_dbiterator_current
    - dns_dbiterator_pause
    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:14878,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:14884,1
    - Dst: checkandaddsoa
      Src: /src/bind9/lib/dns/zone.c:14894,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/zone.c:14897,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:14900,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14904
      start: 14876
    functionDepth: 3
    functionLinenumber: 14876
    functionLinenumberEnd: 14904
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - checkandaddsoa
    - dns_rdatasetiter_current
    - dns_db_addrdataset
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsit)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:14931,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14933,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:14934,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:14935,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:14937,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:14940,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:14941,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/zone.c:14943,1
    - Dst: save_nsec3param
      Src: /src/bind9/lib/dns/zone.c:14952,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:14954,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:14958,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14960,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:14960,1
    - Dst: dns_db_setgluecachestats
      Src: /src/bind9/lib/dns/zone.c:14964,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14966,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14969,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:14969,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14970,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:14970,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14973,1
    - Dst: copy_non_dnssec_records
      Src: /src/bind9/lib/dns/zone.c:14973,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:14976,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:14982,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14983,1
    - Dst: restore_nsec3param
      Src: /src/bind9/lib/dns/zone.c:14983,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:14986,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:14991,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14992,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:14993,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:14994,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:14995,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:14996,1
    - Dst: process_zone_setnsec3param
      Src: /src/bind9/lib/dns/zone.c:15001,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15004,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:15006,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15009,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15010,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:15013,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zone.c:15015,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:15016,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:15017,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:15021,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:15023,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:15026,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:15027,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:15028,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15030,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 66
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15031
      start: 14919
    functionDepth: 11
    functionLinenumber: 14919
    functionLinenumberEnd: 15031
    functionName: receive_secure_db
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_destroy
    - ISC_LIST_UNLINK
    - zone_postload
    - dns_db_newversion
    - dns_db_create
    - INSIST
    - save_nsec3param
    - isc_mem_put
    - ISC_LIST_INIT
    - dns_zone_idetach
    - LOCK_ZONE
    - process_zone_setnsec3param
    - dns_db_getsoaserial
    - zone_needdump
    - dns_db_createiterator
    - isc_result_totext
    - isc_time_now
    - dns_db_detach
    - copy_non_dnssec_records
    - dns_zone_log
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - ZONEDB_UNLOCK
    - restore_nsec3param
    - ZONEDB_LOCK
    - dns__zone_inline_secure
    - CHECK
    - dns_db_closeversion
    - CLEANUP
    - DNS_ZONE_FLAG
    - dns_db_setgluecachestats
    - DNS_ZONE_SETFLAG
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void receive_secure_db(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:14973,1
    - Dst: copy_non_dnssec_records
      Src: /src/bind9/lib/dns/zone.c:14973,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 14975
      start: 14972
    functionDepth: 4
    functionLinenumber: 14972
    functionLinenumberEnd: 14975
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - copy_non_dnssec_records
    - CHECK
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH(dbiterator)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:15037,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15040,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:15040,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:15041,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:15042,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:15043,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15047
      start: 15033
    functionDepth: 2
    functionLinenumber: 15033
    functionLinenumberEnd: 15047
    functionName: zone_send_securedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - LOCKED_ZONE
    - dns_db_attach
    - INSIST
    - isc_mem_get
    - isc_async_run
    - zone_iattach
    - DNS_ZONE_CLRFLAG
    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:15054,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15054,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15056,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:15057,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15059,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15060,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15062,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:15064,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:15068,1
    - Dst: zone_replacedb
      Src: /src/bind9/lib/dns/zone.c:15069,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:15070,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15072,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15074,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: 15076
      start: 15049
    functionDepth: 2
    functionLinenumber: 15049
    functionLinenumberEnd: 15076
    functionName: dns_zone_replacedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - isc_thread_yield
    - LOCK_ZONE
    - ZONEDB_UNLOCK
    - TRYLOCK_ZONE
    - dns__zone_inline_raw
    - ZONEDB_LOCK
    - zone_replacedb
    - UNLOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_replacedb(dns_zone_t *zone, dns_db_t *db, bool
      dump)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15088,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15088,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15089,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:15089,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:15090,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15091,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:15091,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:15094,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15098,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15103,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15110,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15112,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:15116,1
    - Dst: check_nsec3param
      Src: /src/bind9/lib/dns/zone.c:15116,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:15119,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:15127,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15128,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15132,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:15132,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/zone.c:15134,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15136,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:15145,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:15148,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:15149,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:15152,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:15153,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15158,1
    - Dst: dns_db_diff
      Src: /src/bind9/lib/dns/zone.c:15166,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:15170,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15171,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:15178,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:15180,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:15183,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:15185,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15194,1
    - Dst: remove
      Src: /src/bind9/lib/dns/zone.c:15195,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:15198,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:15199,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15206,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15207,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:15209,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:15224,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:15225,1
    - Dst: remove
      Src: /src/bind9/lib/dns/zone.c:15227,1
    - Dst: strerror_r
      Src: /src/bind9/lib/dns/zone.c:15229,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zone.c:15230,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:15239,1
    - Dst: zone_send_securedb
      Src: /src/bind9/lib/dns/zone.c:15240,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:15244,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15246,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:15246,1
    - Dst: zone_detachdb
      Src: /src/bind9/lib/dns/zone.c:15249,1
    - Dst: zone_attachdb
      Src: /src/bind9/lib/dns/zone.c:15251,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zone.c:15252,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zone.c:15253,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15254,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:15258,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 99
    argCount: 3
    argNames:
    - zone
    - db
    - dump
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15260
      start: 15078
    functionDepth: 8
    functionLinenumber: 15078
    functionLinenumberEnd: 15260
    functionName: zone_replacedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_OPTION
    - DNS_ZONE_VALID
    - RETERR
    - ISC_LOG_DEBUG
    - dns_db_currentversion
    - zone_send_secureserial
    - remove
    - RUNTIME_CHECK
    - zone_attachdb
    - dns_db_diff
    - strerror_r
    - dns_db_getsoaserial
    - zone_send_securedb
    - isc_result_totext
    - LOCKED_ZONE
    - zone_needdump
    - dns_zone_log
    - isc_log_write
    - zone_get_from_db
    - dns_db_closeversion
    - dns_remote_addresses
    - check_nsec3param
    - DNS_ZONE_FLAG
    - dns_db_setmaxrrperset
    - dns_db_setmaxtypepername
    - DNS_ZONE_SETFLAG
    - dns__zone_inline_raw
    - zone_detachdb
    - isc_serial_gt
    - zone_journal_compact
    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:15265,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:15267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15268
      start: 15263
    functionDepth: 1
    functionLinenumber: 15263
    functionLinenumberEnd: 15268
    functionName: zone_attachdb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_db_attach
    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:15273,1
    - Dst: dns_zone_rpz_disable_db
      Src: /src/bind9/lib/dns/zone.c:15275,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:15276,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:15277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15278
      start: 15271
    functionDepth: 3
    functionLinenumber: 15271
    functionLinenumberEnd: 15278
    functionName: zone_detachdb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - dns_zone_rpz_disable_db
    - REQUIRE
    - dns_db_detach
    - dns_zone_catz_disable_db
    linkageType: ''
    returnType: void
    signature: void zone_detachdb(dns_zone_t *zone)
  - BBCount: 39
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15291,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15291,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15293,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:15294,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15297,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15305,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:15306,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15308,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15309,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15311,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:15313,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15318,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15318,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15319,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15320,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:15322,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15325,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15328,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:15333,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:15335,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15347,1
    - Dst: zone_get_from_db
      Src: /src/bind9/lib/dns/zone.c:15348,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:15351,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15354,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15359,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15364,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:15365,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15369,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15373,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15378,1
    - Dst: zone_unload
      Src: /src/bind9/lib/dns/zone.c:15379,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:15382,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:15384,1
    - Dst: RANGE
      Src: /src/bind9/lib/dns/zone.c:15386,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15391,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15397,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15398,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:15401,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:15413,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:15415,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15418,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:15430,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/zone.c:15432,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15437,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:15440,1
    - Dst: zone_send_secureserial
      Src: /src/bind9/lib/dns/zone.c:15441,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:15458,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/zone.c:15459,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:15467,1
    - Dst: isc_file_settime
      Src: /src/bind9/lib/dns/zone.c:15471,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15475,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:15485,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15487,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15492,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15495,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:15496,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15502,1
    - Dst: DNS_ZONE_JITTER_ADD
      Src: /src/bind9/lib/dns/zone.c:15507,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:15508,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:15512,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:15520,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:15522,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:15523,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:15525,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zone.c:15528,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:15531,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zone.c:15540,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:15544,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:15548,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15554,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:15556,1
    - Dst: zone_journal_compact
      Src: /src/bind9/lib/dns/zone.c:15557,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:15558,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15559,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15564,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15573,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:15574,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:15575,1
    - Dst: dns__zonemgr_resume_xfrs
      Src: /src/bind9/lib/dns/zone.c:15577,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:15578,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15579,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15585,1
    - Dst: queue_soa_query
      Src: /src/bind9/lib/dns/zone.c:15586,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zone.c:15589,1
    - Dst: dns__zone_free_check
      Src: /src/bind9/lib/dns/zone.c:15590,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15591,1
    - Dst: dns__zone_free
      Src: /src/bind9/lib/dns/zone.c:15593,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 189
    argCount: 3
    argNames:
    - zone
    - expireopt
    - result
    argTypes:
    - dns_zone_t*
    - uint32_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15595
      start: 15280
    functionDepth: 8
    functionLinenumber: 15280
    functionLinenumberEnd: 15595
    functionName: dns__zone_xfrdone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns__zone_free
    - dns_transport_detach
    - INSIST
    - DNS_ZONE_VALID
    - isc_thread_yield
    - isc_file_settime
    - ISC_LOG_DEBUG
    - dns__zone_stats_increment
    - DNS_ZONE_CLRFLAG
    - zone_send_secureserial
    - dns_xfrin_detach
    - DNS_ZONE_JITTER_ADD
    - RWLOCK
    - isc_time_compare
    - dns_name_format
    - zone_unload
    - snprintf
    - LOCK_ZONE
    - dns_tsigkey_detach
    - isc_result_totext
    - zone_needdump
    - isc_time_now
    - dns_db_detach
    - queue_soa_query
    - dns__zone_settimer
    - isc_refcount_decrement
    - zone_get_from_db
    - ZONEDB_UNLOCK
    - dns_zone_logc
    - dns__zonemgr_resume_xfrs
    - ZONEDB_LOCK
    - isc_interval_set
    - isc_time_subtract
    - dns_zone_getdb
    - dns_remote_reset
    - dns_remote_done
    - RWUNLOCK
    - DNS_ZONE_FLAG
    - dns__zone_free_check
    - TRYLOCK_ZONE
    - dns__zone_inline_raw
    - DNS_ZONE_SETFLAG
    - DNS_ZONE_TIME_ADD
    - RANGE
    - dns_remote_next
    - zone_journal_compact
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns__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:15613,1
    - Dst: dns_zone_catz_disable_db
      Src: /src/bind9/lib/dns/zone.c:15614,1
    - Dst: dns_db_endload
      Src: /src/bind9/lib/dns/zone.c:15617,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15628,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15629,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:15630,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15631,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:15632,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15634,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15636,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:15638,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:15642,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15643,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:15644,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15649,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zone.c:15653,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:15654,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15655,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15657,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15659,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:15661,1
    - Dst: dns_loadctx_detach
      Src: /src/bind9/lib/dns/zone.c:15663,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:15665,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:15667,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15668
      start: 15597
    functionDepth: 11
    functionLinenumber: 15597
    functionLinenumberEnd: 15668
    functionName: zone_loaddone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_endload
    - dns_db_detach
    - zone_postload
    - dns_loadctx_detach
    - dns_zone_catz_disable_db
    - INSIST
    - isc_mem_put
    - DNS_ZONE_FLAG
    - dns_zone_idetach
    - isc_thread_yield
    - LOCK_ZONE
    - TRYLOCK_ZONE
    - dns__zone_inline_raw
    - dns__zone_inline_secure
    - dns_zone_rpz_disable_db
    - zone_idetach
    - DNS_ZONE_CLRFLAG
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void zone_loaddone(void *arg, isc_result_t result)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15677,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:15679,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:15680,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zone.c:15681,1
    - Dst: dns__zonemgr_start_xfrin_ifquota
      Src: /src/bind9/lib/dns/zone.c:15683,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:15684,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15687,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:15690,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15694
      start: 15670
    functionDepth: 4
    functionLinenumber: 15670
    functionLinenumberEnd: 15694
    functionName: queue_xfrin
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns__zonemgr_start_xfrin_ifquota
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - ISC_LIST_APPEND
    - dns_zone_logc
    - isc_refcount_increment0
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void queue_xfrin(dns_zone_t *zone)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:15704,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/zone.c:15707,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:15710,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:15713,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/zone.c:15714,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:15715,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:15717,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:15718,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:15720,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - forward
    argTypes:
    - dns_forward_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15721
      start: 15700
    functionDepth: 5
    functionLinenumber: 15700
    functionLinenumberEnd: 15721
    functionName: forward_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_transport_detach
    - UNLOCK
    - ISC_LINK_LINKED
    - dns_zone_idetach
    - LOCK
    - isc_mem_putanddetach
    - isc_buffer_free
    - dns_request_destroy
    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:15731,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:15733,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15734,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:15739,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15740,1
    - Dst: dns_remote_addr
      Src: /src/bind9/lib/dns/zone.c:15744,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:15746,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:15754,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:15756,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:15758,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:15763,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:15765,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:15775,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:15778,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:15781,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:15784,1
    - Dst: dns__zonemgr_tlsctx_attach
      Src: /src/bind9/lib/dns/zone.c:15794,1
    - Dst: isc_nm_getprimariestimeout
      Src: /src/bind9/lib/dns/zone.c:15795,1
    - Dst: dns_request_createraw
      Src: /src/bind9/lib/dns/zone.c:15797,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zone.c:15804,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/zone.c:15807,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:15808,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:15813,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15816,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15819,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 64
    argCount: 1
    argNames:
    - forward
    argTypes:
    - dns_forward_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15823
      start: 15723
    functionDepth: 6
    functionLinenumber: 15723
    functionLinenumberEnd: 15823
    functionName: sendtoprimary
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_nm_getprimariestimeout
    - dns_transport_detach
    - isc_tlsctx_cache_detach
    - ISC_LINK_LINKED
    - dns_request_createraw
    - dns_remote_tlsname
    - isc_sockaddr_any6
    - isc_sockaddr_any
    - dns_remote_addr
    - isc_sockaddr_equal
    - dns_remote_count
    - LOCK_ZONE
    - isc_sockaddr_pf
    - isc_sockaddr_disabled
    - isc_result_totext
    - dns__zonemgr_tlsctx_attach
    - dns_zone_log
    - dns_zone_getview
    - dns_view_gettransport
    - ISC_LIST_APPEND
    - DNS_ZONE_FLAG
    - UNLOCK_ZONE
    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:15828,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15834,1
    - Dst: DNS_FORWARD_VALID
      Src: /src/bind9/lib/dns/zone.c:15834,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:15836,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15836,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:15840,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:15842,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15844,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:15846,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:15850,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:15853,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:15867,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/zone.c:15868,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15870,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:15890,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:15891,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15892,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:15905,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:15906,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15907,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:15926,1
    - Dst: forward_destroy
      Src: /src/bind9/lib/dns/zone.c:15927,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:15932,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:15935,1
    - Dst: sendtoprimary
      Src: /src/bind9/lib/dns/zone.c:15936,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:15939,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:15939,1
    - Dst: forward_destroy
      Src: /src/bind9/lib/dns/zone.c:15942,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 71
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15944
      start: 15825
    functionDepth: 7
    functionLinenumber: 15825
    functionLinenumberEnd: 15944
    functionName: forward_callback
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_request_getarg
    - forward_destroy
    - dns_rcode_totext
    - INSIST
    - dns_zone_log
    - dns_message_detach
    - DNS_ZONE_VALID
    - dns_message_create
    - sendtoprimary
    - dns_request_getresult
    - ISC_LOG_DEBUG
    - dns_request_destroy
    - DNS_FORWARD_VALID
    - isc_sockaddr_format
    - dns_request_getresponse
    - dns_opcode_totext
    - isc_buffer_init
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void forward_callback(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15953,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:15953,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15954,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:15955,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:15957,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/zone.c:15961,1
    - Dst: dns_message_getrawmessage
      Src: /src/bind9/lib/dns/zone.c:15972,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:15974,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/zone.c:15977,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:15978,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/zone.c:15978,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zone.c:15980,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/zone.c:15981,1
    - Dst: sendtoprimary
      Src: /src/bind9/lib/dns/zone.c:15982,1
    - Dst: forward_destroy
      Src: /src/bind9/lib/dns/zone.c:15986,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 4
    argNames:
    - zone
    - msg
    - callback
    - callback_arg
    argTypes:
    - dns_zone_t*
    - dns_message_t*
    - dns_updatecallback_t
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15989
      start: 15946
    functionDepth: 7
    functionLinenumber: 15946
    functionLinenumberEnd: 15989
    functionName: dns_zone_forwardupdate
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - CLEANUP
    - forward_destroy
    - isc_mem_get
    - dns_zone_iattach
    - DNS_ZONE_VALID
    - sendtoprimary
    - isc_buffer_copyregion
    - isc_buffer_allocate
    - dns_message_getrawmessage
    - CHECK
    - ISC_LINK_INIT
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/zone.c:15993,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zone.c:15994,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 15995
      start: 15991
    functionDepth: 1
    functionLinenumber: 15991
    functionLinenumberEnd: 15995
    functionName: zone_keymgmt_getlock
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - dns_name_hash
    linkageType: ''
    returnType: isc_mutex_t
    signature: 'isc_mutex_t *

      zone_keymgmt_getlock(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zone.c:15999,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/zone.c:16000,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16002
      start: 15997
    functionDepth: 1
    functionLinenumber: 15997
    functionLinenumberEnd: 16002
    functionName: dns__zone_keymgmt_initialize
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mutex_init
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void dns__zone_keymgmt_initialize(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zone.c:16006,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/zone.c:16007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16009
      start: 16004
    functionDepth: 1
    functionLinenumber: 16004
    functionLinenumberEnd: 16009
    functionName: dns__zone_keymgmt_shutdown
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_mutex_destroy
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: void dns__zone_keymgmt_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:16017,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:16017,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:16019,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16021,1
    - Dst: isc_file_template
      Src: /src/bind9/lib/dns/zone.c:16021,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16023,1
    - Dst: isc_file_renameunique
      Src: /src/bind9/lib/dns/zone.c:16023,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16025,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:16032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 3
    argNames:
    - zone
    - path
    - templat
    argTypes:
    - dns_zone_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16033
      start: 16011
    functionDepth: 4
    functionLinenumber: 16011
    functionLinenumberEnd: 16033
    functionName: zone_saveunique
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_file_template
    - isc_mem_put
    - dns_zone_log
    - isc_mem_get
    - strlen
    - CHECK
    - isc_file_renameunique
    linkageType: ''
    returnType: void
    signature: void zone_saveunique(dns_zone_t *zone, const char *path, const char
      *templat)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16039,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16039,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:16041,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16042,1
    - Dst: dns_xfrin_attach
      Src: /src/bind9/lib/dns/zone.c:16046,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16048,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:16049,1
    - Dst: dns_xfrin_shutdown
      Src: /src/bind9/lib/dns/zone.c:16052,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zone.c:16053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16055
      start: 16035
    functionDepth: 3
    functionLinenumber: 16035
    functionLinenumberEnd: 16055
    functionName: dns_zone_stopxfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - dns_xfrin_detach
    - RWLOCK
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_xfrin_shutdown
    - UNLOCK_ZONE
    - dns_xfrin_attach
    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:16059,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16059,1
    - Dst: dns_remote_addresses
      Src: /src/bind9/lib/dns/zone.c:16063,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16068,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:16069,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16070,1
    - Dst: dns_zone_refresh
      Src: /src/bind9/lib/dns/zone.c:16071,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16072
      start: 16057
    functionDepth: 3
    functionLinenumber: 16057
    functionLinenumberEnd: 16072
    functionName: dns_zone_forcexfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_remote_addresses
    - DNS_ZONE_VALID
    - dns_zone_refresh
    - LOCK_ZONE
    - DNS_ZONE_SETFLAG
    - UNLOCK_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:16076,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16076,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:16078,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16079
      start: 16074
    functionDepth: 1
    functionLinenumber: 16074
    functionLinenumberEnd: 16079
    functionName: dns_zone_isforced
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_isforced(dns_zone_t *zone)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16086,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16087,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16092,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:16094,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/zone.c:16095,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16099,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16102,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16105,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16106,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/zone.c:16108,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:16111,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:16112,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:16113,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16113,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16115,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16116,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:16118,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16119,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16121,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:16123,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16124,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16126,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zone.c:16129,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: 16130
      start: 16081
    functionDepth: 2
    functionLinenumber: 16081
    functionLinenumberEnd: 16130
    functionName: zone_namerd_tostr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - strcmp
    - dns_name_dynamic
    - isc_buffer_usedlength
    - dns_name_totext
    - dns_rdataclass_totext
    - isc_buffer_availablelength
    - strlen
    - dns__zone_inline_raw
    - dns__zone_inline_secure
    - isc_buffer_init
    - isc_buffer_putstr
    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:16136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16137,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16142,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16145,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:16146,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zone.c:16147,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16149,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zone.c:16151,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zone.c:16154,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: 16155
      start: 16132
    functionDepth: 2
    functionLinenumber: 16132
    functionLinenumberEnd: 16155
    functionName: zone_viewname_tostr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_buffer_usedlength
    - isc_buffer_availablelength
    - strlen
    - isc_buffer_init
    - isc_buffer_putstr
    linkageType: ''
    returnType: void
    signature: void zone_viewname_tostr(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16161,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16162,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:16176,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16177,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:16178,1
    - Dst: dns_xfrin_attach
      Src: /src/bind9/lib/dns/zone.c:16180,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:16188,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:16191,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:16206,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:16207,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:16208,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16214,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:16215,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: 16218
      start: 16157
    functionDepth: 3
    functionLinenumber: 16157
    functionLinenumberEnd: 16218
    functionName: dns_zone_getxfr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_time_now
    - RWUNLOCK
    - RWLOCK
    - isc_time_compare
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    - LOCK_ZONE
    - UNLOCK_ZONE
    - dns_xfrin_attach
    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:16222,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16222,1
    - Dst: isc_mutex_lock
      Src: /src/bind9/lib/dns/zone.c:16229,1
    - Dst: zone_keymgmt_getlock
      Src: /src/bind9/lib/dns/zone.c:16229,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16230
      start: 16220
    functionDepth: 2
    functionLinenumber: 16220
    functionLinenumberEnd: 16230
    functionName: dns_zone_lock_keyfiles
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_keymgmt_getlock
    - 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:16234,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16234,1
    - Dst: isc_mutex_unlock
      Src: /src/bind9/lib/dns/zone.c:16241,1
    - Dst: zone_keymgmt_getlock
      Src: /src/bind9/lib/dns/zone.c:16241,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16242
      start: 16232
    functionDepth: 2
    functionLinenumber: 16232
    functionLinenumberEnd: 16242
    functionName: dns_zone_unlock_keyfiles
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_keymgmt_getlock
    - isc_mutex_unlock
    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:16255,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16255,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:16257,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:16263,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/zone.c:16270,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:16272,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:16273,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16274,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16275,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:16281,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/zone.c:16282,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:16284,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:16285,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:16286,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16287,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16288,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: 16295
      start: 16244
    functionDepth: 4
    functionLinenumber: 16244
    functionLinenumberEnd: 16295
    functionName: dns_zone_checknames
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_zone_log
    - dns_name_format
    - DNS_ZONE_OPTION
    - DNS_ZONE_VALID
    - dns_rdatatype_format
    - dns_rdata_checkowner
    - dns_rdata_checknames
    - isc_result_totext
    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:16308,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:16308,1
    - Dst: dns_nsec3param_salttotext
      Src: /src/bind9/lib/dns/zone.c:16310,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:16311,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:16312,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16315,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:16316,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16317,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: 16320
      start: 16303
    functionDepth: 4
    functionLinenumber: 16303
    functionLinenumberEnd: 16320
    functionName: dns_zone_addnsec3chain
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - RUNTIME_CHECK
    - dnssec_log
    - LOCK_ZONE
    - dns_nsec3param_salttotext
    - UNLOCK_ZONE
    - zone_addnsec3chain
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_addnsec3chain(dns_zone_t *zone, dns_rdata_nsec3param_t
      *nsec3param)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:16330,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:16341,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:16343,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:16345,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:16347,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:16350,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:16353,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:16355,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zone.c:16368,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zone.c:16371,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/zone.c:16374,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/zone.c:16375,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/zone.c:16377,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:16380,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:16388,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zone.c:16391,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:16393,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:16396,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 60
    argCount: 5
    argNames:
    - zone
    - algorithm
    - keyid
    - deleteit
    - fullsign
    argTypes:
    - dns_zone_t*
    - dst_algorithm_t
    - uint16_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16399
      start: 16322
    functionDepth: 3
    functionLinenumber: 16322
    functionLinenumberEnd: 16399
    functionName: zone_signwithkey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_db_createiterator
    - dns_db_attach
    - isc_time_now
    - dns_db_detach
    - dns_dbiterator_destroy
    - dns__zone_settimer
    - isc_mem_get
    - isc_mem_put
    - dns_dbiterator_first
    - ZONEDB_UNLOCK
    - isc_time_isepoch
    - ISC_LIST_FOREACH
    - ZONEDB_LOCK
    - ISC_LIST_INITANDAPPEND
    - dns_dbiterator_pause
    - CLEANUP
    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, bool fullsign)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/zone.c:16411,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 2
    argNames:
    - key
    - timep
    argTypes:
    - dst_key_t*
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16425
      start: 16402
    functionDepth: 2
    functionLinenumber: 16402
    functionLinenumberEnd: 16425
    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:16434,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16436,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zone.c:16436,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16438,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:16438,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:16440,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:16451,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:16452,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:16457,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:16462,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: 16465
      start: 16427
    functionDepth: 1
    functionLinenumber: 16427
    functionLinenumberEnd: 16465
    functionName: rr_exists
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - dns_rdataset_current
    - dns_rdata_compare
    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:16451,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:16452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16456
      start: 16449
    functionDepth: 1
    functionLinenumber: 16449
    functionLinenumberEnd: 16456
    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:16481,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:16490,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16492,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16493,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:16497,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:16498,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16500,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16501,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16505,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16509,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16513,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:16516,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16524,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:16531,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16534,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16535,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16536,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16537,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16546,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16547,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/zone.c:16555,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:16557,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:16559,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16575,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:16575,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:16580,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16582,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:16582,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16583,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16591,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:16591,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:16593,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16595,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:16595,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16596,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/zone.c:16604,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16605,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:16605,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16606,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:16606,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16607,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:16607,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: 16609
      start: 16470
    functionDepth: 4
    functionLinenumber: 16470
    functionLinenumberEnd: 16609
    functionName: add_signing_records
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - ISC_LIST_UNLINK
    - INSIST
    - dns_db_origin
    - dns_difftuple_create
    - RUNTIME_CHECK
    - rr_exists
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - ISC_LIST_EMPTY
    - dns_rdata_toregion
    - dst_algorithm_fromdata
    - dst_region_computeid
    - ISC_LIST_FOREACH
    - CHECK
    - dns_rdata_compare
    - UNREACHABLE
    - dns_rdata_tostruct
    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:16531,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16534,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16535,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16536,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16541
      start: 16529
    functionDepth: 1
    functionLinenumber: 16529
    functionLinenumberEnd: 16541
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 220
    functionsReached:
    - dns_rdata_compare
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    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:16531,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16534,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16535,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16536,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:16537,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16540
      start: 16530
    functionDepth: 1
    functionLinenumber: 16530
    functionLinenumberEnd: 16540
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 220
    functionsReached:
    - dns_rdata_compare
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    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:16555,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/zone.c:16557,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:16559,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16575,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:16575,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:16580,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16582,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:16582,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16583,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16591,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/zone.c:16591,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:16593,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16595,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:16595,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16596,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16598
      start: 16553
    functionDepth: 4
    functionLinenumber: 16553
    functionLinenumberEnd: 16598
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 220
    functionsReached:
    - do_one_tuple
    - INSIST
    - dns_difftuple_create
    - rr_exists
    - dst_algorithm_fromdata
    - dns_rdata_toregion
    - dst_region_computeid
    - CHECK
    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:16625,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:16627,1
    - Dst: del_sigs
      Src: /src/bind9/lib/dns/zone.c:16635,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:16638,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16640,1
    - Dst: add_sigs
      Src: /src/bind9/lib/dns/zone.c:16643,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:16647,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16649,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: 16655
      start: 16616
    functionDepth: 6
    functionLinenumber: 16616
    functionLinenumberEnd: 16655
    functionName: tickle_apex_rrset
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dnssec_log
    - add_sigs
    - del_sigs
    - ISC_LIST_FOREACH
    - isc_result_totext
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_findkeys
      Src: /src/bind9/lib/dns/zone.c:16665,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:16668,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16670,1
    - Dst: dns_zone_getsigvalidityinterval
      Src: /src/bind9/lib/dns/zone.c:16675,1
    - Dst: dns_zone_getkeyvalidityinterval
      Src: /src/bind9/lib/dns/zone.c:16677,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16689,1
    - Dst: tickle_apex_rrset
      Src: /src/bind9/lib/dns/zone.c:16689,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16692,1
    - Dst: tickle_apex_rrset
      Src: /src/bind9/lib/dns/zone.c:16692,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16695,1
    - Dst: tickle_apex_rrset
      Src: /src/bind9/lib/dns/zone.c:16695,1
    - Dst: dns__zone_updatesigs
      Src: /src/bind9/lib/dns/zone.c:16699,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:16703,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16705,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zone.c:16710,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 27
    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: 16713
      start: 16657
    functionDepth: 7
    functionLinenumber: 16657
    functionLinenumberEnd: 16713
    functionName: sign_apex
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_findkeys
    - dns_zone_getkeyvalidityinterval
    - isc_result_totext
    - tickle_apex_rrset
    - dns__zone_updatesigs
    - dnssec_log
    - CHECK
    - dst_key_free
    - dns_zone_getsigvalidityinterval
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:16722,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16723,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:16723,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:16725,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:16727,1
    - Dst: dns_nsec3param_deletechains
      Src: /src/bind9/lib/dns/zone.c:16732,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:16736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    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: 16739
      start: 16715
    functionDepth: 1
    functionLinenumber: 16715
    functionLinenumberEnd: 16739
    functionName: clean_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_db_getoriginnode
    - dns_nsec3param_deletechains
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - CHECK
    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:16749,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:16750,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:16758,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:16759,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:16760,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 2
    argNames:
    - rdataset
    - alg
    argTypes:
    - dns_rdataset_t*
    - dst_algorithm_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16768
      start: 16745
    functionDepth: 4
    functionLinenumber: 16745
    functionLinenumberEnd: 16768
    functionName: signed_with_alg
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_isassociated
    - dst_algorithm_fromdata
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:16758,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:16759,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:16760,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16765
      start: 16754
    functionDepth: 4
    functionLinenumber: 16754
    functionLinenumberEnd: 16765
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    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:16777,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16778,1
    - Dst: dns_private_chains
      Src: /src/bind9/lib/dns/zone.c:16778,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16781,1
    - Dst: dns_nsec3_addnsec3sx
      Src: /src/bind9/lib/dns/zone.c:16781,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:16781,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16784,1
    - Dst: updatesecure
      Src: /src/bind9/lib/dns/zone.c:16784,1
    - Dst: zone_nsecttl
      Src: /src/bind9/lib/dns/zone.c:16784,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: 16788
      start: 16770
    functionDepth: 3
    functionLinenumber: 16770
    functionLinenumberEnd: 16788
    functionName: add_chains
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_private_chains
    - dns_db_origin
    - dns_nsec3_addnsec3sx
    - CHECK
    - updatesecure
    - zone_nsecttl
    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:16793,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/zone.c:16794,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/zone.c:16796,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16797
      start: 16790
    functionDepth: 2
    functionLinenumber: 16790
    functionLinenumberEnd: 16797
    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:16801,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:16801,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16803,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16803,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16808,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16810,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:16810,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/zone.c:16811,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:16812,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:16816,1
    - Dst: zone_idetach
      Src: /src/bind9/lib/dns/zone.c:16819,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:16821,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/zone.c:16825,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/zone.c:16828,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zone.c:16830,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zone.c:16831,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:16834,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:16837,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16839,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zone.c:16840,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 2
    argNames:
    - checkds
    - locked
    argTypes:
    - dns_checkds_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16841
      start: 16799
    functionDepth: 5
    functionLinenumber: 16799
    functionLinenumberEnd: 16841
    functionName: checkds_destroy
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_CHECKDS_VALID
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_transport_detach
    - INSIST
    - ISC_LINK_LINKED
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - dns_zone_idetach
    - dns_tsigkey_detach
    - LOCK_ZONE
    - dns_request_destroy
    - dns_adb_destroyfind
    - LOCKED_ZONE
    - dns_name_dynamic
    - dns_zone_log
    - dns_name_free
    - zone_idetach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void checkds_destroy(dns_checkds_t *checkds, bool locked)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16849,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:16850,1
    - Dst: dst_key_todns
      Src: /src/bind9/lib/dns/zone.c:16850,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:16852,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/zone.c:16853,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/zone.c:16854,1
    - Dst: dst_key_class
      Src: /src/bind9/lib/dns/zone.c:16854,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - key
    - buf
    - bufsize
    - target
    argTypes:
    - dst_key_t*
    - unsigned char*
    - int
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16857
      start: 16843
    functionDepth: 3
    functionLinenumber: 16843
    functionLinenumberEnd: 16857
    functionName: make_dnskey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_rdata_fromregion
    - dns_rdata_reset
    - RETERR
    - isc_buffer_usedregion
    - dst_key_todns
    - isc_buffer_init
    - dst_key_class
    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:16872,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16876,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/zone.c:16882,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/zone.c:16884,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16885,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16885,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:16888,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/zone.c:16894,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/zone.c:16896,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16897,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16897,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:16900,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16907,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16907,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:16910,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:16912,1
    - Dst: dns_keymgr_checkds_id
      Src: /src/bind9/lib/dns/zone.c:16913,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:16914,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:16915,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:16916,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16919,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:16921,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:16921,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: 16926
      start: 16859
    functionDepth: 4
    functionLinenumber: 16859
    functionLinenumberEnd: 16926
    functionName: do_checkds
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_zone_unlock_keyfiles
    - dns_keymgr_checkds_id
    - dns_zone_log
    - dst_key_alg
    - dst_key_setnum
    - dst_key_id
    - dns_remote_count
    - dst_key_getnum
    - ISC_LOG_DEBUG
    - dns_zone_lock_keyfiles
    - isc_result_totext
    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:16930,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zone.c:16931,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - message
    argTypes:
    - dns_zone_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 16944
      start: 16928
    functionDepth: 0
    functionLinenumber: 16928
    functionLinenumberEnd: 16944
    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:16949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:16966,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:16966,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:16970,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16973,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:16975,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:16976,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16978,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16978,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:16981,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:16983,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16985,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/zone.c:16985,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16986,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/zone.c:16986,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16988,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/zone.c:16988,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16990,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:16990,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:16995,1
    - Dst: validate_ds
      Src: /src/bind9/lib/dns/zone.c:16995,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:16999,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17009,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:17019,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:17023,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17041,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:17045,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/zone.c:17046,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17048,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:17048,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:17049,1
    - Dst: KASP_LOCK
      Src: /src/bind9/lib/dns/zone.c:17051,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17052,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:17053,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/zone.c:17060,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/zone.c:17066,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/zone.c:17067,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/zone.c:17068,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17095,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:17096,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:17101,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:17104,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:17104,1
    - Dst: make_dnskey
      Src: /src/bind9/lib/dns/zone.c:17110,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zone.c:17111,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:17117,1
    - Dst: do_checkds
      Src: /src/bind9/lib/dns/zone.c:17121,1
    - Dst: do_checkds
      Src: /src/bind9/lib/dns/zone.c:17133,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17139,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:17140,1
    - Dst: dns_zone_rekey
      Src: /src/bind9/lib/dns/zone.c:17144,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17149,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17149,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17151,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:17155,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:17158,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:17162,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:17163,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:17163,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:17166,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:17167,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 131
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17168
      start: 16946
    functionDepth: 6
    functionLinenumber: 16946
    functionLinenumberEnd: 17168
    functionName: checkds_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_CHECKDS_VALID
    - REQUIRE
    - dst_key_gettime
    - dst_algorithm_tosecalg
    - ISC_LIST_UNLINK
    - dns_rcode_totext
    - INSIST
    - dns_zone_getmctx
    - dns_zone_rekey
    - dns_dnsseckey_destroy
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - KASP_UNLOCK
    - dst_key_role
    - dns_name_compare
    - dns_db_currentversion
    - isc_sockaddr_format
    - dns_request_getresponse
    - make_dnskey
    - do_checkds
    - dns_request_getresult
    - LOCK_ZONE
    - dns_rdata_compare
    - isc_buffer_init
    - isc_time_seconds
    - KASP_LOCK
    - dns_request_getarg
    - isc_time_now
    - dns_rdata_tostruct
    - dns_ds_buildrdata
    - isc_result_totext
    - dns_zone_log
    - dst_key_alg
    - dns_db_detach
    - dns_message_create
    - dns_rdataset_current
    - CHECK
    - dns_db_closeversion
    - dns_zone_getdb
    - checkds_destroy
    - dst_key_getstate
    - dst_key_id
    - validate_ds
    - ISC_LIST_FOREACH
    - dns_message_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void checkds_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/zone.c:17019,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:17023,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17037
      start: 17018
    functionDepth: 1
    functionLinenumber: 17018
    functionLinenumberEnd: 17037
    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:17095,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:17096,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:17101,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:17104,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:17104,1
    - Dst: make_dnskey
      Src: /src/bind9/lib/dns/zone.c:17110,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zone.c:17111,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zone.c:17117,1
    - Dst: do_checkds
      Src: /src/bind9/lib/dns/zone.c:17121,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17128
      start: 17086
    functionDepth: 5
    functionLinenumber: 17086
    functionLinenumberEnd: 17128
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_ds_buildrdata
    - dst_algorithm_tosecalg
    - make_dnskey
    - do_checkds
    - dst_key_alg
    - dst_key_id
    - dns_rdataset_current
    - dns_rdata_compare
    - dns_rdata_tostruct
    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:17162,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/zone.c:17163,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zone.c:17163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17164
      start: 17161
    functionDepth: 2
    functionLinenumber: 17161
    functionLinenumberEnd: 17164
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 223
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_dnsseckey_destroy
    - dns_zone_getmctx
    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:17173,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zone.c:17177,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:17180,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: 17187
      start: 17170
    functionDepth: 2
    functionLinenumber: 17170
    functionLinenumberEnd: 17187
    functionName: checkds_isqueued
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - ISC_LIST_FOREACH
    - dns_name_equal
    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:17193,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:17195,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/zone.c:17200,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:17204,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - mctx
    - flags
    - checkdsp
    argTypes:
    - isc_mem_t*
    - unsigned int
    - dns_checkds_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17207
      start: 17189
    functionDepth: 2
    functionLinenumber: 17189
    functionLinenumberEnd: 17207
    functionName: checkds_create
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_ref
    - isc_sockaddr_any
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void 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:17216,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17217,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/zone.c:17219,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/zone.c:17226,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/zone.c:17228,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:17233,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/zone.c:17234,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/zone.c:17235,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17237,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/zone.c:17238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - zone
    - messagep
    argTypes:
    - dns_zone_t*
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17243
      start: 17209
    functionDepth: 1
    functionLinenumber: 17209
    functionLinenumberEnd: 17243
    functionName: checkds_createmessage
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_makequestion
    - dns_name_init
    - dns_message_create
    - DNS_ZONE_VALID
    - ISC_LIST_APPEND
    - dns_name_clone
    - dns_message_gettempname
    - dns_message_gettemprdataset
    - dns_message_addname
    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:17254,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:17254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17255,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/zone.c:17259,1
    - Dst: checkds_find_address
      Src: /src/bind9/lib/dns/zone.c:17260,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17264,1
    - Dst: checkds_send_tons
      Src: /src/bind9/lib/dns/zone.c:17265,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17266,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:17273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17274
      start: 17248
    functionDepth: 6
    functionLinenumber: 17248
    functionLinenumberEnd: 17274
    functionName: process_checkds_adb_event
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_CHECKDS_VALID
    - REQUIRE
    - checkds_send_tons
    - LOCK_ZONE
    - checkds_find_address
    - checkds_destroy
    - UNLOCK_ZONE
    - dns_adb_destroyfind
    linkageType: ''
    returnType: void
    signature: void process_checkds_adb_event(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17283,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:17283,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/dns/zone.c:17287,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/dns/zone.c:17290,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/zone.c:17294,1
    - Dst: dns_adb_createfind
      Src: /src/bind9/lib/dns/zone.c:17299,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/zone.c:17303,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17316,1
    - Dst: checkds_send_tons
      Src: /src/bind9/lib/dns/zone.c:17317,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17318,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:17321,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - checkds
    argTypes:
    - dns_checkds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17322
      start: 17276
    functionDepth: 6
    functionLinenumber: 17276
    functionLinenumberEnd: 17322
    functionName: checkds_find_address
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - DNS_CHECKDS_VALID
    - REQUIRE
    - checkds_send_tons
    - isc_net_probeipv6
    - isc_net_probeipv4
    - dns_adb_createfind
    - LOCK_ZONE
    - checkds_destroy
    - dns_view_getadb
    - UNLOCK_ZONE
    - dns_adb_detach
    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:17337,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:17337,1
    - Dst: isc_rlevent_free
      Src: /src/bind9/lib/dns/zone.c:17339,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17341,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17343,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17344,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:17348,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:17355,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/zone.c:17356,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:17358,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17359,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17359,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:17362,1
    - Dst: checkds_createmessage
      Src: /src/bind9/lib/dns/zone.c:17365,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zone.c:17367,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zone.c:17373,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zone.c:17374,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17377,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:17388,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17389,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17389,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17393,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17393,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zone.c:17400,1
    - Dst: dns_peer_getquerysource
      Src: /src/bind9/lib/dns/zone.c:17403,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/zone.c:17407,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:17413,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:17417,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:17420,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:17428,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/zone.c:17431,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17441,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17441,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/dns/zone.c:17445,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/zone.c:17447,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17453,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17453,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17455,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:17460,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/zone.c:17463,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17465,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:17467,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 90
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17469
      start: 17324
    functionDepth: 6
    functionLinenumber: 17324
    functionLinenumberEnd: 17469
    functionName: checkds_send_toaddr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - DNS_CHECKDS_VALID
    - REQUIRE
    - checkds_createmessage
    - ISC_LOG_DEBUG
    - dns_view_getpeertsig
    - isc_sockaddr_any6
    - isc_sockaddr_format
    - isc_sockaddr_any
    - dns_peer_getquerysource
    - dns_name_format
    - isc_sockaddr_equal
    - dns_tsigkey_detach
    - LOCK_ZONE
    - IN6_IS_ADDR_V4MAPPED
    - isc_rlevent_free
    - isc_sockaddr_pf
    - isc_result_totext
    - dns_peer_getforcetcp
    - dns_zone_log
    - isc_nm_getinitialtimeout
    - isc_netaddr_fromsockaddr
    - checkds_destroy
    - dns_peerlist_peerbyaddr
    - dns_request_create
    - CLEANUP
    - DNS_ZONE_FLAG
    - dns_message_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void checkds_send_toaddr(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17481,1
    - Dst: DNS_CHECKDS_VALID
      Src: /src/bind9/lib/dns/zone.c:17481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17482,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17482,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17486,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:17490,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:17492,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:17497,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:17498,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17499,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:17502,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:17503,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/zone.c:17505,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/zone.c:17508,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zone.c:17511,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17519,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:17519,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:17528,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 1
    argNames:
    - checkds
    argTypes:
    - dns_checkds_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17530
      start: 17471
    functionDepth: 6
    functionLinenumber: 17471
    functionLinenumberEnd: 17530
    functionName: checkds_send_tons
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - DNS_CHECKDS_VALID
    - REQUIRE
    - LOCKED_ZONE
    - checkds_isqueued
    - checkds_create
    - isc_sockaddr_any6
    - ISC_LIST_APPEND
    - DNS_ZONE_FLAG
    - isc_ratelimiter_enqueue
    - ISC_LIST_FOREACH
    - isc_sockaddr_pf
    - zone_iattach
    - checkds_destroy
    - CHECK
    - dns_name_dup
    - UNREACHABLE
    - isc_sockaddr_any
    linkageType: ''
    returnType: void
    signature: void checkds_send_tons(dns_checkds_t *checkds)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zone.c:17534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17542,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17542,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17544,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17544,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zone.c:17546,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:17548,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17549,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17549,1
    - Dst: dns_remote_reset
      Src: /src/bind9/lib/dns/zone.c:17554,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zone.c:17555,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:17563,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zone.c:17565,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zone.c:17566,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:17569,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zone.c:17571,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zone.c:17572,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zone.c:17574,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zone.c:17579,1
    - Dst: dns_remote_sourceaddr
      Src: /src/bind9/lib/dns/zone.c:17580,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17581,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:17581,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zone.c:17581,1
    - Dst: isc_sockaddr_disabled
      Src: /src/bind9/lib/dns/zone.c:17583,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:17585,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:17588,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:17595,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17596,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17596,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/zone.c:17601,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/zone.c:17604,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17609,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17609,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:17614,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:17615,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:17616,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17620,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:17626,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17632,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/zone.c:17633,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17637,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17637,1
    - Dst: checkds_destroy
      Src: /src/bind9/lib/dns/zone.c:17641,1
    - Dst: dns_remote_next
      Src: /src/bind9/lib/dns/zone.c:17645,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 67
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17647
      start: 17532
    functionDepth: 6
    functionLinenumber: 17532
    functionLinenumberEnd: 17647
    functionName: checkds_send
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - checkds_isqueued
    - dns_transport_detach
    - INSIST
    - ISC_LOG_DEBUG
    - dns_remote_tlsname
    - zone_iattach
    - dns_name_dup
    - isc_ratelimiter_enqueue
    - checkds_create
    - dns_tsigkey_detach
    - dns_remote_count
    - dns_remote_curraddr
    - isc_sockaddr_pf
    - isc_sockaddr_disabled
    - LOCKED_ZONE
    - dns_zone_log
    - dns_zone_logc
    - dns_zone_getview
    - checkds_destroy
    - dns_remote_reset
    - dns_remote_done
    - dns_view_gettransport
    - dns_view_gettsig
    - dns_remote_sourceaddr
    - DNS_ZONE_FLAG
    - ISC_LIST_APPEND
    - dns_remote_keyname
    - dns_remote_next
    linkageType: ''
    returnType: void
    signature: void checkds_send(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17656,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:17661,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/zone.c:17665,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:17666,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17673
      start: 17652
    functionDepth: 1
    functionLinenumber: 17652
    functionLinenumberEnd: 17673
    functionName: nsfetch_start
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_countlabels
    - dns_name_split
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nsfetch_start(dns_zonefetch_t *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17711,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17712,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17712,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17717
      start: 17706
    functionDepth: 1
    functionLinenumber: 17706
    functionLinenumberEnd: 17717
    functionName: nsfetch_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void nsfetch_cancel(dns_zonefetch_t *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17721,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17722
      start: 17719
    functionDepth: 1
    functionLinenumber: 17719
    functionLinenumberEnd: 17722
    functionName: nsfetch_cleanup
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void nsfetch_cleanup(dns_zonefetch_t *fetch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17738,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17739,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17740,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17740,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17741,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:17741,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:17750,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:17751,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17751,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17753,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:17756,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17756,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:17761,1
    - Dst: dns_zonefetch_verify
      Src: /src/bind9/lib/dns/zone.c:17761,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/zone.c:17764,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17766,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17775,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:17776,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:17777,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:17779,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17781,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:17782,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17783,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:17787,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:17789,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17789,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:17791,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17792,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17792,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17797,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:17798,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:17799,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17800,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17801,1
    - Dst: checkds_find_address
      Src: /src/bind9/lib/dns/zone.c:17803,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17806,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:17810,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17813,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 48
    argCount: 2
    argNames:
    - fetch
    - eresult
    argTypes:
    - dns_zonefetch_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17817
      start: 17729
    functionDepth: 7
    functionLinenumber: 17729
    functionLinenumberEnd: 17817
    functionName: nsfetch_checkds
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - checkds_isqueued
    - DNS_ZONE_VALID
    - ISC_LOG_DEBUG
    - zone_iattach
    - dns_name_dup
    - checkds_create
    - dns_name_format
    - RUNTIME_CHECK
    - dnssec_log
    - LOCK_ZONE
    - dns_zonefetch_verify
    - checkds_find_address
    - dns_rdata_tostruct
    - isc_result_totext
    - LOCKED_ZONE
    - dns_zone_log
    - dns_rdata_reset
    - dns_rdataset_current
    - isc_log_wouldlog
    - CHECK
    - ISC_LIST_APPEND
    - dns_rdataset_count
    - UNLOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t nsfetch_checkds(dns_zonefetch_t *fetch, isc_result_t eresult)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:17775,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:17776,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:17777,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:17779,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17781,1
    - Dst: checkds_isqueued
      Src: /src/bind9/lib/dns/zone.c:17782,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17783,1
    - Dst: checkds_create
      Src: /src/bind9/lib/dns/zone.c:17787,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:17789,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17789,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:17791,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:17792,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:17792,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17797,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:17798,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:17799,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:17800,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:17801,1
    - Dst: checkds_find_address
      Src: /src/bind9/lib/dns/zone.c:17803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17804
      start: 17769
    functionDepth: 7
    functionLinenumber: 17769
    functionLinenumberEnd: 17804
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - checkds_isqueued
    - checkds_create
    - dns_zone_log
    - dns_name_format
    - RUNTIME_CHECK
    - ISC_LIST_APPEND
    - dns_rdata_reset
    - LOCK_ZONE
    - ISC_LOG_DEBUG
    - dns_rdataset_current
    - isc_log_wouldlog
    - zone_iattach
    - checkds_find_address
    - dns_name_dup
    - UNLOCK_ZONE
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(nsrrset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17921,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17922,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17922,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zone.c:17932,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zone.c:17934,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zone.c:17935,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/zone.c:17936,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:17936,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/zone.c:17939,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:17941,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17944,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/zone.c:17948,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:17950,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:17953,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 17961
      start: 17913
    functionDepth: 4
    functionLinenumber: 17913
    functionLinenumberEnd: 17961
    functionName: dsyncfetch_start
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_concatenate
    - DNS_ZONE_VALID
    - dns_name_split
    - dnssec_log
    - dns_fixedname_initname
    - dns_fixedname_name
    - dns_name_countlabels
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dsyncfetch_start(dns_zonefetch_t *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17998,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:17999,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:17999,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18000,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:18000,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18005
      start: 17994
    functionDepth: 1
    functionLinenumber: 17994
    functionLinenumberEnd: 18005
    functionName: dsyncfetch_cancel
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dsyncfetch_cancel(dns_zonefetch_t *fetch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18009,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18010
      start: 18007
    functionDepth: 1
    functionLinenumber: 18007
    functionLinenumberEnd: 18010
    functionName: dsyncfetch_cleanup
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void dsyncfetch_cleanup(dns_zonefetch_t *fetch)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18026,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18027,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18028,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18028,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18029,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zone.c:18029,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zone.c:18034,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:18038,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18039,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18039,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18042,1
    - Dst: dns_zonefetch_verify
      Src: /src/bind9/lib/dns/zone.c:18044,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18049,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zone.c:18054,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zone.c:18055,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:18059,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:18060,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:18061,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zone.c:18063,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18065,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18065,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zone.c:18074,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18077,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18077,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18087,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18096,1
    - Dst: dns_notify_isqueued
      Src: /src/bind9/lib/dns/zone.c:18104,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18108,1
    - Dst: dns_notify_create
      Src: /src/bind9/lib/dns/zone.c:18111,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:18113,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18113,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zone.c:18115,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18116,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18116,1
    - Dst: dns_zone_iattach
      Src: /src/bind9/lib/dns/zone.c:18120,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zone.c:18121,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18122,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:18123,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18124,1
    - Dst: dns_notify_find_address
      Src: /src/bind9/lib/dns/zone.c:18125,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18128,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:18132,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18132,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18134,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 67
    argCount: 2
    argNames:
    - fetch
    - eresult
    argTypes:
    - dns_zonefetch_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18138
      start: 18016
    functionDepth: 4
    functionLinenumber: 18016
    functionLinenumberEnd: 18138
    functionName: dsyncfetch_done
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_notify_find_address
    - dns_rdataset_next
    - dns_zone_iattach
    - DNS_ZONE_VALID
    - ISC_LOG_DEBUG
    - dns_name_dup
    - dns_name_format
    - RUNTIME_CHECK
    - LOCK_ZONE
    - dns_zonefetch_verify
    - dns_rdata_tostruct
    - isc_result_totext
    - LOCKED_ZONE
    - dns_zone_log
    - dns_rdatatype_format
    - dns_rdataset_first
    - dns_notify_isqueued
    - dns_rdata_reset
    - dns_rdataset_current
    - isc_log_wouldlog
    - ISC_LIST_APPEND
    - dns_fixedname_name
    - UNLOCK_ZONE
    - dns_notify_create
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dsyncfetch_done(dns_zonefetch_t *fetch, isc_result_t eresult)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:18282,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:18283,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:18285,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:18295,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:18296,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:18298,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: 18300
      start: 18272
    functionDepth: 1
    functionLinenumber: 18272
    functionLinenumberEnd: 18300
    functionName: update_ttl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_appendminimal
    - dns_rdataset_current
    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:18282,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:18283,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:18285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18286
      start: 18278
    functionDepth: 1
    functionLinenumber: 18278
    functionLinenumberEnd: 18286
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_difftuple_create
    - dns_diff_appendminimal
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:18295,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:18296,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:18298,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18299
      start: 18291
    functionDepth: 1
    functionLinenumber: 18291
    functionLinenumberEnd: 18299
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_difftuple_create
    - dns_diff_appendminimal
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:18308,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/zone.c:18311,1
    - Dst: dns_keymgr_key_may_be_purged
      Src: /src/bind9/lib/dns/zone.c:18314,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:18321,1
    - Dst: dst_key_compare
      Src: /src/bind9/lib/dns/zone.c:18322,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/zone.c:18330,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18331,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18331,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: 18340
      start: 18302
    functionDepth: 4
    functionLinenumber: 18302
    functionLinenumberEnd: 18340
    functionName: zone_verifykeys
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dst_key_is_unused
    - dst_key_compare
    - dst_key_format
    - dnssec_log
    - dns_keymgr_key_may_be_purged
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    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:18344,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:18352,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:18353,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/zone.c:18355,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: 18358
      start: 18342
    functionDepth: 1
    functionLinenumber: 18342
    functionLinenumberEnd: 18358
    functionName: remove_rdataset
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdataset_isassociated
    - dns_rdataset_current
    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:18352,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/zone.c:18353,1
    - Dst: dns_diff_append
      Src: /src/bind9/lib/dns/zone.c:18355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18356
      start: 18348
    functionDepth: 1
    functionLinenumber: 18348
    functionLinenumberEnd: 18356
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - dns_difftuple_create
    - dns_diff_append
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/dns/zone.c:18364,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/zone.c:18365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - diff
    - tuple
    argTypes:
    - dns_diff_t*
    - dns_difftuple_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18366
      start: 18360
    functionDepth: 1
    functionLinenumber: 18360
    functionLinenumberEnd: 18366
    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:18374,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18374,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18375,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/zone.c:18375,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18376,1
    - Dst: DNS_SKRBUNDLE_VALID
      Src: /src/bind9/lib/dns/zone.c:18376,1
    - Dst: remove_rdataset
      Src: /src/bind9/lib/dns/zone.c:18379,1
    - Dst: remove_rdataset
      Src: /src/bind9/lib/dns/zone.c:18380,1
    - Dst: remove_rdataset
      Src: /src/bind9/lib/dns/zone.c:18381,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:18384,1
    - Dst: add_tuple
      Src: /src/bind9/lib/dns/zone.c:18387,1
    - Dst: add_tuple
      Src: /src/bind9/lib/dns/zone.c:18391,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:18397,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: 18400
      start: 18368
    functionDepth: 2
    functionLinenumber: 18368
    functionLinenumberEnd: 18400
    functionName: zone_apply_skrbundle
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_SKRBUNDLE_VALID
    - INSIST
    - DNS_ZONE_VALID
    - add_tuple
    - DNS_KASP_VALID
    - remove_rdataset
    - ISC_LIST_FOREACH
    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: 76
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:18430,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:18430,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:18432,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:18433,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:18434,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:18435,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:18436,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:18437,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:18438,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:18439,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:18440,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:18442,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:18443,1
    - Dst: zonediff_init
      Src: /src/bind9/lib/dns/zone.c:18444,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18446,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/zone.c:18446,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18447,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:18447,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18448,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:18448,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:18450,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/zone.c:18451,1
    - Dst: dns_zone_getkeydirectory
      Src: /src/bind9/lib/dns/zone.c:18454,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18456,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18459,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:18459,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zone.c:18462,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/zone.c:18465,1
    - Dst: dns_kasp_offlineksk
      Src: /src/bind9/lib/dns/zone.c:18466,1
    - Dst: dns_kasp_sigvalidity_dnskey
      Src: /src/bind9/lib/dns/zone.c:18467,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:18471,1
    - Dst: update_ttl
      Src: /src/bind9/lib/dns/zone.c:18482,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18483,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18489,1
    - Dst: dns_dnssec_keylistfromrdataset
      Src: /src/bind9/lib/dns/zone.c:18491,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18495,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18497,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:18503,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:18506,1
    - Dst: update_ttl
      Src: /src/bind9/lib/dns/zone.c:18508,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18509,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:18515,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:18518,1
    - Dst: update_ttl
      Src: /src/bind9/lib/dns/zone.c:18520,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18521,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:18531,1
    - Dst: DNS_ZONE_OPTION
      Src: /src/bind9/lib/dns/zone.c:18540,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18546,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18548,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18549,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18549,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:18552,1
    - Dst: dns_skr_lookup
      Src: /src/bind9/lib/dns/zone.c:18554,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18556,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:18563,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/zone.c:18565,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/zone.c:18566,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/zone.c:18567,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18568,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18568,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:18573,1
    - Dst: zone_apply_skrbundle
      Src: /src/bind9/lib/dns/zone.c:18576,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zone.c:18579,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18585,1
    - Dst: KASP_LOCK
      Src: /src/bind9/lib/dns/zone.c:18595,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18597,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/zone.c:18598,1
    - Dst: dns_zone_getkeystores
      Src: /src/bind9/lib/dns/zone.c:18599,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18601,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18604,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18604,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18606,1
    - Dst: zone_verifykeys
      Src: /src/bind9/lib/dns/zone.c:18611,1
    - Dst: dns_kasp_purgekeys
      Src: /src/bind9/lib/dns/zone.c:18612,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18614,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:18617,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18624,1
    - Dst: checkds_cancel
      Src: /src/bind9/lib/dns/zone.c:18625,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:18626,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zone.c:18627,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18628,1
    - Dst: dns_zone_getdnsseckeys
      Src: /src/bind9/lib/dns/zone.c:18630,1
    - Dst: zone_checkds
      Src: /src/bind9/lib/dns/zone.c:18633,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18635,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:18636,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18640,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18645,1
    - Dst: dns_keymgr_run
      Src: /src/bind9/lib/dns/zone.c:18646,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18649,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18656,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18659,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:18660,1
    - Dst: dns_zone_lock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18669,1
    - Dst: dns_keymgr_offline
      Src: /src/bind9/lib/dns/zone.c:18670,1
    - Dst: dns_zone_unlock_keyfiles
      Src: /src/bind9/lib/dns/zone.c:18672,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18675,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18678,1
    - Dst: KASP_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:18682,1
    - Dst: dns_dnssec_updatekeys
      Src: /src/bind9/lib/dns/zone.c:18698,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18706,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18708,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zone.c:18722,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/zone.c:18722,1
    - Dst: dns_kasp_digests
      Src: /src/bind9/lib/dns/zone.c:18726,1
    - Dst: dns_kasp_cdnskey
      Src: /src/bind9/lib/dns/zone.c:18727,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:18730,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:18733,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:18739,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:18751,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:18754,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:18762,1
    - Dst: dns_kasp_digests
      Src: /src/bind9/lib/dns/zone.c:18773,1
    - Dst: dns_dnssec_syncupdate
      Src: /src/bind9/lib/dns/zone.c:18779,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18785,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18787,1
    - Dst: dst_key_is_published
      Src: /src/bind9/lib/dns/zone.c:18802,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:18803,1
    - Dst: dns_dnssec_syncdelete
      Src: /src/bind9/lib/dns/zone.c:18817,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18823,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18826,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:18838,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:18845,1
    - Dst: signed_with_alg
      Src: /src/bind9/lib/dns/zone.c:18850,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18850,1
    - Dst: dns_zone_check_dnskey_nsec3
      Src: /src/bind9/lib/dns/zone.c:18868,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:18870,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18872,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18878,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/zone.c:18878,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18879,1
    - Dst: clean_nsec3param
      Src: /src/bind9/lib/dns/zone.c:18879,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18880,1
    - Dst: add_signing_records
      Src: /src/bind9/lib/dns/zone.c:18880,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18882,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:18882,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18884,1
    - Dst: add_chains
      Src: /src/bind9/lib/dns/zone.c:18884,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18885,1
    - Dst: sign_apex
      Src: /src/bind9/lib/dns/zone.c:18885,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:18886,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:18886,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:18892,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:18894,1
    - Dst: dns_zone_getdnssecsignstats
      Src: /src/bind9/lib/dns/zone.c:18898,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:18900,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:18902,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:18904,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:18908,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18908,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18909,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18912,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18915,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:18920,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18921,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18922,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:18927,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/zone.c:18928,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18929,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:18940,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18941,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18942,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18945,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18949,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:18959,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18960,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18961,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18964,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18968,1
    - Dst: zone_signwithkey
      Src: /src/bind9/lib/dns/zone.c:18986,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18987,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18988,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18990,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18993,1
    - Dst: DNS_ZONE_CLROPTION
      Src: /src/bind9/lib/dns/zone.c:19002,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:19008,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/zone.c:19019,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19025,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zone.c:19026,1
    - Dst: zone_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:19031,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19033,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:19035,1
    - Dst: resume_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:19044,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zone.c:19050,1
    - Dst: isc_time_settoepoch
      Src: /src/bind9/lib/dns/zone.c:19053,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:19073,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:19075,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:19076,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19078,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19078,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19080,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:19090,1
    - Dst: next_keyevent
      Src: /src/bind9/lib/dns/zone.c:19096,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:19101,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:19102,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:19109,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/zone.c:19111,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19112,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19114,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:19119,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:19120,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:19124,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19124,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:19127,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:19127,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19129,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19129,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:19131,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:19133,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:19134,1
    - Dst: zone_notifycds
      Src: /src/bind9/lib/dns/zone.c:19141,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19147,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19153,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19157,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:19159,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:19160,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zone.c:19161,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:19161,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/zone.c:19163,1
    - Dst: DNS_ZONE_CLROPTION
      Src: /src/bind9/lib/dns/zone.c:19170,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19172,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:19174,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:19175,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:19177,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:19178,1
    - Dst: clear_keylist
      Src: /src/bind9/lib/dns/zone.c:19179,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:19182,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19184,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19185,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19186,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19187,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19188,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:19190,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:19193,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19196,1
    CyclomaticComplexity: 113
    EdgeCount: 113
    ICount: 397
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19197
      start: 18402
    functionDepth: 9
    functionLinenumber: 18402
    functionLinenumberEnd: 19197
    functionName: zone_rekey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - DNS_ZONE_CLROPTION
    - INSIST
    - DNS_ZONE_OPTION
    - add_chains
    - dns_rdataset_init
    - ISC_MIN
    - dns_zone_getdnsseckeys
    - ISC_LIST_INIT
    - dns_skr_lookup
    - KASP_UNLOCK
    - dns_rdataset_disassociate
    - dns_diff_apply
    - zone_addnsec3chain
    - dns_zone_unlock_keyfiles
    - dns_nsec3param_fromprivate
    - isc_time_compare
    - RUNTIME_CHECK
    - isc_time_nowplusinterval
    - dns_dnssecsignstats_clear
    - zone_checkds
    - dns_rdata_tostruct
    - isc_time_seconds
    - zone_needdump
    - isc_time_now
    - dns_rdataset_current
    - dns_kasp_cdnskey
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - DNS_ZONE_TIME_ADD
    - clean_nsec3param
    - UNLOCK_ZONE
    - checkds_cancel
    - dns_kasp_dnskeyttl
    - isc_time_settoepoch
    - zone_journal
    - dns_zone_lock_keyfiles
    - dns_kasp_sigvalidity_dnskey
    - dst_key_alg
    - ISC_LIST_EMPTY
    - CHECK
    - dns_zone_getkeydirectory
    - update_soa_serial
    - isc_time_formattimestamp
    - dst_key_id
    - signed_with_alg
    - dns_diff_init
    - zone_notifycds
    - ISC_LIST_UNLINK
    - dns_db_newversion
    - dns_secalg_format
    - ISC_LOG_DEBUG
    - update_ttl
    - dst_key_rid
    - zone_signwithkey
    - dns_time32_totext
    - dns_kasp_purgekeys
    - dns_rdataset_isassociated
    - clear_keylist
    - dns__zone_set_resigntime
    - memcmp
    - zone_verifykeys
    - dns_keymgr_offline
    - dns_zone_getkeystores
    - zonediff_init
    - dst_key_is_signing
    - dns_db_detach
    - dns_keymgr_run
    - dns_kasp_digests
    - dst_key_is_published
    - add_signing_records
    - dns_zone_getdb
    - isc_interval_set
    - dns_zone_getdnssecsignstats
    - dns_diff_clear
    - dns_kasp_offlineksk
    - CLEANUP
    - resume_addnsec3chain
    - dns_dnssec_findmatchingkeys
    - DNS_ZONE_SETFLAG
    - dns_dnssec_syncupdate
    - REQUIRE
    - dns_db_getoriginnode
    - dns_dnssec_keylistfromrdataset
    - DNS_ZONE_VALID
    - zone_apply_skrbundle
    - dns_zone_check_dnskey_nsec3
    - dnssec_log
    - ISC_LIST_NEXT
    - LOCK_ZONE
    - dns_dnssec_syncdelete
    - isc_buffer_init
    - isc_result_totext
    - KASP_LOCK
    - strcmp
    - dns__zone_settimer
    - dns_db_findrdataset
    - dns_dnssec_updatekeys
    - dns_kasp_getname
    - dns_db_closeversion
    - isc_log_wouldlog
    - isc_stdtime_tostring
    - next_keyevent
    - ISC_LIST_APPEND
    - sign_apex
    - isc_buffer_usedregion
    - ISC_LIST_FOREACH
    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:18733,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:18739,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18747
      start: 18731
    functionDepth: 1
    functionLinenumber: 18731
    functionLinenumberEnd: 18747
    functionName: (&cdsset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - memcmp
    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:18754,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:18762,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18770
      start: 18752
    functionDepth: 1
    functionLinenumber: 18752
    functionLinenumberEnd: 18770
    functionName: (&cdnskeyset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - memcmp
    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:18802,1
    - Dst: dst_key_is_signing
      Src: /src/bind9/lib/dns/zone.c:18803,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18809
      start: 18799
    functionDepth: 4
    functionLinenumber: 18799
    functionLinenumberEnd: 18809
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 228
    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:18908,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18908,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18909,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18912,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18915,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:18920,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18921,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18922,1
    - Dst: dns_dnssecsignstats_clear
      Src: /src/bind9/lib/dns/zone.c:18927,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/zone.c:18928,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18929,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18931
      start: 18907
    functionDepth: 4
    functionLinenumber: 18907
    functionLinenumberEnd: 18931
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 228
    functionsReached:
    - dst_key_alg
    - dnssec_log
    - dst_key_id
    - dns_dnssecsignstats_clear
    - dst_key_rid
    - zone_signwithkey
    - isc_result_totext
    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:18940,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18941,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18942,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18945,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18949,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18953
      start: 18938
    functionDepth: 4
    functionLinenumber: 18938
    functionLinenumberEnd: 18953
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 228
    functionsReached:
    - dst_key_alg
    - dnssec_log
    - dst_key_id
    - zone_signwithkey
    - isc_result_totext
    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:18959,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18960,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18961,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18964,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18968,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18972
      start: 18957
    functionDepth: 4
    functionLinenumber: 18957
    functionLinenumberEnd: 18972
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 228
    functionsReached:
    - dst_key_alg
    - dnssec_log
    - dst_key_id
    - zone_signwithkey
    - isc_result_totext
    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:18986,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:18987,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:18988,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:18990,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:18993,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18995
      start: 18981
    functionDepth: 4
    functionLinenumber: 18981
    functionLinenumberEnd: 18995
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 228
    functionsReached:
    - dst_key_alg
    - dnssec_log
    - dst_key_id
    - zone_signwithkey
    - isc_result_totext
    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:19096,1
    - Dst: DNS_ZONE_TIME_ADD
      Src: /src/bind9/lib/dns/zone.c:19101,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/zone.c:19102,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19107
      start: 19094
    functionDepth: 3
    functionLinenumber: 19094
    functionLinenumberEnd: 19107
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 228
    functionsReached:
    - DNS_ZONE_TIME_ADD
    - isc_time_compare
    - next_keyevent
    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:19124,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19124,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/zone.c:19127,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zone.c:19127,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19129,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19129,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zone.c:19131,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zone.c:19133,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:19134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19135
      start: 19123
    functionDepth: 4
    functionLinenumber: 19123
    functionLinenumberEnd: 19135
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 228
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_secalg_format
    - dst_key_alg
    - ISC_LIST_APPEND
    - dnssec_log
    - dst_key_id
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(dnskeys, key, link)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19204,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:19207,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zone.c:19210,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:19213,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zone.c:19215,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19217,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - zone
    - fullsign
    - forcekeymgr
    argTypes:
    - dns_zone_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19219
      start: 19199
    functionDepth: 3
    functionLinenumber: 19199
    functionLinenumberEnd: 19219
    functionName: dns_zone_rekey
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 5
    functionsReached:
    - isc_time_now
    - DNS_ZONE_SETOPTION
    - dns__zone_settimer
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_rekey(dns_zone_t *zone, bool fullsign, bool forcekeymgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19231,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19232,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:19234,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:19236,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/zone.c:19236,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/zone.c:19238,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/zone.c:19240,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:19241,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/zone.c:19241,1
    - Dst: dns_zone_getrefreshkeytime
      Src: /src/bind9/lib/dns/zone.c:19243,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/zone.c:19244,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/zone.c:19245,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:19246,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/zone.c:19246,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:19249,1
    - Dst: dns_keymgr_status
      Src: /src/bind9/lib/dns/zone.c:19250,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:19251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 7
    argNames:
    - zone
    - kasp
    - keys
    - now
    - verbose
    - out
    - out_len
    argTypes:
    - dns_zone_t*
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - bool
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19254
      start: 19221
    functionDepth: 3
    functionLinenumber: 19221
    functionLinenumberEnd: 19254
    functionName: dns_zone_dnssecstatus
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_buffer_printf
    - DNS_ZONE_VALID
    - UNLOCK
    - isc_time_seconds
    - LOCK
    - dns_keymgr_status
    - dns_kasp_getname
    - RETERR
    - dns_zone_getrefreshkeytime
    - isc_buffer_init
    - isc_stdtime_tostring
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zone_dnssecstatus(dns_zone_t *zone, dns_kasp_t *kasp,\n\t\t
      \     dns_dnsseckeylist_t *keys, isc_stdtime_t now,\n\t\t      bool verbose,
      char *out, size_t out_len)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19262,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19262,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19263,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:19265,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:19265,1
    - Dst: zone_count_ns_rr
      Src: /src/bind9/lib/dns/zone.c:19266,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:19267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - zone
    - db
    - version
    - errors
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19269
      start: 19256
    functionDepth: 3
    functionLinenumber: 19256
    functionLinenumberEnd: 19269
    functionName: dns_zone_nscheck
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_getoriginnode
    - dns_db_detachnode
    - zone_count_ns_rr
    - DNS_ZONE_VALID
    - RETERR
    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: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19282,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19282,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zone.c:19284,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:19284,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:19286,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:19287,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:19288,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:19290,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19293,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:19296,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19299,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:19302,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:19303,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:19309,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19314,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:19322,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:19325,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19330,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19336,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19344,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19347,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19347,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/zone.c:19358,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19361,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19383,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19384,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:19401,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19405,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19407,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19407,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:19409,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19419,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19422,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:19432,1
    - Dst: memset
      Src: /src/bind9/lib/dns/zone.c:19434,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19440,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19447,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19455,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19458,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19458,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:19460,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19471,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19472,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19472,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:19474,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19487,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19490,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19497,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19498,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19499,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:19500,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 120
    argCount: 3
    argNames:
    - zone
    - db
    - version
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19502
      start: 19271
    functionDepth: 4
    functionLinenumber: 19271
    functionLinenumberEnd: 19502
    functionName: dns_zone_cdscheck
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_getoriginnode
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - RETERR
    - memset
    - dns_rdataset_isassociated
    - dnssec_log
    - memcmp
    - dns_rdata_tostruct
    - dns_db_findrdataset
    - dns_rdataset_current
    - CHECK
    - dns_dsdigest_format
    - CLEANUP
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_dnssec_matchdskey
    - dst_algorithm_fromdata
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19330,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19336,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19344,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19347,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19347,1
    - Dst: dns_dsdigest_format
      Src: /src/bind9/lib/dns/zone.c:19358,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19361,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19383,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19384,1
    - Dst: dns_dnssec_matchdskey
      Src: /src/bind9/lib/dns/zone.c:19401,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19405,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19407,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19407,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:19409,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19415
      start: 19326
    functionDepth: 4
    functionLinenumber: 19326
    functionLinenumberEnd: 19415
    functionName: (&cds)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - CLEANUP
    - dns_dnssec_matchdskey
    - dnssec_log
    - memcmp
    - dst_algorithm_fromdata
    - dns_rdataset_current
    - CHECK
    - dns_dsdigest_format
    - dns_rdata_tostruct
    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:19383,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19384,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19393
      start: 19379
    functionDepth: 1
    functionLinenumber: 19379
    functionLinenumberEnd: 19393
    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:19440,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19447,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19455,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19458,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19458,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:19460,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19471,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19472,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19472,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:19474,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19483
      start: 19435
    functionDepth: 4
    functionLinenumber: 19435
    functionLinenumberEnd: 19483
    functionName: (&cdnskey)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - CLEANUP
    - dst_algorithm_fromdata
    - memcmp
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:19471,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19472,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:19472,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zone.c:19474,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19482
      start: 19466
    functionDepth: 4
    functionLinenumber: 19466
    functionLinenumberEnd: 19482
    functionName: (&dnskey)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dst_algorithm_fromdata
    - dns_rdataset_current
    - CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dnskey)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zone.c:19510,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19516,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19517,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:19518,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19519,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zone.c:19520,1
    - Dst: TRYLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19522,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19524,1
    - Dst: isc_thread_yield
      Src: /src/bind9/lib/dns/zone.c:19526,1
    - Dst: zone_postload
      Src: /src/bind9/lib/dns/zone.c:19530,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:19531,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19532,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19534,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19536,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19538
      start: 19504
    functionDepth: 11
    functionLinenumber: 19504
    functionLinenumberEnd: 19538
    functionName: dns_zone_dlzpostload
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - isc_time_now
    - zone_postload
    - INSIST
    - isc_thread_yield
    - LOCK_ZONE
    - TRYLOCK_ZONE
    - dns__zone_inline_raw
    - dns__zone_inline_secure
    - UNLOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_dlzpostload(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19547,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19547,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19549,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19552,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19552,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19553,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19554,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19555,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19557,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:19563,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19564,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19565,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/zone.c:19567,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zone.c:19570,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:19574,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:19576,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zone.c:19578,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19580,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19581,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:19582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 2
    argNames:
    - zone
    - raw
    argTypes:
    - dns_zone_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19584
      start: 19543
    functionDepth: 2
    functionLinenumber: 19543
    functionLinenumberEnd: 19584
    functionName: dns_zone_link
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_loop_attach
    - DNS_ZONE_VALID
    - ISC_LIST_APPEND
    - isc_refcount_increment
    - LOCK_ZONE
    - zone_iattach
    - UNLOCK_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:19588,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19588,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19589,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:19591,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19592,1
    - Dst: dns_zone_attach
      Src: /src/bind9/lib/dns/zone.c:19594,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:19596,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - raw
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19597
      start: 19586
    functionDepth: 1
    functionLinenumber: 19586
    functionLinenumberEnd: 19597
    functionName: dns_zone_getraw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 13
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - dns_zone_attach
    - LOCK
    - UNLOCK
    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:19602,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19602,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:19603,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:19605,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19607
      start: 19599
    functionDepth: 1
    functionLinenumber: 19599
    functionLinenumberEnd: 19607
    functionName: dns_zone_israw
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK
    - LOCK
    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:19612,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19612,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/zone.c:19613,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/zone.c:19615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19617
      start: 19609
    functionDepth: 1
    functionLinenumber: 19609
    functionLinenumberEnd: 19617
    functionName: dns_zone_issecure
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK
    - LOCK
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_issecure(dns_zone_t *zone)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19641,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19641,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:19645,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:19646,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:19648,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:19650,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:19652,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:19657,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:19658,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19660,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:19662,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19666,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:19666,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:19668,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19671,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:19671,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19679,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19696,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19701,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19708,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:19708,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:19714,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19716,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:19716,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/dns/zone.c:19719,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19723,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19726,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:19726,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19729,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:19730,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:19732,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19733,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:19737,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:19740,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:19743,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:19746,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:19748,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:19750,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:19751,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:19752,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19754,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19755,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 81
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19756
      start: 19627
    functionDepth: 9
    functionLinenumber: 19627
    functionLinenumberEnd: 19756
    functionName: keydone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_newversion
    - INSIST
    - isc_mem_put
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_db_currentversion
    - dns_rdataset_isassociated
    - update_one_rr
    - dnssec_log
    - memcmp
    - dns_zone_idetach
    - LOCK_ZONE
    - zone_journal
    - dns_update_signatures
    - isc_result_totext
    - zone_needdump
    - dns_db_detach
    - dns_db_findrdataset
    - ISC_LIST_EMPTY
    - ZONEDB_UNLOCK
    - dns_rdataset_current
    - CHECK
    - ZONEDB_LOCK
    - dns_db_closeversion
    - dns_diff_clear
    - update_soa_serial
    - dns_db_detachnode
    - dns_db_attach
    - dns_rdataset_cleanup
    - DNS_ZONE_SETFLAG
    - dns_diff_init
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void keydone(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19679,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19696,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19701,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19708,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:19708,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19712
      start: 19675
    functionDepth: 1
    functionLinenumber: 19675
    functionLinenumberEnd: 19712
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - update_one_rr
    - CHECK
    - dns_rdataset_current
    - memcmp
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:19764,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19764,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19766,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:19768,1
    - Dst: strcasecmp
      Src: /src/bind9/lib/dns/zone.c:19771,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/zone.c:19780,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19782,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/zone.c:19785,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:19789,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/zone.c:19792,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zone.c:19794,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zone.c:19795,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19796,1
    - Dst: dst_algorithm_fromtext
      Src: /src/bind9/lib/dns/zone.c:19796,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:19800,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:19801,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zone.c:19801,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/zone.c:19802,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:19803,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zone.c:19804,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/zone.c:19805,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:19808,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:19809,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:19814,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19816,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 41
    argCount: 2
    argNames:
    - zone
    - keystr
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19818
      start: 19758
    functionDepth: 4
    functionLinenumber: 19758
    functionLinenumberEnd: 19818
    functionName: dns_zone_keydone
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dst_algorithm_tosecalg
    - isc_mem_put
    - DNS_ZONE_VALID
    - dst_algorithm_fromtext
    - strlen
    - strchr
    - zone_iattach
    - strcasecmp
    - isc_buffer_putuint16
    - LOCK_ZONE
    - isc_buffer_putuint8
    - isc_buffer_init
    - sscanf
    - CHECK
    - UNCONST
    - CLEANUP
    - isc_mem_get
    - isc_async_run
    - UNLOCK_ZONE
    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:19830,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:19830,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19834,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:19835,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:19836,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19843,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:19846,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:19854,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:19856,1
    - Dst: rss_post
      Src: /src/bind9/lib/dns/zone.c:19861,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:19863,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19864
      start: 19824
    functionDepth: 5
    functionLinenumber: 19824
    functionLinenumberEnd: 19864
    functionName: setnsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - INSIST
    - rss_post
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    - dns_zone_idetach
    - isc_async_run
    - LOCK_ZONE
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void setnsec3param(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:19876,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/zone.c:19877,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: 19883
      start: 19866
    functionDepth: 2
    functionLinenumber: 19866
    functionLinenumberEnd: 19883
    functionName: salt2text
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - isc_hex_totext
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: "void salt2text(unsigned char *salt, uint8_t saltlen, unsigned char
      *text,\n\t  unsigned int textlen)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:19909,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:19910,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:19911,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:19913,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:19915,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:19917,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:19922,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:19923,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19925,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:19927,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19931,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/zone.c:19931,1
    - Dst: dns__zone_lookup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:19945,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:19955,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:19955,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:19957,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19961,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:19970,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:19971,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:19971,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:19974,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:19983,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19988,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19991,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:19998,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:19998,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:20005,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:20010,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:20013,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20021,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:20021,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20031,1
    - Dst: dns_nsec3param_deletechains
      Src: /src/bind9/lib/dns/zone.c:20031,1
    - Dst: dns_nsec_nseconly
      Src: /src/bind9/lib/dns/zone.c:20049,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20058,1
    - Dst: update_one_rr
      Src: /src/bind9/lib/dns/zone.c:20058,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zone.c:20068,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20069,1
    - Dst: update_soa_serial
      Src: /src/bind9/lib/dns/zone.c:20069,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/dns/zone.c:20071,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20075,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20077,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:20077,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20080,1
    - Dst: DNS_ZONE_SETFLAG
      Src: /src/bind9/lib/dns/zone.c:20081,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:20082,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20083,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:20087,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:20088,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:20090,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:20093,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:20096,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:20099,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20102,1
    - Dst: resume_addnsec3chain
      Src: /src/bind9/lib/dns/zone.c:20103,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20104,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:20106,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:20107,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20109,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20110,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 127
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20111
      start: 19891
    functionDepth: 9
    functionLinenumber: 19891
    functionLinenumberEnd: 20111
    functionName: rss_post
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_newversion
    - INSIST
    - isc_mem_put
    - dns_rdataset_init
    - ISC_LOG_DEBUG
    - dns_db_currentversion
    - dns__zone_lookup_nsec3param
    - dns_rdataset_isassociated
    - update_one_rr
    - dnssec_log
    - memcmp
    - LOCK_ZONE
    - zone_journal
    - dns_update_signatures
    - dns_nsec3param_toprivate
    - isc_buffer_init
    - isc_result_totext
    - zone_needdump
    - dns_nsec3param_deletechains
    - dns_db_detach
    - dns_db_findrdataset
    - ISC_LIST_EMPTY
    - ZONEDB_UNLOCK
    - dns_rdataset_current
    - CHECK
    - ZONEDB_LOCK
    - dns_db_closeversion
    - dns_diff_clear
    - update_soa_serial
    - dns_db_detachnode
    - dns_db_attach
    - dns_rdataset_cleanup
    - resume_addnsec3chain
    - dns_rdata_fromstruct
    - DNS_ZONE_SETFLAG
    - dns_nsec_nseconly
    - dns_diff_init
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void rss_post(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:19988,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:19991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19996
      start: 19986
    functionDepth: 1
    functionLinenumber: 19986
    functionLinenumberEnd: 19996
    functionName: (&prdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - memcmp
    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:20010,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:20013,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20019
      start: 20008
    functionDepth: 1
    functionLinenumber: 20008
    functionLinenumberEnd: 20019
    functionName: (&nrdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_current
    - memcmp
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&nrdataset)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20133,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20133,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zone.c:20135,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:20137,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:20139,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:20141,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/zone.c:20147,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20149,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20152,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:20156,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zone.c:20158,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20162,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zone.c:20162,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20164,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20167,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zone.c:20175,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:20176,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:20189,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20214,1
    - Dst: dns_nsec3_generate_salt
      Src: /src/bind9/lib/dns/zone.c:20224,1
    - Dst: salt2text
      Src: /src/bind9/lib/dns/zone.c:20230,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20232,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:20236,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20246,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zone.c:20250,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zone.c:20252,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:20255,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:20258,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 99
    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: 20262
      start: 20122
    functionDepth: 4
    functionLinenumber: 20122
    functionLinenumberEnd: 20262
    functionName: dns__zone_lookup_nsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - dns_rdataset_init
    - dns_nsec3_generate_salt
    - dns_db_currentversion
    - salt2text
    - dns_rdataset_isassociated
    - dnssec_log
    - memcmp
    - dns_rdata_tostruct
    - isc_result_totext
    - dns_db_detach
    - dns_zone_log
    - dns_db_findrdataset
    - ZONEDB_UNLOCK
    - dns_rdataset_current
    - CHECK
    - ZONEDB_LOCK
    - dns_db_closeversion
    - dns_db_detachnode
    - dns_db_attach
    - dns_rdataset_cleanup
    - dns_db_findnode
    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:20175,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zone.c:20176,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zone.c:20189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20202
      start: 20173
    functionDepth: 1
    functionLinenumber: 20173
    functionLinenumberEnd: 20202
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - memcmp
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20299,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20299,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20301,1
    - Dst: dns__zone_lookup_nsec3param
      Src: /src/bind9/lib/dns/zone.c:20313,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20316,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:20326,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20340,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20340,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zone.c:20349,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20352,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/zone.c:20352,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/zone.c:20355,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zone.c:20363,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20363,1
    - Dst: salt2text
      Src: /src/bind9/lib/dns/zone.c:20366,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20369,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20369,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:20386,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:20388,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:20389,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zone.c:20391,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:20393,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 54
    argCount: 7
    argNames:
    - zone
    - hash
    - flags
    - iter
    - salt
    - replace
    - resalt
    argTypes:
    - dns_zone_t*
    - uint8_t
    - uint8_t
    - uint16_t
    - isc_region_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20400
      start: 20284
    functionDepth: 5
    functionLinenumber: 20284
    functionLinenumberEnd: 20400
    functionName: dns_zone_setnsec3param
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - ISC_LOG_DEBUG
    - zone_iattach
    - salt2text
    - dns__zone_lookup_nsec3param
    - dnssec_log
    - LOCK_ZONE
    - dns_nsec3param_toprivate
    - isc_buffer_init
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    - isc_log_wouldlog
    - CHECK
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - isc_async_run
    - UNLOCK_ZONE
    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, isc_region_t *salt, bool replace,\n\t\t
      \      bool resalt)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20407,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20407,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20408,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20410,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/zone.c:20415,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zone.c:20416,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20417,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zone.c:20418,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20420,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20424,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - zone
    - includesp
    argTypes:
    - dns_zone_t*
    - char***
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20426
      start: 20402
    functionDepth: 1
    functionLinenumber: 20402
    functionLinenumberEnd: 20426
    functionName: dns_zone_getincludes
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - isc_mem_strdup
    - LOCK_ZONE
    - isc_mem_allocate
    - ISC_LIST_FOREACH
    - UNLOCK_ZONE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zone_getincludes(dns_zone_t *zone, char ***includesp)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20441,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20441,1
    - Dst: dns_diff_init
      Src: /src/bind9/lib/dns/zone.c:20451,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zone.c:20453,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zone.c:20455,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zone.c:20457,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:20462,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/zone.c:20463,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20465,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20467,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20471,1
    - Dst: dns_db_createsoatuple
      Src: /src/bind9/lib/dns/zone.c:20471,1
    - Dst: dns_difftuple_copy
      Src: /src/bind9/lib/dns/zone.c:20473,1
    - Dst: dns_soa_getserial
      Src: /src/bind9/lib/dns/zone.c:20476,1
    - Dst: isc_serial_gt
      Src: /src/bind9/lib/dns/zone.c:20480,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zone.c:20482,1
    - Dst: dns_soa_setserial
      Src: /src/bind9/lib/dns/zone.c:20491,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20492,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:20492,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20493,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/zone.c:20493,1
    - Dst: dns_update_signatures
      Src: /src/bind9/lib/dns/zone.c:20494,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20497,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20501,1
    - Dst: zone_journal
      Src: /src/bind9/lib/dns/zone.c:20501,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20504,1
    - Dst: zone_needdump
      Src: /src/bind9/lib/dns/zone.c:20505,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20506,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:20510,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/zone.c:20513,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:20516,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:20519,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:20522,1
    - Dst: dns_diff_clear
      Src: /src/bind9/lib/dns/zone.c:20524,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zone.c:20527,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/zone.c:20528,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20530,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20531,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20532
      start: 20428
    functionDepth: 9
    functionLinenumber: 20428
    functionLinenumberEnd: 20532
    functionName: setserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 6
    functionsReached:
    - dns_db_createsoatuple
    - dns_db_newversion
    - INSIST
    - isc_mem_put
    - DNS_ZONE_VALID
    - dns_db_currentversion
    - dns_soa_getserial
    - dns_zone_idetach
    - LOCK_ZONE
    - dns_difftuple_copy
    - zone_journal
    - dns_update_signatures
    - isc_result_totext
    - zone_needdump
    - dns_db_detach
    - dns_zone_log
    - ZONEDB_UNLOCK
    - dns_db_closeversion
    - CHECK
    - ZONEDB_LOCK
    - dns_diff_clear
    - do_one_tuple
    - dns_db_attach
    - dns_difftuple_free
    - dns_soa_setserial
    - dns_diff_init
    - isc_serial_gt
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void setserial(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20539,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20539,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20541,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zone.c:20543,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zone.c:20544,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:20545,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/zone.c:20550,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zone.c:20553,1
    - Dst: zone_iattach
      Src: /src/bind9/lib/dns/zone.c:20555,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zone.c:20556,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zone.c:20559,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - zone
    - serial
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20561
      start: 20534
    functionDepth: 4
    functionLinenumber: 20534
    functionLinenumberEnd: 20561
    functionName: dns_zone_setserial
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - DNS_ZONE_VALID
    - zone_iattach
    - isc_async_run
    - LOCK_ZONE
    - dns_zone_isdynamic
    - dns__zone_inline_secure
    - UNLOCK_ZONE
    - CLEANUP
    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:20565,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20565,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:20567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20568
      start: 20563
    functionDepth: 1
    functionLinenumber: 20563
    functionLinenumberEnd: 20568
    functionName: dns_zone_isloaded
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_isloaded(dns_zone_t *zone)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20577,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20578,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/zone.c:20582,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/zone.c:20587,1
    - Dst: dns_view_getsecroots
      Src: /src/bind9/lib/dns/zone.c:20593,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20594,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/zone.c:20597,1
    - Dst: dns_zoneverify_dnssec
      Src: /src/bind9/lib/dns/zone.c:20598,1
    - Dst: dns_keytable_detach
      Src: /src/bind9/lib/dns/zone.c:20603,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/zone.c:20607,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20611,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zone.c:20612,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 3
    argNames:
    - zone
    - db
    - ver
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20617
      start: 20570
    functionDepth: 4
    functionLinenumber: 20570
    functionLinenumberEnd: 20617
    functionName: dns_zone_verifydb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_keytable_detach
    - dns_db_origin
    - DNS_ZONE_VALID
    - dnssec_log
    - dns_view_getsecroots
    - dns_zoneverify_dnssec
    - dns_db_closeversion
    - CHECK
    - dns_db_currentversion
    - dns_zone_gettype
    - isc_result_totext
    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:20621,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20621,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/zone.c:20623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20624
      start: 20619
    functionDepth: 1
    functionLinenumber: 20619
    functionLinenumberEnd: 20624
    functionName: zone_nsecttl
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - ISC_MIN
    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:20629,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:20629,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20630,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:20632,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zone.c:20635,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/zone.c:20638,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:20640,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: 20641
      start: 20626
    functionDepth: 6
    functionLinenumber: 20626
    functionLinenumberEnd: 20641
    functionName: dns_zonemgr_set_tlsctx_cache
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_tlsctx_cache_detach
    - DNS_ZONEMGR_VALID
    - isc_tlsctx_cache_attach
    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:20646,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zone.c:20646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20647,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zone.c:20649,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20651,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/zone.c:20652,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zone.c:20654,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: 20655
      start: 20643
    functionDepth: 2
    functionLinenumber: 20643
    functionLinenumberEnd: 20655
    functionName: dns__zonemgr_tlsctx_attach
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - DNS_ZONEMGR_VALID
    - isc_tlsctx_cache_attach
    linkageType: ''
    returnType: void
    signature: "void dns__zonemgr_tlsctx_attach(dns_zonemgr_t *zmgr,\n\t\t\t   isc_tlsctx_cache_t
      **ptlsctx_cache)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20659,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20659,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20660,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/zone.c:20664,1
    - Dst: dns_db_setgluecachestats
      Src: /src/bind9/lib/dns/zone.c:20677,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zone.c:20682,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zone.c:20690,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zone.c:20691,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 2
    argNames:
    - zone
    - dbp
    argTypes:
    - dns_zone_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20696
      start: 20657
    functionDepth: 3
    functionLinenumber: 20657
    functionLinenumberEnd: 20696
    functionName: dns_zone_makedb
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_detach
    - dns_db_create
    - DNS_ZONE_VALID
    - dns_db_setgluecachestats
    - dns_db_setmaxrrperset
    - dns_db_setmaxtypepername
    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:20703,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20703,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20704,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20705,1
    - Dst: dns_skr_create
      Src: /src/bind9/lib/dns/zone.c:20707,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zone.c:20709,1
    - Dst: dns_skr_read
      Src: /src/bind9/lib/dns/zone.c:20709,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/zone.c:20710,1
    - Dst: dns_zone_setskr
      Src: /src/bind9/lib/dns/zone.c:20712,1
    - Dst: dnssec_log
      Src: /src/bind9/lib/dns/zone.c:20713,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zone.c:20713,1
    - Dst: dns_skr_detach
      Src: /src/bind9/lib/dns/zone.c:20716,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - zone
    - file
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20719
      start: 20698
    functionDepth: 4
    functionLinenumber: 20698
    functionLinenumberEnd: 20719
    functionName: dns_zone_import_skr
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_kasp_dnskeyttl
    - DNS_ZONE_VALID
    - dns_zone_setskr
    - dns_skr_read
    - dns_skr_create
    - dnssec_log
    - dns_skr_detach
    - ISC_LOG_DEBUG
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zone_import_skr(dns_zone_t *zone, const char *file)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20724,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20724,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20725,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20726,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - plugins
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20730
      start: 20721
    functionDepth: 1
    functionLinenumber: 20721
    functionLinenumberEnd: 20730
    functionName: dns_zone_setplugins
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setplugins(dns_zone_t *zone, void *plugins,\n\t\t    void
      (*plugins_free)(isc_mem_t *, void **))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20735,1
    - Dst: dns_zone_t*::hooktable_free
      Src: /src/bind9/lib/dns/zone.c:20736,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20737,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20742,1
    - Dst: dns_zone_t*::plugins_free
      Src: /src/bind9/lib/dns/zone.c:20743,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zone.c:20744,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20747
      start: 20732
    functionDepth: 0
    functionLinenumber: 20732
    functionLinenumberEnd: 20747
    functionName: dns_zone_unloadplugins
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 2
    functionsReached:
    - dns_zone_t*::plugins_free
    - dns_zone_t*::hooktable_free
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns_zone_unloadplugins(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zone.c:20751,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zone.c:20751,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zone.c:20753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 20754
      start: 20749
    functionDepth: 1
    functionLinenumber: 20749
    functionLinenumberEnd: 20754
    functionName: dns_zone_isexpired
    functionSourceFile: /src/bind9/lib/dns/zone.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - DNS_ZONE_FLAG
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_isexpired(dns_zone_t *zone)
  - 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: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:153,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:155,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:157,1
    - Dst: atomic_fetch_add_release
      Src: /src/bind9/lib/dns/dnstap.c:160,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnstap.c:162,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dnstap.c:168,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/dnstap.c:169,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dnstap.c:170,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/dnstap.c:171,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/dnstap.c:172,1
    - Dst: fstrm_writer_options_init
      Src: /src/bind9/lib/dns/dnstap.c:174,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:176,1
    - Dst: fstrm_writer_options_add_content_type
      Src: /src/bind9/lib/dns/dnstap.c:179,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:182,1
    - Dst: fstrm_file_options_init
      Src: /src/bind9/lib/dns/dnstap.c:186,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/bind9/lib/dns/dnstap.c:188,1
    - Dst: fstrm_file_writer_init
      Src: /src/bind9/lib/dns/dnstap.c:189,1
    - Dst: fstrm_unix_writer_options_init
      Src: /src/bind9/lib/dns/dnstap.c:192,1
    - Dst: fstrm_unix_writer_options_set_socket_path
      Src: /src/bind9/lib/dns/dnstap.c:194,1
    - Dst: fstrm_unix_writer_init
      Src: /src/bind9/lib/dns/dnstap.c:196,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:199,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:203,1
    - Dst: fstrm_iothr_init
      Src: /src/bind9/lib/dns/dnstap.c:206,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:208,1
    - Dst: fstrm_writer_destroy
      Src: /src/bind9/lib/dns/dnstap.c:211,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:212,1
    - Dst: fstrm_file_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:225,1
    - Dst: fstrm_unix_writer_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:229,1
    - Dst: fstrm_writer_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:233,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/dnstap.c:237,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:238,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/dnstap.c:240,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:242,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: 246
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 246
    functionName: dns_dt_create
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - fstrm_unix_writer_options_destroy
    - isc_mem_strdup
    - isc_mem_putanddetach
    - fstrm_writer_destroy
    - isc_stats_detach
    - fstrm_file_options_destroy
    - fstrm_unix_writer_options_init
    - fstrm_file_options_init
    - isc_mem_free
    - atomic_fetch_add_release
    - fstrm_unix_writer_init
    - fstrm_writer_options_init
    - fstrm_file_writer_init
    - isc_log_write
    - fstrm_file_options_set_file_path
    - fstrm_unix_writer_options_set_socket_path
    - CLEANUP
    - isc_refcount_init
    - isc_mutex_init
    - isc_mem_get
    - fstrm_writer_options_add_content_type
    - fstrm_iothr_init
    - isc_mutex_destroy
    - isc_stats_create
    - fstrm_writer_options_destroy
    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:251,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:251,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: 272
      start: 248
    functionDepth: 1
    functionLinenumber: 248
    functionLinenumberEnd: 272
    functionName: dns_dt_setupfile
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_DTENV
    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:284,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:284,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: CLEANUP
      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: CLEANUP
      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: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:316,1
    - Dst: CLEANUP
      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: CLEANUP
      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: 70
    argCount: 2
    argNames:
    - env
    - roll
    argTypes:
    - dns_dtenv_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 274
    functionDepth: 6
    functionLinenumber: 274
    functionLinenumberEnd: 385
    functionName: dns_dt_reopen
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 1
    functionsReached:
    - fstrm_unix_writer_options_destroy
    - REQUIRE
    - isc_mem_strdup
    - fstrm_writer_destroy
    - fstrm_file_options_destroy
    - VALID_DTENV
    - fstrm_unix_writer_options_init
    - fstrm_file_options_init
    - isc_logfile_roll
    - isc_mem_free
    - fstrm_iothr_destroy
    - isc_loopmgr_resume
    - atomic_fetch_add_release
    - fstrm_unix_writer_init
    - fstrm_writer_options_init
    - fstrm_file_writer_init
    - isc_log_write
    - fstrm_file_options_set_file_path
    - CHECK
    - fstrm_unix_writer_options_set_socket_path
    - CLEANUP
    - fstrm_writer_options_add_content_type
    - fstrm_iothr_init
    - isc_loopmgr_pause
    - fstrm_writer_options_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: 36
    functionsReached:
    - REQUIRE
    - strlen
    - isc_mem_strdup
    - 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:
    - REQUIRE
    - toregion
    - VALID_DTENV
    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:
    - REQUIRE
    - toregion
    - VALID_DTENV
    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
    - REQUIRE
    - VALID_DTENV
    - set_dt_ioq
    - atomic_load_acquire
    linkageType: ''
    returnType: struct fstrm_iothr_queue
    signature: 'struct fstrm_iothr_queue *

      dt_queue(dns_dtenv_t *env)'
  - BBCount: 2
    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_stats_attach
      Src: /src/bind9/lib/dns/dnstap.c:461,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - env
    - statsp
    argTypes:
    - dns_dtenv_t*
    - isc_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 463
      start: 453
    functionDepth: 2
    functionLinenumber: 453
    functionLinenumberEnd: 463
    functionName: dns_dt_getstats
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_DTENV
    - 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:467,1
    - Dst: atomic_fetch_add
      Src: /src/bind9/lib/dns/dnstap.c:471,1
    - Dst: fstrm_iothr_destroy
      Src: /src/bind9/lib/dns/dnstap.c:474,1
    - Dst: fstrm_iothr_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:477,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:481,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:485,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dnstap.c:489,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/dnstap.c:492,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:495,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - env
    argTypes:
    - dns_dtenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 465
    functionDepth: 2
    functionLinenumber: 465
    functionLinenumberEnd: 496
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 447
    functionsReached:
    - isc_log_write
    - isc_mem_free
    - fstrm_iothr_destroy
    - atomic_fetch_add
    - isc_mem_putanddetach
    - fstrm_iothr_options_destroy
    - isc_stats_detach
    linkageType: ''
    returnType: void
    signature: void destroy(dns_dtenv_t *env)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:502,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:503,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dnstap.c:505,1
    - Dst: malloc
      Src: /src/bind9/lib/dns/dnstap.c:511,1
    - Dst: dnstap__dnstap__pack_to_buffer
      Src: /src/bind9/lib/dns/dnstap.c:517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 3
    argNames:
    - d
    - buf
    - sz
    argTypes:
    - Dnstap__Dnstap*
    - void**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 524
    functionName: pack_dt
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memset
    - dnstap__dnstap__pack_to_buffer
    - 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:531,1
    - Dst: dt_queue
      Src: /src/bind9/lib/dns/dnstap.c:537,1
    - Dst: free
      Src: /src/bind9/lib/dns/dnstap.c:539,1
    - Dst: fstrm_iothr_submit
      Src: /src/bind9/lib/dns/dnstap.c:543,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/dnstap.c:547,1
    - Dst: free
      Src: /src/bind9/lib/dns/dnstap.c:549,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/dnstap.c:552,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: 556
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 556
    functionName: send_dt
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - fstrm_iothr_submit
    - dt_queue
    - isc_stats_increment
    - 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:560,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: 578
      start: 558
    functionDepth: 0
    functionLinenumber: 558
    functionLinenumberEnd: 578
    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:612,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 1
    argNames:
    - msgtype
    argTypes:
    - dns_dtmsgtype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 614
      start: 580
    functionDepth: 1
    functionLinenumber: 580
    functionLinenumberEnd: 614
    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:618,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/dnstap.c:619,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: 621
      start: 616
    functionDepth: 1
    functionLinenumber: 616
    functionLinenumberEnd: 621
    functionName: cpbuf
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - isc_buffer_base
    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:627,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/dnstap.c:637,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/dnstap.c:642,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dnstap.c:660,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: 667
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 667
    functionName: setaddr
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - ntohs
    - UNREACHABLE
    - 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:676,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:676,1
    - Dst: dns_dt_reopen
      Src: /src/bind9/lib/dns/dnstap.c:679,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/dnstap.c:682,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dnstap.c:684,1
    - Dst: dns_dtenv_detach
      Src: /src/bind9/lib/dns/dnstap.c:686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 672
    functionDepth: 7
    functionLinenumber: 672
    functionLinenumberEnd: 687
    functionName: perform_reopen
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_DTENV
    - LOCK
    - dns_dtenv_detach
    - dns_dt_reopen
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void perform_reopen(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/dnstap.c:707,1
    - Dst: stat
      Src: /src/bind9/lib/dns/dnstap.c:708,1
    - Dst: dns_dtenv_ref
      Src: /src/bind9/lib/dns/dnstap.c:718,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/dnstap.c:719,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/dnstap.c:723,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 1
    argNames:
    - env
    argTypes:
    - dns_dtenv_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 693
    functionDepth: 2
    functionLinenumber: 693
    functionLinenumberEnd: 724
    functionName: check_file_size_and_maybe_reopen
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - LOCK
    - stat
    - isc_async_run
    - dns_dtenv_ref
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void check_file_size_and_maybe_reopen(dns_dtenv_t *env)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:734,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/dnstap.c:734,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:744,1
    - Dst: VALID_DTENV
      Src: /src/bind9/lib/dns/dnstap.c:744,1
    - Dst: check_file_size_and_maybe_reopen
      Src: /src/bind9/lib/dns/dnstap.c:747,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/dnstap.c:750,1
    - Dst: init_msg
      Src: /src/bind9/lib/dns/dnstap.c:753,1
    - Dst: dnstap_type
      Src: /src/bind9/lib/dns/dnstap.c:753,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/dnstap.c:768,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/lib/dns/dnstap.c:770,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/dnstap.c:784,1
    - Dst: isc_time_nanoseconds
      Src: /src/bind9/lib/dns/dnstap.c:786,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dnstap.c:790,1
    - Dst: cpbuf
      Src: /src/bind9/lib/dns/dnstap.c:798,1
    - Dst: cpbuf
      Src: /src/bind9/lib/dns/dnstap.c:800,1
    - Dst: setaddr
      Src: /src/bind9/lib/dns/dnstap.c:821,1
    - Dst: setaddr
      Src: /src/bind9/lib/dns/dnstap.c:826,1
    - Dst: pack_dt
      Src: /src/bind9/lib/dns/dnstap.c:831,1
    - Dst: send_dt
      Src: /src/bind9/lib/dns/dnstap.c:832,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    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: 834
      start: 726
    functionDepth: 3
    functionLinenumber: 726
    functionLinenumberEnd: 834
    functionName: dns_dt_send
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_time_now
    - VALID_DTENV
    - dnstap_type
    - init_msg
    - check_file_size_and_maybe_reopen
    - pack_dt
    - isc_log_write
    - cpbuf
    - setaddr
    - send_dt
    - isc_time_nanoseconds
    - DNS_VIEW_VALID
    - isc_time_seconds
    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:840,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dnstap.c:840,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/dnstap.c:845,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 836
    functionDepth: 2
    functionLinenumber: 836
    functionLinenumberEnd: 847
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 66
    functionsReached:
    - isc_buffer_reserve
    - strlen
    - 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:854,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/dnstap.c:858,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:865,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - b
    - ip
    argTypes:
    - isc_buffer_t**
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 866
      start: 849
    functionDepth: 0
    functionLinenumber: 849
    functionLinenumberEnd: 866
    functionName: putaddr
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - putstr
    - inet_ntop
    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:873,1
    - Dst: fstrm_reader_get_control
      Src: /src/bind9/lib/dns/dnstap.c:876,1
    - Dst: fstrm_control_get_num_field_content_type
      Src: /src/bind9/lib/dns/dnstap.c:881,1
    - Dst: fstrm_control_get_field_content_type
      Src: /src/bind9/lib/dns/dnstap.c:886,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/dnstap.c:896,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 1
    argNames:
    - r
    argTypes:
    - struct fstrm_reader*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 902
      start: 868
    functionDepth: 0
    functionLinenumber: 868
    functionLinenumberEnd: 902
    functionName: dnstap_file
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 0
    functionsReached:
    - fstrm_control_get_num_field_content_type
    - memcmp
    - fstrm_control_get_field_content_type
    - strlen
    - fstrm_reader_get_control
    linkageType: ''
    returnType: bool
    signature: bool dnstap_file(struct fstrm_reader *r)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:912,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnstap.c:914,1
    - Dst: fstrm_file_options_init
      Src: /src/bind9/lib/dns/dnstap.c:921,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:923,1
    - Dst: fstrm_file_options_set_file_path
      Src: /src/bind9/lib/dns/dnstap.c:926,1
    - Dst: fstrm_file_reader_init
      Src: /src/bind9/lib/dns/dnstap.c:928,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:930,1
    - Dst: fstrm_reader_open
      Src: /src/bind9/lib/dns/dnstap.c:933,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:935,1
    - Dst: dnstap_file
      Src: /src/bind9/lib/dns/dnstap.c:938,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:939,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dnstap.c:946,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dnstap.c:949,1
    - Dst: fstrm_reader_destroy
      Src: /src/bind9/lib/dns/dnstap.c:956,1
    - Dst: fstrm_file_options_destroy
      Src: /src/bind9/lib/dns/dnstap.c:960,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dnstap.c:963,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: 966
      start: 904
    functionDepth: 1
    functionLinenumber: 904
    functionLinenumberEnd: 966
    functionName: dns_dt_open
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - fstrm_reader_destroy
    - isc_mem_put
    - isc_mem_get
    - fstrm_file_reader_init
    - fstrm_file_options_init
    - fstrm_reader_open
    - fstrm_file_options_set_file_path
    - UNREACHABLE
    - dnstap_file
    - CLEANUP
    - fstrm_file_options_destroy
    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:973,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:974,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:975,1
    - Dst: fstrm_reader_read
      Src: /src/bind9/lib/dns/dnstap.c:979,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/dnstap.c:985,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: 992
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 992
    functionName: dns_dt_getframe
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - UNCONST
    - fstrm_reader_read
    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:998,1
    - Dst: fstrm_reader_destroy
      Src: /src/bind9/lib/dns/dnstap.c:1004,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:1007,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - handlep
    argTypes:
    - dns_dthandle_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 1008
    functionName: dns_dt_close
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - 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:1018,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1019,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dnstap.c:1021,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dnstap.c:1024,1
    - Dst: dnstap__dnstap__unpack
      Src: /src/bind9/lib/dns/dnstap.c:1026,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:1028,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:1034,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dnstap.c:1084,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dnstap.c:1103,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dnstap.c:1104,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/dnstap.c:1105,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/dns/dnstap.c:1106,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/dnstap.c:1109,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/dnstap.c:1117,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/dnstap.c:1122,1
    - Dst: protobuf_c_enum_descriptor_get_value
      Src: /src/bind9/lib/dns/dnstap.c:1147,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1179,1
    - Dst: dns_message_firstname
      Src: /src/bind9/lib/dns/dnstap.c:1179,1
    - Dst: dns_message_currentname
      Src: /src/bind9/lib/dns/dnstap.c:1180,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/dnstap.c:1181,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/dnstap.c:1183,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/dnstap.c:1184,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/dnstap.c:1186,1
    - Dst: dns_dtdata_free
      Src: /src/bind9/lib/dns/dnstap.c:1194,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: 1198
      start: 1010
    functionDepth: 3
    functionLinenumber: 1010
    functionLinenumberEnd: 1198
    functionName: dns_dt_parse
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_message_currentname
    - isc_buffer_add
    - dns_name_format
    - isc_time_set
    - dns_message_parse
    - dns_dtdata_free
    - protobuf_c_enum_descriptor_get_value
    - isc_buffer_init
    - dns_rdatatype_format
    - dns_message_create
    - ISC_LIST_HEAD
    - dns_rdataclass_format
    - CHECK
    - CLEANUP
    - dnstap__dnstap__unpack
    - isc_mem_get
    - dns_message_firstname
    - dns_message_detach
    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:1205,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dnstap.c:1206,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dnstap.c:1208,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/dnstap.c:1211,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/dnstap.c:1212,1
    - Dst: isc_time_isepoch
      Src: /src/bind9/lib/dns/dnstap.c:1213,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/dnstap.c:1214,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1218,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1218,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1220,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1220,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1221,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1221,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1227,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1227,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1230,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1230,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1233,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1233,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1236,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1236,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1239,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1239,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1242,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1242,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:1248,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1248,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1251,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1251,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:1274,1
    - Dst: putaddr
      Src: /src/bind9/lib/dns/dnstap.c:1274,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnstap.c:1275,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1276,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1276,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:1283,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1283,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1286,1
    - Dst: putaddr
      Src: /src/bind9/lib/dns/dnstap.c:1286,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnstap.c:1287,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1288,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1288,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:1298,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1298,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1301,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1301,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1304,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1304,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1307,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1307,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1310,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1310,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/dnstap.c:1313,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/dnstap.c:1318,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1319,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1319,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1321,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1321,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1326,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1326,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:1329,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1329,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1333,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1333,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1335,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1335,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1336,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1336,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1340,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1340,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1342,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/dnstap.c:1342,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dnstap.c:1345,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/dnstap.c:1345,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/dnstap.c:1346,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 129
    argCount: 2
    argNames:
    - d
    - dest
    argTypes:
    - dns_dtdata_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1350
      start: 1200
    functionDepth: 2
    functionLinenumber: 1200
    functionLinenumberEnd: 1350
    functionName: dns_dt_datatotext
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - putstr
    - isc_buffer_reserve
    - isc_time_formattimestamp
    - isc_buffer_putuint8
    - snprintf
    - isc_time_isepoch
    - putaddr
    - CHECK
    - memset
    - UNREACHABLE
    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:1356,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/dnstap.c:1362,1
    - Dst: dnstap__dnstap__free_unpacked
      Src: /src/bind9/lib/dns/dnstap.c:1365,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dnstap.c:1368,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - dp
    argTypes:
    - dns_dtdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1369
      start: 1352
    functionDepth: 1
    functionLinenumber: 1352
    functionLinenumberEnd: 1369
    functionName: dns_dtdata_free
    functionSourceFile: /src/bind9/lib/dns/dnstap.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - dns_message_detach
    - 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:
    - va_start
    - ISC_LOG_DEBUG
    - 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:
    - REQUIRE
    - close
    - socket
    - strerror_r
    - strlen
    - connect
    - ssu_e_log
    - memset
    - strlcpy
    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_putuint32
    - strlen
    - write
    - dst_key_tkeytoken
    - ntohl
    - close
    - isc_netaddr_format
    - dns_name_format
    - dst_key_format
    - ux_socket_connect
    - isc_mem_free
    - strerror_r
    - isc_mem_allocate
    - isc_buffer_putuint8
    - isc_buffer_init
    - isc_buffer_putmem
    - dns_rdatatype_format
    - ENSURE
    - isc_buffer_availablelength
    - strncmp
    - isc_buffer_region
    - isc_buffer_putstr
    - read
    - ssu_e_log
    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: 46
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 46
    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: 47
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 47
    functionName: CREATE
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 6
    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: 48
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 48
    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: 49
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 49
    functionName: REMOVE
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: REMOVE(x)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:67,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:68,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:69,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:70,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:71,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:75,1
    - Dst: memset
      Src: /src/bind9/lib/dns/nsec3.c:79,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:90,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:94,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:111,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/nsec3.c:111,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/nsec3.c:115,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/nsec3.c:116,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:122,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:142,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/nsec3.c:144,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:150,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:156,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:157,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:160,1
    - Dst: dns_rdatatype_iszonecutauth
      Src: /src/bind9/lib/dns/nsec3.c:161,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:163,1
    - Dst: dns_nsec_compressbitmap
      Src: /src/bind9/lib/dns/nsec3.c:169,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:171,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/nsec3.c:172,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/nsec3.c:172,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 73
    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: 175
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 175
    functionName: dns_nsec3_buildrdata
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - dns_rdatatype_isnsec
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_rdatatype_iszonecutauth
    - dns_nsec_isset
    - dns_rdata_fromregion
    - RETERR
    - dns_nsec_compressbitmap
    - dns_rdataset_disassociate
    - memset
    - dns_rdatasetiter_current
    - dns_db_class
    - dns_nsec_setbit
    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:115,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/nsec3.c:116,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec3.c:122,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:142,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 143
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isnsec
    - dns_rdatasetiter_current
    - dns_nsec_setbit
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:185,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:188,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:189,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:193,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:196,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:198,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec3.c:206,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec3.c:211,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 213
    functionName: dns_nsec3_typepresent
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - INSIST
    - dns_rdata_freestruct
    - dns_nsec_isset
    - dns_rdata_tostruct
    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:220,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - salt
    - saltlen
    argTypes:
    - unsigned char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 222
    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:243,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:245,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/nsec3.c:246,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/nsec3.c:249,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/nsec3.c:256,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:261,1
    - Dst: isc_base32hexnp_totext
      Src: /src/bind9/lib/dns/nsec3.c:262,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/nsec3.c:265,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/nsec3.c:266,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/nsec3.c:266,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: 268
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 268
    functionName: dns_nsec3_hashname
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - dns_name_fromtext
    - SET_IF_NOT_NULL
    - isc_iterated_hash
    - dns_fixedname_name
    - dns_name_downcase
    - dns_fixedname_initname
    - isc_base32hexnp_totext
    - dns_fixedname_init
    - memset
    - isc_buffer_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: 277
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 277
    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: 286
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 286
    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:305,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/nsec3.c:306,1
    - Dst: dns_diff_apply
      Src: /src/bind9/lib/dns/nsec3.c:311,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/nsec3.c:312,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/nsec3.c:314,1
    - Dst: dns_diff_appendminimal
      Src: /src/bind9/lib/dns/nsec3.c:321,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: 327
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 327
    functionName: do_one_tuple
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 14
    functionsReached:
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - ISC_LIST_APPEND
    - dns_diff_init
    - dns_diff_apply
    - dns_diff_appendminimal
    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:339,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/nsec3.c:348,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/nsec3.c:354,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/nsec3.c:363,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:366,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: 368
      start: 332
    functionDepth: 1
    functionLinenumber: 332
    functionLinenumberEnd: 368
    functionName: name_exists
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - dns_db_detachnode
    - dns_rdatasetiter_first
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_db_findnode
    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:376,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: 382
      start: 370
    functionDepth: 0
    functionLinenumber: 370
    functionLinenumberEnd: 382
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:397,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:405,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:406,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:419,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:420,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:420,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:422,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:426,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:428,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:428,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:434,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:436,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 35
    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: 439
      start: 388
    functionDepth: 1
    functionLinenumber: 388
    functionLinenumberEnd: 439
    functionName: delnsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_db_findnsec3node
    - do_one_tuple
    - dns_db_detachnode
    - dns_difftuple_create
    - dns_rdataset_init
    - dns_db_findrdataset
    - match_nsec3param
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:419,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:420,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:420,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:422,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:426,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:428,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:428,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 429
      start: 417
    functionDepth: 1
    functionLinenumber: 417
    functionLinenumberEnd: 429
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - dns_difftuple_create
    - match_nsec3param
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/nsec3.c:445,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/nsec3.c:449,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:456,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:457,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:463,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/nsec3.c:469,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:473,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:477,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:477,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:478,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:482,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 26
    argCount: 2
    argNames:
    - nsec3paramset
    - param
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 441
    functionDepth: 1
    functionLinenumber: 441
    functionLinenumberEnd: 484
    functionName: better_param
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - dns_rdataset_clone
    - memcmp
    - CREATE
    - REMOVE
    - dns_rdataset_current
    - dns_rdataset_disassociate
    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:456,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:457,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:463,1
    - Dst: REMOVE
      Src: /src/bind9/lib/dns/nsec3.c:469,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:473,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:477,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:477,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:478,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 450
    functionDepth: 1
    functionLinenumber: 450
    functionLinenumberEnd: 481
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - memcmp
    - CREATE
    - REMOVE
    - dns_rdataset_current
    - dns_rdataset_disassociate
    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:491,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:492,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:494,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: 500
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 500
    functionName: find_nsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - match_nsec3param
    - dns_rdataset_current
    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:491,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:492,1
    - Dst: match_nsec3param
      Src: /src/bind9/lib/dns/nsec3.c:494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 497
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 5
    functionsReached:
    - dns_rdata_tostruct
    - match_nsec3param
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 29
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:537,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:538,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:540,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/nsec3.c:542,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:562,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:562,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:564,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:570,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:574,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/nsec3.c:574,1
    - Dst: dns_dbiterator_seek3
      Src: /src/bind9/lib/dns/nsec3.c:575,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:576,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:576,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:592,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/nsec3.c:592,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:593,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:593,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:594,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:594,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:595,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:602,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:604,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:608,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:609,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:610,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:620,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/nsec3.c:620,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:621,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:628,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:638,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:641,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:641,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:643,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:643,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:644,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:644,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:645,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:648,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:653,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:655,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:660,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/nsec3.c:666,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:667,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/nsec3.c:677,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:678,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:689,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:689,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:696,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:697,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:697,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:700,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:702,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:702,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:703,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:704,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:705,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:708,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:709,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:718,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:718,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:721,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/nsec3.c:721,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:722,1
    - Dst: dns_nsec3_buildrdata
      Src: /src/bind9/lib/dns/nsec3.c:722,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:725,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:730,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:730,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:734,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:736,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:736,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:737,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:738,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:739,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec3.c:744,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/nsec3.c:745,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:747,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:748,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec3.c:751,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:752,1
    - Dst: name_exists
      Src: /src/bind9/lib/dns/nsec3.c:752,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:756,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:756,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:765,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:765,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:766,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:770,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:771,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:773,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/nsec3.c:784,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:785,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/nsec3.c:785,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:792,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:792,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:795,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:798,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:798,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:800,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:800,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:801,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:801,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:802,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:805,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:809,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:811,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:821,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:821,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:828,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:829,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:829,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:832,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:834,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:834,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:835,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:836,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:837,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:840,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:841,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:845,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:850,1
    - Dst: dns_nsec3_buildrdata
      Src: /src/bind9/lib/dns/nsec3.c:850,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:856,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:856,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:861,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:863,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:863,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:864,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:865,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:866,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:870,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/nsec3.c:874,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec3.c:876,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:878,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:881,1
    CyclomaticComplexity: 50
    EdgeCount: 50
    ICount: 215
    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: 884
      start: 502
    functionDepth: 4
    functionLinenumber: 502
    functionLinenumberEnd: 884
    functionName: dns_nsec3_addnsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached:
    - dns_dbiterator_destroy
    - memmove
    - INSIST
    - dns_db_origin
    - dns_difftuple_create
    - dns_rdataset_init
    - dns_nsec3_buildrdata
    - dns_rdataset_disassociate
    - dns_dbiterator_seek3
    - dns_dbiterator_current
    - dns_dbiterator_prev
    - dns_name_init
    - CREATE
    - dns_dbiterator_last
    - dns_nsec3_delnsec3
    - isc_buffer_init
    - dns_db_createiterator
    - OPTOUT
    - dns_db_findrdataset
    - dns_rdata_reset
    - dns_name_getlabelsequence
    - CHECK
    - dns_name_clone
    - dns_name_countlabels
    - dns_dbiterator_seek
    - dns_db_findnsec3node
    - dns_db_detachnode
    - do_one_tuple
    - name_exists
    - dns_nsec3_hashname
    - dns_rdataset_cleanup
    - dns_rdata_fromstruct
    - dns_fixedname_initname
    - dns_db_findnode
    - find_nsec3
    - delnsec3
    - dns_dbiterator_pause
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:899,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:904,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:904,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:906,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:909,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:923,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:924,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:924,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:932,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:932,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec3.c:937,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:939,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    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: 943
      start: 890
    functionDepth: 5
    functionLinenumber: 890
    functionLinenumberEnd: 943
    functionName: dns_nsec3_addnsec3s
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - RETERR
    - dns_nsec3_addnsec3
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:923,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:924,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:924,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:932,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:932,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 934
      start: 920
    functionDepth: 5
    functionLinenumber: 920
    functionLinenumberEnd: 934
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_nsec3_addnsec3
    - dns_rdataset_current
    - CHECK
    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:960,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/nsec3.c:961,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/nsec3.c:962,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:963,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/nsec3.c:964,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: 969
      start: 945
    functionDepth: 2
    functionLinenumber: 945
    functionLinenumberEnd: 969
    functionName: dns_nsec3param_fromprivate
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 18
    functionsReached:
    - dns_rdata_fromwire
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_buffer_init
    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:975,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:977,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/nsec3.c:977,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:979,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/nsec3.c:986,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: 987
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 987
    functionName: dns_nsec3param_toprivate
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - memmove
    - DNS_RDATA_INITIALIZED
    - ISC_LINK_INIT
    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:996,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:998,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/nsec3.c:998,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1000,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/nsec3.c:1000,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1002,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1013,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/nsec3.c:1014,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1019,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1024,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: 1027
      start: 989
    functionDepth: 1
    functionLinenumber: 989
    functionLinenumberEnd: 1027
    functionName: rr_exists
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 5
    functionsReached:
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    - dns_db_findnode
    - CHECK
    - dns_rdataset_current
    - dns_rdata_casecompare
    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:1013,1
    - Dst: dns_rdata_casecompare
      Src: /src/bind9/lib/dns/nsec3.c:1014,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1018
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1018
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_casecompare
    - dns_rdataset_current
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 4
    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:1045,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:1048,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/nsec3.c:1048,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/nsec3.c:1050,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/nsec3.c:1053,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 3
    argNames:
    - nsec3param
    - dst
    - dstlen
    argTypes:
    - dns_rdata_nsec3param_t*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1029
    functionDepth: 2
    functionLinenumber: 1029
    functionLinenumberEnd: 1056
    functionName: dns_nsec3param_salttotext
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_buffer_availablelength
    - RETERR
    - isc_hex_totext
    - isc_buffer_putuint8
    - strlcpy
    - isc_buffer_init
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/nsec3.c:1068,1
    - Dst: dns_zone_getprivatetype
      Src: /src/bind9/lib/dns/nsec3.c:1069,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec3.c:1071,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1072,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:1074,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1074,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1079,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1084,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1090,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/nsec3.c:1091,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1098,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1098,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1101,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1103,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1103,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1104,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1108,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1115,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1121,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1125,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1126,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1127,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1140,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1142,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1142,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1143,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1154,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1156,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1156,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1157,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec3.c:1164,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1165,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 65
    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: 1167
      start: 1058
    functionDepth: 2
    functionLinenumber: 1058
    functionLinenumberEnd: 1167
    functionName: dns_nsec3param_deletechains
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 3
    functionsReached:
    - dns_zone_getorigin
    - dns_db_getoriginnode
    - do_one_tuple
    - dns_name_init
    - memmove
    - dns_db_detachnode
    - INSIST
    - dns_difftuple_create
    - rr_exists
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - RETERR
    - dns_rdataset_disassociate
    - dns_zone_getprivatetype
    - CHECK
    - dns_rdataset_current
    - dns_nsec3param_toprivate
    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:1090,1
    - Dst: dns_nsec3param_toprivate
      Src: /src/bind9/lib/dns/nsec3.c:1091,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1098,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1098,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1101,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1103,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1103,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1104,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1086
    functionDepth: 2
    functionLinenumber: 1086
    functionLinenumberEnd: 1106
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - INSIST
    - dns_difftuple_create
    - rr_exists
    - dns_rdataset_current
    - CHECK
    - dns_nsec3param_toprivate
    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:1125,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1126,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1127,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1140,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1142,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1142,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1143,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: rr_exists
      Src: /src/bind9/lib/dns/nsec3.c:1151,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1154,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1156,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1156,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1157,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1159
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1159
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - do_one_tuple
    - memmove
    - INSIST
    - dns_difftuple_create
    - rr_exists
    - dns_rdataset_current
    - CHECK
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1179,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1180,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:1185,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1185,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1187,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1190,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1193,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1199,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1207,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1208,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1208,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1217,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1217,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1221,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/nsec3.c:1224,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1237,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1238,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1243,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1243,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1248,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1255,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1255,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec3.c:1262,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec3.c:1263,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1265,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    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: 1269
      start: 1169
    functionDepth: 5
    functionLinenumber: 1169
    functionLinenumberEnd: 1269
    functionName: dns_nsec3_addnsec3sx
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - dns_rdataset_isassociated
    - dns_nsec3param_fromprivate
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - RETERR
    - dns_nsec3_addnsec3
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - better_param
    - dns_rdata_tostruct
    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:1207,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1208,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1208,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1217,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1217,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1204
    functionDepth: 5
    functionLinenumber: 1204
    functionLinenumberEnd: 1219
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_nsec3_addnsec3
    - dns_rdataset_current
    - 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:1237,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1238,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1243,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1243,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1248,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1255,1
    - Dst: dns_nsec3_addnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1255,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1257
      start: 1232
    functionDepth: 5
    functionLinenumber: 1232
    functionLinenumberEnd: 1257
    functionName: (&prdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - better_param
    - dns_nsec3_addnsec3
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:1282,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/nsec3.c:1284,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/nsec3.c:1287,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: 1305
      start: 1277
    functionDepth: 1
    functionLinenumber: 1277
    functionLinenumberEnd: 1305
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1336,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1337,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1339,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/nsec3.c:1341,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1356,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:1356,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1359,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/nsec3.c:1359,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:1361,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1365,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1367,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1367,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1368,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1368,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1369,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1371,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1375,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1381,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1384,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1385,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1387,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:1398,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1401,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:1401,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1403,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1403,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1404,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1404,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1405,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1408,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1412,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1414,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1421,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1421,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:1428,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:1431,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1432,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:1432,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1435,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1437,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1437,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:1438,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1439,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1446,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1446,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec3.c:1452,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/nsec3.c:1453,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1455,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1456,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec3.c:1459,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1460,1
    - Dst: deleteit
      Src: /src/bind9/lib/dns/nsec3.c:1460,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1465,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/nsec3.c:1465,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/nsec3.c:1468,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1473,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1475,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1475,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1476,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1476,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1477,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1480,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1485,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1487,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1490,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec3.c:1491,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1493,1
    - Dst: dns_dbiterator_prev
      Src: /src/bind9/lib/dns/nsec3.c:1501,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1504,1
    - Dst: dns_dbiterator_last
      Src: /src/bind9/lib/dns/nsec3.c:1504,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1506,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/nsec3.c:1506,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1507,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/nsec3.c:1507,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1508,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1511,1
    - Dst: find_nsec3
      Src: /src/bind9/lib/dns/nsec3.c:1515,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1517,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1524,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1524,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:1531,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1532,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/nsec3.c:1532,1
    - Dst: dns_difftuple_create
      Src: /src/bind9/lib/dns/nsec3.c:1535,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1537,1
    - Dst: do_one_tuple
      Src: /src/bind9/lib/dns/nsec3.c:1537,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/nsec3.c:1538,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1539,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec3.c:1543,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1548,1
    - Dst: delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1548,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/nsec3.c:1555,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec3.c:1557,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1559,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 161
    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: 1562
      start: 1307
    functionDepth: 4
    functionLinenumber: 1307
    functionLinenumberEnd: 1562
    functionName: dns_nsec3_delnsec3
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 1
    functionsReached:
    - dns_dbiterator_destroy
    - memmove
    - INSIST
    - dns_db_origin
    - dns_difftuple_create
    - dns_rdataset_init
    - dns_rdataset_disassociate
    - dns_dbiterator_current
    - dns_dbiterator_prev
    - dns_name_init
    - dns_dbiterator_last
    - CREATE
    - isc_buffer_init
    - dns_db_createiterator
    - dns_db_findrdataset
    - dns_rdata_reset
    - dns_name_getlabelsequence
    - CHECK
    - dns_name_clone
    - dns_name_countlabels
    - dns_dbiterator_seek
    - dns_db_detachnode
    - do_one_tuple
    - deleteit
    - dns_nsec3_hashname
    - dns_rdataset_cleanup
    - dns_rdata_fromstruct
    - dns_fixedname_initname
    - find_nsec3
    - delnsec3
    - dns_dbiterator_pause
    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:1567,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: 1568
      start: 1564
    functionDepth: 1
    functionLinenumber: 1564
    functionLinenumberEnd: 1568
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1579,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:1584,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1584,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1586,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1592,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1600,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1601,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1601,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1609,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1609,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1611,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1618,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1624,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1634,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1635,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1645,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1652,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1652,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec3.c:1658,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1660,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 52
    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: 1664
      start: 1570
    functionDepth: 5
    functionLinenumber: 1570
    functionLinenumberEnd: 1664
    functionName: dns_nsec3_delnsec3sx
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - dns_db_getoriginnode
    - dns_db_detachnode
    - dns_nsec3param_fromprivate
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - RETERR
    - dns_nsec3_delnsec3
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - better_param
    - dns_rdata_tostruct
    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:1600,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1601,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1601,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1609,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1609,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1610
      start: 1597
    functionDepth: 5
    functionLinenumber: 1597
    functionLinenumberEnd: 1610
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_nsec3_delnsec3
    - dns_rdataset_current
    - 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:1634,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1635,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1640,1
    - Dst: better_param
      Src: /src/bind9/lib/dns/nsec3.c:1645,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec3.c:1652,1
    - Dst: dns_nsec3_delnsec3
      Src: /src/bind9/lib/dns/nsec3.c:1652,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1653
      start: 1629
    functionDepth: 5
    functionLinenumber: 1629
    functionLinenumberEnd: 1653
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - better_param
    - dns_nsec3_delnsec3
    - dns_rdataset_current
    - CHECK
    - dns_rdata_tostruct
    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:1669,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: 1670
      start: 1666
    functionDepth: 1
    functionLinenumber: 1666
    functionLinenumberEnd: 1670
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1680,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec3.c:1682,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:1684,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec3.c:1684,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1686,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1695,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1702,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1703,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1710,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1715,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec3.c:1719,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec3.c:1722,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1737,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1738,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1744,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:1745,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec3.c:1750,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 52
    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: 1754
      start: 1672
    functionDepth: 3
    functionLinenumber: 1672
    functionLinenumberEnd: 1754
    functionName: dns_nsec3_activex
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_getoriginnode
    - dns_db_detachnode
    - dns_nsec3param_fromprivate
    - dns_rdataset_init
    - dns_db_findrdataset
    - CREATE
    - RETERR
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    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:1702,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1703,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1700
    functionDepth: 1
    functionLinenumber: 1700
    functionLinenumberEnd: 1709
    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:1737,1
    - Dst: dns_nsec3param_fromprivate
      Src: /src/bind9/lib/dns/nsec3.c:1738,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1744,1
    - Dst: CREATE
      Src: /src/bind9/lib/dns/nsec3.c:1745,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1749
      start: 1732
    functionDepth: 3
    functionLinenumber: 1732
    functionLinenumberEnd: 1749
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 0
    functionsReached:
    - dns_nsec3param_fromprivate
    - dns_rdata_tostruct
    - CREATE
    - dns_rdataset_current
    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: 1759
      start: 1756
    functionDepth: 0
    functionLinenumber: 1756
    functionLinenumberEnd: 1759
    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: 23
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1791,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1793,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1794,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec3.c:1796,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/nsec3.c:1799,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1801,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec3.c:1805,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:1807,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec3.c:1807,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1809,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1811,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1812,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/nsec3.c:1825,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:1830,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1837,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:1838,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/nsec3.c:1840,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/nsec3.c:1843,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/nsec3.c:1858,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/nsec3.c:1859,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/nsec3.c:1866,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/nsec3.c:1867,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nsec3.c:1868,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec3.c:1869,1
    - Dst: isc_base32hex_decoderegion
      Src: /src/bind9/lib/dns/nsec3.c:1869,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/nsec3.c:1874,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:1882,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec3.c:1887,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/nsec3.c:1888,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1889,1
    - Dst: isc_iterated_hash
      Src: /src/bind9/lib/dns/nsec3.c:1900,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1907,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:1913,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/nsec3.c:1918,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1919,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1920,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1929,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1938,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1944,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1947,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1948,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1954,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1960,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1961,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1968,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:1978,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:1979,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1980,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1981,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1983,1
    - Dst: dns_nsec3_typepresent
      Src: /src/bind9/lib/dns/nsec3.c:1984,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nsec3.c:1986,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1988,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/nsec3.c:1992,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nsec3.c:1995,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:1996,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:2013,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/nsec3.c:2015,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nsec3.c:2017,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2018,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec3.c:2023,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec3.c:2024,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/nsec3.c:2026,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec3.c:2035,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/nsec3.c:2045,1
    CyclomaticComplexity: 56
    EdgeCount: 56
    ICount: 118
    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: 2050
      start: 1761
    functionDepth: 5
    functionLinenumber: 1761
    functionLinenumberEnd: 2050
    functionName: dns_nsec3_noexistnodata
    functionSourceFile: /src/bind9/lib/dns/nsec3.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - isc_buffer_usedlength
    - dns_name_split
    - SET_IF_NOT_NULL
    - ISC_LOG_DEBUG
    - RETERR
    - isc_region_consume
    - dns_rdatatype_atparent
    - dns_name_format
    - memcmp
    - dns_nsec3_typepresent
    - isc_buffer_init
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - dns_name_equal
    - dns_rdataset_first
    - dns_name_getlabel
    - isc_iterated_hash
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_nsec3_supportedhash
    - isc_base32hex_decoderegion
    - dns_name_downcase
    - dns_fixedname_initname
    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: 63
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 63
    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: 72
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 72
    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: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    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:349,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/rdata.c:354,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:388,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 42
    argCount: 2
    argNames:
    - src
    - dst
    argTypes:
    - char*
    - unsigned char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 342
    functionDepth: 1
    functionLinenumber: 342
    functionLinenumberEnd: 390
    functionName: locator_pton
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - memset
    - memmove
    - isc_hex_char
    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:395,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata.c:397,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: 399
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 399
    functionName: name_duporclone
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - dns_name_dup
    - dns_name_clone
    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:405,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/rdata.c:411,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:412,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: 415
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 415
    functionName: mem_maybedup
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_allocate
    - memmove
    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:432,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:432,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata.c:437,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/rdata.c:437,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata.c:442,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata.c:450,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:478,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:478,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:479,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:479,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:480,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:480,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: 483
      start: 417
    functionDepth: 4
    functionLinenumber: 417
    functionLinenumberEnd: 483
    functionName: typemap_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - RETTOK
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - dns_rdatatype_fromtext
    - RETERR
    - mem_tobuffer
    - uint8_tobuffer
    - memset
    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:496,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:496,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:499,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:502,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:504,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:516,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:516,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata.c:519,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:520,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata.c:520,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata.c:523,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:524,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:524,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: 530
      start: 485
    functionDepth: 1
    functionLinenumber: 485
    functionLinenumberEnd: 530
    functionName: typemap_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_rdatatype_isknown
    - snprintf
    - RETERR
    - str_totext
    - 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:544,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:553,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:559,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:565,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:571,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:580,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 30
    argCount: 2
    argNames:
    - sr
    - allow_empty
    argTypes:
    - isc_region_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 532
    functionDepth: 1
    functionLinenumber: 532
    functionLinenumberEnd: 583
    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:591,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata.c:591,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata.c:591,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata.c:602,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:604,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/bind9/lib/dns/rdata.c:607,1
    - Dst: ERR_clear_error
      Src: /src/bind9/lib/dns/rdata.c:609,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:610,1
    - Dst: ASN1_OBJECT_free
      Src: /src/bind9/lib/dns/rdata.c:612,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - source
    - alg
    argTypes:
    - isc_buffer_t*
    - dns_secalg_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 618
    functionName: check_private
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_activeregion
    - d2i_ASN1_OBJECT
    - RETERR
    - dns_fixedname_initname
    - ERR_clear_error
    - ASN1_OBJECT_free
    - dns_name_fromwire
    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:643,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata.c:700,1
    - Dst: isalnum
      Src: /src/bind9/lib/dns/rdata.c:726,1
    - Dst: isxdigit
      Src: /src/bind9/lib/dns/rdata.c:752,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/rdata.c:767,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 134
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 623
    functionDepth: 2
    functionLinenumber: 623
    functionLinenumberEnd: 788
    functionName: validate_dohpath
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - memcmp
    - isalnum
    - isc_utf8_valid
    - 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:801,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdata.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 810
      start: 799
    functionDepth: 1
    functionLinenumber: 799
    functionLinenumberEnd: 810
    functionName: dns_rdata_init
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 51
    functionsReached:
    - REQUIRE
    - ISC_LINK_INIT
    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:814,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:816,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdata.c:816,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:817,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:817,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 824
    functionName: dns_rdata_reset
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 63
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - ISC_LINK_LINKED
    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:832,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:833,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:835,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:835,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:837,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:837,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:838,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:838,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - src
    - target
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 845
      start: 830
    functionDepth: 1
    functionLinenumber: 830
    functionLinenumberEnd: 845
    functionName: dns_rdata_clone
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - DNS_RDATA_INITIALIZED
    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:856,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:857,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:858,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:859,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:860,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:860,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:861,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:861,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:877,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:878,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:879,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 882
      start: 851
    functionDepth: 2
    functionLinenumber: 851
    functionLinenumberEnd: 882
    functionName: dns_rdata_compare
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 31
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - isc_region_compare
    - dns_rdata_toregion
    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:877,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:878,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 871
    functionDepth: 2
    functionLinenumber: 871
    functionLinenumberEnd: 880
    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:889,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:890,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:891,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:892,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:893,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:893,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:894,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:894,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:910,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:911,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:912,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 2
    argNames:
    - rdata1
    - rdata2
    argTypes:
    - dns_rdata_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 915
      start: 884
    functionDepth: 2
    functionLinenumber: 884
    functionLinenumberEnd: 915
    functionName: dns_rdata_casecompare
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 15
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - isc_region_compare
    - dns_rdata_toregion
    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:910,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:911,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata.c:912,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 913
      start: 904
    functionDepth: 2
    functionLinenumber: 904
    functionLinenumberEnd: 913
    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:924,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:925,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:925,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:926,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:928,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:928,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: 935
      start: 921
    functionDepth: 1
    functionLinenumber: 921
    functionLinenumberEnd: 935
    functionName: dns_rdata_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 35
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - DNS_RDATA_INITIALIZED
    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:939,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:940,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:941,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:941,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - rdata
    - r
    argTypes:
    - dns_rdata_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 937
    functionDepth: 1
    functionLinenumber: 937
    functionLinenumberEnd: 945
    functionName: dns_rdata_toregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 27
    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:960,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:960,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:961,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:961,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:963,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:964,1
    - Dst: isc_buffer_activelength
      Src: /src/bind9/lib/dns/rdata.c:973,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:974,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:979,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/rdata.c:982,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/rdata.c:982,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata.c:984,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:993,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:993,1
    - Dst: buffer_empty
      Src: /src/bind9/lib/dns/rdata.c:1001,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata.c:1006,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdata.c:1008,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: 1016
      start: 947
    functionDepth: 2
    functionLinenumber: 947
    functionLinenumberEnd: 1016
    functionName: dns_rdata_fromwire
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc_buffer_current
    - isc_buffer_activelength
    - INSIST
    - isc_buffer_putmem
    - isc_buffer_forward
    - isc_buffer_usedlength
    - buffer_empty
    - dns_rdata_fromregion
    - isc_buffer_availablelength
    - isc_buffer_used
    - DNS_RDATA_VALIDFLAGS
    - DNS_RDATA_INITIALIZED
    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:979,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/rdata.c:982,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/rdata.c:982,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata.c:984,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 987
      start: 976
    functionDepth: 2
    functionLinenumber: 976
    functionLinenumberEnd: 987
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - isc_buffer_forward
    - isc_buffer_current
    - isc_buffer_availablelength
    - isc_buffer_putmem
    linkageType: ''
    returnType: FROMWIRESWITCH
    signature: FROMWIRESWITCH if (use_default)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1026,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1027,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1027,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1033,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1042,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:1046,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1047,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/rdata.c:1052,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: 1055
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1055
    functionName: dns_rdata_towire
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - isc_buffer_add
    - isc_buffer_availableregion
    - dns_compress_rollback
    - DNS_RDATA_VALIDFLAGS
    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:1042,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:1046,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1049
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1049
    functionName: if
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 5
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - memmove
    linkageType: ''
    returnType: TOWIRESWITCH
    signature: TOWIRESWITCH if (use_default)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/rdata.c:1067,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1067,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/rdata.c:1068,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: 1072
      start: 1062
    functionDepth: 3
    functionLinenumber: 1062
    functionLinenumberEnd: 1072
    functionName: rdata_validate
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - dns_rdata_fromwire
    - isc_buffer_setactive
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/rdata.c:1081,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:1085,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:1085,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/rdata.c:1090,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdata.c:1093,1
    - Dst: isc_hex_tobuffer
      Src: /src/bind9/lib/dns/rdata.c:1093,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1095,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdata.c:1096,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata.c:1100,1
    - Dst: rdata_validate
      Src: /src/bind9/lib/dns/rdata.c:1101,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rdata.c:1104,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata.c:1105,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdata.c:1107,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/rdata.c:1109,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/rdata.c:1113,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    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: 1115
      start: 1074
    functionDepth: 4
    functionLinenumber: 1074
    functionLinenumberEnd: 1115
    functionName: unknown_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - rdata_validate
    - isc_buffer_usedlength
    - dns_rdatatype_ismeta
    - isc_buffer_free
    - isc_lex_getmastertoken
    - dns_rdatatype_isknown
    - isc_buffer_copyregion
    - RETERR
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - CHECK
    - isc_hex_tobuffer
    - CLEANUP
    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:1136,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/rdata.c:1136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1138,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:1138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1139,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1139,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1143,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:1154,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:1157,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:1158,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1159,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata.c:1165,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata.c:1165,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata.c:1173,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata.c:1176,1
    - Dst: unknown_fromtext
      Src: /src/bind9/lib/dns/rdata.c:1182,1
    - Dst: isc_lex_ungettoken
      Src: /src/bind9/lib/dns/rdata.c:1188,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:1201,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:1202,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/rdata.c:1203,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1209,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1220,1
    - Dst: fromtext_error
      Src: /src/bind9/lib/dns/rdata.c:1225,1
    - Dst: fromtext_warneof
      Src: /src/bind9/lib/dns/rdata.c:1230,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1236,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1236,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata.c:1242,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdata.c:1244,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: 1250
      start: 1117
    functionDepth: 5
    functionLinenumber: 1117
    functionLinenumberEnd: 1250
    functionName: dns_rdata_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 11
    functionsReached:
    - unknown_fromtext
    - REQUIRE
    - strcmp
    - DNS_AS_STR
    - isc_lex_gettoken
    - dns_name_isabsolute
    - isc_lex_getsourcename
    - fromtext_error
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - isc_buffer_usedlength
    - dns_rdata_fromregion
    - isc_buffer_used
    - fromtext_warneof
    - DNS_RDATA_VALIDFLAGS
    - isc_lex_getsourceline
    - DNS_RDATA_INITIALIZED
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rdata.c:1259,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:1260,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1260,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:1262,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1263,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata.c:1264,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:1265,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1265,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:1269,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1269,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata.c:1271,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1271,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata.c:1275,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata.c:1277,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1283,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 3
    argNames:
    - rdata
    - tctx
    - target
    argTypes:
    - dns_rdata_t*
    - dns_rdata_textctx_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1287
      start: 1252
    functionDepth: 2
    functionLinenumber: 1252
    functionLinenumberEnd: 1287
    functionName: unknown_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_hex_totext
    - str_totext
    - strlcpy
    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:1296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1297,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/rdata.c:1297,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1303,1
    - Dst: unknown_totext
      Src: /src/bind9/lib/dns/rdata.c:1308,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1311,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1316,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata.c:1318,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/lib/dns/rdata.c:1319,1
    - Dst: unknown_totext
      Src: /src/bind9/lib/dns/rdata.c:1320,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: 1324
      start: 1289
    functionDepth: 3
    functionLinenumber: 1289
    functionLinenumberEnd: 1324
    functionName: rdata_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - isc_buffer_subtract
    - INSIST
    - unknown_totext
    - isc_buffer_usedlength
    - 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:1331,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1331,1
    - Dst: rdata_totext
      Src: /src/bind9/lib/dns/rdata.c:1340,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: 1341
      start: 1326
    functionDepth: 4
    functionLinenumber: 1326
    functionLinenumberEnd: 1341
    functionName: dns_rdata_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - rdata_totext
    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:1350,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1350,1
    - Dst: rdata_totext
      Src: /src/bind9/lib/dns/rdata.c:1371,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: 1372
      start: 1343
    functionDepth: 4
    functionLinenumber: 1343
    functionLinenumberEnd: 1372
    functionName: dns_rdata_tofmttext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - rdata_totext
    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:1383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1385,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:1385,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1386,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1386,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1397,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata.c:1397,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/rdata.c:1403,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdata.c:1405,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: 1411
      start: 1374
    functionDepth: 2
    functionLinenumber: 1374
    functionLinenumberEnd: 1411
    functionName: dns_rdata_fromstruct
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 35
    functionsReached:
    - REQUIRE
    - isc_buffer_usedlength
    - dns_rdata_fromregion
    - isc_buffer_used
    - DNS_RDATA_VALIDFLAGS
    - DNS_RDATA_INITIALIZED
    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: 1395
      start: 1391
    functionDepth: 0
    functionLinenumber: 1391
    functionLinenumberEnd: 1395
    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:1418,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1419,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1419,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1420,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: 1429
      start: 1413
    functionDepth: 1
    functionLinenumber: 1413
    functionLinenumberEnd: 1429
    functionName: dns_rdata_tostruct
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 207
    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: 1426
      start: 1422
    functionDepth: 0
    functionLinenumber: 1422
    functionLinenumberEnd: 1426
    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:1434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - source
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1437
      start: 1431
    functionDepth: 1
    functionLinenumber: 1431
    functionLinenumberEnd: 1437
    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:1450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1452,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1452,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: 1462
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1462
    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: 1459
      start: 1454
    functionDepth: 0
    functionLinenumber: 1454
    functionLinenumberEnd: 1459
    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:1474,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1475,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1476,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:1476,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata.c:1481,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: 1486
      start: 1464
    functionDepth: 2
    functionLinenumber: 1464
    functionLinenumberEnd: 1486
    functionName: dns_rdata_digest
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_RDATA_VALIDFLAGS
    - dns_rdata_toregion
    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:1481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1478
    functionDepth: 2
    functionLinenumber: 1478
    functionLinenumberEnd: 1483
    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: 1495
      start: 1488
    functionDepth: 0
    functionLinenumber: 1488
    functionLinenumberEnd: 1495
    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: 1504
      start: 1497
    functionDepth: 0
    functionLinenumber: 1497
    functionLinenumberEnd: 1504
    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: 1513
      start: 1506
    functionDepth: 0
    functionLinenumber: 1506
    functionLinenumberEnd: 1513
    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:1527,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rdata.c:1528,1
    - Dst: RDATATYPE_FROMTEXT_SW
      Src: /src/bind9/lib/dns/rdata.c:1537,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rdata.c:1540,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata.c:1550,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/rdata.c:1552,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 18
    argCount: 2
    argNames:
    - typep
    - source
    argTypes:
    - dns_rdatatype_t*
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1560
      start: 1515
    functionDepth: 1
    functionLinenumber: 1515
    functionLinenumberEnd: 1560
    functionName: dns_rdatatype_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 31
    functionsReached:
    - strncasecmp
    - strtoul
    - isc_ascii_tolower
    - snprintf
    - RDATATYPE_FROMTEXT_SW
    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: 1567
      start: 1562
    functionDepth: 0
    functionLinenumber: 1562
    functionLinenumberEnd: 1567
    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:1573,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata.c:1574,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - type
    - target
    argTypes:
    - dns_rdatatype_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1575
      start: 1569
    functionDepth: 0
    functionLinenumber: 1569
    functionLinenumberEnd: 1575
    functionName: dns_rdatatype_tounknowntext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - snprintf
    - str_totext
    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:1586,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata.c:1587,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:1592,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/rdata.c:1593,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/rdata.c:1599,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: 1601
      start: 1577
    functionDepth: 2
    functionLinenumber: 1577
    functionLinenumberEnd: 1601
    functionName: dns_rdatatype_format
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 47
    functionsReached:
    - isc_buffer_availablelength
    - isc_buffer_putuint8
    - strlcpy
    - isc_buffer_init
    - dns_rdatatype_totext
    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: 1610
      start: 1607
    functionDepth: 0
    functionLinenumber: 1607
    functionLinenumberEnd: 1610
    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:1621,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1628,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:1630,1
    - Dst: POST
      Src: /src/bind9/lib/dns/rdata.c:1699,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1701,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:1702,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: 1704
      start: 1612
    functionDepth: 2
    functionLinenumber: 1612
    functionLinenumberEnd: 1704
    functionName: commatxt_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - POST
    - isc_buffer_add
    - isc_buffer_availableregion
    - isc_region_consume
    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:1708,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: 1709
      start: 1706
    functionDepth: 3
    functionLinenumber: 1706
    functionLinenumberEnd: 1709
    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:1721,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1742,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1748,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1757,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata.c:1816,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1827,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: 1829
      start: 1711
    functionDepth: 2
    functionLinenumber: 1711
    functionLinenumberEnd: 1829
    functionName: commatxt_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - decvalue
    - isc_buffer_add
    - isc_buffer_availableregion
    - isc_textregion_consume
    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:1833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_textregion_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1831
    functionDepth: 3
    functionLinenumber: 1831
    functionLinenumberEnd: 1834
    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:1842,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata.c:1851,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:1857,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata.c:1859,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1860,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_buffer_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1862
      start: 1836
    functionDepth: 2
    functionLinenumber: 1836
    functionLinenumberEnd: 1862
    functionName: txt_fromwire
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_forward
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    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:1875,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:1916,1
    - Dst: POST
      Src: /src/bind9/lib/dns/rdata.c:1923,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1924,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 49
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_region_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1926
      start: 1867
    functionDepth: 2
    functionLinenumber: 1867
    functionLinenumberEnd: 1926
    functionName: multitxt_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - isc_region_consume
    - POST
    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:1943,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1953,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1959,1
    - Dst: decvalue
      Src: /src/bind9/lib/dns/rdata.c:1968,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:1991,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 55
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - isc_textregion_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1994
      start: 1928
    functionDepth: 2
    functionLinenumber: 1928
    functionLinenumberEnd: 1994
    functionName: multitxt_fromtext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - decvalue
    - isc_buffer_add
    - isc_buffer_availableregion
    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:2004,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata.c:2008,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata.c:2012,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata.c:2013,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rdata.c:2020,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/rdata.c:2021,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/rdata.c:2025,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: 2031
      start: 1996
    functionDepth: 1
    functionLinenumber: 1996
    functionLinenumberEnd: 2031
    functionName: name_prefix
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_caseequal
    - dns_name_compare
    - dns_name_countlabels
    - dns_name_issubdomain
    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:2038,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata.c:2039,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:2045,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:2046,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2048
      start: 2033
    functionDepth: 2
    functionLinenumber: 2033
    functionLinenumberEnd: 2048
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 9
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - strlen
    - memmove
    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:2055,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata.c:2058,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:2058,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/rdata.c:2061,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/rdata.c:2069,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/rdata.c:2071,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/rdata.c:2074,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: 2080
      start: 2050
    functionDepth: 2
    functionLinenumber: 2050
    functionLinenumberEnd: 2080
    functionName: inet_totext
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - isc_buffer_putmem
    - isc_buffer_availablelength
    - strlen
    - isc_buffer_usedregion
    - isc_buffer_putstr
    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: 2085
      start: 2082
    functionDepth: 0
    functionLinenumber: 2082
    functionLinenumberEnd: 2085
    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:2089,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:2090,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/rdata.c:2091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - buffer
    - region
    argTypes:
    - isc_buffer_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2087
    functionDepth: 2
    functionLinenumber: 2087
    functionLinenumberEnd: 2092
    functionName: buffer_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_add
    - isc_buffer_setactive
    - isc_buffer_init
    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:2098,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/rdata.c:2102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2104
      start: 2094
    functionDepth: 2
    functionLinenumber: 2094
    functionLinenumberEnd: 2104
    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:2113,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdata.c:2117,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2106
    functionDepth: 2
    functionLinenumber: 2106
    functionLinenumberEnd: 2119
    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:2128,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/rdata.c:2132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - value
    - target
    argTypes:
    - uint32_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2121
    functionDepth: 2
    functionLinenumber: 2121
    functionLinenumberEnd: 2134
    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:2139,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata.c:2140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name
    - target
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2141
      start: 2136
    functionDepth: 3
    functionLinenumber: 2136
    functionLinenumberEnd: 2141
    functionName: name_tobuffer
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_buffer_copyregion
    - dns_name_toregion
    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:2147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2153
      start: 2143
    functionDepth: 1
    functionLinenumber: 2143
    functionLinenumberEnd: 2153
    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:2157,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2161
      start: 2155
    functionDepth: 1
    functionLinenumber: 2155
    functionLinenumberEnd: 2161
    functionName: uint16_consume_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_region_consume
    - uint16_fromregion
    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:2165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2168
      start: 2163
    functionDepth: 1
    functionLinenumber: 2163
    functionLinenumberEnd: 2168
    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:2172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2175
      start: 2170
    functionDepth: 1
    functionLinenumber: 2170
    functionLinenumberEnd: 2175
    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:2179,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - region
    argTypes:
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2177
    functionDepth: 2
    functionLinenumber: 2177
    functionLinenumberEnd: 2183
    functionName: uint8_consume_fromregion
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_region_consume
    - uint8_fromregion
    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:2193,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata.c:2198,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata.c:2200,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: 2202
      start: 2185
    functionDepth: 2
    functionLinenumber: 2185
    functionLinenumberEnd: 2202
    functionName: mem_tobuffer
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 4
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - memmove
    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:2206,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2212
      start: 2204
    functionDepth: 1
    functionLinenumber: 2204
    functionLinenumberEnd: 2212
    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:2216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - value
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2221
      start: 2214
    functionDepth: 0
    functionLinenumber: 2214
    functionLinenumberEnd: 2221
    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:2228,1
    - Dst: va_start
      Src: /src/bind9/lib/dns/rdata.c:2230,1
    - Dst: vfprintf
      Src: /src/bind9/lib/dns/rdata.c:2231,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/rdata.c:2232,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/rdata.c:2233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - callbacks
    - fmt
    argTypes:
    - dns_rdatacallbacks_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2223
    functionDepth: 0
    functionLinenumber: 2223
    functionLinenumberEnd: 2234
    functionName: default_fromtext_callback
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - fprintf
    - va_start
    - va_end
    - 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:2238,1
    - Dst: isc_lex_getsourcename
      Src: /src/bind9/lib/dns/rdata.c:2239,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:2245,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - lexer
    - callbacks
    argTypes:
    - isc_lex_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2247
      start: 2236
    functionDepth: 2
    functionLinenumber: 2236
    functionLinenumberEnd: 2247
    functionName: fromtext_warneof
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 1
    functionsReached:
    - isc_lex_getsourcename
    - isc_lex_isfile
    - 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:2256,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:2257,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata.c:2259,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2260,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: 2262
      start: 2249
    functionDepth: 2
    functionLinenumber: 2249
    functionLinenumberEnd: 2262
    functionName: warn_badmx
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_lex_getsourcename
    - DNS_AS_STR
    - isc_lex_getsourceline
    - isc_result_totext
    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:2272,1
    - Dst: isc_lex_getsourceline
      Src: /src/bind9/lib/dns/rdata.c:2273,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rdata.c:2274,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2277,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: 2279
      start: 2264
    functionDepth: 2
    functionLinenumber: 2264
    functionLinenumberEnd: 2279
    functionName: warn_badname
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - isc_result_totext
    - isc_lex_getsourcename
    - isc_lex_getsourceline
    - dns_name_format
    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:2294,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2299,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2305,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata.c:2311,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2312,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2317,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/rdata.c:2322,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: 2324
      start: 2281
    functionDepth: 1
    functionLinenumber: 2281
    functionLinenumberEnd: 2324
    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:2329,1
    - Dst: covers_sig
      Src: /src/bind9/lib/dns/rdata.c:2331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2332
      start: 2326
    functionDepth: 1
    functionLinenumber: 2326
    functionLinenumberEnd: 2332
    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:2336,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2337,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2344
      start: 2334
    functionDepth: 1
    functionLinenumber: 2334
    functionLinenumberEnd: 2344
    functionName: dns_rdata_exists
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATA_INITIALIZED
    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:2348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2349,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2356
      start: 2346
    functionDepth: 1
    functionLinenumber: 2346
    functionLinenumberEnd: 2356
    functionName: dns_rdata_notexist
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATA_INITIALIZED
    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:2360,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2361,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - rdata
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2368
      start: 2358
    functionDepth: 1
    functionLinenumber: 2358
    functionLinenumberEnd: 2368
    functionName: dns_rdata_deleterrset
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATA_INITIALIZED
    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:2372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2370
    functionDepth: 1
    functionLinenumber: 2370
    functionLinenumberEnd: 2375
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2380,1
    - Dst: DNS_RDATA_INITIALIZED
      Src: /src/bind9/lib/dns/rdata.c:2380,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 2
    argNames:
    - rdata
    - section
    argTypes:
    - dns_rdata_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2420
      start: 2377
    functionDepth: 1
    functionLinenumber: 2377
    functionLinenumberEnd: 2420
    functionName: dns_rdata_updateop
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATA_INITIALIZED
    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:2436,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata.c:2437,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2442
      start: 2422
    functionDepth: 1
    functionLinenumber: 2422
    functionLinenumberEnd: 2442
    functionName: svcb_ishttp
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 0
    functionsReached:
    - ARRAY_SIZE
    - memcmp
    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:2450,1
    - Dst: isc_textregion_consume
      Src: /src/bind9/lib/dns/rdata.c:2459,1
    - Dst: svcb_ishttp
      Src: /src/bind9/lib/dns/rdata.c:2461,1
    - Dst: svcb_ishttp
      Src: /src/bind9/lib/dns/rdata.c:2467,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 1
    argNames:
    - alpn
    argTypes:
    - isc_textregion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2472
      start: 2444
    functionDepth: 2
    functionLinenumber: 2444
    functionLinenumberEnd: 2472
    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:2479,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2480,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata.c:2482,1
    - Dst: DNS_RDATA_VALIDFLAGS
      Src: /src/bind9/lib/dns/rdata.c:2482,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rdata.c:2484,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rdata.c:2485,1
    - Dst: dns_name_isdnssvcb
      Src: /src/bind9/lib/dns/rdata.c:2494,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2501,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2502,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2503,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2504,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2508,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2515,1
    - Dst: svcb_hashttp
      Src: /src/bind9/lib/dns/rdata.c:2516,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2519,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2520,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata.c:2521,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2522,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata.c:2526,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 2
    argNames:
    - owner
    - rdata
    argTypes:
    - dns_name_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2534
      start: 2474
    functionDepth: 3
    functionLinenumber: 2474
    functionLinenumberEnd: 2534
    functionName: dns_rdata_checksvcb
    functionSourceFile: /src/bind9/lib/dns/rdata.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_name_isdnssvcb
    - svcb_hashttp
    - uint16_fromregion
    - RUNTIME_CHECK
    - isc_region_consume
    - DNS_RDATA_VALIDFLAGS
    - dns_rdata_tostruct
    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: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    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: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    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: 177
      start: 175
    functionDepth: 0
    functionLinenumber: 175
    functionLinenumberEnd: 177
    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: 270
      start: 268
    functionDepth: 0
    functionLinenumber: 268
    functionLinenumberEnd: 270
    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: 272
      start: 270
    functionDepth: 0
    functionLinenumber: 270
    functionLinenumberEnd: 272
    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: 274
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 274
    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: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    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: 387
      start: 386
    functionDepth: 0
    functionLinenumber: 386
    functionLinenumberEnd: 387
    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: 395
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 395
    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: 409
      start: 408
    functionDepth: 0
    functionLinenumber: 408
    functionLinenumberEnd: 409
    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: 410
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 410
    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: 417
      start: 416
    functionDepth: 0
    functionLinenumber: 416
    functionLinenumberEnd: 417
    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: 418
      start: 417
    functionDepth: 0
    functionLinenumber: 417
    functionLinenumberEnd: 418
    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: 419
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 419
    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: 424
      start: 423
    functionDepth: 0
    functionLinenumber: 423
    functionLinenumberEnd: 424
    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: 425
      start: 424
    functionDepth: 0
    functionLinenumber: 424
    functionLinenumberEnd: 425
    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: 426
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 426
    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: 427
      start: 426
    functionDepth: 0
    functionLinenumber: 426
    functionLinenumberEnd: 427
    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: 428
      start: 427
    functionDepth: 0
    functionLinenumber: 427
    functionLinenumberEnd: 428
    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: 429
      start: 428
    functionDepth: 0
    functionLinenumber: 428
    functionLinenumberEnd: 429
    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: 430
      start: 429
    functionDepth: 0
    functionLinenumber: 429
    functionLinenumberEnd: 430
    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: 431
      start: 430
    functionDepth: 0
    functionLinenumber: 430
    functionLinenumberEnd: 431
    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: 437
      start: 436
    functionDepth: 0
    functionLinenumber: 436
    functionLinenumberEnd: 437
    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: 443
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 443
    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: 444
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 444
    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: 446
      start: 445
    functionDepth: 0
    functionLinenumber: 445
    functionLinenumberEnd: 446
    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: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    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: 455
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 455
    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: 464
      start: 460
    functionDepth: 0
    functionLinenumber: 460
    functionLinenumberEnd: 464
    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:494,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/adb.c:495,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/adb.c:497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - format
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 490
    functionDepth: 2
    functionLinenumber: 490
    functionLinenumberEnd: 498
    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:506,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - adb
    - counter
    argTypes:
    - dns_adb_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 508
      start: 503
    functionDepth: 1
    functionLinenumber: 503
    functionLinenumberEnd: 508
    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:516,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: 518
      start: 513
    functionDepth: 2
    functionLinenumber: 513
    functionLinenumberEnd: 518
    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:523,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - adb
    - counter
    argTypes:
    - dns_adb_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 525
      start: 520
    functionDepth: 2
    functionLinenumber: 520
    functionLinenumberEnd: 525
    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:530,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - adb
    - counter
    argTypes:
    - dns_adb_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 532
    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: 548
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 548
    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:561,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:561,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:565,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:565,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:569,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:570,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/adb.c:570,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:587,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/adb.c:599,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:602,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:603,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/adb.c:604,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:608,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:609,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/adb.c:610,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/adb.c:614,1
    - Dst: get_attached_and_locked_entry
      Src: /src/bind9/lib/dns/adb.c:617,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:620,1
    - Dst: new_adbnamehook
      Src: /src/bind9/lib/dns/adb.c:626,1
    - Dst: dns_adbentry_attach
      Src: /src/bind9/lib/dns/adb.c:627,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:628,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:629,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:631,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:632,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:637,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:639,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:643,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:645,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/adb.c:649,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 63
    argCount: 3
    argNames:
    - adbname
    - rdataset
    - now
    argTypes:
    - dns_adbname_t*
    - dns_rdataset_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 651
    functionName: import_rdataset
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - new_adbnamehook
    - DNS_ADB_VALID
    - isc_sockaddr_fromin6
    - UNLOCK
    - DNS_ADBNAME_VALID
    - dns_adbentry_detach
    - dns_adbentry_attach
    - ttlclamp
    - dns_rdataset_current
    - UNREACHABLE
    - isc_sockaddr_fromin
    - DP
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    - ADJUSTED_EXPIRE
    - dns_rdatatype_isaddr
    - get_attached_and_locked_entry
    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:599,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:602,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:603,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/adb.c:604,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:608,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:609,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/adb.c:610,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/adb.c:614,1
    - Dst: get_attached_and_locked_entry
      Src: /src/bind9/lib/dns/adb.c:617,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:620,1
    - Dst: new_adbnamehook
      Src: /src/bind9/lib/dns/adb.c:626,1
    - Dst: dns_adbentry_attach
      Src: /src/bind9/lib/dns/adb.c:627,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:628,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:629,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:631,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:632,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 590
    functionDepth: 2
    functionLinenumber: 590
    functionLinenumberEnd: 633
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 5
    functionsReached:
    - isc_sockaddr_fromin
    - memmove
    - INSIST
    - ISC_LIST_APPEND
    - new_adbnamehook
    - dns_adbentry_detach
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - dns_adbentry_attach
    - UNREACHABLE
    - isc_sockaddr_fromin6
    - get_attached_and_locked_entry
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/adb.c:658,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:658,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/adb.c:661,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:661,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 653
    functionDepth: 1
    functionLinenumber: 653
    functionLinenumberEnd: 664
    functionName: expire_name_async
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adbname_detach
    - RUNTIME_CHECK
    - ISC_SIEVE_UNLINK
    - isc_tid
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void expire_name_async(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:671,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:671,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:675,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:675,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:677,1
    - Dst: clean_finds_at_name
      Src: /src/bind9/lib/dns/adb.c:684,1
    - Dst: clean_namehooks
      Src: /src/bind9/lib/dns/adb.c:685,1
    - Dst: clean_namehooks
      Src: /src/bind9/lib/dns/adb.c:686,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:688,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/adb.c:689,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:692,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/adb.c:693,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/adb.c:697,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:698,1
    - Dst: expire_name_async
      Src: /src/bind9/lib/dns/adb.c:699,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:701,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 20
    argCount: 2
    argNames:
    - adbname
    - astat
    argTypes:
    - dns_adbname_t*
    - dns_adbstatus_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 705
      start: 669
    functionDepth: 3
    functionLinenumber: 669
    functionLinenumberEnd: 705
    functionName: expire_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DP
    - REQUIRE
    - DNS_ADBNAME_VALID
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - isc_async_run
    - clean_namehooks
    - DNS_ADB_VALID
    - isc_loop
    - expire_name_async
    - cds_lfht_del
    - clean_finds_at_name
    - 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:712,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:712,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:713,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:713,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:720,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:720,1
    - Dst: NAME_HAS_V4
      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
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:733,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:733,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:734,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:735,1
    - Dst: clean_namehooks
      Src: /src/bind9/lib/dns/adb.c:736,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 2
    argNames:
    - adbname
    - now
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 710
    functionDepth: 3
    functionLinenumber: 710
    functionLinenumberEnd: 742
    functionName: maybe_expire_namehooks
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DP
    - REQUIRE
    - DNS_ADBNAME_VALID
    - NAME_HAS_V6
    - EXPIRE_OK
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - clean_namehooks
    - DNS_ADB_VALID
    - NAME_HAS_V4
    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:749,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:750,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:751,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:758,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:759,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:760,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 744
    functionDepth: 4
    functionLinenumber: 744
    functionLinenumberEnd: 762
    functionName: shutdown_names
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - cds_lfht_for_each_entry
    - dns_adbname_ref
    - dns_adbname_detach
    - LOCK
    - expire_name
    - UNLOCK
    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:769,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:770,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:771,1
    - Dst: expire_entry
      Src: /src/bind9/lib/dns/adb.c:772,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:773,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 776
      start: 764
    functionDepth: 1
    functionLinenumber: 764
    functionLinenumberEnd: 776
    functionName: shutdown_entries
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - cds_lfht_for_each_entry
    - UNLOCK
    - LOCK
    - dns_adbentry_ref
    - dns_adbentry_detach
    - 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:783,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:784,1
    - Dst: DNS_ADBNAMEHOOK_VALID
      Src: /src/bind9/lib/dns/adb.c:784,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:785,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:785,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:793,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:795,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:796,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:797,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:798,1
    - Dst: free_adbnamehook
      Src: /src/bind9/lib/dns/adb.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - adb
    - namehooks
    argTypes:
    - dns_adb_t*
    - dns_adbnamehooklist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 781
    functionDepth: 1
    functionLinenumber: 781
    functionLinenumberEnd: 802
    functionName: clean_namehooks
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - DNS_ADBENTRY_VALID
    - free_adbnamehook
    - LOCK
    - dns_adbentry_detach
    - ISC_LIST_FOREACH
    - DNS_ADBNAMEHOOK_VALID
    - UNLOCK
    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:812,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/adb.c:816,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:820,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/adb.c:821,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:828,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/adb.c:828,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:835,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/adb.c:835,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:848,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:855,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:858,1
    - Dst: FIND_EVENTSENT
      Src: /src/bind9/lib/dns/adb.c:858,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:860,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:862,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:864,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:867,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:870,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:872,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: 873
      start: 807
    functionDepth: 3
    functionLinenumber: 807
    functionLinenumberEnd: 873
    functionName: clean_finds_at_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - DP
    - ISC_LIST_UNLINK
    - INSIST
    - UNLOCK
    - FIND_EVENTSENT
    - ISC_LIST_HEAD
    - LOCK
    - ISC_LIST_NEXT
    - isc_async_run
    - ISC_LOG_DEBUG
    - atomic_store
    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:879,1
    - Dst: dns_adb_ref
      Src: /src/bind9/lib/dns/adb.c:881,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/adb.c:891,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:891,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:896,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/adb.c:899,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:901,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/adb.c:903,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/adb.c:904,1
    - Dst: inc_adbstats
      Src: /src/bind9/lib/dns/adb.c:906,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: 908
      start: 875
    functionDepth: 3
    functionLinenumber: 875
    functionLinenumberEnd: 908
    functionName: new_adbname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - isc_mutex_init
    - isc_refcount_init
    - isc_mem_get
    - fprintf
    - isc_loop_ref
    - inc_adbstats
    - dns_fixedname_initname
    - isc_loop
    - dns_adb_ref
    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:918,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:920,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:920,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:924,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:924,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:925,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:925,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:926,1
    - Dst: NAME_FETCH
      Src: /src/bind9/lib/dns/adb.c:926,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:927,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:927,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:928,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:928,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:932,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/adb.c:933,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:935,1
    - Dst: dec_adbstats
      Src: /src/bind9/lib/dns/adb.c:937,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:939,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 940
      start: 916
    functionDepth: 3
    functionLinenumber: 916
    functionLinenumberEnd: 940
    functionName: destroy_adbname_rcu
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBNAME_VALID
    - NAME_HAS_V6
    - isc_mem_put
    - ISC_LINK_LINKED
    - ISC_LIST_EMPTY
    - NAME_FETCH
    - dec_adbstats
    - caa_container_of
    - NAME_HAS_V4
    - isc_mutex_destroy
    - dns_adb_detach
    - isc_loop_detach
    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:944,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adbname
    argTypes:
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 942
    functionDepth: 1
    functionLinenumber: 942
    functionLinenumberEnd: 945
    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:949,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 957
      start: 947
    functionDepth: 1
    functionLinenumber: 947
    functionLinenumberEnd: 957
    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:963,1
    - Dst: DNS_ADBNAMEHOOK_VALID
      Src: /src/bind9/lib/dns/adb.c:963,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:968,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:969,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:969,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:970,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:970,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:974,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - adb
    - namehook
    argTypes:
    - dns_adb_t*
    - dns_adbnamehook_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 975
      start: 959
    functionDepth: 1
    functionLinenumber: 959
    functionLinenumberEnd: 975
    functionName: free_adbnamehook
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - DNS_ADBNAMEHOOK_VALID
    - ISC_LINK_LINKED
    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:981,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/adb.c:983,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/adb.c:987,1
    - Dst: dns_adb_ref
      Src: /src/bind9/lib/dns/adb.c:988,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/adb.c:990,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:990,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:995,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:998,1
    - Dst: inc_adbstats
      Src: /src/bind9/lib/dns/adb.c:1000,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: 1003
      start: 977
    functionDepth: 3
    functionLinenumber: 977
    functionLinenumberEnd: 1003
    functionName: new_adbentry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - ISC_REFCOUNT_INITIALIZER
    - isc_mutex_init
    - isc_random_uniform
    - isc_mem_get
    - fprintf
    - isc_loop_ref
    - inc_adbstats
    - isc_loop
    - dns_adb_ref
    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:1007,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1010,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:1010,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1017,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1017,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1019,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:1019,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/adb.c:1021,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1022,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1025,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:1028,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/adb.c:1029,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1031,1
    - Dst: dec_adbstats
      Src: /src/bind9/lib/dns/adb.c:1033,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:1035,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1005
    functionDepth: 3
    functionLinenumber: 1005
    functionLinenumberEnd: 1036
    functionName: destroy_adbentry_rcu
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - DNS_ADBENTRY_VALID
    - ISC_LINK_LINKED
    - ISC_LIST_EMPTY
    - atomic_load_acquire
    - dec_adbstats
    - caa_container_of
    - isc_mutex_destroy
    - dns_adb_detach
    - isc_loop_detach
    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:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - adbentry
    argTypes:
    - dns_adbentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1038
    functionDepth: 1
    functionLinenumber: 1038
    functionLinenumberEnd: 1041
    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:1053,1
    - Dst: dns_adb_attach
      Src: /src/bind9/lib/dns/adb.c:1063,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:1064,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - adb
    - port
    argTypes:
    - dns_adb_t*
    - in_port_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1049
    functionDepth: 1
    functionLinenumber: 1049
    functionLinenumberEnd: 1069
    functionName: new_adbfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adb_attach
    - isc_mutex_init
    - isc_mem_get
    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:1076,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:1076,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1083,1
    - Dst: FIND_HAS_ADDRS
      Src: /src/bind9/lib/dns/adb.c:1083,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1084,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1084,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1085,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1085,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1086,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:1090,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1092,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:1093,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - findp
    argTypes:
    - dns_adbfind_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1071
    functionDepth: 1
    functionLinenumber: 1071
    functionLinenumberEnd: 1094
    functionName: free_adbfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - DNS_ADBFIND_VALID
    - ISC_LINK_LINKED
    - FIND_HAS_ADDRS
    - isc_mutex_destroy
    - dns_adb_detach
    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:1100,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/adb.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1096
    functionDepth: 1
    functionLinenumber: 1096
    functionLinenumberEnd: 1107
    functionName: new_adbfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_init
    - isc_mem_get
    linkageType: ''
    returnType: dns_adbfetch_t
    signature: 'dns_adbfetch_t *

      new_adbfetch(dns_adb_t *adb)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1113,1
    - Dst: DNS_ADBFETCH_VALID
      Src: /src/bind9/lib/dns/adb.c:1113,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/adb.c:1120,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1122,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - adb
    - fetchp
    argTypes:
    - dns_adb_t*
    - dns_adbfetch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1123
    functionName: free_adbfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_cleanup
    - DNS_ADBFETCH_VALID
    - 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:1133,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:1135,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:1136,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1139,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/adb.c:1143,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: 1146
      start: 1129
    functionDepth: 2
    functionLinenumber: 1129
    functionLinenumberEnd: 1146
    functionName: new_adbaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adbentry_ref
    - atomic_load
    - isc_sockaddr_setport
    - isc_mem_get
    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:1152,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:1152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1157,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/adb.c:1157,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/adb.c:1162,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1164,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:1166,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - adb
    - ainfo
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1167
      start: 1148
    functionDepth: 3
    functionLinenumber: 1148
    functionLinenumberEnd: 1167
    functionName: free_adbaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_transport_detach
    - isc_mem_put
    - DNS_ADBADDRINFO_VALID
    - ISC_LINK_LINKED
    - dns_adbentry_detach
    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:1171,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/adb.c:1179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ht_node
    - key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1180
      start: 1169
    functionDepth: 1
    functionLinenumber: 1169
    functionLinenumberEnd: 1180
    functionName: match_adbname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - caa_container_of
    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:1186,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/adb.c:1187,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/adb.c:1189,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/adb.c:1190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - adbname
    argTypes:
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1191
      start: 1182
    functionDepth: 2
    functionLinenumber: 1182
    functionLinenumberEnd: 1191
    functionName: hash_adbname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_hash32_finalize
    - isc_hash32_init
    - isc_hash32_hash
    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:1201,1
    - Dst: hash_adbname
      Src: /src/bind9/lib/dns/adb.c:1204,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/lib/dns/adb.c:1205,1
    - Dst: purge_names_overmem
      Src: /src/bind9/lib/dns/adb.c:1206,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/adb.c:1210,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/adb.c:1212,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/adb.c:1212,1
    - Dst: new_adbname
      Src: /src/bind9/lib/dns/adb.c:1217,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1225,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/adb.c:1227,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1234,1
    - Dst: ISC_SIEVE_INSERT
      Src: /src/bind9/lib/dns/adb.c:1236,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1236,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1243,1
    - Dst: destroy_adbname_rcu
      Src: /src/bind9/lib/dns/adb.c:1245,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:1246,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1249,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/adb.c:1251,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1252,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1256,1
    - Dst: maybe_expire_name
      Src: /src/bind9/lib/dns/adb.c:1259,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1260,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:1261,1
    - Dst: ISC_SIEVE_MARK
      Src: /src/bind9/lib/dns/adb.c:1265,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: 1268
      start: 1196
    functionDepth: 4
    functionLinenumber: 1196
    functionLinenumberEnd: 1268
    functionName: get_attached_and_locked_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - dns_adbname_ref
    - destroy_adbname_rcu
    - dns_adbname_detach
    - ISC_SIEVE_MARK
    - cds_lfht_entry
    - ISC_SIEVE_INSERT
    - UNLOCK
    - cds_lfht_add_unique
    - cds_lfht_iter_get_node
    - isc_mem_isovermem
    - LOCK
    - isc_tid
    - caa_container_of
    - maybe_expire_name
    - new_adbname
    - UNCONST
    - cds_lfht_lookup
    - hash_adbname
    - purge_names_overmem
    - cds_lfht_is_node_deleted
    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:1273,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/adb.c:1275,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1276
      start: 1270
    functionDepth: 2
    functionLinenumber: 1270
    functionLinenumberEnd: 1276
    functionName: match_adbentry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - caa_container_of
    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:1285,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/lib/dns/adb.c:1287,1
    - Dst: purge_entries_overmem
      Src: /src/bind9/lib/dns/adb.c:1288,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/adb.c:1292,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/adb.c:1295,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/adb.c:1295,1
    - Dst: new_adbentry
      Src: /src/bind9/lib/dns/adb.c:1300,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1308,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/adb.c:1310,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1317,1
    - Dst: ISC_SIEVE_INSERT
      Src: /src/bind9/lib/dns/adb.c:1319,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1319,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1326,1
    - Dst: destroy_adbentry_rcu
      Src: /src/bind9/lib/dns/adb.c:1328,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/adb.c:1329,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1332,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/adb.c:1334,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1335,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1339,1
    - Dst: maybe_expire_entry
      Src: /src/bind9/lib/dns/adb.c:1342,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1343,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1344,1
    - Dst: ISC_SIEVE_MARK
      Src: /src/bind9/lib/dns/adb.c:1348,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: 1351
      start: 1281
    functionDepth: 4
    functionLinenumber: 1281
    functionLinenumberEnd: 1351
    functionName: get_attached_and_locked_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - ISC_SIEVE_MARK
    - cds_lfht_entry
    - dns_adbentry_ref
    - ISC_SIEVE_INSERT
    - UNLOCK
    - new_adbentry
    - cds_lfht_add_unique
    - dns_adbentry_detach
    - destroy_adbentry_rcu
    - cds_lfht_iter_get_node
    - isc_mem_isovermem
    - LOCK
    - isc_tid
    - caa_container_of
    - cds_lfht_lookup
    - purge_entries_overmem
    - maybe_expire_entry
    - isc_sockaddr_hash
    - cds_lfht_is_node_deleted
    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:1360,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/adb.c:1361,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/adb.c:1362,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/adb.c:1364,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/adb.c:1365,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/adb.c:1367,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:1369,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - entry
    - fmt
    argTypes:
    - dns_adbentry_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1353
    functionDepth: 3
    functionLinenumber: 1353
    functionLinenumberEnd: 1371
    functionName: log_quota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_netaddr_format
    - vsnprintf
    - isc_netaddr_fromsockaddr
    - atomic_load_relaxed
    - va_start
    - isc_log_write
    - va_end
    linkageType: ''
    returnType: void
    signature: void log_quota(dns_adbentry_t *entry, const char *fmt, ...)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:1380,1
    - Dst: adbentry_overquota
      Src: /src/bind9/lib/dns/adb.c:1385,1
    - Dst: new_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:1391,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:1396,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:1400,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:1407,1
    - Dst: adbentry_overquota
      Src: /src/bind9/lib/dns/adb.c:1412,1
    - Dst: new_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:1418,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:1423,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:1427,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:1433,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 34
    argCount: 5
    argNames:
    - adb
    - find
    - name
    - maxfindlen
    - findlen
    argTypes:
    - dns_adb_t*
    - dns_adbfind_t*
    - dns_adbname_t*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1434
      start: 1373
    functionDepth: 3
    functionLinenumber: 1373
    functionLinenumberEnd: 1434
    functionName: copy_namehook_lists
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - SET_IF_NOT_NULL
    - ISC_LIST_APPEND
    - adbentry_overquota
    - new_adbaddrinfo
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: "void copy_namehook_lists(dns_adb_t *adb, dns_adbfind_t *find, dns_adbname_t
      *name,\n\t\t    size_t maxfindlen, size_t *findlen)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1438,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:1438,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:1441,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:1441,1
    - Dst: NAME_FETCH
      Src: /src/bind9/lib/dns/adb.c:1446,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1451,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1452,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - adbname
    - now
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1436
    functionDepth: 1
    functionLinenumber: 1436
    functionLinenumberEnd: 1458
    functionName: name_expired
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBNAME_VALID
    - NAME_HAS_V6
    - EXPIRE_OK
    - NAME_FETCH
    - NAME_HAS_V4
    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:1465,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:1466,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - adbname
    - now
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1471
      start: 1463
    functionDepth: 4
    functionLinenumber: 1463
    functionLinenumberEnd: 1471
    functionName: maybe_expire_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - expire_name
    - name_expired
    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:1478,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:1478,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/adb.c:1480,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1480,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1483
      start: 1473
    functionDepth: 1
    functionLinenumber: 1473
    functionLinenumberEnd: 1483
    functionName: expire_entry_async
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_SIEVE_UNLINK
    - isc_tid
    - dns_adbentry_detach
    - isc_loop
    linkageType: ''
    returnType: void
    signature: void expire_entry_async(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/adb.c:1489,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:1490,1
    - Dst: expire_entry_async
      Src: /src/bind9/lib/dns/adb.c:1491,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:1493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - adbentry
    argTypes:
    - dns_adbentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1497
      start: 1485
    functionDepth: 2
    functionLinenumber: 1485
    functionLinenumberEnd: 1497
    functionName: expire_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - isc_async_run
    - cds_lfht_del
    - expire_entry_async
    - isc_loop
    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:1501,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1505,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - adbentry
    - now
    argTypes:
    - dns_adbentry_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1510
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1510
    functionName: entry_expired
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - EXPIRE_OK
    - ISC_LIST_EMPTY
    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:1514,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:1514,1
    - Dst: entry_expired
      Src: /src/bind9/lib/dns/adb.c:1516,1
    - Dst: expire_entry
      Src: /src/bind9/lib/dns/adb.c:1517,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - adbentry
    - now
    argTypes:
    - dns_adbentry_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1522
      start: 1512
    functionDepth: 3
    functionLinenumber: 1512
    functionLinenumberEnd: 1522
    functionName: maybe_expire_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - entry_expired
    - DNS_ADBENTRY_VALID
    - expire_entry
    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:1529,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1530,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1535,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1536,1
    - Dst: maybe_expire_namehooks
      Src: /src/bind9/lib/dns/adb.c:1542,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:1543,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1546,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:1547,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - requested
    argTypes:
    - dns_adb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1549
      start: 1524
    functionDepth: 4
    functionLinenumber: 1524
    functionLinenumberEnd: 1549
    functionName: purge_names_overmem
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - maybe_expire_namehooks
    - dns_adbname_ref
    - ISC_SIEVE_NEXT
    - dns_adbname_detach
    - LOCK
    - isc_tid
    - expire_name
    - UNLOCK
    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:1556,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:1557,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1558,1
    - Dst: maybe_expire_namehooks
      Src: /src/bind9/lib/dns/adb.c:1565,1
    - Dst: maybe_expire_name
      Src: /src/bind9/lib/dns/adb.c:1566,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1567,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:1568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - adb
    - now
    argTypes:
    - dns_adb_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1570
      start: 1551
    functionDepth: 5
    functionLinenumber: 1551
    functionLinenumberEnd: 1570
    functionName: cleanup_names
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - maybe_expire_namehooks
    - cds_lfht_for_each_entry
    - dns_adbname_ref
    - dns_adbname_detach
    - LOCK
    - maybe_expire_name
    - UNLOCK
    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:1577,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/adb.c:1578,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1583,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1584,1
    - Dst: expire_entry
      Src: /src/bind9/lib/dns/adb.c:1586,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1589,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1590,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 2
    argNames:
    - adb
    - requested
    argTypes:
    - dns_adb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1572
    functionDepth: 3
    functionLinenumber: 1572
    functionLinenumberEnd: 1592
    functionName: purge_entries_overmem
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - ISC_SIEVE_NEXT
    - UNLOCK
    - LOCK
    - isc_tid
    - dns_adbentry_ref
    - dns_adbentry_detach
    - 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:1599,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:1600,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:1601,1
    - Dst: maybe_expire_entry
      Src: /src/bind9/lib/dns/adb.c:1602,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1603,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1604,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - adb
    - now
    argTypes:
    - dns_adb_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1594
    functionDepth: 4
    functionLinenumber: 1594
    functionLinenumberEnd: 1606
    functionName: cleanup_entries
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - cds_lfht_for_each_entry
    - maybe_expire_entry
    - LOCK
    - dns_adbentry_ref
    - dns_adbentry_detach
    - UNLOCK
    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:1610,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/adb.c:1614,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/adb.c:1614,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/adb.c:1617,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/adb.c:1617,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/adb.c:1620,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/adb.c:1622,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/adb.c:1624,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/adb.c:1626,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/adb.c:1627,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/adb.c:1628,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/adb.c:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1608
    functionDepth: 3
    functionLinenumber: 1608
    functionLinenumberEnd: 1630
    functionName: dns_adb_destroy
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DP
    - isc_mem_cput
    - dns_view_weakdetach
    - RUNTIME_CHECK
    - dns_resolver_detach
    - isc_mem_detach
    - isc_mem_putanddetach
    - cds_lfht_destroy
    - isc_mutex_destroy
    - isc_stats_detach
    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:1644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1645,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1646,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/adb.c:1648,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:1649,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:1661,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/adb.c:1664,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/adb.c:1665,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/adb.c:1666,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/adb.c:1668,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/adb.c:1670,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1673,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/adb.c:1676,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:1678,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/adb.c:1680,1
    - Dst: ISC_SIEVE_INIT
      Src: /src/bind9/lib/dns/adb.c:1683,1
    - Dst: ISC_SIEVE_INIT
      Src: /src/bind9/lib/dns/adb.c:1684,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/adb.c:1687,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/adb.c:1689,1
    - Dst: set_adbstat
      Src: /src/bind9/lib/dns/adb.c:1691,1
    - Dst: set_adbstat
      Src: /src/bind9/lib/dns/adb.c:1692,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 3
    argNames:
    - mem
    - view
    - adbp
    argTypes:
    - isc_mem_t*
    - dns_view_t*
    - dns_adb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1642
    functionDepth: 3
    functionLinenumber: 1642
    functionLinenumberEnd: 1695
    functionName: dns_adb_create
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_resolver_attach
    - isc_mem_create
    - dns_view_weakattach
    - isc_mem_cget
    - INSIST
    - isc_mem_get
    - cds_lfht_new
    - fprintf
    - isc_mutex_init
    - isc_loopmgr_nloops
    - ISC_SIEVE_INIT
    - set_adbstat
    - isc_stats_create
    linkageType: ''
    returnType: void
    signature: void dns_adb_create(isc_mem_t *mem, dns_view_t *view, dns_adb_t **adbp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/adb.c:1701,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:1703,1
    - Dst: shutdown_names
      Src: /src/bind9/lib/dns/adb.c:1704,1
    - Dst: shutdown_entries
      Src: /src/bind9/lib/dns/adb.c:1705,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:1706,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:1708,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1709
      start: 1697
    functionDepth: 5
    functionLinenumber: 1697
    functionLinenumberEnd: 1709
    functionName: dns_adb_shutdown_async
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - rcu_read_unlock
    - shutdown_entries
    - shutdown_names
    - rcu_read_lock
    - dns_adb_detach
    - synchronize_rcu
    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:1713,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1719,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/adb.c:1721,1
    - Dst: dns_adb_ref
      Src: /src/bind9/lib/dns/adb.c:1728,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:1729,1
    - Dst: isc_loop_main
      Src: /src/bind9/lib/dns/adb.c:1729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1711
    functionDepth: 3
    functionLinenumber: 1711
    functionLinenumberEnd: 1730
    functionName: dns_adb_shutdown
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - DP
    - isc_mem_clearwater
    - isc_loop_main
    - isc_async_run
    - atomic_compare_exchange_strong
    - dns_adb_ref
    linkageType: ''
    returnType: void
    signature: void dns_adb_shutdown(dns_adb_t *adb)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: get_attached_and_locked_entry
      Src: /src/bind9/lib/dns/adb.c:1736,1
    - Dst: adbentry_overquota
      Src: /src/bind9/lib/dns/adb.c:1739,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/adb.c:1744,1
    - Dst: new_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:1745,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:1748,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:1749,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 5
    argNames:
    - adb
    - addr
    - adbaddrp
    - now
    - options
    argTypes:
    - dns_adb_t*
    - isc_sockaddr_t*
    - dns_adbaddrinfo_t**
    - isc_stdtime_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1750
      start: 1732
    functionDepth: 5
    functionLinenumber: 1732
    functionLinenumberEnd: 1750
    functionName: findaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_getport
    - new_adbaddrinfo
    - adbentry_overquota
    - dns_adbentry_detach
    - get_attached_and_locked_entry
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: "void findaddrinfo(dns_adb_t *adb, const isc_sockaddr_t *addr,\n\t
      \    dns_adbaddrinfo_t **adbaddrp, isc_stdtime_t now,\n\t     unsigned int options)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1760,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:1760,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1761,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1762,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1763,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:1765,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:1767,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:1768,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/adb.c:1773,1
    - Dst: new_adbfind
      Src: /src/bind9/lib/dns/adb.c:1776,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:1777,1
    - Dst: htons
      Src: /src/bind9/lib/dns/adb.c:1787,1
    - Dst: htons
      Src: /src/bind9/lib/dns/adb.c:1798,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/adb.c:1802,1
    - Dst: findaddrinfo
      Src: /src/bind9/lib/dns/adb.c:1805,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:1811,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:1820,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 8
    argNames:
    - adb
    - addrs
    - port
    - options
    - now
    - maxfindlen
    - findp
    - findlen
    argTypes:
    - dns_adb_t*
    - isc_netaddrlist_t*
    - in_port_t
    - unsigned int
    - isc_stdtime_t
    - size_t
    - dns_adbfind_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1752
    functionDepth: 6
    functionLinenumber: 1752
    functionLinenumberEnd: 1821
    functionName: dns_adb_createaddrinfosfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - findaddrinfo
    - new_adbfind
    - rcu_read_unlock
    - ISC_LIST_APPEND
    - rcu_read_lock
    - DNS_ADB_VALID
    - ISC_LIST_FOREACH
    - atomic_load
    - UNREACHABLE
    - htons
    linkageType: ''
    returnType: void
    signature: "void dns_adb_createaddrinfosfind(dns_adb_t *adb, isc_netaddrlist_t
      *addrs,\n\t\t\t    in_port_t port, unsigned int options,\n\t\t\t    isc_stdtime_t
      now, size_t maxfindlen,\n\t\t\t    dns_adbfind_t **findp, size_t *findlen)"
  - BBCount: 42
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1858,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:1858,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1860,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1862,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1863,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1864,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1866,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:1868,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:1870,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:1871,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/adb.c:1876,1
    - Dst: new_adbfind
      Src: /src/bind9/lib/dns/adb.c:1889,1
    - Dst: FIND_WANTEVENT
      Src: /src/bind9/lib/dns/adb.c:1892,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:1893,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/adb.c:1896,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/adb.c:1897,1
    - Dst: get_attached_and_locked_name
      Src: /src/bind9/lib/dns/adb.c:1901,1
    - Dst: ADBNAME_TYPE
      Src: /src/bind9/lib/dns/adb.c:1902,1
    - Dst: maybe_expire_namehooks
      Src: /src/bind9/lib/dns/adb.c:1909,1
    - Dst: NAME_ALIAS
      Src: /src/bind9/lib/dns/adb.c:1914,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1914,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1916,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:1928,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1928,1
    - Dst: WANT_INET
      Src: /src/bind9/lib/dns/adb.c:1929,1
    - Dst: dbfind_name
      Src: /src/bind9/lib/dns/adb.c:1931,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1935,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1942,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:1970,1
    - Dst: FIND_STATICSTUB
      Src: /src/bind9/lib/dns/adb.c:1970,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:1980,1
    - Dst: EXPIRE_OK
      Src: /src/bind9/lib/dns/adb.c:1980,1
    - Dst: WANT_INET6
      Src: /src/bind9/lib/dns/adb.c:1981,1
    - Dst: dbfind_name
      Src: /src/bind9/lib/dns/adb.c:1983,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1986,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:1993,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2013,1
    - Dst: FIND_STATICSTUB
      Src: /src/bind9/lib/dns/adb.c:2013,1
    - Dst: WANT_INET
      Src: /src/bind9/lib/dns/adb.c:2022,1
    - Dst: NAME_HAS_V4
      Src: /src/bind9/lib/dns/adb.c:2022,1
    - Dst: WANT_INET6
      Src: /src/bind9/lib/dns/adb.c:2023,1
    - Dst: NAME_HAS_V6
      Src: /src/bind9/lib/dns/adb.c:2023,1
    - Dst: FIND_AVOIDFETCHES
      Src: /src/bind9/lib/dns/adb.c:2029,1
    - Dst: FIND_NOFETCH
      Src: /src/bind9/lib/dns/adb.c:2030,1
    - Dst: FIND_NOVALIDATE
      Src: /src/bind9/lib/dns/adb.c:2032,1
    - Dst: FIND_STARTATZONE
      Src: /src/bind9/lib/dns/adb.c:2041,1
    - Dst: WANT_INET
      Src: /src/bind9/lib/dns/adb.c:2048,1
    - Dst: fetch_name
      Src: /src/bind9/lib/dns/adb.c:2049,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2052,1
    - Dst: WANT_INET6
      Src: /src/bind9/lib/dns/adb.c:2061,1
    - Dst: fetch_name
      Src: /src/bind9/lib/dns/adb.c:2062,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2066,1
    - Dst: copy_namehook_lists
      Src: /src/bind9/lib/dns/adb.c:2077,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2080,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2083,1
    - Dst: FIND_WANTEVENT
      Src: /src/bind9/lib/dns/adb.c:2091,1
    - Dst: FIND_WANTEMPTYEVENT
      Src: /src/bind9/lib/dns/adb.c:2094,1
    - Dst: FIND_HAS_ADDRS
      Src: /src/bind9/lib/dns/adb.c:2094,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:2107,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/adb.c:2108,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2112,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2141,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:2143,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2154,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2155,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2157,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 162
    argCount: 15
    argNames:
    - adb
    - loop
    - cb
    - cbarg
    - name
    - options
    - now
    - port
    - depth
    - qc
    - gqc
    - parent
    - maxfindlen
    - findp
    - findlen
    argTypes:
    - dns_adb_t*
    - isc_loop_t*
    - isc_job_cb
    - void*
    - dns_name_t*
    - unsigned int
    - isc_stdtime_t
    - in_port_t
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - fetchctx_t*
    - size_t
    - dns_adbfind_t**
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 1840
    functionDepth: 5
    functionLinenumber: 1840
    functionLinenumberEnd: 2160
    functionName: dns_adb_createfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - copy_namehook_lists
    - INSIST
    - get_attached_and_locked_name
    - dns_adbname_detach
    - new_adbfind
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - DNS_ADB_VALID
    - atomic_store
    - UNLOCK
    - ADBNAME_TYPE
    - dns_name_format
    - rcu_read_unlock
    - FIND_NOVALIDATE
    - WANT_INET6
    - FIND_WANTEMPTYEVENT
    - FIND_HAS_ADDRS
    - dbfind_name
    - isc_stdtime_now
    - EXPIRE_OK
    - FIND_NOFETCH
    - ISC_LIST_EMPTY
    - rcu_read_lock
    - isc_log_wouldlog
    - WANT_INET
    - atomic_load
    - DP
    - NAME_HAS_V6
    - maybe_expire_namehooks
    - FIND_STATICSTUB
    - ISC_LIST_APPEND
    - NAME_ALIAS
    - FIND_WANTEVENT
    - NAME_HAS_V4
    - FIND_STARTATZONE
    - FIND_AVOIDFETCHES
    - fetch_name
    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, 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, fetchctx_t *parent,\n\t\t   size_t maxfindlen, dns_adbfind_t
      **findp, size_t *findlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2167,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:2167,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2174,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:2174,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2180,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:2187,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:2188,1
    - Dst: free_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:2189,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2191,1
    - Dst: free_adbfind
      Src: /src/bind9/lib/dns/adb.c:2193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - findp
    argTypes:
    - dns_adbfind_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2194
      start: 2162
    functionDepth: 4
    functionLinenumber: 2162
    functionLinenumberEnd: 2194
    functionName: dns_adb_destroyfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - DP
    - REQUIRE
    - ISC_LIST_UNLINK
    - DNS_ADBFIND_VALID
    - free_adbfind
    - UNLOCK
    - LOCK
    - isc_loop
    - ISC_LIST_FOREACH
    - free_adbaddrinfo
    linkageType: ''
    returnType: void
    signature: void dns_adb_destroyfind(dns_adbfind_t **findp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2201,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:2201,1
    - Dst: FIND_EVENTSENT
      Src: /src/bind9/lib/dns/adb.c:2203,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/adb.c:2204,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2206,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/adb.c:2208,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - find
    argTypes:
    - dns_adbfind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2210
      start: 2199
    functionDepth: 3
    functionLinenumber: 2199
    functionLinenumberEnd: 2210
    functionName: find_sendevent
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - DP
    - REQUIRE
    - FIND_EVENTSENT
    - isc_async_run
    - isc_loop
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void find_sendevent(dns_adbfind_t *find)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2218,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:2218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2219,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2220,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:2220,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2223,1
    - Dst: FIND_WANTEVENT
      Src: /src/bind9/lib/dns/adb.c:2223,1
    - Dst: find_sendevent
      Src: /src/bind9/lib/dns/adb.c:2228,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2229,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:2236,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2237,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2246,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2247,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/adb.c:2250,1
    - Dst: find_sendevent
      Src: /src/bind9/lib/dns/adb.c:2254,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2256,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2257,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2258,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 1
    argNames:
    - find
    argTypes:
    - dns_adbfind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2260
      start: 2212
    functionDepth: 4
    functionLinenumber: 2212
    functionLinenumberEnd: 2260
    functionName: dns_adb_cancelfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - DP
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_adbname_ref
    - DNS_ADBFIND_VALID
    - dns_adbname_detach
    - LOCK
    - FIND_WANTEVENT
    - DNS_ADB_VALID
    - isc_loop
    - find_sendevent
    - UNLOCK
    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:2264,1
    - Dst: DNS_ADBFIND_VALID
      Src: /src/bind9/lib/dns/adb.c:2264,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - find
    argTypes:
    - dns_adbfind_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2267
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2267
    functionName: dns_adb_findstatus
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - atomic_load
    - DNS_ADBFIND_VALID
    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:2271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2273,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2274,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:2276,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2278,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2279,1
    - Dst: dump_adb
      Src: /src/bind9/lib/dns/adb.c:2283,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - adb
    - f
    argTypes:
    - dns_adb_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2286
      start: 2269
    functionDepth: 1
    functionLinenumber: 2269
    functionLinenumberEnd: 2286
    functionName: dns_adb_dump
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - rcu_read_unlock
    - rcu_read_lock
    - DNS_ADB_VALID
    - dump_adb
    - atomic_load
    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:2293,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: 2294
      start: 2288
    functionDepth: 0
    functionLinenumber: 2288
    functionLinenumberEnd: 2294
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2303,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2304,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2305,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2307,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/adb.c:2308,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:2315,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:2316,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2317,1
    - Dst: maybe_expire_namehooks
      Src: /src/bind9/lib/dns/adb.c:2322,1
    - Dst: maybe_expire_name
      Src: /src/bind9/lib/dns/adb.c:2323,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2324,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2325,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2333,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2336,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/adb.c:2337,1
    - Dst: dump_ttl
      Src: /src/bind9/lib/dns/adb.c:2339,1
    - Dst: dump_ttl
      Src: /src/bind9/lib/dns/adb.c:2340,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2342,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2345,1
    - Dst: print_namehook_list
      Src: /src/bind9/lib/dns/adb.c:2347,1
    - Dst: print_namehook_list
      Src: /src/bind9/lib/dns/adb.c:2348,1
    - Dst: print_fetch_list
      Src: /src/bind9/lib/dns/adb.c:2351,1
    - Dst: print_find_list
      Src: /src/bind9/lib/dns/adb.c:2352,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2354,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2355,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2360,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:2361,1
    - Dst: dns_adbentry_ref
      Src: /src/bind9/lib/dns/adb.c:2362,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2363,1
    - Dst: maybe_expire_entry
      Src: /src/bind9/lib/dns/adb.c:2364,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2365,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:2366,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:2369,1
    - Dst: dump_entry
      Src: /src/bind9/lib/dns/adb.c:2370,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2372,1
    - Dst: dns_adbentry_detach
      Src: /src/bind9/lib/dns/adb.c:2373,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 4
    argNames:
    - adb
    - f
    - debug
    - now
    argTypes:
    - dns_adb_t*
    - FILE*
    - bool
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2375
      start: 2299
    functionDepth: 5
    functionLinenumber: 2299
    functionLinenumberEnd: 2375
    functionName: dump_adb
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - cds_lfht_for_each_entry
    - dns_adbname_ref
    - dns_adbname_detach
    - fprintf
    - print_find_list
    - dns_adbentry_ref
    - dump_ttl
    - UNLOCK
    - dns_name_print
    - dns_adbentry_detach
    - isc_refcount_current
    - ISC_LIST_EMPTY
    - LOCK
    - maybe_expire_name
    - maybe_expire_namehooks
    - dump_entry
    - maybe_expire_entry
    - print_namehook_list
    - print_fetch_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:2383,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/adb.c:2384,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2387,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/adb.c:2388,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2391,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2394,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2394,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2397,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2401,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2403,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2405,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2407,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:2410,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2411,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2415,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: 2416
      start: 2377
    functionDepth: 3
    functionLinenumber: 2377
    functionLinenumberEnd: 2416
    functionName: dump_entry
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - isc_netaddr_format
    - fprintf
    - isc_refcount_current
    - isc_netaddr_fromsockaddr
    - atomic_load_relaxed
    - 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:2429,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2431,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2432,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2435,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/adb.c:2437,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2438,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/adb.c:2440,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/adb.c:2444,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/adb.c:2448,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2459,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2465,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 26
    argCount: 2
    argNames:
    - find
    - f
    argTypes:
    - dns_adbfind_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2466
      start: 2418
    functionDepth: 1
    functionLinenumber: 2418
    functionLinenumberEnd: 2466
    functionName: dumpfind
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - inet_ntop
    - fprintf
    - ISC_LIST_EMPTY
    - LOCK
    - ISC_LIST_FOREACH
    - UNLOCK
    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:2472,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/adb.c:2474,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2476,1
    - Dst: dump_entry
      Src: /src/bind9/lib/dns/adb.c:2477,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2478,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: 2480
      start: 2468
    functionDepth: 4
    functionLinenumber: 2468
    functionLinenumberEnd: 2480
    functionName: print_namehook_list
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - dump_entry
    - fprintf
    - LOCK
    - ISC_LIST_FOREACH
    - UNLOCK
    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:2484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - f
    - ft
    - type
    argTypes:
    - FILE*
    - dns_adbfetch_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2485
      start: 2482
    functionDepth: 0
    functionLinenumber: 2482
    functionLinenumberEnd: 2485
    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:2489,1
    - Dst: print_fetch
      Src: /src/bind9/lib/dns/adb.c:2490,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2492,1
    - Dst: print_fetch
      Src: /src/bind9/lib/dns/adb.c:2493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - f
    - n
    argTypes:
    - FILE*
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2487
    functionDepth: 1
    functionLinenumber: 2487
    functionLinenumberEnd: 2495
    functionName: print_fetch_list
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - NAME_FETCH_A
    - print_fetch
    - NAME_FETCH_AAAA
    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:2499,1
    - Dst: dumpfind
      Src: /src/bind9/lib/dns/adb.c:2500,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - f
    - name
    argTypes:
    - FILE*
    - dns_adbname_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2502
      start: 2497
    functionDepth: 2
    functionLinenumber: 2497
    functionLinenumberEnd: 2502
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/adb.c:2506,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/adb.c:2506,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/adb.c:2506,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/adb.c:2508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2510
      start: 2504
    functionDepth: 2
    functionLinenumber: 2504
    functionLinenumberEnd: 2510
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 71
    functionsReached:
    - isc_buffer_reserve
    - strlen
    - RETERR
    - 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:2514,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2514,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:2519,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2520,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2521,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:2525,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2526,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/adb.c:2535,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/adb.c:2536,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/adb.c:2538,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:2540,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/adb.c:2542,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2544,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2546,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - adb
    - buf
    argTypes:
    - dns_adb_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2549
      start: 2512
    functionDepth: 3
    functionLinenumber: 2512
    functionLinenumberEnd: 2549
    functionName: dns_adb_dumpquota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - putstr
    - cds_lfht_for_each_entry
    - isc_netaddr_format
    - rcu_read_unlock
    - isc_netaddr_fromsockaddr
    - atomic_load_relaxed
    - LOCK
    - snprintf
    - rcu_read_lock
    - DNS_ADB_VALID
    - atomic_load
    - UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_adb_dumpquota(dns_adb_t *adb, isc_buffer_t *buf)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2560,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:2560,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2564,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2564,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2565,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/adb.c:2565,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/adb.c:2567,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/adb.c:2568,1
    - Dst: dns_view_find
      Src: /src/bind9/lib/dns/adb.c:2587,1
    - Dst: import_rdataset
      Src: /src/bind9/lib/dns/adb.c:2608,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2622,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2631,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2648,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2656,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2660,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2680,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2684,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/adb.c:2695,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 87
    argCount: 3
    argNames:
    - adbname
    - now
    - rdtype
    argTypes:
    - dns_adbname_t*
    - isc_stdtime_t
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2698
      start: 2551
    functionDepth: 4
    functionLinenumber: 2551
    functionLinenumberEnd: 2698
    functionName: dbfind_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - DP
    - REQUIRE
    - DNS_ADBNAME_VALID
    - import_rdataset
    - dns_view_find
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - DNS_ADB_VALID
    - dns_fixedname_initname
    - ADJUSTED_EXPIRE
    - dns_rdatatype_isaddr
    - ttlclamp
    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:2707,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2710,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:2710,1
    - Dst: dns_adb_attach
      Src: /src/bind9/lib/dns/adb.c:2711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2713,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2713,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:2715,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:2717,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2719,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2719,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2719,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2721,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2725,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:2735,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/adb.c:2741,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/adb.c:2744,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:2747,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/adb.c:2756,1
    - Dst: NCACHE_RESULT
      Src: /src/bind9/lib/dns/adb.c:2764,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2765,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2767,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2769,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2778,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2780,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2782,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2791,1
    - Dst: ttlclamp
      Src: /src/bind9/lib/dns/adb.c:2800,1
    - Dst: ADJUSTED_EXPIRE
      Src: /src/bind9/lib/dns/adb.c:2803,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/adb.c:2814,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2815,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/adb.c:2817,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/adb.c:2827,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2829,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/adb.c:2831,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2833,1
    - Dst: import_rdataset
      Src: /src/bind9/lib/dns/adb.c:2841,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/adb.c:2852,1
    - Dst: free_adbfetch
      Src: /src/bind9/lib/dns/adb.c:2853,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/adb.c:2854,1
    - Dst: clean_finds_at_name
      Src: /src/bind9/lib/dns/adb.c:2856,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:2858,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:2859,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/adb.c:2860,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:2862,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 108
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2863
      start: 2700
    functionDepth: 4
    functionLinenumber: 2700
    functionLinenumberEnd: 2863
    functionName: fetch_callback
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - inc_resstats
    - REQUIRE
    - free_adbfetch
    - INSIST
    - dns_adbname_detach
    - ISC_MIN
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - DNS_ADB_VALID
    - dns_resolver_destroyfetch
    - clean_finds_at_name
    - UNLOCK
    - DNS_ADBNAME_VALID
    - dns_name_format
    - rcu_read_unlock
    - ttlclamp
    - isc_result_totext
    - dns_db_detach
    - dns_resolver_freefresp
    - isc_stdtime_now
    - dns_adb_attach
    - LOCK
    - rcu_read_lock
    - atomic_load
    - DP
    - dns_db_detachnode
    - import_rdataset
    - NCACHE_RESULT
    - ADJUSTED_EXPIRE
    - dns_adb_detach
    - cds_lfht_is_node_deleted
    linkageType: ''
    returnType: void
    signature: void fetch_callback(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2877,1
    - Dst: DNS_ADBNAME_VALID
      Src: /src/bind9/lib/dns/adb.c:2877,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2881,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2881,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2883,1
    - Dst: NAME_FETCH_A
      Src: /src/bind9/lib/dns/adb.c:2883,1
    - Dst: NAME_FETCH_AAAA
      Src: /src/bind9/lib/dns/adb.c:2884,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2889,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/adb.c:2891,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/adb.c:2892,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/lib/dns/adb.c:2892,1
    - Dst: new_adbfetch
      Src: /src/bind9/lib/dns/adb.c:2902,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:2912,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/adb.c:2913,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/adb.c:2915,1
    - Dst: DP
      Src: /src/bind9/lib/dns/adb.c:2918,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/adb.c:2919,1
    - Dst: dns_adbname_unref
      Src: /src/bind9/lib/dns/adb.c:2920,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2926,1
    - Dst: inc_resstats
      Src: /src/bind9/lib/dns/adb.c:2929,1
    - Dst: free_adbfetch
      Src: /src/bind9/lib/dns/adb.c:2935,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/adb.c:2939,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 8
    argNames:
    - adbname
    - start_at_zone
    - no_validation
    - depth
    - qc
    - gqc
    - parent
    - type
    argTypes:
    - dns_adbname_t*
    - bool
    - bool
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - fetchctx_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2943
      start: 2865
    functionDepth: 5
    functionLinenumber: 2865
    functionLinenumberEnd: 2943
    functionName: fetch_name
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - DP
    - REQUIRE
    - DNS_ADBNAME_VALID
    - dns_resolver_createfetch
    - inc_resstats
    - free_adbfetch
    - dns_adbname_ref
    - dns_adbname_unref
    - NAME_FETCH_AAAA
    - NAME_FETCH_A
    - dns_view_bestzonecut
    - DNS_ADB_VALID
    - dns_fixedname_initname
    - isc_loop
    - dns_delegset_detach
    - CHECK
    - new_adbfetch
    - isc_result_totext
    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   fetchctx_t *parent, dns_rdatatype_t type)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2948,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2948,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2949,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:2949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2950,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/adb.c:2954,1
    - Dst: adjustsrtt
      Src: /src/bind9/lib/dns/adb.c:2957,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: 2958
      start: 2945
    functionDepth: 1
    functionLinenumber: 2945
    functionLinenumberEnd: 2958
    functionName: dns_adb_adjustsrtt
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - DNS_ADBADDRINFO_VALID
    - adjustsrtt
    - DNS_ADB_VALID
    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:2962,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:2962,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:2963,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:2963,1
    - Dst: adjustsrtt
      Src: /src/bind9/lib/dns/adb.c:2965,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: 2966
      start: 2960
    functionDepth: 1
    functionLinenumber: 2960
    functionLinenumberEnd: 2966
    functionName: dns_adb_agesrtt
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - DNS_ADB_VALID
    - adjustsrtt
    linkageType: ''
    returnType: void
    signature: void dns_adb_agesrtt(dns_adb_t *adb, dns_adbaddrinfo_t *addr, isc_stdtime_t
      now)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/adb.c:2976,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/dns/adb.c:2980,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/adb.c:2990,1
    - Dst: atomic_compare_exchange_weak_acq_rel
      Src: /src/bind9/lib/dns/adb.c:2998,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 4
    argNames:
    - addr
    - rtt
    - factor
    - now
    argTypes:
    - dns_adbaddrinfo_t*
    - unsigned int
    - unsigned int
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3001
      start: 2968
    functionDepth: 1
    functionLinenumber: 2968
    functionLinenumberEnd: 3001
    functionName: adjustsrtt
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - atomic_compare_exchange_strong_acq_rel
    - atomic_compare_exchange_weak_acq_rel
    - atomic_load_acquire
    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:3006,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3006,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3007,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3007,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3011,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/adb.c:3012,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: 3023
      start: 3003
    functionDepth: 1
    functionLinenumber: 3003
    functionLinenumberEnd: 3023
    functionName: dns_adb_changeflags
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - DNS_ADB_VALID
    - atomic_load
    - atomic_compare_exchange_strong
    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:3052,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3073,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3074,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3075,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3076,1
    - Dst: ISC_CLAMP
      Src: /src/bind9/lib/dns/adb.c:3079,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/adb.c:3084,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/adb.c:3085,1
    - Dst: log_quota
      Src: /src/bind9/lib/dns/adb.c:3086,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/adb.c:3094,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/adb.c:3095,1
    - Dst: log_quota
      Src: /src/bind9/lib/dns/adb.c:3096,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: 3100
      start: 3048
    functionDepth: 4
    functionLinenumber: 3048
    functionLinenumberEnd: 3100
    functionName: maybe_adjust_quota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - log_quota
    - INSIST
    - atomic_store_release
    - ISC_MAX
    - ISC_CLAMP
    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:3104,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3104,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3105,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3105,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3108,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:3110,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3120
      start: 3102
    functionDepth: 5
    functionLinenumber: 3102
    functionLinenumberEnd: 3120
    functionName: dns_adb_plainresponse
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    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:3124,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3124,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3125,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3125,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3128,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:3130,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3139,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3140
      start: 3122
    functionDepth: 5
    functionLinenumber: 3122
    functionLinenumberEnd: 3140
    functionName: dns_adb_timeout
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    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: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: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3145,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3148,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:3150,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3159,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3160
      start: 3142
    functionDepth: 5
    functionLinenumber: 3142
    functionLinenumberEnd: 3160
    functionName: dns_adb_ednsto
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    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:3164,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3165,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3165,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3169,1
    - Dst: maybe_adjust_quota
      Src: /src/bind9/lib/dns/adb.c:3177,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3186,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: 3187
      start: 3162
    functionDepth: 5
    functionLinenumber: 3162
    functionLinenumberEnd: 3187
    functionName: dns_adb_setudpsize
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - maybe_adjust_quota
    - DNS_ADB_VALID
    - UNLOCK
    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:3191,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3192,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3192,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3197,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3202
      start: 3189
    functionDepth: 1
    functionLinenumber: 3189
    functionLinenumberEnd: 3202
    functionName: dns_adb_getudpsize
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - DNS_ADB_VALID
    - UNLOCK
    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:3207,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3208,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3208,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3212,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/adb.c:3217,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/adb.c:3222,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:3227,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3229,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: 3230
      start: 3204
    functionDepth: 1
    functionLinenumber: 3204
    functionLinenumberEnd: 3230
    functionName: dns_adb_setcookie
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - isc_mem_put
    - isc_mem_get
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - DNS_ADB_VALID
    - UNLOCK
    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:3234,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3234,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3238,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/adb.c:3248,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3253,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: 3256
      start: 3232
    functionDepth: 1
    functionLinenumber: 3232
    functionLinenumberEnd: 3256
    functionName: dns_adb_getcookie
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - DNS_ADBADDRINFO_VALID
    - LOCK
    - UNLOCK
    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:3261,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3262,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3264,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3265,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3266,1
    - Dst: findaddrinfo
      Src: /src/bind9/lib/dns/adb.c:3270,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    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: 3275
      start: 3258
    functionDepth: 6
    functionLinenumber: 3258
    functionLinenumberEnd: 3275
    functionName: dns_adb_findaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - findaddrinfo
    - rcu_read_unlock
    - rcu_read_lock
    - DNS_ADB_VALID
    - atomic_load
    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:3282,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3288,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3292,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:3292,1
    - Dst: free_adbaddrinfo
      Src: /src/bind9/lib/dns/adb.c:3294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - adb
    - addrp
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3295
      start: 3277
    functionDepth: 4
    functionLinenumber: 3277
    functionLinenumberEnd: 3295
    functionName: dns_adb_freeaddrinfo
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ADBADDRINFO_VALID
    - DNS_ADBENTRY_VALID
    - DNS_ADB_VALID
    - free_adbaddrinfo
    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:3299,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3299,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3301,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3303,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3304,1
    - Dst: cleanup_names
      Src: /src/bind9/lib/dns/adb.c:3308,1
    - Dst: cleanup_entries
      Src: /src/bind9/lib/dns/adb.c:3309,1
    - Dst: dump_adb
      Src: /src/bind9/lib/dns/adb.c:3311,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3314,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3315
      start: 3297
    functionDepth: 6
    functionLinenumber: 3297
    functionLinenumberEnd: 3315
    functionName: dns_adb_flush
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - cleanup_names
    - cleanup_entries
    - rcu_read_unlock
    - rcu_read_lock
    - DNS_ADB_VALID
    - dump_adb
    - atomic_load
    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:3323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3325,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3326,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3328,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3330,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3331,1
    - Dst: hash_adbname
      Src: /src/bind9/lib/dns/adb.c:3344,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/adb.c:3346,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/adb.c:3348,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/adb.c:3348,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:3352,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3353,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/adb.c:3354,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:3355,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3357,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:3358,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3374,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 2
    argNames:
    - adb
    - name
    argTypes:
    - dns_adb_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3375
      start: 3317
    functionDepth: 4
    functionLinenumber: 3317
    functionLinenumberEnd: 3375
    functionName: dns_adb_flushname
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cds_lfht_lookup
    - dns_adbname_ref
    - cds_lfht_iter_get_node
    - hash_adbname
    - dns_name_equal
    - dns_adbname_detach
    - rcu_read_unlock
    - cds_lfht_entry
    - LOCK
    - rcu_read_lock
    - DNS_ADB_VALID
    - expire_name
    - atomic_load
    - UNCONST
    - UNLOCK
    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:3379,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3380,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/adb.c:3382,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/adb.c:3384,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3385,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/adb.c:3391,1
    - Dst: dns_adbname_ref
      Src: /src/bind9/lib/dns/adb.c:3392,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/adb.c:3393,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/adb.c:3394,1
    - Dst: expire_name
      Src: /src/bind9/lib/dns/adb.c:3395,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/adb.c:3397,1
    - Dst: dns_adbname_detach
      Src: /src/bind9/lib/dns/adb.c:3398,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/adb.c:3400,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - adb
    - name
    argTypes:
    - dns_adb_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3401
      start: 3377
    functionDepth: 4
    functionLinenumber: 3377
    functionLinenumberEnd: 3401
    functionName: dns_adb_flushnames
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - cds_lfht_for_each_entry
    - dns_adbname_ref
    - dns_adbname_detach
    - rcu_read_unlock
    - LOCK
    - rcu_read_lock
    - DNS_ADB_VALID
    - expire_name
    - atomic_load
    - UNLOCK
    - dns_name_issubdomain
    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:3407,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3407,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/adb.c:3417,1
    - Dst: isc_mem_setwater
      Src: /src/bind9/lib/dns/adb.c:3419,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 2
    argNames:
    - adb
    - size
    argTypes:
    - dns_adb_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3421
      start: 3403
    functionDepth: 2
    functionLinenumber: 3403
    functionLinenumberEnd: 3421
    functionName: dns_adb_setadbsize
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - isc_mem_clearwater
    - REQUIRE
    - DNS_ADB_VALID
    - isc_mem_setwater
    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:3426,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3426,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: 3433
      start: 3423
    functionDepth: 1
    functionLinenumber: 3423
    functionLinenumberEnd: 3433
    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:3438,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3438,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3440,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3442,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3444,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3446,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/adb.c:3448,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: 3449
      start: 3435
    functionDepth: 1
    functionLinenumber: 3435
    functionLinenumberEnd: 3449
    functionName: dns_adb_getquota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ADB_VALID
    - SET_IF_NOT_NULL
    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:3453,1
    - Dst: DNS_ADBENTRY_VALID
      Src: /src/bind9/lib/dns/adb.c:3453,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/adb.c:3455,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/adb.c:3456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - dns_adbentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3459
      start: 3451
    functionDepth: 1
    functionLinenumber: 3451
    functionLinenumberEnd: 3459
    functionName: adbentry_overquota
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ADBENTRY_VALID
    - atomic_load_relaxed
    - atomic_load_acquire
    linkageType: ''
    returnType: bool
    signature: bool adbentry_overquota(dns_adbentry_t *entry)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3472,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3472,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3473,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3473,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/adb.c:3475,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3477
      start: 3468
    functionDepth: 1
    functionLinenumber: 3468
    functionLinenumberEnd: 3477
    functionName: dns_adb_beginudpfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - atomic_fetch_add_relaxed
    - INSIST
    - DNS_ADBADDRINFO_VALID
    - DNS_ADB_VALID
    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:3483,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/adb.c:3484,1
    - Dst: DNS_ADBADDRINFO_VALID
      Src: /src/bind9/lib/dns/adb.c:3484,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/adb.c:3486,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/adb.c:3487,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - adb
    - addr
    argTypes:
    - dns_adb_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3488
      start: 3479
    functionDepth: 1
    functionLinenumber: 3479
    functionLinenumberEnd: 3488
    functionName: dns_adb_endudpfetch
    functionSourceFile: /src/bind9/lib/dns/adb.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - atomic_fetch_sub_release
    - INSIST
    - DNS_ADBADDRINFO_VALID
    - DNS_ADB_VALID
    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:3492,1
    - Dst: DNS_ADB_VALID
      Src: /src/bind9/lib/dns/adb.c:3492,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - adb
    argTypes:
    - dns_adb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3495
      start: 3490
    functionDepth: 1
    functionLinenumber: 3490
    functionLinenumberEnd: 3495
    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: 89
      start: 86
    functionDepth: 0
    functionLinenumber: 86
    functionLinenumberEnd: 89
    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: 92
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 92
    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: 96
      start: 92
    functionDepth: 0
    functionLinenumber: 92
    functionLinenumberEnd: 96
    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: 100
      start: 96
    functionDepth: 0
    functionLinenumber: 96
    functionLinenumberEnd: 100
    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: 104
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 104
    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: 108
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 108
    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: 112
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 112
    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: 120
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 120
    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: 124
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 124
    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: 128
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 128
    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: 133
      start: 129
    functionDepth: 0
    functionLinenumber: 129
    functionLinenumberEnd: 133
    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: 138
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 138
    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: 143
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 143
    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: 149
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 149
    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: 155
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 155
    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: 162
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 162
    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: 169
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 169
    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: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    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: 174
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 174
    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: 178
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 178
    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: 286
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 286
    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: 287
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 287
    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: 289
      start: 287
    functionDepth: 0
    functionLinenumber: 287
    functionLinenumberEnd: 289
    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: 291
      start: 289
    functionDepth: 0
    functionLinenumber: 289
    functionLinenumberEnd: 291
    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: 304
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 304
    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: 308
      start: 307
    functionDepth: 0
    functionLinenumber: 307
    functionLinenumberEnd: 308
    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: 309
      start: 308
    functionDepth: 0
    functionLinenumber: 308
    functionLinenumberEnd: 309
    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: 310
      start: 309
    functionDepth: 0
    functionLinenumber: 309
    functionLinenumberEnd: 310
    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: 325
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 325
    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: 530
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 530
    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: 542
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 542
    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: 544
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 544
    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: 545
      start: 544
    functionDepth: 0
    functionLinenumber: 544
    functionLinenumberEnd: 545
    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: 547
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 547
    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: 549
      start: 547
    functionDepth: 0
    functionLinenumber: 547
    functionLinenumberEnd: 549
    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: 551
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 551
    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: 553
      start: 551
    functionDepth: 0
    functionLinenumber: 551
    functionLinenumberEnd: 553
    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: 555
      start: 554
    functionDepth: 0
    functionLinenumber: 554
    functionLinenumberEnd: 555
    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: 556
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 556
    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:
    - (
    - f
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 557
    functionDepth: 0
    functionLinenumber: 557
    functionLinenumberEnd: 558
    functionName: CHECKNTA
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKNTA(f)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fetch
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 572
    functionDepth: 0
    functionLinenumber: 572
    functionLinenumberEnd: 573
    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: 649
      start: 648
    functionDepth: 0
    functionLinenumber: 648
    functionLinenumberEnd: 649
    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: 664
      start: 663
    functionDepth: 0
    functionLinenumber: 663
    functionLinenumberEnd: 664
    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: 665
      start: 664
    functionDepth: 0
    functionLinenumber: 664
    functionLinenumberEnd: 665
    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: 666
      start: 665
    functionDepth: 0
    functionLinenumber: 665
    functionLinenumberEnd: 666
    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: 667
      start: 666
    functionDepth: 0
    functionLinenumber: 666
    functionLinenumberEnd: 667
    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: 668
      start: 667
    functionDepth: 0
    functionLinenumber: 667
    functionLinenumberEnd: 668
    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: 669
      start: 668
    functionDepth: 0
    functionLinenumber: 668
    functionLinenumberEnd: 669
    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: 671
      start: 670
    functionDepth: 0
    functionLinenumber: 670
    functionLinenumberEnd: 671
    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: 672
      start: 671
    functionDepth: 0
    functionLinenumber: 671
    functionLinenumberEnd: 672
    functionName: NEGATIVE
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NEGATIVE(r)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 675
    functionDepth: 0
    functionLinenumber: 675
    functionLinenumberEnd: 678
    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: 3
    argNames:
    - (
    - fctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 700
    functionDepth: 0
    functionLinenumber: 700
    functionLinenumberEnd: 701
    functionName: fctx_destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fctx_destroy(fctx)
  - 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: 724
      start: 717
    functionDepth: 0
    functionLinenumber: 717
    functionLinenumberEnd: 724
    functionName: fctx_failure_detach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fctx_failure_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: 732
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 732
    functionName: fctx_failure_unref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fctx_failure_unref(fctx, result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fctxp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 739
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 739
    functionName: fctx_success_detach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fctx_success_detach(fctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 746
      start: 740
    functionDepth: 0
    functionLinenumber: 740
    functionLinenumberEnd: 746
    functionName: fctx_success_unref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fctx_success_unref(fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 749
      start: 747
    functionDepth: 0
    functionLinenumber: 747
    functionLinenumberEnd: 749
    functionName: fetchctx_ref_unless_zero
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_ref_unless_zero(fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: urcu_ref_get_unless_zero
      Src: /src/bind9/lib/dns/resolver.c:752,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:754,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:756,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:759,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:760,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - fctx
    - func
    - file
    - line
    argTypes:
    - fetchctx_t*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 749
    functionDepth: 1
    functionLinenumber: 749
    functionLinenumberEnd: 764
    functionName: fetchctx__ref_unless_zero
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - urcu_ref_get_unless_zero
    - fprintf
    - UNUSED
    - isc_tid
    linkageType: ''
    returnType: bool
    signature: "bool fetchctx__ref_unless_zero(fetchctx_t *fctx, const char *func,
      const char *file,\n\t\t\t  const unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - source
    - ','
    - targetp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 768
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 768
    functionName: fetchctx_attach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_attach(source, targetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchctx_ref_unless_zero
      Src: /src/bind9/lib/dns/resolver.c:771,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:772,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:775,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:777,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:780,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:781,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 5
    argNames:
    - fctx
    - fctxp
    - func
    - file
    - line
    argTypes:
    - fetchctx_t*
    - fetchctx_t**
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 784
      start: 768
    functionDepth: 1
    functionLinenumber: 768
    functionLinenumberEnd: 784
    functionName: fetchctx__attach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - INSIST
    - fprintf
    - isc_tid
    - fetchctx_ref_unless_zero
    linkageType: ''
    returnType: void
    signature: "void fetchctx__attach(fetchctx_t *fctx, fetchctx_t **fctxp, const
      char *func,\n\t\t const char *file, const unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 787
      start: 786
    functionDepth: 0
    functionLinenumber: 786
    functionLinenumberEnd: 787
    functionName: fetchctx_ref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_ref(fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fetchctx_ref_unless_zero
      Src: /src/bind9/lib/dns/resolver.c:790,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:791,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:793,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:795,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:798,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:799,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - fctx
    - func
    - file
    - line
    argTypes:
    - fetchctx_t*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 803
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 803
    functionName: fetchctx__ref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - INSIST
    - fprintf
    - isc_tid
    - fetchctx_ref_unless_zero
    linkageType: ''
    returnType: fetchctx_t
    signature: "fetchctx_t *\nfetchctx__ref(fetchctx_t *fctx, const char *func, const
      char *file,\n\t      const unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/resolver.c:807,1
    - Dst: fctx_destroy
      Src: /src/bind9/lib/dns/resolver.c:808,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ref
    argTypes:
    - struct urcu_ref*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 809
    functionName: fetchctx_destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fctx_destroy
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void fetchctx_destroy(struct urcu_ref *ref)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fctxp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 810
    functionDepth: 0
    functionLinenumber: 810
    functionLinenumberEnd: 812
    functionName: fetchctx_detach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_detach(fctxp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: urcu_ref_put
      Src: /src/bind9/lib/dns/resolver.c:818,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:820,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:822,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:825,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:826,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 4
    argNames:
    - fctxp
    - func
    - file
    - line
    argTypes:
    - fetchctx_t**
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 812
    functionDepth: 1
    functionLinenumber: 812
    functionLinenumberEnd: 829
    functionName: fetchctx__detach
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - fprintf
    - UNUSED
    - urcu_ref_put
    linkageType: ''
    returnType: void
    signature: "void fetchctx__detach(fetchctx_t **fctxp, const char *func, const
      char *file,\n\t\t const unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - fctx
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 832
      start: 831
    functionDepth: 0
    functionLinenumber: 831
    functionLinenumberEnd: 832
    functionName: fetchctx_unref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: fetchctx_unref(fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: urcu_ref_put
      Src: /src/bind9/lib/dns/resolver.c:835,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:837,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:839,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:842,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:843,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 4
    argNames:
    - fctx
    - func
    - file
    - line
    argTypes:
    - fetchctx_t*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 832
    functionDepth: 1
    functionLinenumber: 832
    functionLinenumberEnd: 846
    functionName: fetchctx__unref
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - fprintf
    - UNUSED
    - urcu_ref_put
    linkageType: ''
    returnType: void
    signature: "void fetchctx__unref(fetchctx_t *fctx, const char *func, const char
      *file,\n\t\tconst unsigned int line)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/resolver.c:1094,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - res
    - counter
    argTypes:
    - dns_resolver_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1096
      start: 1091
    functionDepth: 2
    functionLinenumber: 1091
    functionLinenumberEnd: 1096
    functionName: inc_stats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 21
    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:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - res
    - counter
    argTypes:
    - dns_resolver_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1103
      start: 1098
    functionDepth: 2
    functionLinenumber: 1098
    functionLinenumberEnd: 1103
    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:1108,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: 1110
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1110
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:1121,1
    - Dst: fetchctx_attach
      Src: /src/bind9/lib/dns/resolver.c:1126,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:1137,1
    - Dst: dns_validator_create
      Src: /src/bind9/lib/dns/resolver.c:1141,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:1146,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:1147,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:1148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 7
    argNames:
    - fctx
    - message
    - addrinfo
    - name
    - type
    - rdataset
    - sigrdataset
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1149
      start: 1112
    functionDepth: 4
    functionLinenumber: 1112
    functionLinenumberEnd: 1149
    functionName: valcreate
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_validator_create
    - isc_mem_get
    - RUNTIME_CHECK
    - ISC_LIST_APPEND
    - ISC_LIST_EMPTY
    - inc_stats
    - fetchctx_attach
    linkageType: ''
    returnType: void
    signature: "void 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)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/resolver.c:1157,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1158,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/resolver.c:1162,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/resolver.c:1166,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:1170,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/resolver.c:1174,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1177,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/resolver.c:1178,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1179,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:1182,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:1185,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:1187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 25
    argCount: 1
    argNames:
    - query
    argTypes:
    - resquery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1188
      start: 1151
    functionDepth: 8
    functionLinenumber: 1151
    functionLinenumberEnd: 1188
    functionName: resquery_destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fetchctx_detach
    - ISC_LIST_UNLINK
    - atomic_fetch_sub_release
    - isc_mem_put
    - dns_dispatch_detach
    - dns_message_detach
    - ISC_LINK_LINKED
    - LOCK
    - dns_tsigkey_detach
    - isc_buffer_free
    - dns_dispatch_done
    - UNLOCK
    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:1209,1
    - Dst: dns_adb_timeout
      Src: /src/bind9/lib/dns/resolver.c:1211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - query
    argTypes:
    - resquery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1213
      start: 1200
    functionDepth: 6
    functionLinenumber: 1200
    functionLinenumberEnd: 1213
    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:1229,1
    - Dst: isc_time_add
      Src: /src/bind9/lib/dns/resolver.c:1230,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:1232,1
    - Dst: isc_time_compare
      Src: /src/bind9/lib/dns/resolver.c:1233,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1234,1
    - Dst: isc_time_subtract
      Src: /src/bind9/lib/dns/resolver.c:1236,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/resolver.c:1239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1223
    functionDepth: 3
    functionLinenumber: 1223
    functionLinenumberEnd: 1240
    functionName: fctx_starttimer
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_time_now
    - isc_time_compare
    - isc_timer_start
    - isc_time_add
    - isc_time_subtract
    - isc_interval_set
    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:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1245
      start: 1242
    functionDepth: 2
    functionLinenumber: 1242
    functionLinenumberEnd: 1245
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:1252,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1254,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:1259,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1263,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:1277,1
    - Dst: isc_histomulti_inc
      Src: /src/bind9/lib/dns/resolver.c:1283,1
    - Dst: update_edns_stats
      Src: /src/bind9/lib/dns/resolver.c:1293,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:1301,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:1303,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1312,1
    - Dst: isc_random32
      Src: /src/bind9/lib/dns/resolver.c:1313,1
    - Dst: EDNSOK
      Src: /src/bind9/lib/dns/resolver.c:1335,1
    - Dst: dns_adb_adjustsrtt
      Src: /src/bind9/lib/dns/resolver.c:1354,1
    - Dst: dns_adb_endudpfetch
      Src: /src/bind9/lib/dns/resolver.c:1359,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1366,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1367,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1368,1
    - Dst: TRIEDFIND
      Src: /src/bind9/lib/dns/resolver.c:1373,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1374,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1375,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1376,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1377,1
    - Dst: TRIEDALT
      Src: /src/bind9/lib/dns/resolver.c:1384,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1385,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1386,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1387,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1390,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1391,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:1392,1
    - Dst: dns_adb_agesrtt
      Src: /src/bind9/lib/dns/resolver.c:1393,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:1405,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1408,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/resolver.c:1409,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1410,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1412,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:1414,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 99
    argCount: 4
    argNames:
    - queryp
    - finish
    - no_response
    - age_untried
    argTypes:
    - resquery_t**
    - isc_time_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1247
    functionDepth: 8
    functionLinenumber: 1247
    functionLinenumberEnd: 1415
    functionName: fctx_cancelquery
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_time_microdiff
    - dns_adb_agesrtt
    - ISC_LIST_UNLINK
    - INSIST
    - dns_adb_endudpfetch
    - ISC_LINK_LINKED
    - TRIEDALT
    - dns_adb_adjustsrtt
    - UNLOCK
    - FCTXTRACE
    - TRIEDFIND
    - UNMARKED
    - ISFORWARDER
    - isc_random32
    - RESQUERY_CANCELED
    - resquery_detach
    - isc_stdtime_now
    - LOCK
    - isc_histomulti_inc
    - update_edns_stats
    - add_bad
    - EDNSOK
    - ISC_LIST_FOREACH
    - dns_dispatch_done
    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:1419,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:1419,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1421,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1422,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:1423,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:1424,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1428,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1429,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:1430,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:1431,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1435,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1436,1
    - Dst: dns_adb_freeaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:1437,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1440,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1441,1
    - Dst: dns_adb_freeaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1444
      start: 1417
    functionDepth: 5
    functionLinenumber: 1417
    functionLinenumberEnd: 1444
    functionName: fctx_cleanup
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - fetchctx_unref
    - ISC_LIST_EMPTY
    - dns_adb_freeaddrinfo
    - ISC_LIST_FOREACH
    - dns_adb_destroyfind
    linkageType: ''
    returnType: void
    signature: void fctx_cleanup(fetchctx_t *fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST
      Src: /src/bind9/lib/dns/resolver.c:1448,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1450,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:1452,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1458,1
    - Dst: ISC_LIST_MOVE
      Src: /src/bind9/lib/dns/resolver.c:1459,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1460,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1468,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1469,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: 1471
      start: 1446
    functionDepth: 9
    functionLinenumber: 1446
    functionLinenumberEnd: 1471
    functionName: fctx_cancelqueries
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - FCTXTRACE
    - LOCK
    - ISC_LIST_MOVE
    - ISC_LIST_INIT
    - ISC_LIST
    - fctx_cancelquery
    - UNLOCK
    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:1468,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1470
      start: 1462
    functionDepth: 9
    functionLinenumber: 1462
    functionLinenumberEnd: 1470
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 240
    functionsReached:
    - ISC_LIST_UNLINK
    - fctx_cancelquery
    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:1478,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:1488,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:1493,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1496,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1506,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 3
    argNames:
    - fctx
    - counter
    - final
    argTypes:
    - fetchctx_t*
    - fctxcount_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1515
      start: 1473
    functionDepth: 2
    functionLinenumber: 1473
    functionLinenumberEnd: 1515
    functionName: fcount_logspill
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - dns_name_format
    - 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:1522,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1517
    functionDepth: 1
    functionLinenumber: 1517
    functionLinenumberEnd: 1523
    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:1534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1536,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1537,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:1540,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/resolver.c:1545,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:1547,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/resolver.c:1548,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:1554,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:1558,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:1559,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:1560,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:1561,1
    - Dst: UPGRADELOCK
      Src: /src/bind9/lib/dns/resolver.c:1563,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/resolver.c:1566,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:1569,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:1570,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1576,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:1579,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1581,1
    - Dst: VALID_FCTXCOUNT
      Src: /src/bind9/lib/dns/resolver.c:1581,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1583,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1584,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1587,1
    - Dst: fcount_logspill
      Src: /src/bind9/lib/dns/resolver.c:1589,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1595,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1596,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 51
    argCount: 2
    argNames:
    - fctx
    - force
    argTypes:
    - fetchctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1525
    functionDepth: 5
    functionLinenumber: 1525
    functionLinenumberEnd: 1599
    functionName: fcount_incr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_name_copy
    - INSIST
    - UPGRADELOCK
    - isc_mem_putanddetach
    - VALID_FCTXCOUNT
    - UNLOCK
    - RWLOCK
    - isc_hashmap_add
    - dns_name_hash
    - atomic_load_acquire
    - LOCK
    - UNREACHABLE
    - isc_mutex_init
    - RWUNLOCK
    - isc_mem_get
    - fcount_logspill
    - isc_hashmap_find
    - dns_fixedname_initname
    - isc_mutex_destroy
    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: 1604
      start: 1601
    functionDepth: 0
    functionLinenumber: 1601
    functionLinenumberEnd: 1604
    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:1608,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:1622,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1624,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1625,1
    - Dst: VALID_FCTXCOUNT
      Src: /src/bind9/lib/dns/resolver.c:1625,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1626,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1628,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1629,1
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/resolver.c:1633,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/resolver.c:1634,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1636,1
    - Dst: fcount_logspill
      Src: /src/bind9/lib/dns/resolver.c:1638,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1639,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:1641,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:1642,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1606
    functionDepth: 4
    functionLinenumber: 1606
    functionLinenumberEnd: 1645
    functionName: fcount_decr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - isc_hashmap_delete
    - RWLOCK
    - INSIST
    - fcount_logspill
    - dns_name_hash
    - LOCK
    - isc_mem_putanddetach
    - VALID_FCTXCOUNT
    - isc_mutex_destroy
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void fcount_decr(fetchctx_t *fctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:1654,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:1656,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/resolver.c:1657,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1659,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:1660,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1663,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:1665,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - fctx
    - resp
    argTypes:
    - fetchctx_t*
    - dns_fetchresponse_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1667
      start: 1650
    functionDepth: 1
    functionLinenumber: 1650
    functionLinenumberEnd: 1667
    functionName: copy_to_resp
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_db_attach
    - dns_rdataset_isassociated
    - dns_rdataset_clone
    - dns_db_attachnode
    linkageType: ''
    returnType: void
    signature: void copy_to_resp(fetchctx_t *fctx, dns_fetchresponse_t *resp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1671,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:1672,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1674,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:1675,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1678,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/resolver.c:1681,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:1683,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 2
    argNames:
    - resp
    - fctx
    argTypes:
    - dns_fetchresponse_t*
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1684
    functionName: pull_from_resp
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_rdataset_isassociated
    - INSIST
    - dns_rdataset_clone
    - dns_db_attachnode
    linkageType: ''
    returnType: void
    signature: void pull_from_resp(dns_fetchresponse_t *resp, fetchctx_t *fctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1695,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1697,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1699,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:1705,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:1706,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1708,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:1709,1
    - Dst: copy_to_resp
      Src: /src/bind9/lib/dns/resolver.c:1712,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:1717,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1721,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1722,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:1723,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:1728,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:1729,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:1731,1
    - Dst: dns_ede_copy
      Src: /src/bind9/lib/dns/resolver.c:1740,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1743,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:1744,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1746,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:1748,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1751,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:1753,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/resolver.c:1771,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/resolver.c:1772,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1775,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/resolver.c:1776,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1780,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1782,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 2
    argNames:
    - fctx
    - result
    argTypes:
    - fetchctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1788
      start: 1686
    functionDepth: 3
    functionLinenumber: 1686
    functionLinenumberEnd: 1788
    functionName: fctx_sendevents
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_time_microdiff
    - ISC_LIST_UNLINK
    - dns_ede_copy
    - INSIST
    - copy_to_resp
    - isc_loop
    - UNLOCK
    - isc_timer_create
    - FCTXTRACE
    - dns_rdataset_isassociated
    - isc_time_now
    - NEGATIVE
    - isc_timer_start
    - atomic_load_acquire
    - LOCK
    - isc_log_write
    - isc_interval_set
    - dns_rdatatype_ismulti
    - HAVE_ANSWER
    - isc_async_run
    - ISC_LIST_FOREACH
    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:1793,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/resolver.c:1794,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/resolver.c:1795,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/resolver.c:1796,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/resolver.c:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1790
    functionDepth: 2
    functionLinenumber: 1790
    functionLinenumberEnd: 1798
    functionName: fctx_hash
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_hash32_finalize
    - isc_hash32_init
    - isc_hash32_hash
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t fctx_hash(fetchctx_t *fctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/resolver.c:1802,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:1807,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - key
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1800
    functionDepth: 1
    functionLinenumber: 1800
    functionLinenumberEnd: 1808
    functionName: fctx_match
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - caa_container_of
    linkageType: ''
    returnType: int
    signature: int fctx_match(struct cds_lfht_node *ht_node, const void *key)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1816,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1817,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:1817,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1819,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:1822,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:1823,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1825,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1826,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1827,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:1831,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1835,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:1839,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/resolver.c:1842,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:1844,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:1848,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:1853,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1877,1
    - Dst: dns_adb_cancelfind
      Src: /src/bind9/lib/dns/resolver.c:1878,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:1882,1
    - Dst: fctx_stoptimer
      Src: /src/bind9/lib/dns/resolver.c:1883,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:1888,1
    - Dst: dns_validator_cancel
      Src: /src/bind9/lib/dns/resolver.c:1889,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/resolver.c:1893,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/resolver.c:1897,1
    - Dst: fctx_sendevents
      Src: /src/bind9/lib/dns/resolver.c:1904,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:1905,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:1907,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 49
    argCount: 5
    argNames:
    - fctx
    - result
    - func
    - file
    - line
    argTypes:
    - fetchctx_t*
    - isc_result_t
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1910
      start: 1810
    functionDepth: 10
    functionLinenumber: 1810
    functionLinenumberEnd: 1910
    functionName: fctx__done
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_timer_destroy
    - fprintf
    - dns_validator_cancel
    - fctx_stoptimer
    - cds_lfht_del
    - UNLOCK
    - FCTXTRACE
    - fctx_cleanup
    - FCTX_ATTR_CLR
    - isc_result_totext
    - dns_adb_cancelfind
    - LOCK
    - isc_tid
    - isc_log_write
    - dns_resolver_cancelfetch
    - fctx_sendevents
    - ISC_LIST_FOREACH
    - fctx_cancelqueries
    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:1918,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:1920,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1922,1
    - Dst: VALID_QUERY
      Src: /src/bind9/lib/dns/resolver.c:1922,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1924,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:1924,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:1925,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:1925,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:1927,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:1951,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:1954,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1956,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:1957,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:1958,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:1962,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:1965,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:1966,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:1971,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: 1972
      start: 1912
    functionDepth: 9
    functionLinenumber: 1912
    functionLinenumberEnd: 1972
    functionName: resquery_senddone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - UNUSED
    - resquery_detach
    - add_bad
    - fctx_failure_detach
    - VALID_QUERY
    - isc_tid
    - fctx_try
    - RESQUERY_CANCELED
    - QTRACE
    - fctx_cancelquery
    - FCTX_ATTR_CLR
    - FCTXTRACE3
    linkageType: ''
    returnType: void
    signature: void resquery_senddone(isc_result_t eresult, isc_region_t *region,
      void *arg)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:1983,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:1984,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:1986,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:1987,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:2039,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 38
    argCount: 2
    argNames:
    - fctx
    - rtt
    argTypes:
    - fetchctx_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2040
      start: 1974
    functionDepth: 3
    functionLinenumber: 1974
    functionLinenumberEnd: 2040
    functionName: fctx_setretryinterval
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_time_now
    - isc_time_microdiff
    - FCTXTRACE
    linkageType: ''
    returnType: void
    signature: void fctx_setretryinterval(fetchctx_t *fctx, unsigned int rtt)
  - BBCount: 38
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2057,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/resolver.c:2064,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:2082,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:2083,1
    - Dst: dns_dns64_aaaafroma
      Src: /src/bind9/lib/dns/resolver.c:2088,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:2097,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/resolver.c:2101,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/resolver.c:2102,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:2106,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:2108,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:2109,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:2123,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:2124,1
    - Dst: dns_peer_getquerysource
      Src: /src/bind9/lib/dns/resolver.c:2127,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/resolver.c:2131,1
    - Dst: triededns
      Src: /src/bind9/lib/dns/resolver.c:2149,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:2168,1
    - Dst: fctx_setretryinterval
      Src: /src/bind9/lib/dns/resolver.c:2172,1
    - Dst: isc_interval_iszero
      Src: /src/bind9/lib/dns/resolver.c:2173,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2174,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:2175,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2179,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:2179,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:2181,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:2189,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/resolver.c:2192,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/resolver.c:2199,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:2202,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:2212,1
    - Dst: dns_dispatch_getlocaladdress
      Src: /src/bind9/lib/dns/resolver.c:2216,1
    - Dst: dns_dispatch_getlocaladdress
      Src: /src/bind9/lib/dns/resolver.c:2220,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/resolver.c:2231,1
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/lib/dns/resolver.c:2233,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2241,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/lib/dns/resolver.c:2244,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:2250,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/resolver.c:2252,1
    - Dst: dns_resolver_dispatchv4
      Src: /src/bind9/lib/dns/resolver.c:2253,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/resolver.c:2257,1
    - Dst: dns_resolver_dispatchv6
      Src: /src/bind9/lib/dns/resolver.c:2258,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2274,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:2277,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2278,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:2278,1
    - Dst: fetchctx_attach
      Src: /src/bind9/lib/dns/resolver.c:2279,1
    - Dst: dns_adb_overquota
      Src: /src/bind9/lib/dns/resolver.c:2283,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:2284,1
    - Dst: dns_adb_beginudpfetch
      Src: /src/bind9/lib/dns/resolver.c:2290,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:2293,1
    - Dst: atomic_fetch_add_relaxed
      Src: /src/bind9/lib/dns/resolver.c:2294,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:2295,1
    - Dst: isc_interval_ms
      Src: /src/bind9/lib/dns/resolver.c:2298,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/resolver.c:2299,1
    - Dst: resquery_ref
      Src: /src/bind9/lib/dns/resolver.c:2309,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/resolver.c:2310,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:2315,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:2318,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:2321,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:2325,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:2327,1
    - Dst: resquery_unref
      Src: /src/bind9/lib/dns/resolver.c:2328,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:2331,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:2337,1
    - Dst: dns_adb_endudpfetch
      Src: /src/bind9/lib/dns/resolver.c:2340,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:2345,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/resolver.c:2346,1
    - Dst: atomic_fetch_sub_release
      Src: /src/bind9/lib/dns/resolver.c:2347,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:2348,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:2350,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:2353,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/resolver.c:2356,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:2361,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:2362,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 180
    argCount: 3
    argNames:
    - fctx
    - addrinfo
    - options
    argTypes:
    - fetchctx_t*
    - dns_adbaddrinfo_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2365
      start: 2045
    functionDepth: 11
    functionLinenumber: 2045
    functionLinenumberEnd: 2365
    functionName: fctx_query
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_setport
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - dns_adb_endudpfetch
    - fprintf
    - dns_dispatch_getlocaladdress
    - dns_dispatch_add
    - ISC_LINK_LINKED
    - ISC_LOG_DEBUG
    - dns_dispatch_detach
    - isc_sockaddr_format
    - isc_sockaddr_fromin6
    - fetchctx_attach
    - UNLOCK
    - dns_peer_getquerysource
    - dns_dispatch_attach
    - atomic_fetch_sub_release
    - FCTXTRACE
    - RUNTIME_CHECK
    - dns_resolver_dispatchv4
    - ISFORWARDER
    - ntohs
    - isc_sockaddr_pf
    - RESQUERY_CANCELED
    - fctx_setretryinterval
    - dns_dispatch_connect
    - isc_result_totext
    - dns_transport_get_type
    - triededns
    - isc_time_now
    - SHUTTINGDOWN
    - dns_peer_getforcetcp
    - atomic_fetch_add_relaxed
    - isc_interval_ms
    - dns_dispatch_createudp
    - dns_message_create
    - fetchctx_detach
    - dns_message_detach
    - ISC_LIST_HEAD
    - isc_netaddr_fromsockaddr
    - isc_interval_iszero
    - isc_log_write
    - dns_dns64_aaaafroma
    - ISC_LIST_EMPTY
    - dns_dispatch_createtcp
    - LOCK
    - isc_log_wouldlog
    - dns_adb_overquota
    - dns_peerlist_peerbyaddr
    - isc_refcount_init
    - isc_mem_get
    - dns_ede_add
    - dns_resolver_dispatchv6
    - ISC_LIST_APPEND
    - resquery_ref
    - dns_adb_beginudpfetch
    - dns_dispatch_done
    - resquery_unref
    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:2369,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/resolver.c:2370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fctx
    - address
    argTypes:
    - fetchctx_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2376
      start: 2367
    functionDepth: 2
    functionLinenumber: 2367
    functionLinenumberEnd: 2376
    functionName: triededns
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_FOREACH
    - isc_sockaddr_equal
    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:2380,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:2386,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/resolver.c:2389,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - fctx
    - address
    argTypes:
    - fetchctx_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2390
      start: 2378
    functionDepth: 3
    functionLinenumber: 2378
    functionLinenumberEnd: 2390
    functionName: add_triededns
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_INITANDAPPEND
    - triededns
    - isc_mem_get
    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:2395,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2398,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:2399,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:2402,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:2403,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:2406,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: 2409
      start: 2392
    functionDepth: 2
    functionLinenumber: 2392
    functionLinenumberEnd: 2409
    functionName: addr2buf
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - UNREACHABLE
    - memmove
    - isc_netaddr_fromsockaddr
    - INSIST
    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:2413,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: 2414
      start: 2411
    functionDepth: 3
    functionLinenumber: 2411
    functionLinenumberEnd: 2414
    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:2425,1
    - Dst: STATIC_ASSERT
      Src: /src/bind9/lib/dns/resolver.c:2426,1
    - Dst: add_serveraddr
      Src: /src/bind9/lib/dns/resolver.c:2432,1
    - Dst: isc_siphash24
      Src: /src/bind9/lib/dns/resolver.c:2435,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:2437,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: 2438
      start: 2423
    functionDepth: 4
    functionLinenumber: 2423
    functionLinenumberEnd: 2438
    functionName: compute_cc
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_siphash24
    - INSIST
    - add_serveraddr
    - 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:2452,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:2453,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:2454,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:2455,1
    - Dst: dns_view_issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:2459,1
    - Dst: CHECKNTA
      Src: /src/bind9/lib/dns/resolver.c:2460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - fctx
    - name
    - type
    - now
    - ntap
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2461
      start: 2440
    functionDepth: 2
    functionLinenumber: 2440
    functionLinenumberEnd: 2461
    functionName: issecuredomain
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - dns_name_init
    - dns_rdatatype_atparent
    - dns_view_issecuredomain
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - CHECKNTA
    linkageType: ''
    returnType: bool
    signature: "bool issecuredomain(fetchctx_t *fctx, const dns_name_t *name, dns_rdatatype_t
      type,\n\t       isc_stdtime_t now, bool *ntap)"
  - BBCount: 50
    BranchProfiles: []
    Callsites:
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:2488,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:2490,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2491,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/resolver.c:2495,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/resolver.c:2496,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/resolver.c:2503,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/resolver.c:2504,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:2505,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/resolver.c:2506,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:2513,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/dns/resolver.c:2543,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:2545,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/dns/resolver.c:2546,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/resolver.c:2551,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:2557,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:2558,1
    - Dst: dns_peer_getsupportedns
      Src: /src/bind9/lib/dns/resolver.c:2566,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:2570,1
    - Dst: triededns
      Src: /src/bind9/lib/dns/resolver.c:2584,1
    - Dst: dns_adb_getudpsize
      Src: /src/bind9/lib/dns/resolver.c:2593,1
    - Dst: dns_peer_getudpsize
      Src: /src/bind9/lib/dns/resolver.c:2637,1
    - Dst: dns_peer_getednsversion
      Src: /src/bind9/lib/dns/resolver.c:2652,1
    - Dst: dns_peer_getrequestnsid
      Src: /src/bind9/lib/dns/resolver.c:2659,1
    - Dst: dns_peer_getrequestzoneversion
      Src: /src/bind9/lib/dns/resolver.c:2660,1
    - Dst: dns_peer_getsendcookie
      Src: /src/bind9/lib/dns/resolver.c:2662,1
    - Dst: NOCOOKIE
      Src: /src/bind9/lib/dns/resolver.c:2664,1
    - Dst: dns_message_ednsinit
      Src: /src/bind9/lib/dns/resolver.c:2669,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/resolver.c:2676,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/resolver.c:2686,1
    - Dst: dns_adb_getcookie
      Src: /src/bind9/lib/dns/resolver.c:2696,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2701,1
    - Dst: compute_cc
      Src: /src/bind9/lib/dns/resolver.c:2705,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2709,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/resolver.c:2713,1
    - Dst: dns_peer_gettcpkeepalive
      Src: /src/bind9/lib/dns/resolver.c:2722,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/resolver.c:2729,1
    - Dst: dns_peer_getpadding
      Src: /src/bind9/lib/dns/resolver.c:2739,1
    - Dst: dns_message_ednsaddopt
      Src: /src/bind9/lib/dns/resolver.c:2745,1
    - Dst: dns_message_setpadding
      Src: /src/bind9/lib/dns/resolver.c:2750,1
    - Dst: dns_message_setopt
      Src: /src/bind9/lib/dns/resolver.c:2753,1
    - Dst: add_triededns
      Src: /src/bind9/lib/dns/resolver.c:2790,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/resolver.c:2802,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/resolver.c:2808,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/resolver.c:2809,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/resolver.c:2815,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/dns/resolver.c:2821,1
    - Dst: memset
      Src: /src/bind9/lib/dns/resolver.c:2827,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:2828,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/resolver.c:2829,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/resolver.c:2830,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/resolver.c:2832,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/resolver.c:2836,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/resolver.c:2837,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/resolver.c:2837,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/resolver.c:2839,1
    - Dst: dns_dispentry_getlocaladdress
      Src: /src/bind9/lib/dns/resolver.c:2849,1
    - Dst: dns_message_logpacketfromto
      Src: /src/bind9/lib/dns/resolver.c:2854,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:2857,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/resolver.c:2862,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/resolver.c:2863,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/resolver.c:2865,1
    - Dst: resquery_ref
      Src: /src/bind9/lib/dns/resolver.c:2867,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/lib/dns/resolver.c:2868,1
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:2870,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:2876,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/resolver.c:2884,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/dns/resolver.c:2891,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/resolver.c:2898,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/resolver.c:2900,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/resolver.c:2905,1
    CyclomaticComplexity: 74
    EdgeCount: 74
    ICount: 229
    argCount: 1
    argNames:
    - query
    argTypes:
    - resquery_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2908
      start: 2463
    functionDepth: 8
    functionLinenumber: 2463
    functionLinenumberEnd: 2908
    functionName: resquery_send
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_message_getquerytsig
    - dns_message_renderend
    - add_triededns
    - dns_message_ednsinit
    - dns_adb_getudpsize
    - dns_dispentry_getlocaladdress
    - dns_message_reset
    - dns_dispatch_done
    - ISC_LOG_DEBUG
    - compute_cc
    - dns_view_getpeertsig
    - memset
    - dns_adb_changeflags
    - NOCOOKIE
    - dns_message_setopt
    - FCTXTRACE
    - dns_peer_getpadding
    - dns_peer_getsupportedns
    - dns_message_logpacketfromto
    - dns_peer_getudpsize
    - dns_message_rendersection
    - dns_adb_getcookie
    - dns_tsigkey_detach
    - ISFORWARDER
    - dns_peer_getednsversion
    - QTRACE
    - dns_message_gettempname
    - dns_tsigkey_attach
    - inc_stats
    - dns_peer_gettcpkeepalive
    - isc_buffer_init
    - dns_dt_send
    - dns_peer_getsendcookie
    - dns_rdataset_makequestion
    - triededns
    - dns_message_gettsigkey
    - dns_compress_invalidate
    - dns_transport_get_type
    - isc_netaddr_fromsockaddr
    - atomic_load_acquire
    - dns_name_towire
    - dns_peer_getrequestnsid
    - dns_message_settsigkey
    - dns_compress_setpermitted
    - dns_name_clone
    - dns_peerlist_peerbyaddr
    - dns_message_addname
    - dns_message_setpadding
    - ISC_LIST_APPEND
    - dns_message_renderbegin
    - dns_dispatch_send
    - isc_buffer_usedregion
    - resquery_ref
    - dns_message_gettemprdataset
    - dns_peer_getrequestzoneversion
    - dns_message_ednsaddopt
    - dns_compress_init
    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:2919,1
    - Dst: VALID_QUERY
      Src: /src/bind9/lib/dns/resolver.c:2919,1
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:2921,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:2923,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:2927,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:2927,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:2928,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:2928,1
    - Dst: RESQUERY_CANCELED
      Src: /src/bind9/lib/dns/resolver.c:2932,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:2936,1
    - Dst: resquery_send
      Src: /src/bind9/lib/dns/resolver.c:2962,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:2964,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:2967,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:2968,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:2974,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2976,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:2978,1
    - Dst: dns_rdatatypestats_increment
      Src: /src/bind9/lib/dns/resolver.c:2981,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:2988,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:2989,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:2990,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:3005,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:3008,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:3010,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:3012,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:3013,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:3017,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:3021,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:3022,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:3027,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: 3028
      start: 2910
    functionDepth: 9
    functionLinenumber: 2910
    functionLinenumberEnd: 3028
    functionName: resquery_connected
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - VALID_FCTX
    - FCTXTRACE
    - dns_rdatatypestats_increment
    - VALID_QUERY
    - isc_sockaddr_pf
    - RESQUERY_CANCELED
    - QTRACE
    - FCTX_ATTR_CLR
    - fctx_failure_detach
    - inc_stats
    - resquery_send
    - resquery_detach
    - atomic_load_acquire
    - isc_tid
    - fctx_try
    - fctx_cancelquery
    - add_bad
    - FCTXTRACE3
    linkageType: ''
    returnType: void
    signature: void resquery_connected(isc_result_t eresult, isc_region_t *region,
      void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3037,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:3041,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3046,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3030
    functionDepth: 1
    functionLinenumber: 3030
    functionLinenumberEnd: 3055
    functionName: fctx_finddone_fail
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - FCTX_ATTR_CLR
    - ISC_LIST_EMPTY
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fctx_finddone_fail(fetchctx_t *fctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:3063,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:3063,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3065,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:3067,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:3067,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:3069,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/resolver.c:3070,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:3077,1
    - Dst: ADDRWAIT
      Src: /src/bind9/lib/dns/resolver.c:3080,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3084,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:3084,1
    - Dst: dns_adb_findstatus
      Src: /src/bind9/lib/dns/resolver.c:3085,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:3086,1
    - Dst: fctx_finddone_fail
      Src: /src/bind9/lib/dns/resolver.c:3089,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:3092,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:3099,1
    - Dst: FCTXTRACE2
      Src: /src/bind9/lib/dns/resolver.c:3102,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:3103,1
    - Dst: fctx_failure_unref
      Src: /src/bind9/lib/dns/resolver.c:3104,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3108,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:3110,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3111
      start: 3057
    functionDepth: 5
    functionLinenumber: 3057
    functionLinenumberEnd: 3111
    functionName: fctx_finddone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LINK_LINKED
    - dns_adb_findstatus
    - UNLOCK
    - fctx_finddone_fail
    - VALID_FCTX
    - FCTXTRACE
    - ADDRWAIT
    - FCTX_ATTR_CLR
    - isc_result_totext
    - dns_adb_destroyfind
    - fetchctx_detach
    - SHUTTINGDOWN
    - FCTXTRACE2
    - LOCK
    - isc_tid
    - fctx_try
    - fctx_failure_unref
    linkageType: ''
    returnType: void
    signature: void fctx_finddone(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3115,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/resolver.c:3116,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - fctx
    - address
    argTypes:
    - fetchctx_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3122
      start: 3113
    functionDepth: 2
    functionLinenumber: 3113
    functionLinenumberEnd: 3122
    functionName: bad_server
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_FOREACH
    - isc_sockaddr_equal
    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:3142,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3143,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:3144,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3155,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:3156,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3166,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3167,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:3168,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3176,1
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:3177,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3185
      start: 3124
    functionDepth: 3
    functionLinenumber: 3124
    functionLinenumberEnd: 3185
    functionName: mark_bad
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_FOREACH
    - bad_server
    linkageType: ''
    returnType: bool
    signature: bool mark_bad(fetchctx_t *fctx)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: bad_server
      Src: /src/bind9/lib/dns/resolver.c:3227,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3234,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:3236,1
    - Dst: ISC_LIST_INITANDAPPEND
      Src: /src/bind9/lib/dns/resolver.c:3238,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:3245,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:3251,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/resolver.c:3252,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:3253,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:3256,1
    - Dst: dns_opcode_totext
      Src: /src/bind9/lib/dns/resolver.c:3257,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:3258,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:3263,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:3264,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:3265,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:3266,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3267,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:3269,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: 3271
      start: 3187
    functionDepth: 3
    functionLinenumber: 3187
    functionLinenumberEnd: 3271
    functionName: add_bad
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - FCTXTRACE
    - dns_rcode_totext
    - isc_mem_get
    - isc_buffer_usedlength
    - dns_name_format
    - dns_rdatatype_format
    - isc_log_write
    - ISFORWARDER
    - dns_rdataclass_format
    - bad_server
    - ISC_LIST_INITANDAPPEND
    - isc_sockaddr_format
    - dns_opcode_totext
    - isc_buffer_init
    - isc_result_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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - find
    - type
    argTypes:
    - dns_adbfind_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3309
      start: 3295
    functionDepth: 0
    functionLinenumber: 3295
    functionLinenumberEnd: 3309
    functionName: already_waiting_for
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool already_waiting_for(dns_adbfind_t *find, dns_rdatatype_t type)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3321,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:3330,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3351,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:3351,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:3352,1
    - Dst: dns_adb_createfind
      Src: /src/bind9/lib/dns/resolver.c:3353,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3358,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:3359,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:3361,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3370,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:3372,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3373,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:3379,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3383,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3388,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3390,1
    - Dst: isc_sockaddr_setport
      Src: /src/bind9/lib/dns/resolver.c:3393,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3400,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3402,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:3404,1
    - Dst: already_waiting_for
      Src: /src/bind9/lib/dns/resolver.c:3416,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:3417,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3419,1
    - Dst: dns_adb_cancelfind
      Src: /src/bind9/lib/dns/resolver.c:3425,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3427,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:3428,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3440,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:3460,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3476,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:3477,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 73
    argCount: 11
    argNames:
    - fctx
    - name
    - port
    - options
    - flags
    - now
    - overquota
    - need_alternate
    - have_address
    - maxfindlen
    - findlen
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    - in_port_t
    - unsigned int
    - unsigned int
    - isc_stdtime_t
    - bool*
    - bool*
    - bool*
    - size_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3478
      start: 3311
    functionDepth: 6
    functionLinenumber: 3311
    functionLinenumberEnd: 3478
    functionName: findname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 12
    functionsReached:
    - isc_sockaddr_setport
    - INSIST
    - SET_IF_NOT_NULL
    - ISC_LOG_DEBUG
    - FCTXTRACE
    - dns_name_format
    - fetchctx_ref
    - isc_result_totext
    - dns_adb_destroyfind
    - dns_name_issubdomain
    - fetchctx_detach
    - already_waiting_for
    - SHUTTINGDOWN
    - dns_name_equal
    - dns_adb_cancelfind
    - dns_adb_createfind
    - ISC_LIST_EMPTY
    - isc_log_write
    - ISC_LIST_APPEND
    - ISC_LIST_FOREACH
    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, bool *have_address,\n\t size_t maxfindlen,
      size_t *findlen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:3486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3488
      start: 3480
    functionDepth: 1
    functionLinenumber: 3480
    functionLinenumberEnd: 3488
    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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3502
      start: 3490
    functionDepth: 0
    functionLinenumber: 3490
    functionLinenumberEnd: 3502
    functionName: fctx_getaddresses_allowed
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t fctx_getaddresses_allowed(fetchctx_t *fctx)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3512,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:3523,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:3524,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:3527,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:3528,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:3529,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/lib/dns/resolver.c:3533,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3536,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:3538,1
    - Dst: isstrictsubdomain
      Src: /src/bind9/lib/dns/resolver.c:3540,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:3542,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:3543,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:3544,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:3546,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:3550,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3557,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3560,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3563,1
    - Dst: dns_adb_findaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:3567,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/resolver.c:3572,1
    - Dst: dns_adb_freeaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:3576,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3580,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3582,1
    - Dst: ISC_LIST_INSERTBEFORE
      Src: /src/bind9/lib/dns/resolver.c:3585,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3588,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3592,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 57
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3596
      start: 3504
    functionDepth: 7
    functionLinenumber: 3504
    functionLinenumberEnd: 3596
    functionName: fctx_getaddresses_forwarders
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - fcount_decr
    - dns_name_init
    - dns_rdatatype_atparent
    - fcount_incr
    - dns_adb_findaddrinfo
    - dns_view_gettransport
    - ISC_LIST_APPEND
    - ISC_LIST_HEAD
    - dns_fwdtable_find
    - dns_name_getlabelsequence
    - ISC_LIST_NEXT
    - dns_adb_freeaddrinfo
    - ISC_LIST_INSERTBEFORE
    - dns_forwarders_detach
    - isc_sockaddr_pf
    - isstrictsubdomain
    - dns_name_countlabels
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fctx_getaddresses_forwarders(fetchctx_t *fctx)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3609,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3624,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:3628,1
    - Dst: dns_adb_createaddrinfosfind
      Src: /src/bind9/lib/dns/resolver.c:3629,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:3634,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3643,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:3644,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/resolver.c:3645,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3650,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3651,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3654,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/resolver.c:3655,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 36
    argCount: 5
    argNames:
    - fctx
    - now
    - options
    - allspilledp
    - ns_processed
    argTypes:
    - fetchctx_t*
    - isc_stdtime_t
    - unsigned int
    - bool*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3657
      start: 3598
    functionDepth: 7
    functionLinenumber: 3598
    functionLinenumberEnd: 3657
    functionName: fctx_getaddresses_addresses
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_adb_createaddrinfosfind
    - fetchctx_unref
    - INSIST
    - ISC_LIST_APPEND
    - ISC_LIST_APPENDLIST
    - ISC_LIST_EMPTY
    - ISC_LIST_FOREACH
    - fetchctx_ref
    - dns_adb_destroyfind
    linkageType: ''
    returnType: void
    signature: "void fctx_getaddresses_addresses(fetchctx_t *fctx, isc_stdtime_t now,\n\t\t\t
      \   unsigned int options, bool *allspilledp,\n\t\t\t    size_t *ns_processed)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3679,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3686,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3690,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/resolver.c:3708,1
    - Dst: ISC_SWAP
      Src: /src/bind9/lib/dns/resolver.c:3710,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:3727,1
    - Dst: findname
      Src: /src/bind9/lib/dns/resolver.c:3740,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3749,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 44
    argCount: 7
    argNames:
    - fctx
    - now
    - stdoptions
    - fetches_allowed
    - need_alternatep
    - all_spilledp
    - ns_processed
    argTypes:
    - fetchctx_t*
    - isc_stdtime_t
    - unsigned int
    - size_t
    - bool*
    - bool*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3762
      start: 3659
    functionDepth: 1
    functionLinenumber: 3659
    functionLinenumberEnd: 3762
    functionName: fctx_getaddresses_nameservers
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_random_uniform
    - dns_name_equal
    - INSIST
    - ISC_LIST_EMPTY
    - ISC_SWAP
    - ISC_LIST_FOREACH
    - findname
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t fctx_getaddresses_nameservers(fetchctx_t *fctx, isc_stdtime_t
      now,\n\t\t\t      unsigned int stdoptions, size_t fetches_allowed,\n\t\t\t      bool
      *need_alternatep, bool *all_spilledp,\n\t\t\t      size_t *ns_processed)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:3769,1
    - Dst: findname
      Src: /src/bind9/lib/dns/resolver.c:3773,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:3779,1
    - Dst: dns_adb_findaddrinfo
      Src: /src/bind9/lib/dns/resolver.c:3783,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:3791,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:3793,1
    - Dst: ISC_LIST_INSERTBEFORE
      Src: /src/bind9/lib/dns/resolver.c:3796,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:3798,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 26
    argCount: 3
    argNames:
    - fctx
    - now
    - stdoptions
    argTypes:
    - fetchctx_t*
    - isc_stdtime_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3801
      start: 3764
    functionDepth: 7
    functionLinenumber: 3764
    functionLinenumberEnd: 3801
    functionName: fctx_getaddresses_alternate
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_adb_findaddrinfo
    - ISC_LIST_APPEND
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - ISC_LIST_INSERTBEFORE
    - findname
    - ISC_LIST_FOREACH
    - isc_sockaddr_pf
    linkageType: ''
    returnType: void
    signature: "void fctx_getaddresses_alternate(fetchctx_t *fctx, isc_stdtime_t now,\n\t\t\t
      \   unsigned int stdoptions)"
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE5
      Src: /src/bind9/lib/dns/resolver.c:3815,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3822,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:3829,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:3830,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3841,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3841,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3842,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3842,1
    - Dst: fctx_getaddresses_forwarders
      Src: /src/bind9/lib/dns/resolver.c:3854,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:3898,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3900,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3900,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:3901,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:3901,1
    - Dst: fctx_getaddresses_addresses
      Src: /src/bind9/lib/dns/resolver.c:3921,1
    - Dst: fctx_getaddresses_allowed
      Src: /src/bind9/lib/dns/resolver.c:3924,1
    - Dst: fctx_getaddresses_nameservers
      Src: /src/bind9/lib/dns/resolver.c:3926,1
    - Dst: fctx_getaddresses_nameservers
      Src: /src/bind9/lib/dns/resolver.c:3935,1
    - Dst: fctx_getaddresses_alternate
      Src: /src/bind9/lib/dns/resolver.c:3951,1
    - Dst: mark_bad
      Src: /src/bind9/lib/dns/resolver.c:3957,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:3987,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:3998,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:4007,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 71
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4011
      start: 3803
    functionDepth: 8
    functionLinenumber: 3803
    functionLinenumberEnd: 4011
    functionName: fctx_getaddresses
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fctx_getaddresses_nameservers
    - FCTXTRACE
    - INSIST
    - isc_stdtime_now
    - FCTXTRACE5
    - ISC_LIST_EMPTY
    - fctx_getaddresses_forwarders
    - isc_log_write
    - fctx_getaddresses_addresses
    - ISC_LOG_DEBUG
    - fctx_getaddresses_alternate
    - mark_bad
    - inc_stats
    - fctx_getaddresses_allowed
    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:4025,1
    - Dst: dns_dispatchmgr_getblackhole
      Src: /src/bind9/lib/dns/resolver.c:4026,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:4027,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/resolver.c:4032,1
    - Dst: dns_peer_getbogus
      Src: /src/bind9/lib/dns/resolver.c:4040,1
    - Dst: isc_sockaddr_isnetzero
      Src: /src/bind9/lib/dns/resolver.c:4049,1
    - Dst: isc_sockaddr_ismulticast
      Src: /src/bind9/lib/dns/resolver.c:4052,1
    - Dst: isc_sockaddr_isexperimental
      Src: /src/bind9/lib/dns/resolver.c:4055,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/resolver.c:4060,1
    - Dst: IN6_IS_ADDR_V4COMPAT
      Src: /src/bind9/lib/dns/resolver.c:4063,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:4070,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4070,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:4072,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/resolver.c:4073,1
    - Dst: FCTXTRACE2
      Src: /src/bind9/lib/dns/resolver.c:4074,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 2
    argNames:
    - fctx
    - addr
    argTypes:
    - fetchctx_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4076
      start: 4013
    functionDepth: 3
    functionLinenumber: 4013
    functionLinenumberEnd: 4076
    functionName: possibly_mark
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_dispatchmgr_getblackhole
    - isc_netaddr_format
    - isc_sockaddr_isnetzero
    - FCTXTRACE2
    - isc_netaddr_fromsockaddr
    - IN6_IS_ADDR_V4COMPAT
    - dns_peer_getbogus
    - IN6_IS_ADDR_V4MAPPED
    - isc_log_wouldlog
    - ISC_LOG_DEBUG
    - isc_sockaddr_isexperimental
    - dns_acl_match
    - dns_peerlist_peerbyaddr
    - isc_sockaddr_ismulticast
    linkageType: ''
    returnType: void
    signature: void possibly_mark(fetchctx_t *fctx, dns_adbaddrinfo_t *addr)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4088,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4089,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4093,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:4112,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4113,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:4125,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 31
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4146
      start: 4078
    functionDepth: 4
    functionLinenumber: 4078
    functionLinenumberEnd: 4146
    functionName: nextaddress
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - UNMARKED
    - possibly_mark
    - ISC_LIST_FOREACH
    - isc_sockaddr_pf
    linkageType: ''
    returnType: dns_adbaddrinfo_t
    signature: 'dns_adbaddrinfo_t *

      nextaddress(fetchctx_t *fctx)'
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4160,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4161,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:4164,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4165,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:4185,1
    - Dst: nextaddress
      Src: /src/bind9/lib/dns/resolver.c:4187,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:4196,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:4200,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:4202,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:4204,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4214,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4215,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:4218,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4219,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:4228,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:4230,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4238,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4239,1
    - Dst: possibly_mark
      Src: /src/bind9/lib/dns/resolver.c:4242,1
    - Dst: UNMARKED
      Src: /src/bind9/lib/dns/resolver.c:4243,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 71
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4261
      start: 4148
    functionDepth: 5
    functionLinenumber: 4148
    functionLinenumberEnd: 4261
    functionName: fctx_nextaddress
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - FCTX_ATTR_SET
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - UNMARKED
    - nextaddress
    - ISC_LIST_FOREACH
    - possibly_mark
    linkageType: ''
    returnType: dns_adbaddrinfo_t
    signature: 'dns_adbaddrinfo_t *

      fctx_nextaddress(fetchctx_t *fctx)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_counter_increment
      Src: /src/bind9/lib/dns/resolver.c:4267,1
    - Dst: FCTXTRACE5
      Src: /src/bind9/lib/dns/resolver.c:4269,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4270,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4273,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4274,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4277,1
    - Dst: isc_counter_increment
      Src: /src/bind9/lib/dns/resolver.c:4279,1
    - Dst: FCTXTRACE5
      Src: /src/bind9/lib/dns/resolver.c:4281,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4282,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4285,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4286,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4289,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4294
      start: 4263
    functionDepth: 2
    functionLinenumber: 4263
    functionLinenumberEnd: 4294
    functionName: incr_query_counters
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_counter_increment
    - FCTXTRACE5
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_counter_used
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t incr_query_counters(fetchctx_t *fctx)
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4302,1
    - Dst: ADDRWAIT
      Src: /src/bind9/lib/dns/resolver.c:4302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4303,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4303,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4308,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:4308,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4309,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4311,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4314,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:4315,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4321,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:4321,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4323,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4324,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4327,1
    - Dst: isc_counter_getlimit
      Src: /src/bind9/lib/dns/resolver.c:4328,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:4333,1
    - Dst: dns_adb_overquota
      Src: /src/bind9/lib/dns/resolver.c:4336,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:4337,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:4342,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:4343,1
    - Dst: fctx_getaddresses
      Src: /src/bind9/lib/dns/resolver.c:4344,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4350,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:4351,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:4354,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:4359,1
    - Dst: dns_adb_overquota
      Src: /src/bind9/lib/dns/resolver.c:4362,1
    - Dst: fctx_nextaddress
      Src: /src/bind9/lib/dns/resolver.c:4364,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:4373,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:4391,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4392,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4396,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:4398,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4400,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:4425,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:4426,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:4434,1
    - Dst: incr_query_counters
      Src: /src/bind9/lib/dns/resolver.c:4440,1
    - Dst: fctx_query
      Src: /src/bind9/lib/dns/resolver.c:4445,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:4450,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:4455,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 87
    argCount: 2
    argNames:
    - fctx
    - retrying
    argTypes:
    - fetchctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4457
      start: 4296
    functionDepth: 12
    functionLinenumber: 4296
    functionLinenumberEnd: 4457
    functionName: fctx_try
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - dns_resolver_createfetch
    - REQUIRE
    - DNS_FETCH_VALID
    - ISC_LOG_DEBUG
    - isc_counter_used
    - VALID_FCTX
    - FCTXTRACE
    - fctx_nextaddress
    - dns_name_format
    - ADDRWAIT
    - fctx_query
    - fctx_cleanup
    - fctx_failure_detach
    - inc_stats
    - fetchctx_ref
    - isc_counter_getlimit
    - FCTX_ATTR_SET
    - fctx_getaddresses
    - dns_rdatatype_format
    - isc_tid
    - isc_log_write
    - dns_adb_overquota
    - fetchctx_unref
    - dns_ede_add
    - incr_query_counters
    - fctx_cancelqueries
    linkageType: ''
    returnType: void
    signature: void fctx_try(fetchctx_t *fctx, bool retrying)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:4468,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:4471,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:4473,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:4474,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/resolver.c:4476,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - respp
    argTypes:
    - dns_fetchresponse_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4477
      start: 4459
    functionDepth: 1
    functionLinenumber: 4459
    functionLinenumberEnd: 4477
    functionName: clear_resp
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_db_detach
    - dns_resolver_freefresp
    linkageType: ''
    returnType: void
    signature: void clear_resp(dns_fetchresponse_t **respp)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4489,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4489,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4493,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4493,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4495,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4497,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4498,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:4502,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:4503,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4506,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/resolver.c:4508,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:4531,1
    - Dst: pull_from_resp
      Src: /src/bind9/lib/dns/resolver.c:4533,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:4570,1
    - Dst: pull_from_resp
      Src: /src/bind9/lib/dns/resolver.c:4575,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:4578,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:4581,1
    - Dst: fctx_success_unref
      Src: /src/bind9/lib/dns/resolver.c:4582,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4606,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4607,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:4609,1
    - Dst: clear_resp
      Src: /src/bind9/lib/dns/resolver.c:4613,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/resolver.c:4614,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:4616,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/lib/dns/resolver.c:4619,1
    - Dst: FCTXTRACEN
      Src: /src/bind9/lib/dns/resolver.c:4622,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:4628,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4629,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:4631,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:4631,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4633,1
    - Dst: fctx_minimize_qname
      Src: /src/bind9/lib/dns/resolver.c:4637,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:4646,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:4647,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:4650,1
    - Dst: clear_resp
      Src: /src/bind9/lib/dns/resolver.c:4653,1
    - Dst: fctx_failure_unref
      Src: /src/bind9/lib/dns/resolver.c:4657,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:4659,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 92
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4660
      start: 4479
    functionDepth: 13
    functionLinenumber: 4479
    functionLinenumberEnd: 4660
    functionName: resume_qmin
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - fcount_incr
    - pull_from_resp
    - ISC_LOG_DEBUG
    - dns_resolver_destroyfetch
    - UNLOCK
    - VALID_FCTX
    - clear_resp
    - dns_rdatatype_atparent
    - FCTXTRACE
    - dns_rdataset_isassociated
    - fctx_cleanup
    - isc_result_totext
    - fcount_decr
    - fetchctx_detach
    - SHUTTINGDOWN
    - LOCK
    - isc_tid
    - isc_log_write
    - fctx_try
    - fctx_failure_unref
    - CHECK
    - fctx_success_unref
    - dns_name_countlabels
    - FCTXTRACEN
    - dns_view_bestzonecut
    - dns_fixedname_initname
    - dns_delegset_detach
    - fctx_minimize_qname
    - fctx_cancelqueries
    linkageType: ''
    returnType: void
    signature: void resume_qmin(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/resolver.c:4664,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:4666,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:4668,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4669
      start: 4662
    functionDepth: 1
    functionLinenumber: 4662
    functionLinenumberEnd: 4669
    functionName: fctx_destroy_rcu
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_mutex_destroy
    - isc_mem_putanddetach
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void fctx_destroy_rcu(struct rcu_head *rcu_head)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4676,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4676,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4677,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4677,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4678,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4678,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4679,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4679,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4680,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4680,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4681,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4681,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4682,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:4682,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4683,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4684,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4686,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:4689,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4691,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:4694,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:4695,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:4696,1
    - Dst: dec_stats
      Src: /src/bind9/lib/dns/resolver.c:4703,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4706,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:4707,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:4708,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:4711,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:4712,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:4713,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4717,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4720,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4722,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:4724,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:4727,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:4729,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:4730,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/resolver.c:4732,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:4734,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/resolver.c:4735,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/resolver.c:4736,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:4738,1
    - Dst: dns_ede_invalidate
      Src: /src/bind9/lib/dns/resolver.c:4740,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:4743,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:4745,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:4746,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resolver.c:4748,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/resolver.c:4750,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 56
    argCount: 4
    argNames:
    - fctx
    - func
    - file
    - line
    argTypes:
    - fetchctx_t*
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4751
      start: 4671
    functionDepth: 5
    functionLinenumber: 4671
    functionLinenumberEnd: 4751
    functionName: fctx__destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_ede_invalidate
    - fprintf
    - isc_counter_detach
    - dns_resolver_detach
    - VALID_FCTX
    - FCTXTRACE
    - isc_mem_free
    - fcount_decr
    - fetchctx_detach
    - dns_db_detach
    - ISC_LIST_EMPTY
    - dec_stats
    - isc_tid
    - dns_dispatchmgr_detach
    - call_rcu
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns_delegset_detach
    - ISC_LIST_FOREACH
    - dns_adb_detach
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: "void fctx__destroy(fetchctx_t *fctx, const char *func, const char
      *file,\n\t      const unsigned int line)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4757,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4757,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4758,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4758,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4760,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:4760,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4761,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:4764,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:4766,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4767
      start: 4753
    functionDepth: 3
    functionLinenumber: 4753
    functionLinenumberEnd: 4767
    functionName: fctx_expired
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - FCTXTRACE
    - dns_ede_add
    - isc_tid
    - isc_log_write
    - fctx_failure_detach
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void fctx_expired(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4773,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4773,1
    - Dst: fctx_failure_unref
      Src: /src/bind9/lib/dns/resolver.c:4775,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:4776,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4777
      start: 4769
    functionDepth: 1
    functionLinenumber: 4769
    functionLinenumberEnd: 4777
    functionName: fctx_shutdown
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - fetchctx_detach
    - fctx_failure_unref
    linkageType: ''
    returnType: void
    signature: void fctx_shutdown(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4783,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:4783,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4785,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:4787,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:4788,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4789,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:4797,1
    - Dst: fctx_starttimer
      Src: /src/bind9/lib/dns/resolver.c:4806,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:4807,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:4810,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4811
      start: 4779
    functionDepth: 13
    functionLinenumber: 4779
    functionLinenumberEnd: 4811
    functionName: fctx_start
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - fetchctx_detach
    - SHUTTINGDOWN
    - FCTXTRACE
    - fctx_starttimer
    - LOCK
    - fctx_try
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void fctx_start(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4824,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:4826,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:4841,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4843,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:4844,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    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: 4845
      start: 4817
    functionDepth: 1
    functionLinenumber: 4817
    functionLinenumberEnd: 4845
    functionName: fctx_add_event
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - FCTXTRACE
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_fixedname_initname
    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:4852,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4854,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:4854,1
    - Dst: fctx_add_event
      Src: /src/bind9/lib/dns/resolver.c:4856,1
    - Dst: fetchctx_attach
      Src: /src/bind9/lib/dns/resolver.c:4860,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: 4861
      start: 4847
    functionDepth: 2
    functionLinenumber: 4847
    functionLinenumberEnd: 4861
    functionName: fctx_join
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SHUTTINGDOWN
    - FCTXTRACE
    - fctx_add_event
    - fetchctx_attach
    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:4868,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4869,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4870,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4871,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fctx
    - where
    argTypes:
    - fetchctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4874
      start: 4863
    functionDepth: 2
    functionLinenumber: 4863
    functionLinenumberEnd: 4874
    functionName: log_ns_ttl
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - ISC_LOG_DEBUG
    - dns_name_format
    linkageType: ''
    returnType: void
    signature: void log_ns_ttl(fetchctx_t *fctx, const char *where)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 27
    argNames:
    - (
    - res
    - ','
    - loop
    - ','
    - name
    - ','
    - type
    - ','
    - domain
    - ','
    - nameservers
    - ','
    - client
    - ','
    - options
    - ','
    - depth
    - ','
    - qc
    - ','
    - gqp
    - ','
    - parent
    - ','
    - fctxp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4881
      start: 4876
    functionDepth: 0
    functionLinenumber: 4876
    functionLinenumberEnd: 4881
    functionName: fctx_create
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: "fctx_create(res, loop, name, type, domain, nameservers, client,  \\\n\t\t
      \   options, depth, qc, gqp, parent, fctxp)"
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/resolver.c:4894,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/resolver.c:4896,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/resolver.c:4897,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:4902,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:4904,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:4908,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:4929,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/resolver.c:4930,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:4932,1
    - Dst: dns_ede_init
      Src: /src/bind9/lib/dns/resolver.c:4934,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4936,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4937,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4938,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4939,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4940,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:4941,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4943,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:4944,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:4946,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:4953,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/resolver.c:4954,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:4955,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:4956,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/resolver.c:4957,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:4959,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/resolver.c:4962,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/resolver.c:4966,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/resolver.c:4970,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4971,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4972,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4974,1
    - Dst: isc_counter_create
      Src: /src/bind9/lib/dns/resolver.c:4976,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4977,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4978,1
    - Dst: isc_counter_attach
      Src: /src/bind9/lib/dns/resolver.c:4984,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:4985,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:4986,1
    - Dst: isc_counter_used
      Src: /src/bind9/lib/dns/resolver.c:4989,1
    - Dst: fetchctx_attach
      Src: /src/bind9/lib/dns/resolver.c:4993,1
    - Dst: urcu_ref_set
      Src: /src/bind9/lib/dns/resolver.c:4996,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:4999,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/resolver.c:5002,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:5016,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:5017,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:5019,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:5020,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:5021,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/lib/dns/resolver.c:5026,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5030,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:5031,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5039,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5040,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:5047,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:5054,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/lib/dns/resolver.c:5057,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5065,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5066,1
    - Dst: dns_delegset_attach
      Src: /src/bind9/lib/dns/resolver.c:5071,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5072,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5073,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:5089,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5092,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:5097,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:5099,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:5100,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/resolver.c:5101,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/resolver.c:5107,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:5114,1
    - Dst: isc_time_nowplusinterval
      Src: /src/bind9/lib/dns/resolver.c:5116,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/resolver.c:5118,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:5119,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/resolver.c:5129,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/resolver.c:5134,1
    - Dst: dns_view_getdispatchmgr
      Src: /src/bind9/lib/dns/resolver.c:5139,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/resolver.c:5144,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/resolver.c:5146,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:5156,1
    - Dst: fctx_minimize_qname
      Src: /src/bind9/lib/dns/resolver.c:5157,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5160,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/resolver.c:5162,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:5167,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:5169,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:5172,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:5173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:5174,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/resolver.c:5180,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:5183,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:5186,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/resolver.c:5190,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/resolver.c:5192,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:5194,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:5197,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:5199,1
    - Dst: isc_counter_detach
      Src: /src/bind9/lib/dns/resolver.c:5201,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:5204,1
    - Dst: dns_ede_invalidate
      Src: /src/bind9/lib/dns/resolver.c:5207,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:5208,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:5209,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:5210,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 175
    argCount: 16
    argNames:
    - res
    - loop
    - name
    - type
    - domain
    - delegset
    - client
    - options
    - depth
    - qc
    - gqc
    - parent
    - fctxp
    - func
    - file
    - line
    argTypes:
    - dns_resolver_t*
    - isc_loop_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_delegset_t*
    - isc_sockaddr_t*
    - unsigned int
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - fetchctx_t*
    - fetchctx_t**
    - char*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5213
      start: 4881
    functionDepth: 6
    functionLinenumber: 4881
    functionLinenumberEnd: 5213
    functionName: fctx__create
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_resolver_attach
    - dns_name_copy
    - fcount_incr
    - dns_view_getdispatchmgr
    - INSIST
    - UNUSED
    - dns_ede_init
    - fprintf
    - dns_ede_invalidate
    - isc_counter_detach
    - isc_mem_strdup
    - dns_resolver_detach
    - isc_mem_putanddetach
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - isc_sockaddr_format
    - isc_counter_attach
    - fetchctx_attach
    - isc_counter_used
    - dns_name_init
    - dns_rdatatype_atparent
    - FCTXTRACE
    - urcu_ref_set
    - dns_name_format
    - isc_timer_create
    - isc_counter_create
    - isc_time_nowplusinterval
    - dns_fwdtable_find
    - log_ns_ttl
    - isc_mem_free
    - inc_stats
    - strlcpy
    - dns_name_issubdomain
    - UNEXPECTED_ERROR
    - isc_result_totext
    - isc_time_now
    - fcount_decr
    - fetchctx_detach
    - dns_rdatatype_format
    - dns_message_create
    - isc_loop_getmctx
    - atomic_load_relaxed
    - isc_tid
    - isc_log_write
    - dns_name_getlabelsequence
    - isc_interval_set
    - dns_name_countlabels
    - dns_adb_detach
    - strlcat
    - isc_mutex_init
    - dns_db_attach
    - isc_mem_get
    - dns_delegset_attach
    - dns_view_bestzonecut
    - dns_fixedname_initname
    - dns_forwarders_detach
    - dns_delegset_detach
    - fctx_minimize_qname
    - isc_mutex_destroy
    - dns_view_getadb
    - dns_message_detach
    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_delegset_t *delegset, 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 *parent, fetchctx_t **fctxp,\n\t     const char *func, const char
      *file, const unsigned int line)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5236,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:5243,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 25
    argCount: 2
    argNames:
    - fctx
    - message
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5258
      start: 5218
    functionDepth: 1
    functionLinenumber: 5218
    functionLinenumberEnd: 5258
    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:5236,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:5243,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5255
      start: 5235
    functionDepth: 1
    functionLinenumber: 5235
    functionLinenumberEnd: 5255
    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:5266,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:5267,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:5268,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:5269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - fctx
    - addrinfo
    argTypes:
    - fetchctx_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5272
      start: 5260
    functionDepth: 3
    functionLinenumber: 5260
    functionLinenumberEnd: 5272
    functionName: log_lame
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - isc_sockaddr_format
    - dns_name_format
    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:5280,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/resolver.c:5281,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/resolver.c:5282,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:5284,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:5286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - fctx
    - format
    argTypes:
    - fetchctx_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5290
      start: 5274
    functionDepth: 3
    functionLinenumber: 5274
    functionLinenumberEnd: 5290
    functionName: log_formerr
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - vsnprintf
    - va_start
    - isc_log_write
    - va_end
    - isc_sockaddr_format
    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:5321,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:5325,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:5329,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:5333,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5336,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5337,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5338,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5339,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:5339,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:5343,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:5349,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:5350,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:5352,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:5353,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 29
    argCount: 2
    argNames:
    - fctx
    - message
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5359
      start: 5292
    functionDepth: 4
    functionLinenumber: 5292
    functionLinenumberEnd: 5359
    functionName: same_question
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - INSIST
    - dns_name_equal
    - dns_name_format
    - dns_rdatatype_format
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - log_formerr
    - ISC_LIST_NEXT
    - dns_rdataclass_format
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t same_question(fetchctx_t *fctx, dns_message_t *message)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5362
      start: 5361
    functionDepth: 0
    functionLinenumber: 5361
    functionLinenumberEnd: 5362
    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: 5363
      start: 5362
    functionDepth: 0
    functionLinenumber: 5362
    functionLinenumberEnd: 5363
    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: 5364
      start: 5363
    functionDepth: 0
    functionLinenumber: 5363
    functionLinenumberEnd: 5364
    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: 5365
      start: 5364
    functionDepth: 0
    functionLinenumber: 5364
    functionLinenumberEnd: 5365
    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: 5366
      start: 5365
    functionDepth: 0
    functionLinenumber: 5365
    functionLinenumberEnd: 5366
    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: 5367
      start: 5366
    functionDepth: 0
    functionLinenumber: 5366
    functionLinenumberEnd: 5367
    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: 5368
      start: 5367
    functionDepth: 0
    functionLinenumber: 5367
    functionLinenumberEnd: 5368
    functionName: CHECKNAMES
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CHECKNAMES(r)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:5387,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5394,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:5395,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5396,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resolver.c:5399,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5401,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5405,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5407
      start: 5383
    functionDepth: 2
    functionLinenumber: 5383
    functionLinenumberEnd: 5407
    functionName: is_minimal_nsec
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_rdataset_clone
    - memcmp
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    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:5394,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:5395,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5396,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resolver.c:5399,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5401,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5404
      start: 5389
    functionDepth: 2
    functionLinenumber: 5389
    functionLinenumberEnd: 5404
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - memcmp
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    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:5416,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5420,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5421,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5422,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5423,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5425,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5431
      start: 5412
    functionDepth: 1
    functionLinenumber: 5412
    functionLinenumberEnd: 5431
    functionName: check_soa_and_dnskey
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_nsec_typepresent
    - dns_rdataset_clone
    - dns_rdataset_current
    - dns_rdataset_disassociate
    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:5420,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5421,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5422,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/resolver.c:5423,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5425,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5428
      start: 5418
    functionDepth: 1
    functionLinenumber: 5418
    functionLinenumberEnd: 5428
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_nsec_typepresent
    - dns_rdataset_current
    - 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:5440,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:5444,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5448,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5452,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5454
      start: 5436
    functionDepth: 1
    functionLinenumber: 5436
    functionLinenumberEnd: 5454
    functionName: has_000_label
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_clone
    - dns_rdataset_current
    - dns_rdataset_disassociate
    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:5444,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5448,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5451
      start: 5442
    functionDepth: 1
    functionLinenumber: 5442
    functionLinenumberEnd: 5451
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:5461,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/resolver.c:5462,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5478
      start: 5456
    functionDepth: 0
    functionLinenumber: 5456
    functionLinenumberEnd: 5478
    functionName: fctx_setresult
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - NEGATIVE
    - NXDOMAIN
    linkageType: ''
    returnType: void
    signature: void fctx_setresult(fetchctx_t *fctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:5482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5487
      start: 5480
    functionDepth: 1
    functionLinenumber: 5480
    functionLinenumberEnd: 5487
    functionName: gettrust
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    linkageType: ''
    returnType: dns_trust_t
    signature: dns_trust_t gettrust(dns_rdataset_t *rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5491,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/resolver.c:5492,1
    - Dst: dns_rdataset_issigtype
      Src: /src/bind9/lib/dns/resolver.c:5494,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - dns_name_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5500
      start: 5489
    functionDepth: 1
    functionLinenumber: 5489
    functionLinenumberEnd: 5500
    functionName: getrrsig
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - dns_rdataset_issigtype
    - ISC_LIST_HEAD
    linkageType: ''
    returnType: dns_rdataset_t
    signature: 'dns_rdataset_t *

      getrrsig(dns_name_t *name, dns_rdatatype_t type)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5507,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:5512,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:5513,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - fctx
    - name
    - type
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5516
      start: 5502
    functionDepth: 1
    functionLinenumber: 5502
    functionLinenumberEnd: 5516
    functionName: delete_rrset
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_deleterdataset
    - dns_db_findnode
    linkageType: ''
    returnType: void
    signature: void delete_rrset(fetchctx_t *fctx, dns_name_t *name, dns_rdatatype_t
      type)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5551,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/resolver.c:5556,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5558,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/resolver.c:5564,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:5566,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5568,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/resolver.c:5572,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5576,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5577,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5579,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5580,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5581,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:5585,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5587,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/resolver.c:5591,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5592,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 2
    argNames:
    - fctx
    - name
    argTypes:
    - fetchctx_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5593
      start: 5545
    functionDepth: 1
    functionLinenumber: 5545
    functionLinenumberEnd: 5593
    functionName: evict_cname_other
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - NEGATIVE
    - dns_db_allrdatasets
    - DNS_TYPEPAIR_VALUE
    - dns_rdatasetiter_destroy
    - DNS_TYPEPAIR
    - dns_db_findnode
    - dns_rdataset_disassociate
    - DNS_SIGTYPEPAIR
    - dns_rdatasetiter_current
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void evict_cname_other(fetchctx_t *fctx, dns_name_t *name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/resolver.c:5564,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/resolver.c:5566,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5568,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/resolver.c:5572,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5576,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5577,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5579,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/resolver.c:5580,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5581,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:5585,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5587,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5589
      start: 5562
    functionDepth: 1
    functionLinenumber: 5562
    functionLinenumberEnd: 5589
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - NEGATIVE
    - DNS_TYPEPAIR_VALUE
    - DNS_TYPEPAIR
    - dns_rdataset_disassociate
    - DNS_SIGTYPEPAIR
    - dns_rdatasetiter_current
    - dns_db_deleterdataset
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5614,1
    - Dst: dns_rdataset_matchestype
      Src: /src/bind9/lib/dns/resolver.c:5615,1
    - Dst: dns_db_attachnode
      Src: /src/bind9/lib/dns/resolver.c:5644,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:5646,1
    - Dst: dns_rdataset_matchestype
      Src: /src/bind9/lib/dns/resolver.c:5656,1
    - Dst: dns_rdataset_matchestype
      Src: /src/bind9/lib/dns/resolver.c:5657,1
    - Dst: delete_rrset
      Src: /src/bind9/lib/dns/resolver.c:5659,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5663,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:5672,1
    - Dst: dns__rdataset_disassociate
      Src: /src/bind9/lib/dns/resolver.c:5676,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5692,1
    CyclomaticComplexity: 23
    EdgeCount: 23
    ICount: 45
    argCount: 9
    argNames:
    - fctx
    - now
    - name
    - rdataset
    - sigrdataset
    - nodep
    - added
    - addedsig
    - need_validation
    argTypes:
    - fetchctx_t*
    - isc_stdtime_t
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - dns_dbnode_t**
    - dns_rdataset_t*
    - dns_rdataset_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5696
      start: 5595
    functionDepth: 2
    functionLinenumber: 5595
    functionLinenumberEnd: 5696
    functionName: cache_rrset
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_addrdataset
    - delete_rrset
    - dns_db_findnode
    - dns_db_attachnode
    - dns__rdataset_disassociate
    - gettrust
    - dns_rdataset_matchestype
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t cache_rrset(fetchctx_t *fctx, isc_stdtime_t now, dns_name_t
      *name,\n\t    dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset,\n\t    dns_dbnode_t
      **nodep, dns_rdataset_t *added,\n\t    dns_rdataset_t *addedsig, bool need_validation)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5707,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5713,1
    - Dst: getrrsig
      Src: /src/bind9/lib/dns/resolver.c:5718,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5719,1
    - Dst: dns_nsec_requiredtypespresent
      Src: /src/bind9/lib/dns/resolver.c:5727,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:5737,1
    - Dst: is_minimal_nsec
      Src: /src/bind9/lib/dns/resolver.c:5738,1
    - Dst: check_soa_and_dnskey
      Src: /src/bind9/lib/dns/resolver.c:5747,1
    - Dst: has_000_label
      Src: /src/bind9/lib/dns/resolver.c:5756,1
    - Dst: cache_rrset
      Src: /src/bind9/lib/dns/resolver.c:5761,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 27
    argCount: 3
    argNames:
    - fctx
    - message
    - now
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5769
      start: 5698
    functionDepth: 3
    functionLinenumber: 5698
    functionLinenumberEnd: 5769
    functionName: fctx_cacheauthority
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - getrrsig
    - dns_nsec_requiredtypespresent
    - is_minimal_nsec
    - dns_name_equal
    - has_000_label
    - cache_rrset
    - check_soa_and_dnskey
    - ISC_LIST_FOREACH
    - gettrust
    linkageType: ''
    returnType: void
    signature: "void fctx_cacheauthority(fetchctx_t *fctx, dns_message_t *message,\n\t\t
      \   isc_stdtime_t now)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:5707,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5713,1
    - Dst: getrrsig
      Src: /src/bind9/lib/dns/resolver.c:5718,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5719,1
    - Dst: dns_nsec_requiredtypespresent
      Src: /src/bind9/lib/dns/resolver.c:5727,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:5737,1
    - Dst: is_minimal_nsec
      Src: /src/bind9/lib/dns/resolver.c:5738,1
    - Dst: check_soa_and_dnskey
      Src: /src/bind9/lib/dns/resolver.c:5747,1
    - Dst: has_000_label
      Src: /src/bind9/lib/dns/resolver.c:5756,1
    - Dst: cache_rrset
      Src: /src/bind9/lib/dns/resolver.c:5761,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5768
      start: 5706
    functionDepth: 3
    functionLinenumber: 5706
    functionLinenumberEnd: 5768
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - getrrsig
    - dns_nsec_requiredtypespresent
    - is_minimal_nsec
    - dns_name_equal
    - has_000_label
    - cache_rrset
    - check_soa_and_dnskey
    - ISC_LIST_FOREACH
    - gettrust
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(message, DNS_SECTION_AUTHORITY, name)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:5790,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:5795,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:5795,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:5796,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:5796,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5803,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:5805,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:5807,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:5811,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:5813,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:5817,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5821,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5822,1
    - Dst: delete_rrset
      Src: /src/bind9/lib/dns/resolver.c:5826,1
    - Dst: cache_rrset
      Src: /src/bind9/lib/dns/resolver.c:5831,1
    - Dst: add_bad
      Src: /src/bind9/lib/dns/resolver.c:5835,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5838,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5853,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:5854,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:5863,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5872,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5873,1
    - Dst: negcache
      Src: /src/bind9/lib/dns/resolver.c:5875,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:5887,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:5888,1
    - Dst: dns_rdataset_addnoqname
      Src: /src/bind9/lib/dns/resolver.c:5891,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5893,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5894,1
    - Dst: dns_rdataset_addclosest
      Src: /src/bind9/lib/dns/resolver.c:5897,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:5900,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5902,1
    - Dst: findnoqname
      Src: /src/bind9/lib/dns/resolver.c:5903,1
    - Dst: cache_rrset
      Src: /src/bind9/lib/dns/resolver.c:5910,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:5922,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5923,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:5924,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:5924,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:5926,1
    - Dst: fctx_cacheauthority
      Src: /src/bind9/lib/dns/resolver.c:5931,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5937,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:5938,1
    - Dst: cache_rrset
      Src: /src/bind9/lib/dns/resolver.c:5940,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/resolver.c:5940,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:5949,1
    - Dst: fctx_setresult
      Src: /src/bind9/lib/dns/resolver.c:5951,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:5952,1
    - Dst: dns_db_transfernode
      Src: /src/bind9/lib/dns/resolver.c:5953,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:5959,1
    - Dst: fctx_success_unref
      Src: /src/bind9/lib/dns/resolver.c:5964,1
    - Dst: fctx_failure_unref
      Src: /src/bind9/lib/dns/resolver.c:5966,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:5972,1
    - Dst: dns_validator_send
      Src: /src/bind9/lib/dns/resolver.c:5976,1
    - Dst: dns_validator_shutdown
      Src: /src/bind9/lib/dns/resolver.c:5984,1
    - Dst: dns_validator_detach
      Src: /src/bind9/lib/dns/resolver.c:5985,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:5986,1
    CyclomaticComplexity: 35
    EdgeCount: 35
    ICount: 123
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5987
      start: 5774
    functionDepth: 13
    functionLinenumber: 5774
    functionLinenumberEnd: 5987
    functionName: validated
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - dns_validator_detach
    - cache_rrset
    - fctx_cacheauthority
    - CHAINING
    - UNLOCK
    - VALID_FCTX
    - negcache
    - dns_db_transfernode
    - FCTXTRACE
    - fctx_setresult
    - RUNTIME_CHECK
    - gettrust
    - inc_stats
    - dns_rdataset_addclosest
    - fetchctx_detach
    - SHUTTINGDOWN
    - FCTX_ATTR_SET
    - isc_stdtime_now
    - dns_validator_send
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - LOCK
    - isc_tid
    - fctx_try
    - fctx_failure_unref
    - fctx_success_unref
    - dns_validator_shutdown
    - dns_db_detachnode
    - dns_rdatatype_ismulti
    - add_bad
    - dns_rdataset_addnoqname
    - delete_rrset
    - dns_fixedname_name
    - findnoqname
    linkageType: ''
    returnType: void
    signature: void validated(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/resolver.c:5995,1
    - Dst: vsnprintf
      Src: /src/bind9/lib/dns/resolver.c:5996,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/resolver.c:5997,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:5999,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - arg
    - level
    - fmt
    argTypes:
    - void*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6001
      start: 5989
    functionDepth: 2
    functionLinenumber: 5989
    functionLinenumberEnd: 6001
    functionName: fctx_log
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - va_start
    - isc_log_write
    - 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:6019,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:6021,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:6025,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6030,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6031,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:6032,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:6045,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:6046,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:6047,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6052,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/resolver.c:6058,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:6063,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:6063,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:6074,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:6074,1
    - Dst: getrrsig
      Src: /src/bind9/lib/dns/resolver.c:6089,1
    - Dst: dns_rdataset_addnoqname
      Src: /src/bind9/lib/dns/resolver.c:6096,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 50
    argCount: 5
    argNames:
    - fctx
    - message
    - name
    - rdataset
    - sigrdataset
    argTypes:
    - fetchctx_t*
    - dns_message_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6100
      start: 6003
    functionDepth: 6
    functionLinenumber: 6003
    functionLinenumberEnd: 6100
    functionName: findnoqname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - getrrsig
    - FCTXTRACE
    - RUNTIME_CHECK
    - dns_rdatatype_isnsec
    - NXND
    - dns_rdataset_addnoqname
    - dns_nsec_noexistnodata
    - dns_fixedname_initname
    - dns_rdatatype_issig
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_nsec3_noexistnodata
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: "void findnoqname(fetchctx_t *fctx, dns_message_t *message, dns_name_t
      *name,\n\t    dns_rdataset_t *rdataset, dns_rdataset_t *sigrdataset)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6030,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6031,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:6032,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6039
      start: 6028
    functionDepth: 2
    functionLinenumber: 6028
    functionLinenumberEnd: 6039
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 5
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    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: 6050
      start: 6049
    functionDepth: 0
    functionLinenumber: 6049
    functionLinenumberEnd: 6050
    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:6052,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/resolver.c:6058,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:6063,1
    - Dst: dns_nsec_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:6063,1
    - Dst: NXND
      Src: /src/bind9/lib/dns/resolver.c:6074,1
    - Dst: dns_nsec3_noexistnodata
      Src: /src/bind9/lib/dns/resolver.c:6074,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6086
      start: 6051
    functionDepth: 6
    functionLinenumber: 6051
    functionLinenumberEnd: 6086
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdatatype_isnsec
    - NXND
    - ISC_LIST_FOREACH
    - dns_nsec_noexistnodata
    - dns_nsec3_noexistnodata
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(message, DNS_SECTION_AUTHORITY, nsec)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: CACHE
      Src: /src/bind9/lib/dns/resolver.c:6105,1
    - Dst: CHECKNAMES
      Src: /src/bind9/lib/dns/resolver.c:6110,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6115,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:6116,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:6117,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:6119,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6124,1
    - Dst: EXTERNAL
      Src: /src/bind9/lib/dns/resolver.c:6137,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - name
    - rdataset
    - fail
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6142
      start: 6102
    functionDepth: 3
    functionLinenumber: 6102
    functionLinenumberEnd: 6142
    functionName: check_cacheable
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - ANSWER
    - CHECKNAMES
    - isc_log_write
    - dns_rdataclass_format
    - EXTERNAL
    - CACHE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_cacheable(dns_name_t *name, dns_rdataset_t *rdataset,
      bool fail)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/resolver.c:6167,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 3
    argNames:
    - view
    - rdataset
    - sigrdataset
    argTypes:
    - dns_view_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6170
      start: 6144
    functionDepth: 1
    functionLinenumber: 6144
    functionLinenumberEnd: 6170
    functionName: fixttls
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - ISC_MIN
    linkageType: ''
    returnType: void
    signature: "void fixttls(dns_view_t *view, dns_rdataset_t *rdataset,\n\tdns_rdataset_t
      *sigrdataset)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:6183,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6191,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6208,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:6209,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6215,1
    - Dst: valcreate
      Src: /src/bind9/lib/dns/resolver.c:6227,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6231,1
    - Dst: findnoqname
      Src: /src/bind9/lib/dns/resolver.c:6236,1
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:6243,1
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:6244,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/resolver.c:6257,1
    - Dst: cache_rrset
      Src: /src/bind9/lib/dns/resolver.c:6257,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 34
    argCount: 7
    argNames:
    - rctx
    - message
    - name
    - node
    - rdataset
    - sigrdataset
    - need_validation
    argTypes:
    - respctx_t*
    - dns_message_t*
    - dns_name_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6262
      start: 6172
    functionDepth: 7
    functionLinenumber: 6172
    functionLinenumberEnd: 6262
    functionName: rctx_cache_secure
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_ismulti
    - INSIST
    - findnoqname
    - ANSWER
    - cache_rrset
    - RETERR
    - dns_rdatatype_issig
    - valcreate
    - CHAINING
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rctx_cache_secure(respctx_t *rctx, dns_message_t *message,
      dns_name_t *name,\n\t\t  dns_dbnode_t *node, dns_rdataset_t *rdataset,\n\t\t
      \ dns_rdataset_t *sigrdataset, bool need_validation)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatatype_ismulti
      Src: /src/bind9/lib/dns/resolver.c:6277,1
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:6277,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6278,1
    - Dst: ANSWERSIG
      Src: /src/bind9/lib/dns/resolver.c:6280,1
    - Dst: ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6288,1
    - Dst: findnoqname
      Src: /src/bind9/lib/dns/resolver.c:6289,1
    - Dst: cache_rrset
      Src: /src/bind9/lib/dns/resolver.c:6295,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 6
    argNames:
    - rctx
    - message
    - name
    - node
    - rdataset
    - sigrdataset
    argTypes:
    - respctx_t*
    - dns_message_t*
    - dns_name_t*
    - dns_dbnode_t*
    - dns_rdataset_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6299
      start: 6264
    functionDepth: 7
    functionLinenumber: 6264
    functionLinenumberEnd: 6299
    functionName: rctx_cache_insecure
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_ismulti
    - findnoqname
    - ANSWER
    - cache_rrset
    - ANSWERSIG
    - CHAINING
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rctx_cache_insecure(respctx_t *rctx, dns_message_t *message,
      dns_name_t *name,\n\t\t    dns_dbnode_t *node, dns_rdataset_t *rdataset,\n\t\t
      \   dns_rdataset_t *sigrdataset)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:6310,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:6319,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/resolver.c:6327,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:6327,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6333,1
    - Dst: check_cacheable
      Src: /src/bind9/lib/dns/resolver.c:6334,1
    - Dst: evict_cname_other
      Src: /src/bind9/lib/dns/resolver.c:6347,1
    - Dst: getrrsig
      Src: /src/bind9/lib/dns/resolver.c:6351,1
    - Dst: fixttls
      Src: /src/bind9/lib/dns/resolver.c:6357,1
    - Dst: gettrust
      Src: /src/bind9/lib/dns/resolver.c:6359,1
    - Dst: rctx_cache_secure
      Src: /src/bind9/lib/dns/resolver.c:6365,1
    - Dst: rctx_cache_insecure
      Src: /src/bind9/lib/dns/resolver.c:6370,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:6373,1
    - Dst: CHAINING
      Src: /src/bind9/lib/dns/resolver.c:6382,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6384,1
    - Dst: dns_rdatatype_isalias
      Src: /src/bind9/lib/dns/resolver.c:6384,1
    - Dst: valcreate
      Src: /src/bind9/lib/dns/resolver.c:6387,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6398,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:6401,1
    - Dst: fctx_setresult
      Src: /src/bind9/lib/dns/resolver.c:6402,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:6404,1
    - Dst: dns_db_transfernode
      Src: /src/bind9/lib/dns/resolver.c:6405,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:6406,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:6411,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 3
    argNames:
    - rctx
    - message
    - name
    argTypes:
    - respctx_t*
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6415
      start: 6301
    functionDepth: 8
    functionLinenumber: 6301
    functionLinenumberEnd: 6415
    functionName: rctx_cachename
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - INSIST
    - RETERR
    - dns_rdatatype_isalias
    - valcreate
    - CHAINING
    - dns_db_transfernode
    - check_cacheable
    - FCTXTRACE
    - dns_rdataset_isassociated
    - fctx_setresult
    - evict_cname_other
    - gettrust
    - rctx_cache_secure
    - FCTX_ATTR_SET
    - CHECK
    - getrrsig
    - dns_db_detachnode
    - rctx_cache_insecure
    - issecuredomain
    - HAVE_ANSWER
    - fixttls
    - ISC_LIST_FOREACH
    - dns_db_findnode
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_cachename(respctx_t *rctx, dns_message_t *message,
      dns_name_t *name)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:6424,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:6426,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:6433,1
    - Dst: rctx_cachename
      Src: /src/bind9/lib/dns/resolver.c:6433,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:6438,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:6441,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6443
      start: 6417
    functionDepth: 9
    functionLinenumber: 6417
    functionLinenumberEnd: 6443
    functionName: rctx_cachemessage
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - FCTXTRACE
    - LOCK
    - CHECK
    - rctx_cachename
    - FCTX_ATTR_CLR
    - UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_cachemessage(respctx_t *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:6433,1
    - Dst: rctx_cachename
      Src: /src/bind9/lib/dns/resolver.c:6433,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6435
      start: 6431
    functionDepth: 9
    functionLinenumber: 6431
    functionLinenumberEnd: 6435
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - rctx_cachename
    - CHECK
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(message, section, name)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/resolver.c:6499,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:6499,1
    - Dst: dns_ncache_add
      Src: /src/bind9/lib/dns/resolver.c:6501,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:6505,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 20
    argCount: 8
    argNames:
    - message
    - fctx
    - name
    - now
    - optout
    - secure
    - added
    - nodep
    argTypes:
    - dns_message_t*
    - fetchctx_t*
    - dns_name_t*
    - isc_stdtime_t
    - bool
    - bool
    - dns_rdataset_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6510
      start: 6448
    functionDepth: 5
    functionLinenumber: 6448
    functionLinenumberEnd: 6510
    functionName: negcache
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_cleanup
    - RETERR
    - dns_ncache_add
    - dns_db_findnode
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t negcache(dns_message_t *message, fetchctx_t *fctx, const
      dns_name_t *name,\n\t isc_stdtime_t now, bool optout, bool secure, dns_rdataset_t
      *added,\n\t dns_dbnode_t **nodep)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:6527,1
    - Dst: WANTNCACHE
      Src: /src/bind9/lib/dns/resolver.c:6529,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:6533,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6539,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:6544,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6556,1
    - Dst: valcreate
      Src: /src/bind9/lib/dns/resolver.c:6568,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:6576,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6577,1
    - Dst: negcache
      Src: /src/bind9/lib/dns/resolver.c:6581,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:6583,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:6587,1
    - Dst: fctx_setresult
      Src: /src/bind9/lib/dns/resolver.c:6588,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:6589,1
    - Dst: dns_db_transfernode
      Src: /src/bind9/lib/dns/resolver.c:6590,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:6593,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:6596,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:6601,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 43
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6603
      start: 6517
    functionDepth: 6
    functionLinenumber: 6517
    functionLinenumberEnd: 6603
    functionName: rctx_ncache
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - negcache
    - dns_db_transfernode
    - dns_db_detachnode
    - FCTXTRACE
    - INSIST
    - issecuredomain
    - valcreate
    - FCTX_ATTR_SET
    - fctx_setresult
    - UNLOCK
    - HAVE_ANSWER
    - LOCK
    - ISC_LIST_FOREACH
    - FCTX_ATTR_CLR
    - WANTNCACHE
    - FCTXTRACE3
    linkageType: ''
    returnType: void
    signature: void rctx_ncache(respctx_t *rctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6559
      start: 6555
    functionDepth: 0
    functionLinenumber: 6555
    functionLinenumberEnd: 6559
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(message, DNS_SECTION_AUTHORITY, tname)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: CACHE
      Src: /src/bind9/lib/dns/resolver.c:6613,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 3
    argNames:
    - name
    - rdataset
    - external
    argTypes:
    - dns_name_t*
    - dns_rdataset_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6621
      start: 6605
    functionDepth: 1
    functionLinenumber: 6605
    functionLinenumberEnd: 6621
    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)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: ISDUALSTACK
      Src: /src/bind9/lib/dns/resolver.c:6640,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:6640,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:6647,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:6657,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:6658,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:6659,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:6660,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/dns/resolver.c:6672,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/resolver.c:6674,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:6675,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/resolver.c:6677,1
    - Dst: dns_fwdtable_find
      Src: /src/bind9/lib/dns/resolver.c:6686,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:6689,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:6694,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:6696,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:6711,1
    - Dst: dns_forwarders_detach
      Src: /src/bind9/lib/dns/resolver.c:6712,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 35
    argCount: 3
    argNames:
    - name
    - type
    - rctx
    argTypes:
    - dns_name_t*
    - dns_rdatatype_t
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6717
      start: 6629
    functionDepth: 2
    functionLinenumber: 6629
    functionLinenumberEnd: 6717
    functionName: name_external
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - dns_name_fullcompare
    - dns_view_findzone
    - dns_name_init
    - dns_rdatatype_atparent
    - dns_zone_detach
    - dns_name_equal
    - ISC_LIST_EMPTY
    - dns_fwdtable_find
    - dns_name_getlabelsequence
    - ISFORWARDER
    - ISDUALSTACK
    - dns_forwarders_detach
    - dns_name_countlabels
    linkageType: ''
    returnType: bool
    signature: bool name_external(const dns_name_t *name, dns_rdatatype_t type, respctx_t
      *rctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/resolver.c:6726,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6742,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6743,1
    - Dst: dns_delegset_addaddr
      Src: /src/bind9/lib/dns/resolver.c:6745,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - delegset
    - deleg
    - ttl
    - rctx
    - nsname
    argTypes:
    - dns_delegset_t*
    - dns_deleg_t*
    - dns_ttl_t*
    - respctx_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6753
      start: 6719
    functionDepth: 2
    functionLinenumber: 6719
    functionLinenumberEnd: 6753
    functionName: cache_delegglue
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_message_findname
    - dns_delegset_addaddr
    - dns_rdataset_current
    linkageType: ''
    returnType: size_t
    signature: "size_t cache_delegglue(dns_delegset_t *delegset, dns_deleg_t *deleg,
      dns_ttl_t *ttl,\n\t\trespctx_t *rctx, const dns_name_t *nsname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6742,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6743,1
    - Dst: dns_delegset_addaddr
      Src: /src/bind9/lib/dns/resolver.c:6745,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6751
      start: 6737
    functionDepth: 2
    functionLinenumber: 6737
    functionLinenumberEnd: 6751
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 5
    functionsReached:
    - dns_rdata_tostruct
    - dns_delegset_addaddr
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/resolver.c:6762,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6778,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6779,1
    - Dst: dns_delegset_addaddr
      Src: /src/bind9/lib/dns/resolver.c:6781,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 5
    argNames:
    - delegset
    - deleg
    - ttl
    - rctx
    - nsname
    argTypes:
    - dns_delegset_t*
    - dns_deleg_t*
    - dns_ttl_t*
    - respctx_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6789
      start: 6755
    functionDepth: 2
    functionLinenumber: 6755
    functionLinenumberEnd: 6789
    functionName: cache_delegglue6
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_message_findname
    - dns_delegset_addaddr
    - dns_rdataset_current
    linkageType: ''
    returnType: size_t
    signature: "size_t cache_delegglue6(dns_delegset_t *delegset, dns_deleg_t *deleg,
      dns_ttl_t *ttl,\n\t\t respctx_t *rctx, const dns_name_t *nsname)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6778,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6779,1
    - Dst: dns_delegset_addaddr
      Src: /src/bind9/lib/dns/resolver.c:6781,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6787
      start: 6773
    functionDepth: 2
    functionLinenumber: 6773
    functionLinenumberEnd: 6787
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 5
    functionsReached:
    - dns_rdata_tostruct
    - dns_delegset_addaddr
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:6810,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:6816,1
    - Dst: dns_delegset_allocset
      Src: /src/bind9/lib/dns/resolver.c:6818,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:6826,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:6828,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6831,1
    - Dst: dns_delegset_allocdeleg
      Src: /src/bind9/lib/dns/resolver.c:6849,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:6852,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6853,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:6854,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:6857,1
    - Dst: cache_delegglue
      Src: /src/bind9/lib/dns/resolver.c:6858,1
    - Dst: cache_delegglue6
      Src: /src/bind9/lib/dns/resolver.c:6860,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6863,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:6863,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:6865,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:6868,1
    - Dst: dns_delegset_freedeleg
      Src: /src/bind9/lib/dns/resolver.c:6873,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:6879,1
    - Dst: cache_delegglue
      Src: /src/bind9/lib/dns/resolver.c:6880,1
    - Dst: cache_delegglue6
      Src: /src/bind9/lib/dns/resolver.c:6882,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:6887,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:6887,1
    - Dst: dns_delegset_addns
      Src: /src/bind9/lib/dns/resolver.c:6893,1
    - Dst: dns_delegset_insert
      Src: /src/bind9/lib/dns/resolver.c:6897,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/resolver.c:6898,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 40
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 6901
      start: 6803
    functionDepth: 14
    functionLinenumber: 6803
    functionLinenumberEnd: 6901
    functionName: cache_delegns
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - INSIST
    - cache_delegglue6
    - FCTXTRACE
    - dns_name_format
    - dns_delegset_freedeleg
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - dns_delegset_allocset
    - ISC_LIST_EMPTY
    - dns_name_getlabelsequence
    - isc_log_write
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_delegset_insert
    - dns_delegset_allocdeleg
    - cache_delegglue
    - dns_delegset_addns
    - DNS_RDATASET_FOREACH
    - dns_fixedname_initname
    - dns_delegset_detach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cache_delegns(respctx_t *rctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:6913,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:6913,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/resolver.c:6915,1
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:6918,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:6920,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:6921,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/resolver.c:6926,1
    - Dst: mark_related
      Src: /src/bind9/lib/dns/resolver.c:6927,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/resolver.c:6932,1
    - Dst: mark_related
      Src: /src/bind9/lib/dns/resolver.c:6934,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/resolver.c:6936,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/resolver.c:6942,1
    - Dst: mark_related
      Src: /src/bind9/lib/dns/resolver.c:6946,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    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: 6953
      start: 6903
    functionDepth: 3
    functionLinenumber: 6903
    functionLinenumberEnd: 6953
    functionName: check_section
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - dns_message_findname
    - dns_rdataset_clone
    - mark_related
    - dns_rdatatype_issig
    - ISC_LIST_FOREACH
    - dns_rdatatype_isaddr
    - dns_message_findtype
    - name_external
    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:6958,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: 6959
      start: 6955
    functionDepth: 4
    functionLinenumber: 6955
    functionLinenumberEnd: 6959
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:6984,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/resolver.c:7001,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7002,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7004,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:7005,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/resolver.c:7006,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7008,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:7009,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/resolver.c:7010,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/resolver.c:7013,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7016,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:7017,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:7018,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:7020,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7022,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 32
    argCount: 3
    argNames:
    - view
    - name
    - rdataset
    argTypes:
    - dns_view_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7031
      start: 6961
    functionDepth: 8
    functionLinenumber: 6961
    functionLinenumberEnd: 7031
    functionName: is_answeraddress_allowed
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - isc_netaddr_format
    - dns_nametree_covered
    - dns_name_format
    - dns_rdatatype_format
    - dns_rdata_reset
    - isc_netaddr_fromin6
    - isc_log_write
    - dns_rdataclass_format
    - dns_rdataset_current
    - dns_acl_match
    - isc_netaddr_fromin
    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:7001,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7002,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7004,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:7005,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/resolver.c:7006,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7008,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/resolver.c:7009,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/resolver.c:7010,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/resolver.c:7013,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7016,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:7017,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:7018,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:7020,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7022,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7028
      start: 7000
    functionDepth: 3
    functionLinenumber: 7000
    functionLinenumberEnd: 7028
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 6
    functionsReached:
    - memmove
    - INSIST
    - isc_netaddr_format
    - dns_name_format
    - dns_rdatatype_format
    - dns_rdata_reset
    - isc_netaddr_fromin6
    - isc_log_write
    - dns_rdataclass_format
    - dns_rdataset_current
    - dns_acl_match
    - isc_netaddr_fromin
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7047,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7048,1
    - Dst: dns_rdatatype_isalias
      Src: /src/bind9/lib/dns/resolver.c:7048,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/resolver.c:7058,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:7059,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7060,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:7063,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:7064,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/resolver.c:7068,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:7073,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:7074,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:7075,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:7076,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:7077,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/resolver.c:7078,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/resolver.c:7079,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:7081,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:7084,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/resolver.c:7087,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:7090,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:7100,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:7113,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:7120,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:7125,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:7126,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:7127,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/resolver.c:7128,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7130,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: 7137
      start: 7033
    functionDepth: 8
    functionLinenumber: 7033
    functionLinenumberEnd: 7137
    functionName: is_answertarget_allowed
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_split
    - SET_IF_NOT_NULL
    - dns_rdatatype_isalias
    - dns_name_fullcompare
    - dns_name_init
    - dns_name_concatenate
    - dns_name_format
    - dns_nametree_covered
    - RUNTIME_CHECK
    - dns_rdata_tostruct
    - dns_name_issubdomain
    - dns_rdatatype_format
    - dns_rdataset_first
    - isc_log_write
    - dns_rdataclass_format
    - dns_rdataset_current
    - UNREACHABLE
    - dns_name_countlabels
    - dns_fixedname_initname
    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:7146,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:7147,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:7148,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7150,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:7151,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: 7158
      start: 7139
    functionDepth: 3
    functionLinenumber: 7139
    functionLinenumberEnd: 7158
    functionName: trim_ns_ttl
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - dns_rdatatype_format
    - ISC_LOG_DEBUG
    - dns_name_format
    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:7167,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:7175,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:7179,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - rdataset
    - fctx
    argTypes:
    - dns_rdataset_t*
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7183
      start: 7160
    functionDepth: 4
    functionLinenumber: 7160
    functionLinenumberEnd: 7183
    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: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7199,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:7199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7203,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:7203,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7205,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:7208,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:7211,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/resolver.c:7217,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:7219,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:7220,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:7223,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:7228,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7232,1
    - Dst: dns_delegset_fromnsrdataset
      Src: /src/bind9/lib/dns/resolver.c:7234,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:7235,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/resolver.c:7243,1
    - Dst: dns_delegset_attach
      Src: /src/bind9/lib/dns/resolver.c:7246,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:7250,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:7252,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:7253,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:7254,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:7254,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:7257,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:7262,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:7269,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:7277,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/resolver.c:7278,1
    - Dst: dns_delegset_attach
      Src: /src/bind9/lib/dns/resolver.c:7283,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:7287,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:7288,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:7291,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:7292,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7294,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:7296,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:7297,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:7303,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/resolver.c:7312,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/resolver.c:7314,1
    - Dst: fctx_failure_unref
      Src: /src/bind9/lib/dns/resolver.c:7318,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:7321,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 80
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7322
      start: 7185
    functionDepth: 13
    functionLinenumber: 7185
    functionLinenumberEnd: 7322
    functionName: resume_dslookup
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_resolver_createfetch
    - fcount_incr
    - FTRACE
    - dns_resolver_destroyfetch
    - UNLOCK
    - VALID_FCTX
    - dns_delegset_fromnsrdataset
    - FCTXTRACE
    - log_ns_ttl
    - fetchctx_ref
    - fcount_decr
    - fetchctx_detach
    - dns_db_detach
    - dns_resolver_freefresp
    - SHUTTINGDOWN
    - dns_name_equal
    - LOCK
    - isc_tid
    - fctx_try
    - dns_name_getlabelsequence
    - fctx_failure_unref
    - CHECK
    - dns_name_countlabels
    - CLEANUP
    - dns_db_detachnode
    - fetchctx_unref
    - dns_delegset_attach
    - dns_rdataset_cleanup
    - dns_fixedname_initname
    - dns_delegset_detach
    linkageType: ''
    returnType: void
    signature: void resume_dslookup(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:7327,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7330,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/resolver.c:7331,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/resolver.c:7333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - message
    - section
    argTypes:
    - dns_message_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7340
      start: 7324
    functionDepth: 1
    functionLinenumber: 7324
    functionLinenumberEnd: 7340
    functionName: checknamessection
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdata_checknames
    - dns_rdata_checkowner
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    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:7327,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:7330,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/resolver.c:7331,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/resolver.c:7333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7339
      start: 7326
    functionDepth: 1
    functionLinenumber: 7326
    functionLinenumberEnd: 7339
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdata_checknames
    - dns_rdata_checkowner
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    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:7330,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/resolver.c:7331,1
    - Dst: dns_rdata_checknames
      Src: /src/bind9/lib/dns/resolver.c:7333,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7337
      start: 7328
    functionDepth: 1
    functionLinenumber: 7328
    functionLinenumberEnd: 7337
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 6
    functionsReached:
    - dns_rdata_checknames
    - dns_rdata_checkowner
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: checknamessection
      Src: /src/bind9/lib/dns/resolver.c:7344,1
    - Dst: checknamessection
      Src: /src/bind9/lib/dns/resolver.c:7345,1
    - Dst: checknamessection
      Src: /src/bind9/lib/dns/resolver.c:7346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - message
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7347
      start: 7342
    functionDepth: 2
    functionLinenumber: 7342
    functionLinenumberEnd: 7347
    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:7357,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/resolver.c:7358,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:7359,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/resolver.c:7360,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: 7361
      start: 7349
    functionDepth: 2
    functionLinenumber: 7349
    functionLinenumberEnd: 7361
    functionName: make_hex
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isc_hex_totext
    - isc_buffer_putuint8
    - isc_buffer_init
    - 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:7365,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/resolver.c:7368,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: 7371
      start: 7363
    functionDepth: 0
    functionLinenumber: 7363
    functionLinenumberEnd: 7371
    functionName: make_printable
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - isprint
    - INSIST
    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:7382,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7386,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7387,1
    - Dst: make_hex
      Src: /src/bind9/lib/dns/resolver.c:7390,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:7390,1
    - Dst: make_printable
      Src: /src/bind9/lib/dns/resolver.c:7393,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:7393,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7395,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7397,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7400,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7401,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: 7402
      start: 7376
    functionDepth: 3
    functionLinenumber: 7376
    functionLinenumberEnd: 7402
    functionName: log_nsid
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - make_printable
    - isc_buffer_current
    - REQUIRE
    - isc_mem_put
    - isc_mem_get
    - isc_log_write
    - make_hex
    - isc_sockaddr_format
    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:7421,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7431,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:7437,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/resolver.c:7444,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:7445,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7449,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7450,1
    - Dst: make_hex
      Src: /src/bind9/lib/dns/resolver.c:7453,1
    - Dst: make_printable
      Src: /src/bind9/lib/dns/resolver.c:7456,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7463,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7468,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7476,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7477,1
    - Dst: make_hex
      Src: /src/bind9/lib/dns/resolver.c:7480,1
    - Dst: make_printable
      Src: /src/bind9/lib/dns/resolver.c:7484,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7487,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7494,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7495,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7499,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:7502,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: 7504
      start: 7404
    functionDepth: 3
    functionLinenumber: 7404
    functionLinenumberEnd: 7504
    functionName: log_zoneversion
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - make_printable
    - REQUIRE
    - isc_mem_put
    - INSIST
    - dns_name_format
    - isc_mem_get
    - dns_name_split
    - isc_log_write
    - make_hex
    - isc_sockaddr_format
    - dns_name_countlabels
    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:7511,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:7515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7522
      start: 7506
    functionDepth: 2
    functionLinenumber: 7506
    functionLinenumberEnd: 7522
    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:7511,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:7515,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7520
      start: 7510
    functionDepth: 2
    functionLinenumber: 7510
    functionLinenumberEnd: 7520
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    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:7539,1
    - Dst: VALID_QUERY
      Src: /src/bind9/lib/dns/resolver.c:7539,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7541,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:7541,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:7542,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/resolver.c:7542,1
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:7544,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/resolver.c:7547,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7548,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7550,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:7554,1
    - Dst: rctx_respinit
      Src: /src/bind9/lib/dns/resolver.c:7555,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:7558,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7561,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7563,1
    - Dst: rctx_timedout
      Src: /src/bind9/lib/dns/resolver.c:7567,1
    - Dst: rctx_dispfail
      Src: /src/bind9/lib/dns/resolver.c:7579,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/dns/resolver.c:7585,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/resolver.c:7589,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7592,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7593,1
    - Dst: dns_message_setclass
      Src: /src/bind9/lib/dns/resolver.c:7598,1
    - Dst: dns_adb_setudpsize
      Src: /src/bind9/lib/dns/resolver.c:7602,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:7604,1
    - Dst: dns_adb_plainresponse
      Src: /src/bind9/lib/dns/resolver.c:7606,1
    - Dst: rctx_parse
      Src: /src/bind9/lib/dns/resolver.c:7613,1
    - Dst: rctx_logpacket
      Src: /src/bind9/lib/dns/resolver.c:7621,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7625,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7626,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/dns/resolver.c:7633,1
    - Dst: rctx_opt
      Src: /src/bind9/lib/dns/resolver.c:7635,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:7646,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7648,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7650,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7654,1
    - Dst: same_question
      Src: /src/bind9/lib/dns/resolver.c:7679,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7681,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7683,1
    - Dst: dns_message_checksig_async
      Src: /src/bind9/lib/dns/resolver.c:7697,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7700,1
    - Dst: dns_message_checksig
      Src: /src/bind9/lib/dns/resolver.c:7706,1
    - Dst: resquery_response_continue
      Src: /src/bind9/lib/dns/resolver.c:7707,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:7713,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:7714,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 123
    argCount: 3
    argNames:
    - eresult
    - region
    - arg
    argTypes:
    - isc_result_t
    - isc_region_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7715
      start: 7528
    functionDepth: 6
    functionLinenumber: 7528
    functionLinenumberEnd: 7715
    functionName: resquery_response
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_usedlength
    - rctx_respinit
    - isc_mem_putanddetach
    - rctx_timedout
    - dns_adb_plainresponse
    - isc_sockaddr_format
    - VALID_FCTX
    - FCTXTRACE
    - VALID_QUERY
    - dns_message_setclass
    - isc_sockaddr_pf
    - QTRACE
    - rctx_done
    - inc_stats
    - resquery_detach
    - rctx_opt
    - dns_message_checksig_async
    - rctx_logpacket
    - atomic_load_acquire
    - isc_tid
    - isc_log_write
    - rctx_dispfail
    - dns_message_getopt
    - isc_log_wouldlog
    - dns_message_checksig
    - dns_message_setquerytsig
    - rctx_parse
    - isc_mem_get
    - dns_adb_setudpsize
    - resquery_response_continue
    - same_question
    - dns_message_settsigkey
    - FCTXTRACE3
    linkageType: ''
    returnType: void
    signature: void resquery_response(isc_result_t eresult, isc_region_t *region,
      void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_adb_getcookie
      Src: /src/bind9/lib/dns/resolver.c:7735,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:7736,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7738,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7740,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7747,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/resolver.c:7760,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/resolver.c:7761,1
    - Dst: dns_peer_getrequirecookie
      Src: /src/bind9/lib/dns/resolver.c:7764,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:7770,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/resolver.c:7772,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:7774,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7782,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7787
      start: 7717
    functionDepth: 3
    functionLinenumber: 7717
    functionLinenumberEnd: 7787
    functionName: rctx_cookiecheck
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_peer_getrequirecookie
    - dns_adb_getcookie
    - isc_netaddr_fromsockaddr
    - isc_log_write
    - isc_log_wouldlog
    - rctx_done
    - isc_sockaddr_format
    - dns_peerlist_peerbyaddr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_cookiecheck(respctx_t *rctx)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_hasdname
      Src: /src/bind9/lib/dns/resolver.c:7808,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7813
      start: 7789
    functionDepth: 1
    functionLinenumber: 7789
    functionLinenumberEnd: 7813
    functionName: rctx_need_tcpretry
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_message_hasdname
    linkageType: ''
    returnType: bool
    signature: bool rctx_need_tcpretry(respctx_t *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rctx_need_tcpretry
      Src: /src/bind9/lib/dns/resolver.c:7820,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7823,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 7828
      start: 7815
    functionDepth: 2
    functionLinenumber: 7815
    functionLinenumberEnd: 7828
    functionName: rctx_tcpretry
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - rctx_done
    - rctx_need_tcpretry
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_tcpretry(respctx_t *rctx)
  - BBCount: 33
    BranchProfiles: []
    Callsites:
    - Dst: QTRACE
      Src: /src/bind9/lib/dns/resolver.c:7836,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7839,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7845,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:7864,1
    - Dst: rctx_cookiecheck
      Src: /src/bind9/lib/dns/resolver.c:7869,1
    - Dst: rctx_tcpretry
      Src: /src/bind9/lib/dns/resolver.c:7877,1
    - Dst: rctx_edns
      Src: /src/bind9/lib/dns/resolver.c:7885,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7895,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:7903,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7904,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:7914,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:7915,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7927,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7930,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7933,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7936,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7939,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7942,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:7945,1
    - Dst: rctx_badserver
      Src: /src/bind9/lib/dns/resolver.c:7952,1
    - Dst: rctx_lameserver
      Src: /src/bind9/lib/dns/resolver.c:7960,1
    - Dst: checknames
      Src: /src/bind9/lib/dns/resolver.c:7971,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:7977,1
    - Dst: rctx_answer
      Src: /src/bind9/lib/dns/resolver.c:7987,1
    - Dst: rctx_answer_none
      Src: /src/bind9/lib/dns/resolver.c:7999,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8020,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8021,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:8031,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8032,1
    - Dst: rctx_additional
      Src: /src/bind9/lib/dns/resolver.c:8039,1
    - Dst: WANTCACHE
      Src: /src/bind9/lib/dns/resolver.c:8045,1
    - Dst: rctx_cachemessage
      Src: /src/bind9/lib/dns/resolver.c:8047,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8049,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8050,1
    - Dst: update_rootdb
      Src: /src/bind9/lib/dns/resolver.c:8061,1
    - Dst: rctx_ncache
      Src: /src/bind9/lib/dns/resolver.c:8068,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:8070,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8071,1
    - Dst: resquery_detach
      Src: /src/bind9/lib/dns/resolver.c:8074,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:8075,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 145
    argCount: 2
    argNames:
    - arg
    - result
    argTypes:
    - void*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8076
      start: 7830
    functionDepth: 10
    functionLinenumber: 7830
    functionLinenumberEnd: 8076
    functionName: resquery_response_continue
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - INSIST
    - rctx_edns
    - isc_mem_putanddetach
    - rctx_answer_none
    - FCTXTRACE
    - rctx_answer
    - rctx_additional
    - rctx_ncache
    - update_rootdb
    - checknames
    - QTRACE
    - rctx_done
    - FCTX_ATTR_CLR
    - inc_stats
    - rctx_cachemessage
    - rctx_tcpretry
    - resquery_detach
    - rctx_badserver
    - WANTCACHE
    - rctx_lameserver
    - rctx_cookiecheck
    - FCTXTRACE3
    linkageType: ''
    returnType: void
    signature: void resquery_response_continue(void *arg, isc_result_t result)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: resquery_ref
      Src: /src/bind9/lib/dns/resolver.c:8088,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:8093,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:8094,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:8095,1
    - Dst: isc_buffer_initnull
      Src: /src/bind9/lib/dns/resolver.c:8097,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:8099,1
    - Dst: isc_time_seconds
      Src: /src/bind9/lib/dns/resolver.c:8101,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:8102,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: 8103
      start: 8084
    functionDepth: 3
    functionLinenumber: 8084
    functionLinenumberEnd: 8103
    functionName: rctx_respinit
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_buffer_initnull
    - REQUIRE
    - isc_time_now
    - isc_mem_attach
    - isc_buffer_add
    - resquery_ref
    - isc_buffer_init
    - isc_time_seconds
    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:8128,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:8135,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:8136,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8158
      start: 8112
    functionDepth: 1
    functionLinenumber: 8112
    functionLinenumberEnd: 8158
    functionName: rctx_answer_init
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_issig
    - dns_name_countlabels
    linkageType: ''
    returnType: void
    signature: void rctx_answer_init(respctx_t *rctx)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8209,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8210,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8212,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8220,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8221,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 38
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8223
      start: 8164
    functionDepth: 1
    functionLinenumber: 8164
    functionLinenumberEnd: 8223
    functionName: rctx_dispfail
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - rctx_done
    - inc_stats
    - 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:8236,1
    - Dst: FCTX_ATTR_CLR
      Src: /src/bind9/lib/dns/resolver.c:8237,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/resolver.c:8244,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/resolver.c:8246,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:8247,1
    - Dst: dns_ede_add
      Src: /src/bind9/lib/dns/resolver.c:8249,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:8252,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8257,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8262
      start: 8229
    functionDepth: 3
    functionLinenumber: 8229
    functionLinenumberEnd: 8262
    functionName: rctx_timedout
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_time_now
    - isc_time_microdiff
    - FCTXTRACE
    - dns_ede_add
    - rctx_done
    - FCTX_ATTR_CLR
    - inc_stats
    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:8274,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8279,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8312,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8318,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8329,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8335,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8341,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8346
      start: 8268
    functionDepth: 1
    functionLinenumber: 8268
    functionLinenumberEnd: 8346
    functionName: rctx_parse
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - rctx_done
    - FCTXTRACE3
    - inc_stats
    - dns_message_parse
    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:8367,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/resolver.c:8372,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:8373,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:8374,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:8375,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/resolver.c:8377,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/resolver.c:8382,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/resolver.c:8383,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:8384,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/resolver.c:8384,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:8391,1
    - Dst: log_nsid
      Src: /src/bind9/lib/dns/resolver.c:8394,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:8405,1
    - Dst: compute_cc
      Src: /src/bind9/lib/dns/resolver.c:8406,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:8407,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8410,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/resolver.c:8413,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:8424,1
    - Dst: dns_adb_setcookie
      Src: /src/bind9/lib/dns/resolver.c:8426,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/resolver.c:8435,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/resolver.c:8441,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:8443,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/resolver.c:8443,1
    - Dst: log_zoneversion
      Src: /src/bind9/lib/dns/resolver.c:8448,1
    CyclomaticComplexity: 21
    EdgeCount: 21
    ICount: 63
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8451
      start: 8352
    functionDepth: 5
    functionLinenumber: 8352
    functionLinenumberEnd: 8451
    functionName: rctx_opt
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_buffer_current
    - dns_rdata_init
    - INSIST
    - dns_rdataset_first
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - memcmp
    - isc_buffer_add
    - dns_rdataset_current
    - isc_buffer_getuint16
    - log_nsid
    - compute_cc
    - dns_adb_setcookie
    - log_zoneversion
    - inc_stats
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void rctx_opt(respctx_t *rctx)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: EDNSOK
      Src: /src/bind9/lib/dns/resolver.c:8467,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:8474,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 4
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8477
      start: 8458
    functionDepth: 2
    functionLinenumber: 8458
    functionLinenumberEnd: 8477
    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:8492,1
    - Dst: rctx_answer_positive
      Src: /src/bind9/lib/dns/resolver.c:8494,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8496,1
    - Dst: betterreferral
      Src: /src/bind9/lib/dns/resolver.c:8498,1
    - Dst: rctx_answer_positive
      Src: /src/bind9/lib/dns/resolver.c:8499,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8501,1
    - Dst: rctx_answer_none
      Src: /src/bind9/lib/dns/resolver.c:8508,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8510,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8533,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8534,1
    - Dst: FCTXTRACE3
      Src: /src/bind9/lib/dns/resolver.c:8543,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:8544,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8549
      start: 8485
    functionDepth: 3
    functionLinenumber: 8485
    functionLinenumberEnd: 8549
    functionName: rctx_answer
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - betterreferral
    - rctx_answer_positive
    - ISFORWARDER
    - rctx_done
    - rctx_answer_none
    - FCTXTRACE3
    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:8563,1
    - Dst: rctx_answer_init
      Src: /src/bind9/lib/dns/resolver.c:8565,1
    - Dst: rctx_answer_scan
      Src: /src/bind9/lib/dns/resolver.c:8566,1
    - Dst: rctx_answer_any
      Src: /src/bind9/lib/dns/resolver.c:8574,1
    - Dst: rctx_answer_match
      Src: /src/bind9/lib/dns/resolver.c:8579,1
    - Dst: rctx_answer_cname
      Src: /src/bind9/lib/dns/resolver.c:8584,1
    - Dst: rctx_answer_dname
      Src: /src/bind9/lib/dns/resolver.c:8589,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8594,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:8601,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:8615,1
    - Dst: rctx_authority_positive
      Src: /src/bind9/lib/dns/resolver.c:8624,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:8626,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8629,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:8630,1
    - Dst: trim_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:8632,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 45
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8636
      start: 8558
    functionDepth: 4
    functionLinenumber: 8558
    functionLinenumberEnd: 8636
    functionName: rctx_answer_positive
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - trim_ns_ttl
    - rctx_answer_any
    - rctx_answer_init
    - FCTXTRACE
    - FCTX_ATTR_SET
    - dns_name_equal
    - log_formerr
    - rctx_answer_match
    - log_ns_ttl
    - rctx_answer_scan
    - rctx_authority_positive
    - rctx_answer_cname
    - rctx_answer_dname
    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:8656,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8660,1
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:8682,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8703,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 50
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8733
      start: 8646
    functionDepth: 3
    functionLinenumber: 8646
    functionLinenumberEnd: 8733
    functionName: rctx_answer_scan
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_fullcompare
    - ISC_LIST_FOREACH
    - name_external
    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:8656,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8660,1
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:8682,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8703,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8716
      start: 8651
    functionDepth: 3
    functionLinenumber: 8651
    functionLinenumberEnd: 8716
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_fullcompare
    - ISC_LIST_FOREACH
    - name_external
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(msg, DNS_SECTION_ANSWER, name)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8745,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8746,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:8751,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/resolver.c:8757,1
    - Dst: is_answeraddress_allowed
      Src: /src/bind9/lib/dns/resolver.c:8758,1
    - Dst: dns_rdatatype_isalias
      Src: /src/bind9/lib/dns/resolver.c:8765,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8766,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:8775,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 32
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8798
      start: 8741
    functionDepth: 9
    functionLinenumber: 8741
    functionLinenumberEnd: 8798
    functionName: rctx_answer_any
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - is_answeraddress_allowed
    - validinanswer
    - dns_rdatatype_issig
    - ISC_LIST_FOREACH
    - is_answertarget_allowed
    - dns_rdatatype_isalias
    - dns_rdatatype_isaddr
    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:8811,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/resolver.c:8816,1
    - Dst: is_answeraddress_allowed
      Src: /src/bind9/lib/dns/resolver.c:8817,1
    - Dst: dns_rdatatype_isalias
      Src: /src/bind9/lib/dns/resolver.c:8823,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8826,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:8838,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8842,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8843,1
    - Dst: dns_rdataset_issigtype
      Src: /src/bind9/lib/dns/resolver.c:8848,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 33
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8859
      start: 8807
    functionDepth: 9
    functionLinenumber: 8807
    functionLinenumberEnd: 8859
    functionName: rctx_answer_match
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_additionaldata
    - is_answeraddress_allowed
    - dns_rdataset_issigtype
    - validinanswer
    - is_answertarget_allowed
    - ISC_LIST_FOREACH
    - dns_rdatatype_isalias
    - dns_rdatatype_isaddr
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_match(respctx_t *rctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8870,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8875,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8890,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8891,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8910
      start: 8866
    functionDepth: 9
    functionLinenumber: 8866
    functionLinenumberEnd: 8910
    functionName: rctx_answer_cname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - validinanswer
    - is_answertarget_allowed
    - ISC_LIST_FOREACH
    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:8920,1
    - Dst: is_answertarget_allowed
      Src: /src/bind9/lib/dns/resolver.c:8925,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8940,1
    - Dst: validinanswer
      Src: /src/bind9/lib/dns/resolver.c:8941,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 30
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 8959
      start: 8916
    functionDepth: 9
    functionLinenumber: 8916
    functionLinenumberEnd: 8959
    functionName: rctx_answer_dname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - validinanswer
    - is_answertarget_allowed
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_answer_dname(respctx_t *rctx)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: name_external
      Src: /src/bind9/lib/dns/resolver.c:8983,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:8984,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8990,1
    - Dst: dns_rdataset_matchestype
      Src: /src/bind9/lib/dns/resolver.c:8991,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9014,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9023
      start: 8972
    functionDepth: 3
    functionLinenumber: 8972
    functionLinenumberEnd: 9023
    functionName: rctx_authority_positive
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_additionaldata
    - ISC_LIST_FOREACH
    - name_external
    - dns_rdataset_matchestype
    - dns_name_issubdomain
    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:8983,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:8984,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:8990,1
    - Dst: dns_rdataset_matchestype
      Src: /src/bind9/lib/dns/resolver.c:8991,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9014,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9022
      start: 8982
    functionDepth: 3
    functionLinenumber: 8982
    functionLinenumberEnd: 9022
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_additionaldata
    - ISC_LIST_FOREACH
    - name_external
    - dns_rdataset_matchestype
    - dns_name_issubdomain
    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:9037,1
    - Dst: rctx_answer_init
      Src: /src/bind9/lib/dns/resolver.c:9039,1
    - Dst: rctx_authority_negative
      Src: /src/bind9/lib/dns/resolver.c:9055,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:9060,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:9063,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:9064,1
    - Dst: trim_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:9066,1
    - Dst: rctx_authority_dnssec
      Src: /src/bind9/lib/dns/resolver.c:9083,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:9094,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:9095,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9108,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9111,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:9116,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:9118,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:9119,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9121,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9126,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9137,1
    - Dst: rctx_referral
      Src: /src/bind9/lib/dns/resolver.c:9144,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:9158,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 54
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9162
      start: 9032
    functionDepth: 4
    functionLinenumber: 9032
    functionLinenumberEnd: 9162
    functionName: rctx_answer_none
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - trim_ns_ttl
    - rctx_referral
    - rctx_answer_init
    - FCTXTRACE
    - dns_name_equal
    - dns_rdatatype_format
    - dns_name_format
    - FCTX_ATTR_SET
    - rctx_authority_dnssec
    - log_formerr
    - rctx_authority_negative
    - log_ns_ttl
    - dns_name_issubdomain
    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:9180,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9184,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:9186,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9191,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:9196,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:9197,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:9198,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9199,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9217,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9238,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9252,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 54
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9265
      start: 9171
    functionDepth: 4
    functionLinenumber: 9171
    functionLinenumberEnd: 9265
    functionName: rctx_authority_negative
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - log_formerr
    - ISFORWARDER
    - dns_rdatatype_issig
    - ISC_LIST_FOREACH
    - dns_name_issubdomain
    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:9180,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9184,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:9186,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9191,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:9196,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:9197,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:9198,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9199,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9217,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9238,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9252,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9262
      start: 9179
    functionDepth: 4
    functionLinenumber: 9179
    functionLinenumberEnd: 9262
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - log_formerr
    - ISFORWARDER
    - dns_rdatatype_issig
    - ISC_LIST_FOREACH
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(msg, section, name)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9279,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:9285,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9289,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:9293,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9311,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9330,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9340,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:9352,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9361,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 65
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9374
      start: 9273
    functionDepth: 4
    functionLinenumber: 9273
    functionLinenumberEnd: 9374
    functionName: rctx_authority_dnssec
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - issecuredomain
    - ISC_LIST_HEAD
    - log_formerr
    - ISFORWARDER
    - dns_rdatatype_issig
    - ISC_LIST_FOREACH
    - dns_name_issubdomain
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_authority_dnssec(respctx_t *rctx)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9279,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:9285,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:9289,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/resolver.c:9293,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9311,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9330,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9340,1
    - Dst: issecuredomain
      Src: /src/bind9/lib/dns/resolver.c:9352,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9361,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 63
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9371
      start: 9278
    functionDepth: 4
    functionLinenumber: 9278
    functionLinenumberEnd: 9371
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - issecuredomain
    - ISC_LIST_HEAD
    - log_formerr
    - ISFORWARDER
    - dns_rdatatype_issig
    - ISC_LIST_FOREACH
    - dns_name_issubdomain
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(msg, DNS_SECTION_AUTHORITY, name)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/resolver.c:9396,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9397,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9406,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9408,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9409,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9433,1
    - Dst: cache_delegns
      Src: /src/bind9/lib/dns/resolver.c:9434,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9442,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:9442,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:9443,1
    - Dst: dns_delegset_detach
      Src: /src/bind9/lib/dns/resolver.c:9445,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9447,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9450,1
    - Dst: fctx_minimize_qname
      Src: /src/bind9/lib/dns/resolver.c:9452,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:9456,1
    - Dst: FCTX_ATTR_SET
      Src: /src/bind9/lib/dns/resolver.c:9468,1
    - Dst: log_ns_ttl
      Src: /src/bind9/lib/dns/resolver.c:9471,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 52
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9494
      start: 9381
    functionDepth: 15
    functionLinenumber: 9381
    functionLinenumberEnd: 9494
    functionName: rctx_referral
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - fcount_decr
    - dns_name_copy
    - fcount_incr
    - FCTXTRACE
    - INSIST
    - dns_name_equal
    - FCTX_ATTR_SET
    - log_formerr
    - log_ns_ttl
    - dns_delegset_detach
    - fctx_minimize_qname
    - cache_delegns
    - dns_name_countlabels
    - dns_name_issubdomain
    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:9515,1
    - Dst: CHASE
      Src: /src/bind9/lib/dns/resolver.c:9516,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9518,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9528
      start: 9501
    functionDepth: 1
    functionLinenumber: 9501
    functionLinenumberEnd: 9528
    functionName: rctx_additional
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_additionaldata
    - ISC_LIST_FOREACH
    - CHASE
    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:9515,1
    - Dst: CHASE
      Src: /src/bind9/lib/dns/resolver.c:9516,1
    - Dst: dns_rdataset_additionaldata
      Src: /src/bind9/lib/dns/resolver.c:9518,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9524
      start: 9510
    functionDepth: 1
    functionLinenumber: 9510
    functionLinenumberEnd: 9524
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_additionaldata
    - ISC_LIST_FOREACH
    - CHASE
    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:9552,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:9561,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:9562,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9565,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/resolver.c:9568,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9577,1
    - Dst: dns_view_bestzonecut
      Src: /src/bind9/lib/dns/resolver.c:9578,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9582,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9583,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/resolver.c:9586,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9591,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9592,1
    - Dst: fcount_decr
      Src: /src/bind9/lib/dns/resolver.c:9596,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9598,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:9599,1
    - Dst: fcount_incr
      Src: /src/bind9/lib/dns/resolver.c:9601,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9603,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:9608,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:9609,1
    - Dst: fctx_try
      Src: /src/bind9/lib/dns/resolver.c:9616,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 4
    argNames:
    - rctx
    - message
    - addrinfo
    - result
    argTypes:
    - respctx_t*
    - dns_message_t*
    - dns_adbaddrinfo_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9617
      start: 9538
    functionDepth: 13
    functionLinenumber: 9538
    functionLinenumberEnd: 9617
    functionName: rctx_nextserver
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - fcount_decr
    - dns_name_copy
    - fcount_incr
    - dns_rdatatype_atparent
    - add_bad
    - INSIST
    - FCTXTRACE
    - fctx_try
    - dns_view_bestzonecut
    - dns_fixedname_initname
    - fctx_cleanup
    - fctx_failure_detach
    - fctx_cancelqueries
    - dns_name_issubdomain
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9632,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:9634,1
    - Dst: incr_query_counters
      Src: /src/bind9/lib/dns/resolver.c:9634,1
    - Dst: fctx_query
      Src: /src/bind9/lib/dns/resolver.c:9636,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:9638,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9643,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - rctx
    - addrinfo
    argTypes:
    - respctx_t*
    - dns_adbaddrinfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9645
      start: 9627
    functionDepth: 12
    functionLinenumber: 9627
    functionLinenumberEnd: 9645
    functionName: rctx_resend
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - FCTXTRACE
    - fctx_query
    - incr_query_counters
    - CHECK
    - fctx_failure_detach
    - 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:9659,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:9660,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9661,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/resolver.c:9662,1
    - Dst: dns_dispatch_getnext
      Src: /src/bind9/lib/dns/resolver.c:9663,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9665
      start: 9654
    functionDepth: 5
    functionLinenumber: 9654
    functionLinenumberEnd: 9665
    functionName: rctx_next
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_getnext
    - FCTXTRACE
    - INSIST
    - dns_message_reset
    - inc_stats
    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:9678,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:9679,1
    - Dst: fctx_cleanup
      Src: /src/bind9/lib/dns/resolver.c:9680,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:9682,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/resolver.c:9683,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9685,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:9687,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:9688,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9697,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:9698,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: 9701
      start: 9672
    functionDepth: 10
    functionLinenumber: 9672
    functionLinenumberEnd: 9701
    functionName: rctx_chaseds
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_resolver_createfetch
    - fetchctx_detach
    - add_bad
    - FCTXTRACE
    - dns_name_getlabelsequence
    - dns_name_countlabels
    - fctx_cleanup
    - fctx_failure_detach
    - fctx_cancelqueries
    - fetchctx_ref
    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: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_attach
      Src: /src/bind9/lib/dns/resolver.c:9724,1
    - Dst: FCTXTRACE4
      Src: /src/bind9/lib/dns/resolver.c:9726,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:9733,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9735,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9741,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:9742,1
    - Dst: rctx_next
      Src: /src/bind9/lib/dns/resolver.c:9744,1
    - Dst: fctx_cancelquery
      Src: /src/bind9/lib/dns/resolver.c:9751,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:9756,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:9757,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9763,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9764,1
    - Dst: rctx_nextserver
      Src: /src/bind9/lib/dns/resolver.c:9765,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9767,1
    - Dst: rctx_resend
      Src: /src/bind9/lib/dns/resolver.c:9768,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9770,1
    - Dst: rctx_chaseds
      Src: /src/bind9/lib/dns/resolver.c:9771,1
    - Dst: HAVE_ANSWER
      Src: /src/bind9/lib/dns/resolver.c:9772,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9773,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:9778,1
    - Dst: fctx_cancelqueries
      Src: /src/bind9/lib/dns/resolver.c:9779,1
    - Dst: fctx_success_detach
      Src: /src/bind9/lib/dns/resolver.c:9782,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:9784,1
    - Dst: fctx_failure_detach
      Src: /src/bind9/lib/dns/resolver.c:9786,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/resolver.c:9790,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    argCount: 2
    argNames:
    - rctx
    - result
    argTypes:
    - respctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9791
      start: 9711
    functionDepth: 14
    functionLinenumber: 9711
    functionLinenumberEnd: 9791
    functionName: rctx_done
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - rctx_chaseds
    - FCTXTRACE
    - rctx_resend
    - dns_message_detach
    - FCTXTRACE4
    - HAVE_ANSWER
    - ISC_LIST_EMPTY
    - LOCK
    - rctx_next
    - fctx_success_detach
    - fctx_cancelquery
    - dns_message_attach
    - rctx_nextserver
    - fctx_failure_detach
    - fctx_cancelqueries
    - UNLOCK
    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:9811,1
    - Dst: dns_message_logpacketfromto
      Src: /src/bind9/lib/dns/resolver.c:9817,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:9820,1
    - Dst: memset
      Src: /src/bind9/lib/dns/resolver.c:9826,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/dns/resolver.c:9827,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/resolver.c:9828,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:9829,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/resolver.c:9830,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/resolver.c:9832,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/resolver.c:9834,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9842,1
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/resolver.c:9849,1
    - Dst: dns_dt_send
      Src: /src/bind9/lib/dns/resolver.c:9857,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9861
      start: 9797
    functionDepth: 4
    functionLinenumber: 9797
    functionLinenumberEnd: 9861
    functionName: rctx_logpacket
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - dns_transport_get_type
    - dns_message_logpacketfromto
    - dns_name_towire
    - dns_dispentry_getlocaladdress
    - ISFORWARDER
    - ISC_LOG_DEBUG
    - isc_buffer_usedregion
    - dns_compress_setpermitted
    - memset
    - dns_dt_send
    - isc_buffer_init
    - 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:9875,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:9894,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9902,1
    - Dst: log_formerr
      Src: /src/bind9/lib/dns/resolver.c:9911,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:9919,1
    - Dst: EDNSOK
      Src: /src/bind9/lib/dns/resolver.c:9932,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:9934,1
    - Dst: dns_adb_changeflags
      Src: /src/bind9/lib/dns/resolver.c:9949,1
    - Dst: BADCOOKIE
      Src: /src/bind9/lib/dns/resolver.c:9967,1
    - Dst: ISFORWARDER
      Src: /src/bind9/lib/dns/resolver.c:9972,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:9987,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/resolver.c:9988,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/resolver.c:9989,1
    - Dst: FCTXTRACE2
      Src: /src/bind9/lib/dns/resolver.c:9990,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:9991,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 59
    argCount: 2
    argNames:
    - rctx
    - result
    argTypes:
    - respctx_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 9994
      start: 9867
    functionDepth: 15
    functionLinenumber: 9867
    functionLinenumberEnd: 9994
    functionName: rctx_badserver
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_rcode_totext
    - INSIST
    - isc_buffer_usedlength
    - FCTXTRACE2
    - log_formerr
    - EDNSOK
    - ISFORWARDER
    - QTRACE
    - rctx_done
    - inc_stats
    - dns_adb_changeflags
    - isc_buffer_init
    - BADCOOKIE
    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:10006,1
    - Dst: is_lame
      Src: /src/bind9/lib/dns/resolver.c:10006,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:10010,1
    - Dst: log_lame
      Src: /src/bind9/lib/dns/resolver.c:10011,1
    - Dst: FCTXTRACE
      Src: /src/bind9/lib/dns/resolver.c:10014,1
    - Dst: rctx_done
      Src: /src/bind9/lib/dns/resolver.c:10015,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - rctx
    argTypes:
    - respctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10018
      start: 10000
    functionDepth: 15
    functionLinenumber: 10000
    functionLinenumberEnd: 10018
    functionName: rctx_lameserver
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - FCTXTRACE
    - ISFORWARDER
    - log_lame
    - is_lame
    - rctx_done
    - inc_stats
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rctx_lameserver(respctx_t *rctx)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10027,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:10027,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10028,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10030,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/resolver.c:10034,1
    - Dst: dns_nametree_detach
      Src: /src/bind9/lib/dns/resolver.c:10035,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/dns/resolver.c:10038,1
    - Dst: isc_histomulti_detach
      Src: /src/bind9/lib/dns/resolver.c:10041,1
    - Dst: isc_statsmulti_detach
      Src: /src/bind9/lib/dns/resolver.c:10044,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/resolver.c:10047,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:10050,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/resolver.c:10051,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:10053,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/resolver.c:10053,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:10055,1
    - Dst: isc_hashmap_count
      Src: /src/bind9/lib/dns/resolver.c:10055,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/resolver.c:10056,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/resolver.c:10057,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/resolver.c:10059,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/resolver.c:10062,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/resolver.c:10065,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/resolver.c:10067,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:10068,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/resolver.c:10070,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:10072,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/resolver.c:10075,1
    - Dst: dns_message_destroypools
      Src: /src/bind9/lib/dns/resolver.c:10078,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/resolver.c:10080,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/resolver.c:10082,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:10085,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 46
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10086
      start: 10023
    functionDepth: 6
    functionLinenumber: 10023
    functionLinenumberEnd: 10086
    functionName: dns_resolver__destroy
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - isc_tlsctx_cache_detach
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - isc_stats_detach
    - isc_statsmulti_detach
    - RUNTIME_CHECK
    - dns_message_destroypools
    - dns_nametree_detach
    - isc_hashmap_count
    - dns_view_weakdetach
    - ISC_LIST_HEAD
    - atomic_load_acquire
    - isc_hashmap_destroy
    - isc_histomulti_detach
    - RTRACE
    - isc_mem_cput
    - isc_rwlock_destroy
    - cds_lfht_destroy
    - dns_name_free
    - 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:10093,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10093,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/resolver.c:10095,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:10096,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10100,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:10101,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:10101,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:10106,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10108,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10110,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10114
      start: 10088
    functionDepth: 2
    functionLinenumber: 10088
    functionLinenumberEnd: 10114
    functionName: spillattimer_countdown
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_timer_destroy
    - INSIST
    - atomic_load_acquire
    - LOCK
    - isc_log_write
    - atomic_load
    - VALID_RESOLVER
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void spillattimer_countdown(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10127,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/resolver.c:10127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10130,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:10132,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/resolver.c:10145,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10150,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/resolver.c:10152,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:10153,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:10159,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/resolver.c:10162,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/resolver.c:10165,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:10167,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/resolver.c:10169,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/resolver.c:10170,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/resolver.c:10173,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/resolver.c:10178,1
    - Dst: isc_tlsctx_cache_attach
      Src: /src/bind9/lib/dns/resolver.c:10182,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:10184,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/resolver.c:10185,1
    - Dst: dns_nametree_create
      Src: /src/bind9/lib/dns/resolver.c:10187,1
    - Dst: dns_nametree_create
      Src: /src/bind9/lib/dns/resolver.c:10189,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/resolver.c:10192,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/resolver.c:10194,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/resolver.c:10197,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/resolver.c:10198,1
    - Dst: dns_message_createpools
      Src: /src/bind9/lib/dns/resolver.c:10200,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 6
    argNames:
    - view
    - options
    - tlsctx_cache
    - dispatchv4
    - dispatchv6
    - resp
    argTypes:
    - dns_view_t*
    - unsigned int
    - isc_tlsctx_cache_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    - dns_resolver_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10209
      start: 10116
    functionDepth: 5
    functionLinenumber: 10116
    functionLinenumberEnd: 10209
    functionName: dns_resolver_create
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_view_weakattach
    - fprintf
    - dns_nametree_create
    - isc_loopmgr_nloops
    - isc_tlsctx_cache_attach
    - DNS_VIEW_VALID
    - isc_mem_cget
    - cds_lfht_new
    - RUNTIME_CHECK
    - isc_hashmap_create
    - isc_rwlock_init
    - isc_loop_getmctx
    - isc_loop_get
    - isc_refcount_init
    - RTRACE
    - isc_mutex_init
    - isc_mem_get
    - dns_dispatchset_create
    - dns_message_createpools
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_resolver_create(dns_view_t *view, unsigned int options,\n\t\t
      \   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: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/resolver.c:10229,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/resolver.c:10236,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:10236,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:10238,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:10239,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:10240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 7
    argNames:
    - rootdb
    - ver
    - message
    - target
    - type
    - now
    - minttlp
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_message_t*
    - dns_name_t*
    - dns_rdatatype_t
    - isc_stdtime_t
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10249
      start: 10219
    functionDepth: 1
    functionLinenumber: 10219
    functionLinenumberEnd: 10249
    functionName: update_rootdb_glue
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_deleterdataset
    - dns_message_findname
    - RETERR
    - dns_db_findnode
    - dns_db_addrdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_rootdb_glue(dns_db_t *rootdb, dns_dbversion_t
      *ver,\n\t\t   dns_message_t *message, const dns_name_t *target,\n\t\t   dns_rdatatype_t
      type, isc_stdtime_t now,\n\t\t   dns_ttl_t *minttlp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/resolver.c:10274,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/resolver.c:10282,1
    - Dst: dns_db_newversion
      Src: /src/bind9/lib/dns/resolver.c:10288,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:10293,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/resolver.c:10293,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/resolver.c:10295,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/resolver.c:10296,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:10297,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:10308,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:10309,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:10313,1
    - Dst: update_rootdb_glue
      Src: /src/bind9/lib/dns/resolver.c:10313,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:10315,1
    - Dst: update_rootdb_glue
      Src: /src/bind9/lib/dns/resolver.c:10315,1
    - Dst: atomic_store_relaxed
      Src: /src/bind9/lib/dns/resolver.c:10319,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:10323,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/resolver.c:10325,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 36
    argCount: 2
    argNames:
    - view
    - message
    argTypes:
    - dns_view_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10326
      start: 10268
    functionDepth: 2
    functionLinenumber: 10268
    functionLinenumberEnd: 10326
    functionName: update_rootdb
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_db_detachnode
    - dns_db_newversion
    - isc_stdtime_now
    - update_rootdb_glue
    - dns_message_findname
    - dns_db_addrdataset
    - atomic_store_relaxed
    - dns_db_findnode
    - CHECK
    - dns_rdataset_current
    - dns_db_closeversion
    - dns_db_deleterdataset
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void update_rootdb(dns_view_t *view, dns_message_t *message)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/resolver.c:10308,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/resolver.c:10309,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:10313,1
    - Dst: update_rootdb_glue
      Src: /src/bind9/lib/dns/resolver.c:10313,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:10315,1
    - Dst: update_rootdb_glue
      Src: /src/bind9/lib/dns/resolver.c:10315,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10317
      start: 10304
    functionDepth: 2
    functionLinenumber: 10304
    functionLinenumberEnd: 10317
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - update_rootdb_glue
    - dns_rdataset_current
    - CHECK
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(nsset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10334,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10334,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:10336,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10338,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:10340,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10342,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10345,1
    - Dst: atomic_compare_exchange_enforced
      Src: /src/bind9/lib/dns/resolver.c:10347,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/resolver.c:10350,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/resolver.c:10353,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:10355,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:10356,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:10358,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/resolver.c:10359,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/resolver.c:10360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 19
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10361
      start: 10328
    functionDepth: 2
    functionLinenumber: 10328
    functionLinenumberEnd: 10361
    functionName: prime_done
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_detachnode
    - dns_db_detach
    - dns_resolver_freefresp
    - isc_mem_put
    - INSIST
    - dns_rdataset_cleanup
    - atomic_compare_exchange_enforced
    - LOCK
    - isc_log_write
    - ISC_LOG_DEBUG
    - dns_resolver_destroyfetch
    - VALID_RESOLVER
    - UNLOCK
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void prime_done(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10368,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10368,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10369,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10371,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:10373,1
    - Dst: atomic_compare_exchange_strong_acq_rel
      Src: /src/bind9/lib/dns/resolver.c:10374,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10388,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:10390,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:10392,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10394,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/resolver.c:10395,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/resolver.c:10398,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10400,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/resolver.c:10403,1
    - Dst: atomic_compare_exchange_enforced
      Src: /src/bind9/lib/dns/resolver.c:10404,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:10407,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10409
      start: 10363
    functionDepth: 1
    functionLinenumber: 10363
    functionLinenumberEnd: 10409
    functionName: dns_resolver_prime
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - dns_resolver_createfetch
    - REQUIRE
    - RTRACE
    - isc_mem_put
    - isc_mem_get
    - dns_rdataset_init
    - atomic_compare_exchange_enforced
    - atomic_load_acquire
    - LOCK
    - atomic_compare_exchange_strong_acq_rel
    - isc_loop
    - VALID_RESOLVER
    - inc_stats
    - UNLOCK
    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:10417,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10420
      start: 10411
    functionDepth: 1
    functionLinenumber: 10411
    functionLinenumberEnd: 10420
    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:10426,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10426,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10428,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/resolver.c:10430,1
    - Dst: RTRACE
      Src: /src/bind9/lib/dns/resolver.c:10431,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/resolver.c:10435,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:10436,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10437,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10440,1
    - Dst: isc_timer_async_destroy
      Src: /src/bind9/lib/dns/resolver.c:10442,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10444,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - res
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10446
      start: 10422
    functionDepth: 3
    functionLinenumber: 10422
    functionLinenumberEnd: 10446
    functionName: dns_resolver_shutdown
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - RTRACE
    - cds_lfht_for_each_entry
    - fetchctx_ref
    - LOCK
    - isc_async_run
    - isc_timer_async_destroy
    - VALID_RESOLVER
    - atomic_compare_exchange_strong
    - UNLOCK
    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:10458,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:10464,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10468,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:10469,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10471,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - name
    - type
    argTypes:
    - dns_name_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10473
      start: 10454
    functionDepth: 3
    functionLinenumber: 10454
    functionLinenumberEnd: 10473
    functionName: log_fetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    linkageType: ''
    returnType: void
    signature: void log_fetch(const dns_name_t *name, dns_rdatatype_t type)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10481,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10481,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:10483,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:10485,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/resolver.c:10486,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/resolver.c:10525,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/resolver.c:10526,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/resolver.c:10531,1
    - Dst: dns_db_find
      Src: /src/bind9/lib/dns/resolver.c:10538,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/resolver.c:10541,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:10558,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/resolver.c:10563,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10569,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10570,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:10571,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 66
    argCount: 1
    argNames:
    - fctx
    argTypes:
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10575
      start: 10475
    functionDepth: 2
    functionLinenumber: 10475
    functionLinenumberEnd: 10575
    functionName: fctx_minimize_qname
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 3
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - dns_name_copy
    - dns_name_init
    - dns_name_format
    - dns_name_split
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_find
    - isc_log_write
    - dns_fixedname_initname
    - ISC_LOG_DEBUG
    - dns_name_countlabels
    linkageType: ''
    returnType: void
    signature: void fctx_minimize_qname(fetchctx_t *fctx)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/resolver.c:10586,1
    - Dst: fctx_hash
      Src: /src/bind9/lib/dns/resolver.c:10591,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/resolver.c:10593,1
    - Dst: cds_lfht_lookup
      Src: /src/bind9/lib/dns/resolver.c:10596,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/resolver.c:10598,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/resolver.c:10598,1
    - Dst: fctx_create
      Src: /src/bind9/lib/dns/resolver.c:10603,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/resolver.c:10607,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10611,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/resolver.c:10614,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10621,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/resolver.c:10627,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:10629,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/resolver.c:10630,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10631,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10634,1
    - Dst: fetchctx_ref_unless_zero
      Src: /src/bind9/lib/dns/resolver.c:10637,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10638,1
    - Dst: cds_lfht_is_node_deleted
      Src: /src/bind9/lib/dns/resolver.c:10643,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10644,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:10645,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:10649,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/resolver.c:10651,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10659,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:10660,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/resolver.c:10669,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 48
    argCount: 14
    argNames:
    - res
    - loop
    - name
    - type
    - domain
    - delegset
    - client
    - options
    - depth
    - qc
    - gqc
    - parent
    - fctxp
    - new_fctx
    argTypes:
    - dns_resolver_t*
    - isc_loop_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_delegset_t*
    - isc_sockaddr_t*
    - unsigned int
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - fetchctx_t*
    - fetchctx_t**
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10672
      start: 10577
    functionDepth: 3
    functionLinenumber: 10577
    functionLinenumberEnd: 10672
    functionName: get_attached_fctx
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - cds_lfht_lookup
    - isc_timer_destroy
    - fetchctx_detach
    - SHUTTINGDOWN
    - cds_lfht_iter_get_node
    - rcu_read_unlock
    - cds_lfht_add_unique
    - cds_lfht_entry
    - LOCK
    - rcu_read_lock
    - fetchctx_ref_unless_zero
    - fctx_create
    - caa_container_of
    - fctx_hash
    - cds_lfht_del
    - UNCONST
    - cds_lfht_is_node_deleted
    - UNLOCK
    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_delegset_t *delegset, 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
      *parent, fetchctx_t **fctxp,\n\t\t  bool *new_fctx)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/resolver.c:10684,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 8
    argCount: 2
    argNames:
    - domain1
    - domain2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10685
      start: 10674
    functionDepth: 1
    functionLinenumber: 10674
    functionLinenumberEnd: 10685
    functionName: is_samedomain
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_compare
    linkageType: ''
    returnType: bool
    signature: bool is_samedomain(const dns_name_t *domain1, const dns_name_t *domain2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/resolver.c:10692,1
    - Dst: is_samedomain
      Src: /src/bind9/lib/dns/resolver.c:10693,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - parent
    - cur
    argTypes:
    - fetchctx_t*
    - fetchctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10699
      start: 10687
    functionDepth: 2
    functionLinenumber: 10687
    functionLinenumberEnd: 10699
    functionName: waiting_for_fetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - dns_name_compare
    - is_samedomain
    linkageType: ''
    returnType: bool
    signature: bool waiting_for_fetch(const fetchctx_t *parent, const fetchctx_t *cur)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/resolver.c:10719,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/resolver.c:10721,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10723,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10723,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10724,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10727,1
    - Dst: DNS_DELEGSET_VALID
      Src: /src/bind9/lib/dns/resolver.c:10727,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10729,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10731,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10732,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:10732,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10733,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/resolver.c:10733,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10734,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:10736,1
    - Dst: log_fetch
      Src: /src/bind9/lib/dns/resolver.c:10740,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:10742,1
    - Dst: dns_resolver_attach
      Src: /src/bind9/lib/dns/resolver.c:10745,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/resolver.c:10746,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10754,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10757,1
    - Dst: get_attached_fctx
      Src: /src/bind9/lib/dns/resolver.c:10759,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/resolver.c:10767,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:10767,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10771,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/resolver.c:10773,1
    - Dst: inc_stats
      Src: /src/bind9/lib/dns/resolver.c:10787,1
    - Dst: fctx_create
      Src: /src/bind9/lib/dns/resolver.c:10794,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:10803,1
    - Dst: waiting_for_fetch
      Src: /src/bind9/lib/dns/resolver.c:10811,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/resolver.c:10812,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10817,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:10818,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10820,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10824,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/resolver.c:10825,1
    - Dst: fctx_join
      Src: /src/bind9/lib/dns/resolver.c:10841,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:10845,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10846,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10851,1
    - Dst: fetchctx_unref
      Src: /src/bind9/lib/dns/resolver.c:10852,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:10857,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:10858,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:10862,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 101
    argCount: 20
    argNames:
    - res
    - name
    - type
    - domain
    - delegset
    - forwarders
    - client
    - id
    - options
    - depth
    - qc
    - gqc
    - parent
    - loop
    - cb
    - arg
    - edectx
    - rdataset
    - sigrdataset
    - fetchp
    argTypes:
    - dns_resolver_t*
    - dns_name_t*
    - dns_rdatatype_t
    - dns_name_t*
    - dns_delegset_t*
    - dns_forwarders_t*
    - isc_sockaddr_t*
    - dns_messageid_t
    - unsigned int
    - unsigned int
    - isc_counter_t*
    - isc_counter_t*
    - fetchctx_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: 10866
      start: 10701
    functionDepth: 4
    functionLinenumber: 10701
    functionLinenumberEnd: 10866
    functionName: dns_resolver_createfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 10
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - UNUSED
    - dns_resolver_attach
    - INSIST
    - FTRACE
    - dns_resolver_detach
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - UNLOCK
    - dns_rdataset_isassociated
    - dns_name_format
    - fctx_join
    - RUNTIME_CHECK
    - isc_sockaddr_equal
    - log_fetch
    - VALID_RESOLVER
    - inc_stats
    - fetchctx_ref
    - SHUTTINGDOWN
    - dns_rdatatype_format
    - isc_loop_getmctx
    - atomic_load_acquire
    - LOCK
    - isc_log_write
    - fctx_create
    - isc_log_wouldlog
    - get_attached_fctx
    - fetchctx_unref
    - isc_mem_get
    - waiting_for_fetch
    - isc_async_run
    - DNS_DELEGSET_VALID
    - ISC_LIST_FOREACH
    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_delegset_t
      *delegset, 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 fetchctx_t *parent, isc_loop_t
      *loop, isc_job_cb cb,\n\t\t\t void *arg, dns_edectx_t *edectx,\n\t\t\t dns_rdataset_t
      *rdataset, dns_rdataset_t *sigrdataset,\n\t\t\t dns_fetch_t **fetchp)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10873,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:10873,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10875,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10875,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:10877,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10879,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10887,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/resolver.c:10890,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10891,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/resolver.c:10897,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10900,1
    - Dst: fetchctx_ref
      Src: /src/bind9/lib/dns/resolver.c:10903,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/resolver.c:10904,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_fetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10906
      start: 10868
    functionDepth: 2
    functionLinenumber: 10868
    functionLinenumberEnd: 10906
    functionName: dns_resolver_cancelfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - ISC_LIST_UNLINK
    - DNS_FETCH_VALID
    - FTRACE
    - ISC_LIST_EMPTY
    - LOCK
    - isc_async_run
    - ISC_LIST_FOREACH
    - fetchctx_ref
    - UNLOCK
    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:10914,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10917,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:10917,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10919,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10919,1
    - Dst: FTRACE
      Src: /src/bind9/lib/dns/resolver.c:10922,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10926,1
    - Dst: SHUTTINGDOWN
      Src: /src/bind9/lib/dns/resolver.c:10931,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:10932,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/resolver.c:10933,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10936,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:10938,1
    - Dst: fetchctx_detach
      Src: /src/bind9/lib/dns/resolver.c:10940,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/resolver.c:10941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 1
    argNames:
    - fetchp
    argTypes:
    - dns_fetch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10942
      start: 10908
    functionDepth: 1
    functionLinenumber: 10908
    functionLinenumberEnd: 10942
    functionName: dns_resolver_destroyfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 12
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - fetchctx_detach
    - SHUTTINGDOWN
    - DNS_FETCH_VALID
    - RUNTIME_CHECK
    - FTRACE
    - LOCK
    - dns_resolver_detach
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - UNLOCK
    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:10949,1
    - Dst: DNS_FETCH_VALID
      Src: /src/bind9/lib/dns/resolver.c:10949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10951,1
    - Dst: VALID_FCTX
      Src: /src/bind9/lib/dns/resolver.c:10951,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:10953,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:10957,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/resolver.c:10958,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:10967,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/resolver.c:10968,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:10976,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: 10977
      start: 10944
    functionDepth: 2
    functionLinenumber: 10944
    functionLinenumberEnd: 10977
    functionName: dns_resolver_logfetch
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - VALID_FCTX
    - REQUIRE
    - dns_name_format
    - DNS_FETCH_VALID
    - LOCK
    - isc_log_write
    - UNLOCK
    - isc_result_totext
    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:10981,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10981,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/resolver.c:10982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10983
      start: 10979
    functionDepth: 2
    functionLinenumber: 10979
    functionLinenumberEnd: 10983
    functionName: dns_resolver_dispatchv4
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - dns_dispatchset_get
    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:10987,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10987,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/resolver.c:10988,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 10989
      start: 10985
    functionDepth: 2
    functionLinenumber: 10985
    functionLinenumberEnd: 10989
    functionName: dns_resolver_dispatchv6
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - dns_dispatchset_get
    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:10996,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:10996,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10997,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:10998,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/resolver.c:11000,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/resolver.c:11007,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/resolver.c:11008,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/resolver.c:11010,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/resolver.c:11011,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: 11012
      start: 10991
    functionDepth: 1
    functionLinenumber: 10991
    functionLinenumberEnd: 11012
    functionName: dns_resolver_addalternate
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_name_init
    - isc_mem_get
    - ISC_LIST_APPEND
    - VALID_RESOLVER
    - dns_name_dup
    - ISC_LINK_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:11017,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11017,1
    - Dst: dns_nametree_add
      Src: /src/bind9/lib/dns/resolver.c:11023,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: 11024
      start: 11014
    functionDepth: 13
    functionLinenumber: 11014
    functionLinenumberEnd: 11024
    functionName: dns_resolver_disable_algorithm
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - dns_nametree_add
    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:11029,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11029,1
    - Dst: dns_nametree_add
      Src: /src/bind9/lib/dns/resolver.c:11035,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: 11036
      start: 11026
    functionDepth: 13
    functionLinenumber: 11026
    functionLinenumberEnd: 11036
    functionName: dns_resolver_disable_ds_digest
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - dns_nametree_add
    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:11042,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11042,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:11054,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:11055,1
    - Dst: dst_algorithm_fromprivatedns
      Src: /src/bind9/lib/dns/resolver.c:11056,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/resolver.c:11064,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/resolver.c:11065,1
    - Dst: dst_algorithm_fromprivateoid
      Src: /src/bind9/lib/dns/resolver.c:11066,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:11071,1
    - Dst: dst_algorithm_supported
      Src: /src/bind9/lib/dns/resolver.c:11075,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: 11076
      start: 11038
    functionDepth: 8
    functionLinenumber: 11038
    functionLinenumberEnd: 11076
    functionName: dns_resolver_algorithm_supported
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - dst_algorithm_fromprivatedns
    - dst_algorithm_supported
    - dns_nametree_covered
    - isc_buffer_add
    - dst_algorithm_fromprivateoid
    - VALID_RESOLVER
    - isc_buffer_init
    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:11082,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11082,1
    - Dst: dns_nametree_covered
      Src: /src/bind9/lib/dns/resolver.c:11084,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/lib/dns/resolver.c:11088,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: 11089
      start: 11078
    functionDepth: 8
    functionLinenumber: 11078
    functionLinenumberEnd: 11089
    functionName: dns_resolver_ds_digest_supported
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - dns_nametree_covered
    - REQUIRE
    - VALID_RESOLVER
    - dst_ds_digest_supported
    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:11094,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11094,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:11096,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:11097,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:11098,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/resolver.c:11099,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:11100,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: 11101
      start: 11091
    functionDepth: 1
    functionLinenumber: 11091
    functionLinenumberEnd: 11101
    functionName: dns_resolver_getclientsperquery
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - SET_IF_NOT_NULL
    - LOCK
    - VALID_RESOLVER
    - UNLOCK
    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:11106,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11106,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:11108,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:11111,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: 11112
      start: 11103
    functionDepth: 1
    functionLinenumber: 11103
    functionLinenumberEnd: 11112
    functionName: dns_resolver_setclientsperquery
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - UNLOCK
    - LOCK
    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:11116,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11116,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/resolver.c:11118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - clients
    argTypes:
    - dns_resolver_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11119
      start: 11114
    functionDepth: 1
    functionLinenumber: 11114
    functionLinenumberEnd: 11119
    functionName: dns_resolver_setfetchesperzone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - atomic_store_release
    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:11123,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11123,1
    - Dst: atomic_load_relaxed
      Src: /src/bind9/lib/dns/resolver.c:11125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11126
      start: 11121
    functionDepth: 1
    functionLinenumber: 11121
    functionLinenumberEnd: 11126
    functionName: dns_resolver_getfetchesperzone
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - atomic_load_relaxed
    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:11130,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11133
      start: 11128
    functionDepth: 1
    functionLinenumber: 11128
    functionLinenumberEnd: 11133
    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:11137,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - state
    argTypes:
    - dns_resolver_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11140
      start: 11135
    functionDepth: 1
    functionLinenumber: 11135
    functionLinenumberEnd: 11140
    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:11144,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11147
      start: 11142
    functionDepth: 1
    functionLinenumber: 11142
    functionLinenumberEnd: 11147
    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:11151,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11154
      start: 11149
    functionDepth: 1
    functionLinenumber: 11149
    functionLinenumberEnd: 11154
    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:11158,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11158,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - resolver
    - timeout
    argTypes:
    - dns_resolver_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11175
      start: 11156
    functionDepth: 1
    functionLinenumber: 11156
    functionLinenumberEnd: 11175
    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:11179,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11179,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/resolver.c:11180,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - max
    argTypes:
    - dns_resolver_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11181
      start: 11177
    functionDepth: 1
    functionLinenumber: 11177
    functionLinenumberEnd: 11181
    functionName: dns_resolver_setmaxvalidations
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - atomic_store
    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:11185,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11185,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/resolver.c:11186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - max
    argTypes:
    - dns_resolver_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11187
      start: 11183
    functionDepth: 1
    functionLinenumber: 11183
    functionLinenumberEnd: 11187
    functionName: dns_resolver_setmaxvalidationfails
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - atomic_store
    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:11191,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - maxdepth
    argTypes:
    - dns_resolver_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11193
      start: 11189
    functionDepth: 1
    functionLinenumber: 11189
    functionLinenumberEnd: 11193
    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:11197,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11199
      start: 11195
    functionDepth: 1
    functionLinenumber: 11195
    functionLinenumberEnd: 11199
    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:11203,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - resolver
    - queries
    argTypes:
    - dns_resolver_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11205
      start: 11201
    functionDepth: 1
    functionLinenumber: 11201
    functionLinenumberEnd: 11205
    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:11209,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - resolver
    argTypes:
    - dns_resolver_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11211
      start: 11207
    functionDepth: 1
    functionLinenumber: 11207
    functionLinenumberEnd: 11211
    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:11216,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11218,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:11220,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:11221,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:11223,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/resolver.c:11225,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/resolver.c:11229,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:11234,1
    - Dst: dns_name_print
      Src: /src/bind9/lib/dns/resolver.c:11235,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/lib/dns/resolver.c:11237,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/resolver.c:11240,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:11242,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:11246,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/resolver.c:11250,1
    - Dst: isc_timer_running
      Src: /src/bind9/lib/dns/resolver.c:11254,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/resolver.c:11255,1
    - Dst: isc_time_formatISO8601ms
      Src: /src/bind9/lib/dns/resolver.c:11256,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/resolver.c:11259,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/resolver.c:11262,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:11269,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/resolver.c:11272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 30
    argCount: 3
    argNames:
    - res
    - format
    - fp
    argTypes:
    - dns_resolver_t*
    - isc_statsformat_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11273
      start: 11213
    functionDepth: 3
    functionLinenumber: 11213
    functionLinenumberEnd: 11273
    functionName: dns_resolver_dumpfetches
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - isc_timer_running
    - REQUIRE
    - cds_lfht_for_each_entry
    - dns_rdatatype_format
    - fprintf
    - rcu_read_unlock
    - LOCK
    - dns_name_print
    - rcu_read_lock
    - ISC_LIST_FOREACH
    - isc_time_formatISO8601ms
    - VALID_RESOLVER
    - strlcpy
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_dumpfetches(dns_resolver_t *res, isc_statsformat_t
      format,\n\t\t\t FILE *fp)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11281,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11281,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/resolver.c:11283,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/resolver.c:11288,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/resolver.c:11289,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/resolver.c:11290,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/dns/resolver.c:11291,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/resolver.c:11298,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/resolver.c:11300,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/resolver.c:11304,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/resolver.c:11310,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/resolver.c:11311,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/resolver.c:11316,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/resolver.c:11316,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/resolver.c:11316,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/resolver.c:11317,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/resolver.c:11324,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/resolver.c:11325,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 2
    argNames:
    - res
    - buf
    argTypes:
    - dns_resolver_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11327
      start: 11275
    functionDepth: 3
    functionLinenumber: 11275
    functionLinenumberEnd: 11327
    functionName: dns_resolver_dumpquota
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_hashmap_iter_next
    - dns_name_format
    - isc_buffer_reserve
    - isc_hashmap_iter_create
    - isc_hashmap_iter_destroy
    - atomic_load_acquire
    - LOCK
    - snprintf
    - strlen
    - isc_buffer_putstr
    - CHECK
    - VALID_RESOLVER
    - isc_hashmap_iter_current
    - UNLOCK
    - isc_hashmap_iter_first
    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:11332,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11332,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11333,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11334,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: 11337
      start: 11329
    functionDepth: 1
    functionLinenumber: 11329
    functionLinenumberEnd: 11337
    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:11341,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11341,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - resolver
    - which
    argTypes:
    - dns_resolver_t*
    - dns_quotatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11345
      start: 11339
    functionDepth: 1
    functionLinenumber: 11339
    functionLinenumberEnd: 11345
    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:11349,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11350,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/resolver.c:11352,1
    - Dst: set_stats
      Src: /src/bind9/lib/dns/resolver.c:11355,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/resolver.c:11355,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - res
    - stats
    argTypes:
    - dns_resolver_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11356
      start: 11347
    functionDepth: 3
    functionLinenumber: 11347
    functionLinenumberEnd: 11356
    functionName: dns_resolver_setstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_loopmgr_nloops
    - set_stats
    - isc_stats_attach
    - VALID_RESOLVER
    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:11360,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11360,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11361,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/resolver.c:11364,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - res
    - statsp
    argTypes:
    - dns_resolver_t*
    - isc_stats_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11366
      start: 11358
    functionDepth: 2
    functionLinenumber: 11358
    functionLinenumberEnd: 11366
    functionName: dns_resolver_getstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - isc_stats_attach
    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:11370,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11370,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/resolver.c:11372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - res
    - counter
    argTypes:
    - dns_resolver_t*
    - isc_statscounter_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11373
      start: 11368
    functionDepth: 2
    functionLinenumber: 11368
    functionLinenumberEnd: 11373
    functionName: dns_resolver_incstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - isc_stats_increment
    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:11377,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11377,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11378,1
    - Dst: isc_statsmulti_attach
      Src: /src/bind9/lib/dns/resolver.c:11380,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - res
    - stats
    argTypes:
    - dns_resolver_t*
    - isc_statsmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11381
      start: 11375
    functionDepth: 1
    functionLinenumber: 11375
    functionLinenumberEnd: 11381
    functionName: dns_resolver_setquerystats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - isc_statsmulti_attach
    linkageType: ''
    returnType: void
    signature: void dns_resolver_setquerystats(dns_resolver_t *res, isc_statsmulti_t
      *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11385,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11385,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11386,1
    - Dst: isc_statsmulti_attach
      Src: /src/bind9/lib/dns/resolver.c:11389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - res
    - statsp
    argTypes:
    - dns_resolver_t*
    - isc_statsmulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11391
      start: 11383
    functionDepth: 1
    functionLinenumber: 11383
    functionLinenumberEnd: 11391
    functionName: dns_resolver_getquerystats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - isc_statsmulti_attach
    linkageType: ''
    returnType: void
    signature: void dns_resolver_getquerystats(dns_resolver_t *res, isc_statsmulti_t
      **statsp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11396,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11396,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11397,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11398,1
    - Dst: isc_histomulti_attach
      Src: /src/bind9/lib/dns/resolver.c:11400,1
    - Dst: isc_histomulti_attach
      Src: /src/bind9/lib/dns/resolver.c:11401,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 3
    argNames:
    - res
    - hmin
    - hmout
    argTypes:
    - dns_resolver_t*
    - isc_histomulti_t*
    - isc_histomulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11402
      start: 11393
    functionDepth: 1
    functionLinenumber: 11393
    functionLinenumberEnd: 11402
    functionName: dns_resolver_setqueryrttstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - isc_histomulti_attach
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_setqueryrttstats(dns_resolver_t *res, isc_histomulti_t
      *hmin,\n\t\t\t      isc_histomulti_t *hmout)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11407,1
    - Dst: VALID_RESOLVER
      Src: /src/bind9/lib/dns/resolver.c:11407,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11409,1
    - Dst: isc_histomulti_attach
      Src: /src/bind9/lib/dns/resolver.c:11412,1
    - Dst: isc_histomulti_attach
      Src: /src/bind9/lib/dns/resolver.c:11415,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 10
    argCount: 3
    argNames:
    - res
    - hmpin
    - hmpout
    argTypes:
    - dns_resolver_t*
    - isc_histomulti_t**
    - isc_histomulti_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11417
      start: 11404
    functionDepth: 1
    functionLinenumber: 11404
    functionLinenumberEnd: 11417
    functionName: dns_resolver_getqueryrttstats
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_RESOLVER
    - isc_histomulti_attach
    linkageType: ''
    returnType: void
    signature: "void dns_resolver_getqueryrttstats(dns_resolver_t *res, isc_histomulti_t
      **hmpin,\n\t\t\t      isc_histomulti_t **hmpout)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/resolver.c:11421,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/resolver.c:11430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - frespp
    argTypes:
    - dns_fetchresponse_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 11431
      start: 11419
    functionDepth: 1
    functionLinenumber: 11419
    functionLinenumberEnd: 11431
    functionName: dns_resolver_freefresp
    functionSourceFile: /src/bind9/lib/dns/resolver.c
    functionUses: 9
    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:
    - dns_name_format
    - vsnprintf
    - va_end
    - va_start
    - isc_log_write
    - isc_log_wouldlog
    - strlcpy
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:156,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/tsig.c:161,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tsig.c:162,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tsig.c:163,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:165,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 2
    argNames:
    - ring
    - tkey
    argTypes:
    - dns_tsigkeyring_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 167
    functionName: adjust_lru
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - ISC_LIST_UNLINK
    - RWLOCK
    - ISC_LIST_APPEND
    - ISC_LINK_LINKED
    linkageType: ''
    returnType: void
    signature: void adjust_lru(dns_tsigkeyring_t *ring, dns_tsigkey_t *tkey)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:180,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:182,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:193,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tsig.c:194,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/tsig.c:195,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:198,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:208,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/tsig.c:209,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/tsig.c:210,1
    - Dst: dst_key_attach
      Src: /src/bind9/lib/dns/tsig.c:214,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/tsig.c:217,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/tsig.c:218,1
    - Dst: dst_key_size
      Src: /src/bind9/lib/dns/tsig.c:223,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:227,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/tsig.c:228,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:237,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tsig.c:237,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:239,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tsig.c:239,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:241,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tsig.c:241,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/tsig.c:244,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:248,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: 251
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 251
    functionName: dns_tsigkey_createfromkey
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - isc_mem_attach
    - dns_name_init
    - isc_mem_put
    - isc_mem_get
    - dst_key_alg
    - dns_name_format
    - SET_IF_NOT_NULL
    - tsig_log
    - isc_log_write
    - dns_name_downcase
    - dns_fixedname_initname
    - ISC_LOG_DEBUG
    - dst_key_size
    - dst_key_attach
    - dns_name_dup
    - isc_refcount_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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/tsig.c:255,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tsig.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - tkey
    argTypes:
    - dns_tsigkeyring_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: dns__tsigkey_deletelru
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LINK_LINKED
    linkageType: ''
    returnType: void
    signature: void dns__tsigkey_deletelru(dns_tsigkeyring_t *ring, dns_tsigkey_t
      *tkey)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:266,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/tsig.c:267,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/tsig.c:268,1
    - Dst: isc_hashmap_iter_delcurrent_next
      Src: /src/bind9/lib/dns/tsig.c:269,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/tsig.c:272,1
    - Dst: dns__tsigkey_deletelru
      Src: /src/bind9/lib/dns/tsig.c:274,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tsig.c:275,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/tsig.c:277,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/tsig.c:278,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:279,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/tsig.c:283,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/tsig.c:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - ring
    argTypes:
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 285
      start: 261
    functionDepth: 3
    functionLinenumber: 261
    functionLinenumberEnd: 285
    functionName: destroyring
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - dns__tsigkey_deletelru
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_create
    - isc_rwlock_destroy
    - dns_tsigkey_detach
    - isc_hashmap_destroy
    - isc_mem_putanddetach
    - isc_hashmap_iter_delcurrent_next
    - isc_hashmap_iter_current
    - 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:298,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:300,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 1
    argNames:
    - algorithm
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 305
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: fscanf
      Src: /src/bind9/lib/dns/tsig.c:323,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/tsig.c:332,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:336,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:337,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:337,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:338,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:338,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:339,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tsig.c:339,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:341,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:342,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:342,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:343,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:343,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:344,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tsig.c:344,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tsig.c:346,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:347,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:347,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:348,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/tsig.c:348,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:349,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tsig.c:349,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tsig.c:351,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:356,1
    - Dst: dst_key_restore
      Src: /src/bind9/lib/dns/tsig.c:356,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tsig.c:359,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/lib/dns/tsig.c:363,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tsig.c:365,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tsig.c:367,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 37
    argCount: 3
    argNames:
    - ring
    - now
    - fp
    argTypes:
    - dns_tsigkeyring_t*
    - isc_stdtime_t
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 307
    functionDepth: 5
    functionLinenumber: 307
    functionLinenumberEnd: 370
    functionName: restore_key
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_name_fromtext
    - dst_key_restore
    - dns_tsigkey_createfromkey
    - dns_tsigkeyring_add
    - dns_tsigkey_detach
    - isc_serial_lt
    - strlen
    - dns_fixedname_initname
    - fscanf
    - isc_buffer_add
    - RETERR
    - dns__tsig_algfromname
    - dst_key_free
    - isc_buffer_init
    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:381,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:382,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:384,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:385,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/tsig.c:386,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/tsig.c:386,1
    - Dst: dst_key_dump
      Src: /src/bind9/lib/dns/tsig.c:388,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/tsig.c:390,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:395,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 2
    argNames:
    - tkey
    - fp
    argTypes:
    - dns_tsigkey_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 372
    functionDepth: 2
    functionLinenumber: 372
    functionLinenumberEnd: 397
    functionName: dump_key
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - dst_key_dump
    - dns_name_format
    - fprintf
    - dns_tsigkey_algorithm
    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:402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:406,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:406,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:408,1
    - Dst: isc_hashmap_iter_create
      Src: /src/bind9/lib/dns/tsig.c:409,1
    - Dst: isc_hashmap_iter_first
      Src: /src/bind9/lib/dns/tsig.c:410,1
    - Dst: isc_hashmap_iter_next
      Src: /src/bind9/lib/dns/tsig.c:411,1
    - Dst: isc_hashmap_iter_current
      Src: /src/bind9/lib/dns/tsig.c:414,1
    - Dst: dump_key
      Src: /src/bind9/lib/dns/tsig.c:417,1
    - Dst: isc_hashmap_iter_destroy
      Src: /src/bind9/lib/dns/tsig.c:421,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:422,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - ring
    - fp
    argTypes:
    - dns_tsigkeyring_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 425
      start: 399
    functionDepth: 3
    functionLinenumber: 399
    functionLinenumberEnd: 425
    functionName: dns_tsigkeyring_dump
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_stdtime_now
    - isc_hashmap_iter_next
    - isc_hashmap_iter_destroy
    - isc_hashmap_iter_create
    - dump_key
    - VALID_TSIGKEYRING
    - isc_hashmap_iter_current
    - 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:429,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:429,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - tsigkey
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 427
    functionDepth: 1
    functionLinenumber: 427
    functionLinenumberEnd: 439
    functionName: dns_tsigkey_identity
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_TSIGKEY
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_tsigkey_identity(const dns_tsigkey_t *tsigkey)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:450,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:453,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:457,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/tsig.c:458,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:459,1
    - Dst: dst_key_frombuffer
      Src: /src/bind9/lib/dns/tsig.c:459,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tsig.c:467,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tsig.c:470,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    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: 473
      start: 441
    functionDepth: 4
    functionLinenumber: 441
    functionLinenumberEnd: 473
    functionName: dns_tsigkey_create
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - dns__tsig_algvalid
    - dns_tsigkey_createfromkey
    - isc_buffer_add
    - RETERR
    - dst_key_frombuffer
    - dst_key_free
    - isc_buffer_init
    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:477,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:477,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tsig.c:481,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/tsig.c:484,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:485,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/tsig.c:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 488
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 488
    functionName: destroy_tsigkey
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - isc_mem_putanddetach
    - VALID_TSIGKEY
    - dns_name_free
    - dst_key_free
    linkageType: ''
    returnType: void
    signature: void destroy_tsigkey(dns_tsigkey_t *key)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_delete
      Src: /src/bind9/lib/dns/tsig.c:498,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/tsig.c:499,1
    - Dst: dns__tsigkey_deletelru
      Src: /src/bind9/lib/dns/tsig.c:501,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tsig.c:502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - ring
    - tkey
    argTypes:
    - dns_tsigkeyring_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 504
      start: 496
    functionDepth: 4
    functionLinenumber: 496
    functionLinenumberEnd: 504
    functionName: dns__tsigkey_delete
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_tsigkey_detach
    - isc_hashmap_delete
    - dns__tsigkey_deletelru
    - dns_name_hash
    linkageType: ''
    returnType: void
    signature: void dns__tsigkey_delete(dns_tsigkeyring_t *ring, dns_tsigkey_t *tkey)
  - BBCount: 1
    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: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:509,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:509,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:511,1
    - Dst: dns__tsigkey_delete
      Src: /src/bind9/lib/dns/tsig.c:512,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - ring
    - tkey
    argTypes:
    - dns_tsigkeyring_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 506
    functionDepth: 5
    functionLinenumber: 506
    functionLinenumberEnd: 514
    functionName: dns_tsigkey_delete
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - dns__tsigkey_delete
    - VALID_TSIGKEY
    - VALID_TSIGKEYRING
    linkageType: ''
    returnType: void
    signature: void dns_tsigkey_delete(dns_tsigkeyring_t *ring, dns_tsigkey_t *tkey)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:536,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:537,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:538,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:538,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/tsig.c:544,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:553,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/tsig.c:564,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tsig.c:565,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/tsig.c:565,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:567,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:574,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:575,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:591,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/tsig.c:591,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/tsig.c:606,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:608,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:612,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:613,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:618,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/tsig.c:619,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/tsig.c:625,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:627,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:628,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:638,1
    - Dst: dns_message_renderheader
      Src: /src/bind9/lib/dns/tsig.c:639,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:640,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:641,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:649,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/tsig.c:650,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:651,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:660,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:661,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:666,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:667,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/tsig.c:668,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:669,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:670,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:675,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:676,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:682,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:686,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:687,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:688,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:689,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:698,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:699,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:700,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:702,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:703,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:714,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:721,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:725,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:727,1
    - Dst: dst_context_sign
      Src: /src/bind9/lib/dns/tsig.c:728,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:732,1
    - Dst: dst_key_getbits
      Src: /src/bind9/lib/dns/tsig.c:733,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tsig.c:739,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tsig.c:740,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tsig.c:744,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/tsig.c:751,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/tsig.c:752,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/tsig.c:753,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/tsig.c:759,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:762,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tsig.c:765,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tsig.c:766,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/tsig.c:768,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tsig.c:770,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tsig.c:773,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/tsig.c:774,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tsig.c:784,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/tsig.c:785,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tsig.c:788,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:792,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 189
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 795
    functionName: dns_tsig_sign
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - isc_buffer_putuint48
    - INSIST
    - dns_message_renderheader
    - isc_buffer_usedlength
    - isc_buffer_putuint32
    - dns_message_takebuffer
    - isc_mem_put
    - dns_message_gettemprdatalist
    - VALID_TSIGKEY
    - RETERR
    - isc_region_consume
    - dns_rdatalist_tordataset
    - dst_key_getbits
    - dst_context_sign
    - dns_name_init
    - dst_context_destroy
    - dns_name_toregion
    - isc_buffer_putuint16
    - dst_key_sigsize
    - is_response
    - dst_context_create
    - dns_message_gettempname
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_message_gettsigkey
    - dns_message_gettemprdata
    - isc_stdtime_now
    - isc_buffer_putmem
    - dns_rdataset_first
    - isc_buffer_availablelength
    - dns_rdataset_current
    - dns_name_clone
    - isc_buffer_clear
    - dns_message_puttemprdata
    - isc_mem_get
    - ISC_LIST_APPEND
    - dns_tsigkey_algorithm
    - dns_rdata_fromstruct
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    - dns_message_gettemprdataset
    - dst_context_adddata
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_tsig_sign(dns_message_t *msg)
  - BBCount: 40
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:818,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:819,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/tsig.c:819,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:820,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/tsig.c:821,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:823,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:823,1
    - Dst: tsig_verify_tcp
      Src: /src/bind9/lib/dns/tsig.c:833,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:859,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:859,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:860,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:861,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:861,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/tsig.c:862,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:864,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:864,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:865,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:866,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:866,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:873,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:874,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:877,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:888,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tsig.c:897,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tsig.c:901,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tsig.c:906,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:907,1
    - Dst: dns_tsigkey_create
      Src: /src/bind9/lib/dns/tsig.c:907,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tsig.c:910,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:914,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:925,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:926,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:926,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:927,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:929,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:935,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:947,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/tsig.c:947,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:951,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:952,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:953,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:954,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:961,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:971,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:972,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/tsig.c:973,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:978,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/tsig.c:979,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:980,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:981,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:986,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:987,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:994,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1002,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1005,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:1013,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1014,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:1019,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1020,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/tsig.c:1021,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1022,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1023,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/tsig.c:1031,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/tsig.c:1031,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1032,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/tsig.c:1037,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:1038,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1039,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1040,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1041,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1042,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1043,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1051,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/tsig.c:1057,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1060,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1070,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1086,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1091,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:1096,1
    - Dst: dst_key_getbits
      Src: /src/bind9/lib/dns/tsig.c:1097,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1103,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1111,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:1132,1
    CyclomaticComplexity: 71
    EdgeCount: 71
    ICount: 228
    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: 1136
      start: 797
    functionDepth: 5
    functionLinenumber: 797
    functionLinenumberEnd: 1136
    functionName: dns_tsig_verify
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - memmove
    - isc_buffer_putuint48
    - dst_context_verify
    - tsig_verify_tcp
    - isc_buffer_putuint32
    - dns_tsigkey_create
    - VALID_TSIGKEY
    - RETERR
    - DNS_MESSAGE_VALID
    - isc_region_consume
    - htons
    - dst_key_getbits
    - dns_tsigkey_find
    - dst_context_destroy
    - dns_name_toregion
    - tsig_log
    - isc_buffer_putuint16
    - dst_key_sigsize
    - ntohs
    - is_response
    - dst_context_create
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_message_gettsigkey
    - dns_name_equal
    - isc_stdtime_now
    - dns_rdataset_first
    - dst_key_alg
    - dns_rdata_reset
    - dns_rdataset_current
    - dns_name_clone
    - isc_buffer_clear
    - dns__tsig_algvalid
    - dns_tsigkey_algorithm
    - isc_buffer_usedregion
    - dns__tsig_algfromname
    - dst_context_adddata
    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: 36
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1159,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:1159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1161,1
    - Dst: is_response
      Src: /src/bind9/lib/dns/tsig.c:1166,1
    - Dst: dns_message_gettsigkey
      Src: /src/bind9/lib/dns/tsig.c:1172,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:1178,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:1178,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:1179,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tsig.c:1180,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:1180,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/tsig.c:1181,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tsig.c:1190,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tsig.c:1194,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tsig.c:1195,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:1203,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tsig.c:1204,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1208,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:1216,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:1217,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:1221,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1223,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1232,1
    - Dst: dst_context_create
      Src: /src/bind9/lib/dns/tsig.c:1241,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:1250,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1251,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1252,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1253,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1264,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1274,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1275,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/tsig.c:1276,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1284,1
    - Dst: ntohs
      Src: /src/bind9/lib/dns/tsig.c:1285,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:1286,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1287,1
    - Dst: htons
      Src: /src/bind9/lib/dns/tsig.c:1295,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tsig.c:1296,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1304,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1312,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1319,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tsig.c:1328,1
    - Dst: isc_buffer_putuint48
      Src: /src/bind9/lib/dns/tsig.c:1329,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/tsig.c:1330,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/tsig.c:1331,1
    - Dst: dst_context_adddata
      Src: /src/bind9/lib/dns/tsig.c:1332,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1348,1
    - Dst: dst_context_verify
      Src: /src/bind9/lib/dns/tsig.c:1354,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1356,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tsig.c:1378,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1383,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1389,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/tsig.c:1394,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/tsig.c:1395,1
    - Dst: dns__tsig_algvalid
      Src: /src/bind9/lib/dns/tsig.c:1399,1
    - Dst: dst_key_getbits
      Src: /src/bind9/lib/dns/tsig.c:1400,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1406,1
    - Dst: tsig_log
      Src: /src/bind9/lib/dns/tsig.c:1416,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/tsig.c:1444,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/tsig.c:1448,1
    CyclomaticComplexity: 65
    EdgeCount: 65
    ICount: 216
    argCount: 2
    argNames:
    - source
    - msg
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1138
    functionDepth: 3
    functionLinenumber: 1138
    functionLinenumberEnd: 1451
    functionName: tsig_verify_tcp
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - memmove
    - isc_buffer_putuint48
    - dst_context_verify
    - dns_rdata_freestruct
    - RETERR
    - isc_region_consume
    - htons
    - dst_key_getbits
    - dst_context_destroy
    - tsig_log
    - isc_buffer_putuint16
    - dst_key_sigsize
    - ntohs
    - is_response
    - dst_context_create
    - isc_buffer_init
    - dns_rdata_tostruct
    - dns_message_gettsigkey
    - dns_name_equal
    - dst_key_alg
    - dns_rdataset_first
    - isc_stdtime_now
    - dns_rdata_reset
    - dns_rdataset_current
    - dns__tsig_algvalid
    - isc_buffer_usedregion
    - dst_context_adddata
    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:1459,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1461,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1462,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:1462,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1463,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:1466,1
    - Dst: isc_hashmap_find
      Src: /src/bind9/lib/dns/tsig.c:1467,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/tsig.c:1467,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1470,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tsig.c:1474,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1475,1
    - Dst: isc_serial_lt
      Src: /src/bind9/lib/dns/tsig.c:1478,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1483,1
    - Dst: dns__tsigkey_delete
      Src: /src/bind9/lib/dns/tsig.c:1488,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1489,1
    - Dst: dns_tsigkey_ref
      Src: /src/bind9/lib/dns/tsig.c:1492,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1493,1
    - Dst: adjust_lru
      Src: /src/bind9/lib/dns/tsig.c:1494,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 33
    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: 1497
      start: 1453
    functionDepth: 5
    functionLinenumber: 1453
    functionLinenumberEnd: 1497
    functionName: dns_tsigkey_find
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_stdtime_now
    - dns__tsigkey_delete
    - dns_tsigkey_ref
    - dns_name_hash
    - isc_hashmap_find
    - isc_serial_lt
    - dns__tsig_algfromname
    - VALID_TSIGKEYRING
    - adjust_lru
    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:1501,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:1501,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/tsig.c:1528,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 1
    argNames:
    - tkey
    argTypes:
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1530
      start: 1499
    functionDepth: 1
    functionLinenumber: 1499
    functionLinenumberEnd: 1530
    functionName: dns_tsigkey_algorithm
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_TSIGKEY
    - UNREACHABLE
    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:1536,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1537,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tsig.c:1539,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/tsig.c:1544,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/tsig.c:1545,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/tsig.c:1546,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/tsig.c:1547,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - mctx
    - ringp
    argTypes:
    - isc_mem_t*
    - dns_tsigkeyring_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1551
      start: 1532
    functionDepth: 3
    functionLinenumber: 1532
    functionLinenumberEnd: 1551
    functionName: dns_tsigkeyring_create
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_rwlock_init
    - isc_mem_get
    - isc_hashmap_create
    - isc_refcount_init
    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:1557,1
    - Dst: VALID_TSIGKEY
      Src: /src/bind9/lib/dns/tsig.c:1557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tsig.c:1558,1
    - Dst: VALID_TSIGKEYRING
      Src: /src/bind9/lib/dns/tsig.c:1558,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/tsig.c:1560,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/tsig.c:1561,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/tsig.c:1561,1
    - Dst: dns_tsigkey_ref
      Src: /src/bind9/lib/dns/tsig.c:1564,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tsig.c:1573,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/tsig.c:1575,1
    - Dst: dns__tsigkey_delete
      Src: /src/bind9/lib/dns/tsig.c:1576,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/tsig.c:1580,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - ring
    - tkey
    argTypes:
    - dns_tsigkeyring_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1583
      start: 1553
    functionDepth: 5
    functionLinenumber: 1553
    functionLinenumberEnd: 1583
    functionName: dns_tsigkeyring_add
    functionSourceFile: /src/bind9/lib/dns/tsig.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_hashmap_add
    - dns__tsigkey_delete
    - ISC_LIST_APPEND
    - dns_tsigkey_ref
    - dns_name_hash
    - ISC_LIST_HEAD
    - VALID_TSIGKEY
    - VALID_TSIGKEYRING
    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:1587,1
    - Dst: restore_key
      Src: /src/bind9/lib/dns/tsig.c:1591,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - ring
    - fp
    argTypes:
    - dns_tsigkeyring_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1599
      start: 1585
    functionDepth: 6
    functionLinenumber: 1585
    functionLinenumberEnd: 1599
    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:
    - INSIST
    - decode_uint32
    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:
    - REQUIRE
    - dns_name_init
    - dns_rdata_fromstruct
    - dns_name_clone
    - memset
    - isc_buffer_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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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: 6
    functionsReached:
    - DNS_REMOTE_VALID
    - REQUIRE
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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: 0
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - memmove
    - dns_name_init
    - isc_mem_get
    - DNS_REMOTE_VALID
    - dns_name_dup
    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: 0
    functionsReached:
    - REQUIRE
    - isc_mem_cput
    - isc_mem_put
    - DNS_REMOTE_VALID
    - dns_name_free
    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: 0
    functionsReached:
    - DNS_REMOTE_VALID
    - REQUIRE
    - same_names
    - same_addrs
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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: 8
    functionsReached:
    - DNS_REMOTE_VALID
    - REQUIRE
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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: 4
    functionsReached:
    - DNS_REMOTE_VALID
    - REQUIRE
    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: 4
    functionsReached:
    - DNS_REMOTE_VALID
    - REQUIRE
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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: 7
    functionsReached:
    - DNS_REMOTE_VALID
    - REQUIRE
    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:
    - DNS_REMOTE_VALID
    - REQUIRE
    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
    - REQUIRE
    - DNS_DBITERATOR_VALID
    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:64,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:64,1
    - Dst: dns_dbiterator_t*::methods::seek3
      Src: /src/bind9/lib/dns/dbiterator.c:66,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: 67
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 67
    functionName: dns__dbiterator_seek3
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_t*::methods::seek3
    - REQUIRE
    - DNS_DBITERATOR_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns__dbiterator_seek3(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:92,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:92,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:93,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:94,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/dbiterator.c:94,1
    - Dst: dns_dbiterator_t*::methods::current
      Src: /src/bind9/lib/dns/dbiterator.c:96,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: 98
      start: 89
    functionDepth: 1
    functionLinenumber: 89
    functionLinenumberEnd: 98
    functionName: dns__dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_hasbuffer
    - DNS_DBITERATOR_VALID
    - dns_dbiterator_t*::methods::current
    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:102,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:102,1
    - Dst: dns_dbiterator_t*::methods::pause
      Src: /src/bind9/lib/dns/dbiterator.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - dns_dbiterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 105
    functionName: dns_dbiterator_pause
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 16
    functionsReached:
    - REQUIRE
    - dns_dbiterator_t*::methods::pause
    - DNS_DBITERATOR_VALID
    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:109,1
    - Dst: DNS_DBITERATOR_VALID
      Src: /src/bind9/lib/dns/dbiterator.c:109,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:110,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dbiterator.c:111,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/dbiterator.c:111,1
    - Dst: dns_dbiterator_t*::methods::origin
      Src: /src/bind9/lib/dns/dbiterator.c:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 114
    functionName: dns_dbiterator_origin
    functionSourceFile: /src/bind9/lib/dns/dbiterator.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_hasbuffer
    - dns_dbiterator_t*::methods::origin
    - DNS_DBITERATOR_VALID
    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:
    - REQUIRE
    - ISC_LIST_INIT
    - isc_refcount_init
    - isc_mem_get
    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:
    - REQUIRE
    - DNS_PEERLIST_VALID
    - isc_refcount_increment
    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:
    - REQUIRE
    - DNS_PEERLIST_VALID
    - peerlist_delete
    - 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:
    - REQUIRE
    - DNS_PEERLIST_VALID
    - ISC_LIST_UNLINK
    - isc_mem_put
    - dns_peer_detach
    - 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:
    - ISC_LIST_APPEND
    - ISC_LIST_INSERTBEFORE
    - ISC_LIST_FOREACH
    - dns_peer_attach
    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: 11
    functionsReached:
    - isc_netaddr_eqprefix
    - REQUIRE
    - DNS_PEERLIST_VALID
    - 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:
    - REQUIRE
    - UNREACHABLE
    - dns_peer_newprefix
    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:
    - REQUIRE
    - ISC_LINK_INIT
    - isc_refcount_init
    - isc_mem_get
    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:
    - REQUIRE
    - DNS_PEER_VALID
    - isc_refcount_increment
    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:
    - REQUIRE
    - isc_refcount_decrement
    - DNS_PEER_VALID
    - 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:
    - REQUIRE
    - isc_mem_put
    - dns_name_free
    - isc_refcount_destroy
    - DNS_PEER_VALID
    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:
    - REQUIRE
    - DNS_PEER_VALID
    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: 2
    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: RETERR
      Src: /src/bind9/lib/dns/peer.c:488,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:491,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/peer.c:493,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/peer.c:494,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/peer.c:494,1
    - Dst: dns_peer_setkey
      Src: /src/bind9/lib/dns/peer.c:496,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/peer.c:498,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - peer
    - keyval
    argTypes:
    - dns_peer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 502
      start: 478
    functionDepth: 2
    functionLinenumber: 478
    functionLinenumberEnd: 502
    functionName: dns_peer_setkeybycharp
    functionSourceFile: /src/bind9/lib/dns/peer.c
    functionUses: 1
    functionsReached:
    - dns_name_init
    - isc_mem_put
    - dns_name_fromtext
    - isc_mem_get
    - dns_fixedname_name
    - isc_buffer_add
    - strlen
    - RETERR
    - dns_name_dup
    - dns_fixedname_init
    - isc_buffer_constinit
    - dns_peer_setkey
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_peer_setkeybycharp(dns_peer_t *peer, const char *keyval)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 23
      start: 20
    functionDepth: 0
    functionLinenumber: 20
    functionLinenumberEnd: 23
    functionName: ANCIENT
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 0
    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: 26
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 26
    functionName: CASEFULLYLOWER
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 1
    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: 29
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 29
    functionName: CASESET
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 3
    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: 32
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 32
    functionName: EXISTS
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 5
    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: 35
      start: 32
    functionDepth: 0
    functionLinenumber: 32
    functionLinenumberEnd: 35
    functionName: IGNORE
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 6
    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: 38
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 38
    functionName: NEGATIVE
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 6
    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: 41
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 41
    functionName: NXDOMAIN
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 2
    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: 44
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 44
    functionName: OPTOUT
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 7
    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: 47
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 47
    functionName: PREFETCH
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    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: 50
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 50
    functionName: RESIGN
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 5
    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: 53
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 53
    functionName: STALE
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    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: 56
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 56
    functionName: STALE_WINDOW
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 2
    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: 59
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 59
    functionName: STATCOUNT
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: STATCOUNT(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - header
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 62
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 62
    functionName: ZEROTTL
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: ZEROTTL(header)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - buffer
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 64
    functionName: peek_uint16
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 1
    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: 70
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 70
    functionName: get_uint16
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 4
    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: 75
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 75
    functionName: put_uint16
    functionSourceFile: /src/bind9/lib/dns/rdataslab_p.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: put_uint16(buffer, val)
  - 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: 51
    functionsReached:
    - dns_name_init
    - dns_name_setbuffer
    - isc_buffer_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: 0
    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: 88
    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: 268
    functionsReached:
    - dns_fixedname_init
    - dns_fixedname_name
    linkageType: ''
    returnType: dns_name_t
    signature: 'dns_name_t *

      dns_fixedname_initname(dns_fixedname_t *fixed)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/zonemgr.c:60,1
    - Dst: isc_ratelimiter_setinterval
      Src: /src/bind9/lib/dns/zonemgr.c:62,1
    - Dst: isc_ratelimiter_setpertic
      Src: /src/bind9/lib/dns/zonemgr.c:63,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: 66
      start: 36
    functionDepth: 2
    functionLinenumber: 36
    functionLinenumberEnd: 66
    functionName: setrl
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - isc_interval_set
    - isc_ratelimiter_setinterval
    - isc_ratelimiter_setpertic
    linkageType: ''
    returnType: void
    signature: void setrl(isc_ratelimiter_t *rl, unsigned int *rate, unsigned int
      value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/zonemgr.c:71,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:73,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:74,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zonemgr.c:76,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/zonemgr.c:79,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/zonemgr.c:84,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zonemgr.c:85,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zonemgr.c:87,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zonemgr.c:88,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/zonemgr.c:89,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/zonemgr.c:90,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zonemgr.c:92,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zonemgr.c:93,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zonemgr.c:94,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zonemgr.c:95,1
    - Dst: isc_ratelimiter_create
      Src: /src/bind9/lib/dns/zonemgr.c:96,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/zonemgr.c:98,1
    - Dst: isc_mem_create
      Src: /src/bind9/lib/dns/zonemgr.c:101,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:105,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:106,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:107,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:108,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:109,1
    - Dst: isc_ratelimiter_setpushpop
      Src: /src/bind9/lib/dns/zonemgr.c:110,1
    - Dst: isc_ratelimiter_setpushpop
      Src: /src/bind9/lib/dns/zonemgr.c:111,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/zonemgr.c:114,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 31
    argCount: 2
    argNames:
    - mctx
    - zmgrp
    argTypes:
    - isc_mem_t*
    - dns_zonemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 68
    functionDepth: 3
    functionLinenumber: 68
    functionLinenumberEnd: 119
    functionName: dns_zonemgr_create
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_create
    - isc_mem_cget
    - isc_rwlock_init
    - isc_mem_get
    - isc_ratelimiter_create
    - isc_loopmgr_nloops
    - setrl
    - isc_ratelimiter_setpushpop
    - ISC_LIST_INIT
    - isc_loop
    - isc_refcount_init
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_create(isc_mem_t *mctx, dns_zonemgr_t **zmgrp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:127,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:128,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/zonemgr.c:134,1
    - Dst: dns_zone_create
      Src: /src/bind9/lib/dns/zonemgr.c:141,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - zmgr
    - zonep
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 121
    functionDepth: 4
    functionLinenumber: 121
    functionLinenumberEnd: 146
    functionName: dns_zonemgr_createzone
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_zone_create
    - isc_random_uniform
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:150,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:151,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:151,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:153,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:156,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/zonemgr.c:158,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/zonemgr.c:159,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zonemgr.c:161,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zonemgr.c:164,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:166,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - zmgr
    - zone
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: dns_zonemgr_managezone
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_loop_attach
    - DNS_ZONE_VALID
    - ISC_LIST_APPEND
    - isc_loop_get
    - DNS_ZONEMGR_VALID
    - isc_refcount_increment
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zonemgr_managezone(dns_zonemgr_t *zmgr, dns_zone_t
      *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:173,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:173,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:174,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:174,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:175,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:177,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:178,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zonemgr.c:180,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zonemgr.c:183,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/zonemgr.c:184,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/zonemgr.c:187,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:192,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:193,1
    - Dst: dns_zonemgr_detach
      Src: /src/bind9/lib/dns/zonemgr.c:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 2
    argNames:
    - zmgr
    - zone
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 196
    functionName: dns_zonemgr_releasezone
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - isc_timer_destroy
    - ISC_LIST_UNLINK
    - RWUNLOCK
    - RWLOCK
    - DNS_ZONE_VALID
    - isc_refcount_decrement
    - DNS_ZONEMGR_VALID
    - dns_zonemgr_detach
    - LOCK_ZONE
    - isc_loop_detach
    - UNLOCK_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/zonemgr.c:200,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:200,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:201,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zonemgr.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_zonemgr_t*
    - dns_zonemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 206
    functionName: dns_zonemgr_attach
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_refcount_increment
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:215,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:215,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zonemgr.c:217,1
    - Dst: zonemgr_free
      Src: /src/bind9/lib/dns/zonemgr.c:218,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - zmgrp
    argTypes:
    - dns_zonemgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 220
    functionName: dns_zonemgr_detach
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - zonemgr_free
    - isc_refcount_decrement
    - DNS_ZONEMGR_VALID
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_detach(dns_zonemgr_t **zmgrp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:224,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:224,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:226,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:227,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:230,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zonemgr.c:231,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zonemgr.c:232,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:233,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:235,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:243,1
    - Dst: dns__zonemgr_resume_xfrs
      Src: /src/bind9/lib/dns/zonemgr.c:244,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 222
    functionDepth: 3
    functionLinenumber: 222
    functionLinenumberEnd: 247
    functionName: dns_zonemgr_forcemaint
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_time_now
    - RWUNLOCK
    - RWLOCK
    - dns__zone_settimer
    - DNS_ZONEMGR_VALID
    - LOCK_ZONE
    - ISC_LIST_FOREACH
    - dns__zonemgr_resume_xfrs
    - UNLOCK_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/zonemgr.c:251,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:251,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zonemgr.c:253,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zonemgr.c:254,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zonemgr.c:255,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zonemgr.c:256,1
    - Dst: isc_ratelimiter_shutdown
      Src: /src/bind9/lib/dns/zonemgr.c:257,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/zonemgr.c:260,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:263,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:264,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:265,1
    - Dst: dns__zone_forward_cancel
      Src: /src/bind9/lib/dns/zonemgr.c:266,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:267,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:269,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 249
    functionDepth: 3
    functionLinenumber: 249
    functionLinenumberEnd: 270
    functionName: dns_zonemgr_shutdown
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - DNS_ZONEMGR_VALID
    - dns__zone_forward_cancel
    - isc_mem_detach
    - LOCK_ZONE
    - isc_ratelimiter_shutdown
    - ISC_LIST_FOREACH
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_shutdown(dns_zonemgr_t *zmgr)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:274,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/zonemgr.c:274,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/zonemgr.c:278,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zonemgr.c:279,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zonemgr.c:280,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zonemgr.c:281,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zonemgr.c:282,1
    - Dst: isc_ratelimiter_detach
      Src: /src/bind9/lib/dns/zonemgr.c:283,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/zonemgr.c:285,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/zonemgr.c:288,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/zonemgr.c:289,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zonemgr.c:292,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zonemgr.c:294,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 272
    functionDepth: 6
    functionLinenumber: 272
    functionLinenumberEnd: 295
    functionName: zonemgr_free
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_mem_cput
    - isc_rwlock_destroy
    - isc_tlsctx_cache_detach
    - ISC_LIST_EMPTY
    - isc_mem_putanddetach
    - isc_ratelimiter_detach
    - isc_refcount_destroy
    linkageType: ''
    returnType: void
    signature: void zonemgr_free(dns_zonemgr_t *zmgr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:299,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 302
    functionName: dns_zonemgr_settransfersin
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:306,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:306,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 309
    functionName: dns_zonemgr_gettransfersin
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:313,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 311
    functionDepth: 1
    functionLinenumber: 311
    functionLinenumberEnd: 316
    functionName: dns_zonemgr_settransfersperns
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:320,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:320,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 323
    functionName: dns_zonemgr_gettransfersperns
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:334,1
    - Dst: dns__zonemgr_start_xfrin_ifquota
      Src: /src/bind9/lib/dns/zonemgr.c:336,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:354,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonemgr.c:355,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zonemgr.c:357,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 16
    argCount: 2
    argNames:
    - zmgr
    - multi
    argTypes:
    - dns_zonemgr_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 361
      start: 332
    functionDepth: 4
    functionLinenumber: 332
    functionLinenumberEnd: 361
    functionName: dns__zonemgr_resume_xfrs
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 3
    functionsReached:
    - dns__zonemgr_start_xfrin_ifquota
    - ISC_LOG_DEBUG
    - dns_zone_logc
    - ISC_LIST_FOREACH
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void dns__zonemgr_resume_xfrs(dns_zonemgr_t *zmgr, bool multi)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:386,1
    - Dst: dns__zone_xfrdone
      Src: /src/bind9/lib/dns/zonemgr.c:387,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zonemgr.c:391,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zonemgr.c:392,1
    - Dst: dns_unreachcache_find
      Src: /src/bind9/lib/dns/zonemgr.c:393,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/zonemgr.c:396,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:397,1
    - Dst: dns__zone_xfrdone
      Src: /src/bind9/lib/dns/zonemgr.c:401,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zonemgr.c:405,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zonemgr.c:406,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:408,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zonemgr.c:414,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:416,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:419,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonemgr.c:419,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:424,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:425,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonemgr.c:425,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:430,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:431,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonemgr.c:431,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:436,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zonemgr.c:437,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:438,1
    - Dst: dns_peer_getrequestixfr
      Src: /src/bind9/lib/dns/zonemgr.c:443,1
    - Dst: dns_peer_getrequestixfrmaxdiffs
      Src: /src/bind9/lib/dns/zonemgr.c:449,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:456,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonemgr.c:457,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:461,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:467,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonemgr.c:468,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zonemgr.c:483,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zonemgr.c:484,1
    - Dst: dns_remote_keyname
      Src: /src/bind9/lib/dns/zonemgr.c:485,1
    - Dst: dns_view_gettsig
      Src: /src/bind9/lib/dns/zonemgr.c:486,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonemgr.c:489,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/zonemgr.c:490,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:494,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zonemgr.c:496,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zonemgr.c:502,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zonemgr.c:503,1
    - Dst: dns_remote_tlsname
      Src: /src/bind9/lib/dns/zonemgr.c:504,1
    - Dst: dns_view_gettransport
      Src: /src/bind9/lib/dns/zonemgr.c:505,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:508,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zonemgr.c:512,1
    - Dst: dns_zone_getrequesttransporttype
      Src: /src/bind9/lib/dns/zonemgr.c:524,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:527,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:529,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonemgr.c:531,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zonemgr.c:531,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zonemgr.c:531,1
    - Dst: dns__zonemgr_tlsctx_attach
      Src: /src/bind9/lib/dns/zonemgr.c:533,1
    - Dst: dns_xfrin_create
      Src: /src/bind9/lib/dns/zonemgr.c:535,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonemgr.c:538,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/zonemgr.c:540,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:542,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zonemgr.c:544,1
    - Dst: dns_xfrin_attach
      Src: /src/bind9/lib/dns/zonemgr.c:546,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:547,1
    - Dst: dns_xfrin_detach
      Src: /src/bind9/lib/dns/zonemgr.c:549,1
    - Dst: dns_xfrin_start
      Src: /src/bind9/lib/dns/zonemgr.c:556,1
    - Dst: dns__zone_xfrdone
      Src: /src/bind9/lib/dns/zonemgr.c:558,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:562,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zonemgr.c:564,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zonemgr.c:565,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zonemgr.c:568,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zonemgr.c:572,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zonemgr.c:573,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/zonemgr.c:576,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:580,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 116
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 368
    functionDepth: 9
    functionLinenumber: 368
    functionLinenumberEnd: 581
    functionName: got_transfer_quota
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - INSIST
    - isc_tlsctx_cache_detach
    - ISC_LOG_DEBUG
    - dns_remote_tlsname
    - dns_view_getpeertsig
    - dns_xfrin_start
    - dns__zone_stats_increment
    - isc_sockaddr_format
    - DNS_ZONE_CLRFLAG
    - dns_xfrin_attach
    - dns_xfrin_detach
    - dns_unreachcache_find
    - dns_peer_getrequestixfr
    - LOCK_ZONE
    - dns_remote_curraddr
    - dns_peer_getrequestixfrmaxdiffs
    - isc_sockaddr_pf
    - isc_result_totext
    - dns_zone_getrequesttransporttype
    - dns__zonemgr_tlsctx_attach
    - isc_netaddr_fromsockaddr
    - dns_xfrin_create
    - ZONEDB_UNLOCK
    - dns_zone_logc
    - dns_zone_getview
    - ZONEDB_LOCK
    - dns_peerlist_peerbyaddr
    - dns_view_gettransport
    - dns_view_gettsig
    - DNS_ZONE_FLAG
    - dns__zone_xfrdone
    - dns_remote_keyname
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void got_transfer_quota(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:608,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:609,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:610,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zonemgr.c:618,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zonemgr.c:619,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zonemgr.c:620,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:621,1
    - Dst: dns_peer_gettransfers
      Src: /src/bind9/lib/dns/zonemgr.c:631,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:641,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:645,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zonemgr.c:646,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zonemgr.c:647,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:648,1
    - Dst: isc_netaddr_equal
      Src: /src/bind9/lib/dns/zonemgr.c:651,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:670,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonemgr.c:671,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/zonemgr.c:672,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/zonemgr.c:673,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zonemgr.c:675,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonemgr.c:676,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zonemgr.c:678,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 44
    argCount: 2
    argNames:
    - zmgr
    - zone
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 596
    functionDepth: 4
    functionLinenumber: 596
    functionLinenumberEnd: 681
    functionName: dns__zonemgr_start_xfrin_ifquota
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 2
    functionsReached:
    - ISC_LIST_UNLINK
    - INSIST
    - ISC_LIST_APPEND
    - DNS_ZONE_FLAG
    - isc_netaddr_fromsockaddr
    - dns_peer_gettransfers
    - isc_async_run
    - LOCK_ZONE
    - dns_remote_curraddr
    - ISC_LIST_FOREACH
    - dns_zone_logc
    - isc_netaddr_equal
    - dns_peerlist_peerbyaddr
    - UNLOCK_ZONE
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns__zonemgr_start_xfrin_ifquota(dns_zonemgr_t *zmgr,
      dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:685,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:685,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 683
    functionDepth: 3
    functionLinenumber: 683
    functionLinenumberEnd: 688
    functionName: dns_zonemgr_setcheckdsrate
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - setrl
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:692,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:692,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:694,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 695
      start: 690
    functionDepth: 3
    functionLinenumber: 690
    functionLinenumberEnd: 695
    functionName: dns_zonemgr_setnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - setrl
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:699,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:699,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:701,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 697
    functionDepth: 3
    functionLinenumber: 697
    functionLinenumberEnd: 702
    functionName: dns_zonemgr_setstartupnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - setrl
    - DNS_ZONEMGR_VALID
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_setstartupnotifyrate(dns_zonemgr_t *zmgr, unsigned
      int value)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - zmgr
    - keystores
    argTypes:
    - dns_zonemgr_t*
    - dns_keystorelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 704
    functionDepth: 0
    functionLinenumber: 704
    functionLinenumberEnd: 707
    functionName: dns_zonemgr_setkeystores
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void dns_zonemgr_setkeystores(dns_zonemgr_t *zmgr, dns_keystorelist_t
      *keystores)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:711,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:711,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:713,1
    - Dst: setrl
      Src: /src/bind9/lib/dns/zonemgr.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zmgr
    - value
    argTypes:
    - dns_zonemgr_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 709
    functionDepth: 3
    functionLinenumber: 709
    functionLinenumberEnd: 716
    functionName: dns_zonemgr_setserialqueryrate
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - setrl
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:720,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 723
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 723
    functionName: dns_zonemgr_getnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:727,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:727,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - prl
    argTypes:
    - dns_zonemgr_t*
    - isc_ratelimiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 730
      start: 725
    functionDepth: 1
    functionLinenumber: 725
    functionLinenumberEnd: 730
    functionName: dns__zonemgr_getnotifyrl
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    linkageType: ''
    returnType: void
    signature: void dns__zonemgr_getnotifyrl(dns_zonemgr_t *zmgr, isc_ratelimiter_t
      **prl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:734,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:734,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 732
    functionDepth: 1
    functionLinenumber: 732
    functionLinenumberEnd: 737
    functionName: dns_zonemgr_getstartupnotifyrate
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    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/zonemgr.c:741,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zmgr
    - prl
    argTypes:
    - dns_zonemgr_t*
    - isc_ratelimiter_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 739
    functionDepth: 1
    functionLinenumber: 739
    functionLinenumberEnd: 744
    functionName: dns__zonemgr_getstartupnotifyrl
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    linkageType: ''
    returnType: void
    signature: void dns__zonemgr_getstartupnotifyrl(dns_zonemgr_t *zmgr, isc_ratelimiter_t
      **prl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:748,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:748,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zmgr
    argTypes:
    - dns_zonemgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 751
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 751
    functionName: dns_zonemgr_getserialqueryrate
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONEMGR_VALID
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zonemgr_getserialqueryrate(dns_zonemgr_t *zmgr)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:757,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:757,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:759,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:762,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:767,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:772,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:773,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:779,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zonemgr.c:780,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:786,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zonemgr.c:788,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/zonemgr.c:795,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zonemgr.c:797,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zonemgr.c:806,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/zonemgr.c:809,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 51
    argCount: 2
    argNames:
    - zmgr
    - state
    argTypes:
    - dns_zonemgr_t*
    - dns_zonestate_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 812
      start: 753
    functionDepth: 1
    functionLinenumber: 753
    functionLinenumberEnd: 812
    functionName: dns_zonemgr_getcount
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - strcmp
    - RWUNLOCK
    - RWLOCK
    - DNS_ZONE_FLAG
    - DNS_ZONEMGR_VALID
    - ISC_LIST_FOREACH
    - UNREACHABLE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_zonemgr_getcount(dns_zonemgr_t *zmgr, dns_zonestate_t
      state)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:816,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:816,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:817,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/zonemgr.c:819,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - next
    argTypes:
    - dns_zone_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 825
      start: 814
    functionDepth: 1
    functionLinenumber: 814
    functionLinenumberEnd: 825
    functionName: dns_zonemgr_next_zone
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - ISC_LIST_NEXT
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zonemgr_next_zone(dns_zone_t *zone, dns_zone_t **next)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:829,1
    - Dst: DNS_ZONEMGR_VALID
      Src: /src/bind9/lib/dns/zonemgr.c:829,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonemgr.c:830,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/zonemgr.c:832,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zmgr
    - first
    argTypes:
    - dns_zonemgr_t*
    - dns_zone_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 838
      start: 827
    functionDepth: 1
    functionLinenumber: 827
    functionLinenumberEnd: 838
    functionName: dns_zonemgr_first_zone
    functionSourceFile: /src/bind9/lib/dns/zonemgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_HEAD
    - DNS_ZONEMGR_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_zonemgr_first_zone(dns_zonemgr_t *zmgr, dns_zone_t
      **first)
  - 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
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_INIT
    - isc_refcount_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: 479
    functionsReached:
    - REQUIRE
    - isc_mem_cput
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - dns_name_free
    - VALID_SSUTABLE
    - isc_refcount_destroy
    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: 0
    functionsReached:
    - REQUIRE
    - VALID_SSUTABLE
    - isc_refcount_increment
    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: 4
    functionsReached:
    - REQUIRE
    - VALID_SSUTABLE
    - destroy
    - 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:
    - REQUIRE
    - isc_mem_cget
    - dns_name_init
    - memmove
    - isc_mem_get
    - isc_mem_strdup
    - dns_name_iswildcard
    - ISC_LIST_INITANDAPPEND
    - VALID_SSUTABLE
    - dns_name_dup
    - dns_name_isabsolute
    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
    - dns_name_fromtext
    - RUNTIME_CHECK
    - snprintf
    - isc_buffer_add
    - strlen
    - UNREACHABLE
    - isc_buffer_init
    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
    - dns_name_fromtext
    - RUNTIME_CHECK
    - snprintf
    - isc_buffer_add
    - strlen
    - UNREACHABLE
    - isc_buffer_init
    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:
    - REQUIRE
    - mtypetostring
    - rcu_dereference
    - ISC_LOG_DEBUG
    - stf_from_address
    - VALID_SSUTABLE
    - dst_gssapi_identitymatchesrealmkrb5
    - dns_name_matcheswildcard
    - isc_netaddr_format
    - dns_name_format
    - dns_name_concatenate
    - rcu_read_unlock
    - isusertype
    - dns_name_issubdomain
    - dns_ssu_external_match
    - dns_dlz_ssumatch
    - dns_name_equal
    - dns_rdatatype_format
    - dns_name_iswildcard
    - isc_log_write
    - rcu_read_lock
    - isc_log_wouldlog
    - dns_acl_match
    - dns_name_isabsolute
    - dst_gssapi_identitymatchesrealmms
    - reverse_from_address
    - dns_fixedname_initname
    - ISC_LIST_FOREACH
    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:
    - VALID_SSURULE
    - REQUIRE
    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:
    - VALID_SSURULE
    - REQUIRE
    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:
    - VALID_SSURULE
    - REQUIRE
    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:
    - VALID_SSURULE
    - REQUIRE
    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:
    - VALID_SSURULE
    - REQUIRE
    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:
    - VALID_SSURULE
    - REQUIRE
    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:
    - REQUIRE
    - VALID_SSUTABLE
    - ISC_LIST_HEAD
    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:
    - VALID_SSURULE
    - REQUIRE
    - ISC_LIST_NEXT
    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:
    - REQUIRE
    - isc_mem_get
    - isc_mem_strdup
    - dns_ssutable_create
    - ISC_LIST_INITANDAPPEND
    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:
    - REQUIRE
    - strcasecmp
    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:
    - (
    - r
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 74
    functionName: STALE
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 4
    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: 76
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 76
    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: 262
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 262
    functionName: NXDOMAIN
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: NXDOMAIN(x)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:291,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:303,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:307,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:312,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:314,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:326,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:330,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: 334
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 334
    functionName: indent
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 5
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - memmove
    - INSIST
    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:341,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/masterdump.c:354,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:364,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:367,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:372,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/masterdump.c:377,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:379,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/masterdump.c:382,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:387,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:392,1
    - Dst: indent
      Src: /src/bind9/lib/dns/masterdump.c:395,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:411,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:416,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: 430
      start: 336
    functionDepth: 3
    functionLinenumber: 336
    functionLinenumberEnd: 430
    functionName: totext_ctx_init
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - indent
    - isc_buffer_add
    - isc_buffer_availableregion
    - strlen
    - isc_buffer_availablelength
    - dns_fixedname_init
    - isc_buffer_init
    - isc_buffer_putstr
    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: 443
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 443
    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:449,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/masterdump.c:450,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:456,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 2
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: str_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 9
    functionsReached:
    - isc_buffer_add
    - isc_buffer_availableregion
    - strlen
    - memmove
    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:467,1
    - Dst: strchr
      Src: /src/bind9/lib/dns/masterdump.c:476,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:477,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:482,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:483,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:484,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 2
    argNames:
    - target
    - start
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 461
    functionDepth: 2
    functionLinenumber: 461
    functionLinenumberEnd: 490
    functionName: yaml_stringify
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_add
    - isc_buffer_availableregion
    - strchr
    - isc_buffer_used
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t yaml_stringify(isc_buffer_t *target, char *start)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/masterdump.c:500,1
    - Dst: dns_ncache_current
      Src: /src/bind9/lib/dns/masterdump.c:503,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:510,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:510,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:516,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:516,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:517,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:519,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:519,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:522,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:522,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:526,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:526,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:527,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:527,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: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:530,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:531,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:531,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:534,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:536,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:536,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:541,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:541,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:544,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:544,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:546,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/masterdump.c:547,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/masterdump.c:554,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    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: 557
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 557
    functionName: ncache_summary
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_name_init
    - dns_rdataset_next
    - dns_ncache_current
    - dns_name_totext
    - yaml_stringify
    - dns_rdataset_cleanup
    - dns_rdata_tofmttext
    - RETERR
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - CHECK
    - isc_buffer_used
    - str_totext
    - dns_rdatatype_totext
    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:510,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:510,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:516,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:516,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:517,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:519,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:519,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:522,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:522,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:526,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:526,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:527,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:527,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: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:530,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:531,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:531,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:534,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:535,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:536,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:536,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:541,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:541,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:544,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:544,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 545
      start: 504
    functionDepth: 5
    functionLinenumber: 504
    functionLinenumberEnd: 545
    functionName: (&rds)
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_name_totext
    - yaml_stringify
    - dns_rdata_tofmttext
    - RETERR
    - dns_rdataset_current
    - CHECK
    - isc_buffer_used
    - str_totext
    - dns_rdatatype_totext
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rds)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:582,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/masterdump.c:582,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/masterdump.c:588,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/masterdump.c:589,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/masterdump.c:590,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:603,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:603,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:611,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:611,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:612,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:615,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:615,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:644,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:647,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/masterdump.c:647,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/masterdump.c:651,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:653,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:654,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:658,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:659,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:681,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:686,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/masterdump.c:689,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:708,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:711,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:711,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:717,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/masterdump.c:722,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:730,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:733,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:744,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/masterdump.c:746,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:747,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:747,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:749,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:749,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:752,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:752,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:753,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:753,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:755,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:755,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:762,1
    - Dst: ncache_summary
      Src: /src/bind9/lib/dns/masterdump.c:762,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:768,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:777,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:777,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:778,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:778,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 123
    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: 799
      start: 566
    functionDepth: 6
    functionLinenumber: 566
    functionLinenumberEnd: 799
    functionName: rdataset_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 7
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_rdataclass_tounknowntext
    - memmove
    - INSIST
    - dns_rdatatype_tounknowntext
    - dns_rdataclass_totext
    - isc_buffer_add
    - RETERR
    - ncache_summary
    - isc_buffer_used
    - NXDOMAIN
    - snprintf
    - isc_buffer_availableregion
    - INDENT_TO
    - dns_rdata_tofmttext
    - isc_buffer_availablelength
    - dns_rdataset_current
    - str_totext
    - isc_buffer_putstr
    - dns_rdatatype_totext
    - dns_ttl_totext
    - dns_rdataset_getownercase
    - dns_name_totext
    - yaml_stringify
    - DNS_RDATASET_VALID
    - dns_fixedname_initname
    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: 24
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:603,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:603,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:611,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:611,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:612,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:615,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:615,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:626,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:644,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:647,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/masterdump.c:647,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/masterdump.c:651,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:653,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:654,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/masterdump.c:658,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/masterdump.c:659,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:681,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:686,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/masterdump.c:689,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:708,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:711,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:711,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:717,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/masterdump.c:722,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:730,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:733,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:744,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/masterdump.c:746,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:747,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:747,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:749,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:749,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:752,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:752,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:753,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:753,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:755,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:755,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:762,1
    - Dst: ncache_summary
      Src: /src/bind9/lib/dns/masterdump.c:762,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:768,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: dns_rdata_tofmttext
      Src: /src/bind9/lib/dns/masterdump.c:770,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:777,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:777,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:778,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:778,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:780,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 785
      start: 593
    functionDepth: 6
    functionLinenumber: 593
    functionLinenumberEnd: 785
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - dns_rdataclass_tounknowntext
    - memmove
    - INSIST
    - dns_rdatatype_tounknowntext
    - dns_rdataclass_totext
    - isc_buffer_add
    - RETERR
    - ncache_summary
    - isc_buffer_used
    - NXDOMAIN
    - snprintf
    - isc_buffer_availableregion
    - INDENT_TO
    - dns_rdata_tofmttext
    - isc_buffer_availablelength
    - dns_rdataset_current
    - str_totext
    - dns_rdatatype_totext
    - isc_buffer_putstr
    - dns_ttl_totext
    - dns_name_totext
    - yaml_stringify
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:814,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/masterdump.c:814,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/masterdump.c:815,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:816,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:821,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:821,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/masterdump.c:822,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:829,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:829,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:836,1
    - Dst: dns_rdataclass_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:839,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/masterdump.c:842,1
    - Dst: INDENT_TO
      Src: /src/bind9/lib/dns/masterdump.c:854,1
    - Dst: dns_rdatatype_tounknowntext
      Src: /src/bind9/lib/dns/masterdump.c:857,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/masterdump.c:860,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:869,1
    - Dst: yaml_stringify
      Src: /src/bind9/lib/dns/masterdump.c:869,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:870,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:870,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:872,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/masterdump.c:872,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: 875
      start: 806
    functionDepth: 3
    functionLinenumber: 806
    functionLinenumberEnd: 875
    functionName: question_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataclass_tounknowntext
    - dns_rdataset_first
    - dns_name_totext
    - dns_rdatatype_tounknowntext
    - DNS_RDATASET_VALID
    - yaml_stringify
    - dns_rdataclass_totext
    - RETERR
    - isc_buffer_used
    - str_totext
    - INDENT_TO
    - dns_rdatatype_totext
    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:882,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:884,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/masterdump.c:894,1
    - Dst: question_totext
      Src: /src/bind9/lib/dns/masterdump.c:899,1
    - Dst: rdataset_totext
      Src: /src/bind9/lib/dns/masterdump.c:902,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: 905
      start: 877
    functionDepth: 7
    functionLinenumber: 877
    functionLinenumberEnd: 905
    functionName: dns_rdataset_totext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 7
    functionsReached:
    - UNEXPECTED_ERROR
    - rdataset_totext
    - question_totext
    - totext_ctx_init
    - dns_name_countlabels
    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:914,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:916,1
    - Dst: rdataset_totext
      Src: /src/bind9/lib/dns/masterdump.c:920,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: 921
      start: 907
    functionDepth: 7
    functionLinenumber: 907
    functionLinenumberEnd: 921
    functionName: dns_master_rdatasettotext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - UNEXPECTED_ERROR
    - totext_ctx_init
    - 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:930,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:932,1
    - Dst: question_totext
      Src: /src/bind9/lib/dns/masterdump.c:936,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: 937
      start: 923
    functionDepth: 4
    functionLinenumber: 923
    functionLinenumberEnd: 937
    functionName: dns_master_questiontotext
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - totext_ctx_init
    - question_totext
    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:952,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:963,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/masterdump.c:964,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:966,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:967,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:968,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:971,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:978,1
    - Dst: rdataset_totext
      Src: /src/bind9/lib/dns/masterdump.c:987,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:993,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:994,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:995,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1004,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/masterdump.c:1005,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:1008,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1009,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: 1014
      start: 946
    functionDepth: 7
    functionLinenumber: 946
    functionLinenumberEnd: 1014
    functionName: dump_rdataset
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - UNEXPECTED_ERROR
    - REQUIRE
    - dns_ttl_totext
    - isc_stdio_write
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - fprintf
    - isc_buffer_usedregion
    - rdataset_totext
    - isc_buffer_clear
    - isc_buffer_init
    - isc_result_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: 1048
      start: 1025
    functionDepth: 0
    functionLinenumber: 1025
    functionLinenumberEnd: 1048
    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:1052,1
    - Dst: dump_order
      Src: /src/bind9/lib/dns/masterdump.c:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - a
    - b
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1050
    functionDepth: 1
    functionLinenumber: 1050
    functionLinenumberEnd: 1054
    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:1078,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:1082,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/masterdump.c:1083,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1084,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1085,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1086,1
    - Dst: dns_rdatasetiter_next
      Src: /src/bind9/lib/dns/masterdump.c:1096,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/masterdump.c:1098,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/masterdump.c:1099,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/masterdump.c:1104,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/masterdump.c:1109,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1113,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1123,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1126,1
    - Dst: dns_trust_totext
      Src: /src/bind9/lib/dns/masterdump.c:1126,1
    - Dst: STALE
      Src: /src/bind9/lib/dns/masterdump.c:1134,1
    - Dst: memset
      Src: /src/bind9/lib/dns/masterdump.c:1137,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1138,1
    - Dst: dns_time64_totext
      Src: /src/bind9/lib/dns/masterdump.c:1139,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1140,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/masterdump.c:1141,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1142,1
    - Dst: dump_rdataset
      Src: /src/bind9/lib/dns/masterdump.c:1144,1
    - Dst: memset
      Src: /src/bind9/lib/dns/masterdump.c:1158,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1159,1
    - Dst: dns_time64_totext
      Src: /src/bind9/lib/dns/masterdump.c:1160,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1166,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1169,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1171,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: 1191
      start: 1068
    functionDepth: 8
    functionLinenumber: 1068
    functionLinenumberEnd: 1191
    functionName: dump_rdatasets_text
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - qsort
    - dns_rdatasetiter_next
    - dns_trust_totext
    - STALE
    - dns_rdatasetiter_first
    - dns_name_totext
    - RUNTIME_CHECK
    - fprintf
    - dns_rdataset_init
    - dns_time64_totext
    - isc_buffer_usedregion
    - ANCIENT
    - dump_rdataset
    - dns_rdataset_disassociate
    - memset
    - isc_buffer_clear
    - dns_rdatasetiter_current
    - isc_buffer_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:1204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1205,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1205,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/masterdump.c:1209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1210,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:1212,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/masterdump.c:1219,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1220,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1221,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1222,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1223,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1224,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1225,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1226,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/masterdump.c:1226,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1227,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1228,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/masterdump.c:1230,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1231,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:1231,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1233,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/masterdump.c:1234,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/masterdump.c:1240,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/masterdump.c:1241,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1242,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:1251,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1258,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1259,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1260,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1263,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/masterdump.c:1264,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1274,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/masterdump.c:1275,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1276,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1277,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1277,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/masterdump.c:1282,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:1285,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1286,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: 1291
      start: 1196
    functionDepth: 3
    functionLinenumber: 1196
    functionLinenumberEnd: 1291
    functionName: dump_rdataset_raw
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - INSIST
    - isc_buffer_usedlength
    - isc_buffer_putuint32
    - dns_rdata_toregion
    - isc_stdio_write
    - dns_name_toregion
    - isc_buffer_putuint16
    - isc_buffer_availableregion
    - isc_buffer_init
    - isc_result_totext
    - UNEXPECTED_ERROR
    - dns_rdataset_first
    - isc_buffer_availablelength
    - dns_rdataset_current
    - isc_buffer_clear
    - isc_mem_get
    - DNS_RDATASET_VALID
    - isc_buffer_copyregion
    - isc_buffer_usedregion
    - dns_rdataset_count
    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:1240,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/masterdump.c:1241,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1242,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/masterdump.c:1251,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1258,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1259,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1260,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/masterdump.c:1263,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/masterdump.c:1264,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1237
    functionDepth: 3
    functionLinenumber: 1237
    functionLinenumberEnd: 1266
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - dns_rdata_toregion
    - isc_buffer_putuint16
    - isc_buffer_copyregion
    - isc_buffer_availablelength
    - dns_rdataset_current
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/masterdump.c:1299,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/masterdump.c:1301,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/masterdump.c:1304,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/masterdump.c:1306,1
    - Dst: dump_rdataset_raw
      Src: /src/bind9/lib/dns/masterdump.c:1313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1316,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: 1323
      start: 1293
    functionDepth: 4
    functionLinenumber: 1293
    functionLinenumberEnd: 1323
    functionName: dump_rdatasets_raw
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_rdataset_getownercase
    - dns_fixedname_initname
    - dns_rdatasetiter_current
    - dns_rdataset_disassociate
    - dump_rdataset_raw
    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:1304,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/masterdump.c:1306,1
    - Dst: dump_rdataset_raw
      Src: /src/bind9/lib/dns/masterdump.c:1313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/masterdump.c:1316,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1320
      start: 1302
    functionDepth: 4
    functionLinenumber: 1302
    functionLinenumberEnd: 1320
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dump_rdataset_raw
    - dns_rdatasetiter_current
    - dns_rdataset_getownercase
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1343,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1344,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/masterdump.c:1346,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/masterdump.c:1348,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1350,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1353,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/masterdump.c:1355,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1356
      start: 1340
    functionDepth: 1
    functionLinenumber: 1340
    functionLinenumberEnd: 1356
    functionName: dumpctx_destroy
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_dbiterator_destroy
    - dns_db_detach
    - isc_mem_free
    - isc_mem_putanddetach
    - dns_db_closeversion
    - isc_mutex_destroy
    linkageType: ''
    returnType: void
    signature: void dumpctx_destroy(dns_dumpctx_t *dctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1363,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1363,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1364,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/masterdump.c:1364,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/masterdump.c:1366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - dctx
    - serial
    argTypes:
    - dns_dumpctx_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1361
    functionDepth: 4
    functionLinenumber: 1361
    functionLinenumberEnd: 1367
    functionName: dns_dumpctx_serial
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DCTX_VALID
    - dns_db_iscache
    - dns_db_getsoaserial
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_dumpctx_serial(dns_dumpctx_t *dctx, uint32_t *serial)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1371,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1371,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/masterdump.c:1373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1374
      start: 1369
    functionDepth: 1
    functionLinenumber: 1369
    functionLinenumberEnd: 1374
    functionName: dns_dumpctx_cancel
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_DCTX_VALID
    - atomic_store_release
    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:1381,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1385,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1388,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1390,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1393,1
    - Dst: isc_stdio_sync
      Src: /src/bind9/lib/dns/masterdump.c:1399,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1403,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1406,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1408,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1411,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 23
    argCount: 3
    argNames:
    - f
    - result
    - temp
    argTypes:
    - FILE*
    - isc_result_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1415
      start: 1376
    functionDepth: 2
    functionLinenumber: 1376
    functionLinenumberEnd: 1415
    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:1423,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/masterdump.c:1428,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_file_rename
      Src: /src/bind9/lib/dns/masterdump.c:1440,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/masterdump.c:1442,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1445,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1448,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: 1451
      start: 1417
    functionDepth: 3
    functionLinenumber: 1417
    functionLinenumberEnd: 1451
    functionName: closeandrename
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_stdio_close
    - flushandsync
    - isc_log_write
    - isc_file_rename
    - isc_file_remove
    - isc_result_totext
    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:1470,1
    - Dst: DNS_DCTX_VALID
      Src: /src/bind9/lib/dns/masterdump.c:1470,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/masterdump.c:1472,1
    - Dst: dumptostream
      Src: /src/bind9/lib/dns/masterdump.c:1475,1
    - Dst: closeandrename
      Src: /src/bind9/lib/dns/masterdump.c:1480,1
    - Dst: flushandsync
      Src: /src/bind9/lib/dns/masterdump.c:1486,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1490
      start: 1466
    functionDepth: 4
    functionLinenumber: 1466
    functionLinenumberEnd: 1490
    functionName: master_dump
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_DCTX_VALID
    - dumptostream
    - atomic_load_acquire
    - flushandsync
    - closeandrename
    linkageType: ''
    returnType: void
    signature: void master_dump(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/masterdump.c:1497,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/masterdump.c:1498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1492
    functionDepth: 1
    functionLinenumber: 1492
    functionLinenumberEnd: 1499
    functionName: master_dump_callback
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - dns_dumpctx_detach
    - isc_loop_detach
    linkageType: ''
    returnType: void
    signature: void master_dump_callback(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/masterdump.c:1505,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1506
      start: 1501
    functionDepth: 2
    functionLinenumber: 1501
    functionLinenumberEnd: 1506
    functionName: master_dump_done
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    linkageType: ''
    returnType: void
    signature: void master_dump_done(void *data)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1516,1
    - Dst: dns_master_initrawheader
      Src: /src/bind9/lib/dns/masterdump.c:1523,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/masterdump.c:1536,1
    - Dst: totext_ctx_init
      Src: /src/bind9/lib/dns/masterdump.c:1539,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/masterdump.c:1541,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/masterdump.c:1545,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/masterdump.c:1546,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/masterdump.c:1548,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/lib/dns/masterdump.c:1549,1
    - Dst: dns_db_attachversion
      Src: /src/bind9/lib/dns/masterdump.c:1552,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/masterdump.c:1554,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1564,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/masterdump.c:1564,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/masterdump.c:1566,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/masterdump.c:1567,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/masterdump.c:1569,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1576,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/masterdump.c:1579,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1581,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    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: 1583
      start: 1508
    functionDepth: 4
    functionLinenumber: 1508
    functionLinenumberEnd: 1583
    functionName: dumpctx_create
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - dns_dbiterator_destroy
    - isc_mem_put
    - dns_db_currentversion
    - totext_ctx_init
    - UNEXPECTED_ERROR
    - dns_db_createiterator
    - dns_db_detach
    - dns_master_initrawheader
    - isc_stdtime_now
    - CHECK
    - UNREACHABLE
    - dns_db_iscache
    - isc_refcount_init
    - dns_db_attach
    - isc_mutex_init
    - isc_mem_get
    - dns_db_getservestalettl
    - dns_db_attachversion
    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:1594,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1596,1
    - Dst: dns_db_iscache
      Src: /src/bind9/lib/dns/masterdump.c:1608,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1609,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/masterdump.c:1611,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1612,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/masterdump.c:1613,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/masterdump.c:1614,1
    - Dst: isc_buffer_region
      Src: /src/bind9/lib/dns/masterdump.c:1621,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1628,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1629,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1630,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1633,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1634,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/masterdump.c:1636,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1639,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1639,1
    - Dst: isc_stdio_write
      Src: /src/bind9/lib/dns/masterdump.c:1640,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/masterdump.c:1641,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/masterdump.c:1649,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1652,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1654
      start: 1585
    functionDepth: 2
    functionLinenumber: 1585
    functionLinenumberEnd: 1654
    functionName: writeheader
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - isc_stdio_write
    - isc_buffer_init
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - isc_buffer_usedlength
    - fprintf
    - RUNTIME_CHECK
    - isc_buffer_putuint32
    - isc_buffer_usedregion
    - isc_buffer_region
    - UNREACHABLE
    - dns_db_iscache
    - dns_time32_totext
    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:1669,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/masterdump.c:1671,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/masterdump.c:1673,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1675,1
    - Dst: writeheader
      Src: /src/bind9/lib/dns/masterdump.c:1675,1
    - Dst: DNS_DBITERATOR_FOREACH
      Src: /src/bind9/lib/dns/masterdump.c:1677,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/masterdump.c:1681,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/masterdump.c:1687,1
    - Dst: dns_dbiterator_origin
      Src: /src/bind9/lib/dns/masterdump.c:1688,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1689,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/masterdump.c:1698,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1699,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/masterdump.c:1701,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/masterdump.c:1704,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/masterdump.c:1709,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/masterdump.c:1711,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/masterdump.c:1714,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1721,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/masterdump.c:1721,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1722,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 46
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dns_dumpctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1724
      start: 1656
    functionDepth: 4
    functionLinenumber: 1656
    functionLinenumberEnd: 1724
    functionName: dumptostream
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 5
    functionsReached:
    - dns_db_detachnode
    - isc_mem_put
    - isc_mem_get
    - RUNTIME_CHECK
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - DNS_DBITERATOR_FOREACH
    - dns_fixedname_initname
    - dns_dbiterator_origin
    - writeheader
    - CHECK
    - dns_fixedname_name
    - dns_dbiterator_pause
    - dns_dbiterator_current
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dumptostream(dns_dumpctx_t *dctx)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1734,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1735,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/masterdump.c:1736,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:1738,1
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1738,1
    - Dst: dns_dumpctx_ref
      Src: /src/bind9/lib/dns/masterdump.c:1743,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/masterdump.c:1744,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/masterdump.c:1745,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/masterdump.c:1745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    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: 1750
      start: 1726
    functionDepth: 5
    functionLinenumber: 1726
    functionLinenumberEnd: 1750
    functionName: dns_master_dumptostreamasync
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_loop_attach
    - dns_dumpctx_ref
    - RETERR
    - isc_loop
    - isc_work_enqueue
    - dumpctx_create
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:1760,1
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1760,1
    - Dst: dumptostream
      Src: /src/bind9/lib/dns/masterdump.c:1763,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1764,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/masterdump.c:1765,1
    - Dst: flushandsync
      Src: /src/bind9/lib/dns/masterdump.c:1767,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    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: 1769
      start: 1752
    functionDepth: 5
    functionLinenumber: 1752
    functionLinenumberEnd: 1769
    functionName: dns_master_dumptostream
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 2
    functionsReached:
    - dns_dumpctx_detach
    - INSIST
    - dumptostream
    - flushandsync
    - RETERR
    - dumpctx_create
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/bind9/lib/dns/masterdump.c:1778,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/masterdump.c:1779,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1781,1
    - Dst: isc_file_mktemplate
      Src: /src/bind9/lib/dns/masterdump.c:1781,1
    - Dst: isc_file_openunique
      Src: /src/bind9/lib/dns/masterdump.c:1783,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/masterdump.c:1785,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/masterdump.c:1788,1
    - Dst: posix_fadvise
      Src: /src/bind9/lib/dns/masterdump.c:1793,1
    - Dst: fileno
      Src: /src/bind9/lib/dns/masterdump.c:1793,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 4
    argNames:
    - mctx
    - file
    - tempp
    - fp
    argTypes:
    - isc_mem_t*
    - char*
    - char**
    - FILE**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1803
      start: 1771
    functionDepth: 2
    functionLinenumber: 1771
    functionLinenumberEnd: 1803
    functionName: opentmp
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 0
    functionsReached:
    - posix_fadvise
    - fileno
    - isc_file_openunique
    - isc_log_write
    - isc_mem_free
    - strlen
    - isc_mem_allocate
    - CHECK
    - isc_file_mktemplate
    - isc_result_totext
    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:1817,1
    - Dst: opentmp
      Src: /src/bind9/lib/dns/masterdump.c:1819,1
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1824,1
    - Dst: dns_dumpctx_ref
      Src: /src/bind9/lib/dns/masterdump.c:1835,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/masterdump.c:1836,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/masterdump.c:1837,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/masterdump.c:1837,1
    - Dst: isc_stdio_close
      Src: /src/bind9/lib/dns/masterdump.c:1844,1
    - Dst: isc_file_remove
      Src: /src/bind9/lib/dns/masterdump.c:1845,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1846,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1849,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 30
    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: 1852
      start: 1805
    functionDepth: 5
    functionLinenumber: 1805
    functionLinenumberEnd: 1852
    functionName: dns_master_dumpasync
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 1
    functionsReached:
    - isc_stdio_close
    - isc_loop_attach
    - opentmp
    - isc_mem_strdup
    - isc_mem_free
    - dns_dumpctx_ref
    - isc_loop
    - isc_work_enqueue
    - dumpctx_create
    - isc_file_remove
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/masterdump.c:1863,1
    - Dst: opentmp
      Src: /src/bind9/lib/dns/masterdump.c:1863,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/masterdump.c:1865,1
    - Dst: dumpctx_create
      Src: /src/bind9/lib/dns/masterdump.c:1865,1
    - Dst: dumptostream
      Src: /src/bind9/lib/dns/masterdump.c:1868,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/masterdump.c:1869,1
    - Dst: dns_dumpctx_detach
      Src: /src/bind9/lib/dns/masterdump.c:1870,1
    - Dst: closeandrename
      Src: /src/bind9/lib/dns/masterdump.c:1872,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/masterdump.c:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    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: 1877
      start: 1854
    functionDepth: 5
    functionLinenumber: 1854
    functionLinenumberEnd: 1877
    functionName: dns_master_dump
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 3
    functionsReached:
    - dns_dumpctx_detach
    - INSIST
    - dumptostream
    - opentmp
    - isc_mem_free
    - RETERR
    - CHECK
    - dumpctx_create
    - closeandrename
    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:1881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - style
    argTypes:
    - dns_master_style_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1883
    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:1894,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/masterdump.c:1895,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: 1907
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1907
    functionName: dns_master_stylecreate
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - isc_mem_get
    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:1913,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/masterdump.c:1916,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: 1917
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1917
    functionName: dns_master_styledestroy
    functionSourceFile: /src/bind9/lib/dns/masterdump.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - isc_mem_put
    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: 39
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 39
    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:66,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: 67
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 67
    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:73,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: 74
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 74
    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:80,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/lib/dns/zt.c:81,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: 82
      start: 76
    functionDepth: 2
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: ztqpmakekey
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - dns_zone_getorigin
    - dns_qpkey_fromname
    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:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 88
    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:102,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:103,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/zt.c:105,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zt.c:107,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zt.c:114,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: 117
      start: 97
    functionDepth: 2
    functionLinenumber: 97
    functionLinenumberEnd: 117
    functionName: dns_zt_create
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_qpmulti_create
    - isc_mem_get
    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:130,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:130,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/zt.c:132,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/zt.c:133,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/zt.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 10
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: dns_zt_compact
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_ZT
    - dns_qpmulti_write
    - dns_qp_compact
    - dns_qpmulti_commit
    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:142,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:142,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/zt.c:144,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/zt.c:145,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/zt.c:146,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/zt.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zt
    - zone
    argTypes:
    - dns_zt_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 11
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: dns_zt_mount
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_ZT
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_compact
    - dns_qpmulti_commit
    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:157,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:157,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/zt.c:159,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/zt.c:160,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zt.c:160,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/zt.c:162,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/zt.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zt
    - zone
    argTypes:
    - dns_zt_t*
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 152
    functionDepth: 12
    functionLinenumber: 152
    functionLinenumberEnd: 166
    functionName: dns_zt_unmount
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - dns_zone_getorigin
    - REQUIRE
    - VALID_ZT
    - dns_qp_deletename
    - dns_qpmulti_write
    - dns_qp_compact
    - dns_qpmulti_commit
    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:178,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:178,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:179,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/zt.c:181,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/zt.c:184,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/zt.c:187,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/zt.c:192,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/zt.c:194,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: 168
    functionDepth: 7
    functionLinenumber: 168
    functionLinenumberEnd: 233
    functionName: dns_zt_find
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_qpread_destroy
    - VALID_ZT
    - dns_qpmulti_query
    - dns_zone_isloaded
    - dns_zone_attach
    - dns_qp_lookup
    - dns_qp_getname
    - dns_zone_gettype
    - dns_qpchain_length
    - dns_qpchain_node
    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:
    - REQUIRE
    - VALID_ZT
    - isc_refcount_increment
    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: 56
    functionsReached:
    - UNUSED
    - dns_zone_flush
    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:
    - atomic_load_acquire
    - isc_mem_putanddetach
    - dns_qpmulti_destroy
    - isc_refcount_destroy
    - dns_zt_apply
    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:
    - REQUIRE
    - VALID_ZT
    - isc_refcount_decrement
    - zt_destroy
    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:
    - REQUIRE
    - VALID_ZT
    - atomic_store_release
    linkageType: ''
    returnType: void
    signature: void dns_zt_flush(dns_zt_t *zt)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: struct zt_load_params*::loaddone
      Src: /src/bind9/lib/dns/zt.c:288,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/zt.c:290,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - params
    argTypes:
    - struct zt_load_params*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 285
    functionDepth: 1
    functionLinenumber: 285
    functionLinenumberEnd: 291
    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:303,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:303,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zt.c:305,1
    - Dst: loaded_all
      Src: /src/bind9/lib/dns/zt.c:306,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zt.c:309,1
    - Dst: zt_destroy
      Src: /src/bind9/lib/dns/zt.c:310,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - uap
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 314
    functionName: loaded_one
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_ZT
    - isc_refcount_decrement
    - zt_destroy
    - loaded_all
    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:327,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:327,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:328,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zt.c:330,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/zt.c:331,1
    - Dst: dns_zone_asyncload
      Src: /src/bind9/lib/dns/zt.c:333,1
    - Dst: isc_refcount_decrement1
      Src: /src/bind9/lib/dns/zt.c:339,1
    - Dst: isc_refcount_decrement1
      Src: /src/bind9/lib/dns/zt.c:340,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 321
    functionDepth: 3
    functionLinenumber: 321
    functionLinenumberEnd: 343
    functionName: asyncload
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - isc_refcount_decrement1
    - VALID_ZT
    - isc_refcount_increment
    - 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:352,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:352,1
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zt.c:359,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zt.c:360,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zt.c:362,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:370,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zt.c:375,1
    - Dst: loaded_all
      Src: /src/bind9/lib/dns/zt.c:376,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: 380
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 380
    functionName: dns_zt_asyncload
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_ZT
    - INSIST
    - isc_mem_get
    - isc_refcount_decrement
    - loaded_all
    - dns_zt_apply
    - isc_refcount_increment0
    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:395,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zt.c:399,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:401,1
    - Dst: dns_zone_gettype
      Src: /src/bind9/lib/dns/zt.c:405,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:407,1
    - Dst: dns_zone_isdynamic
      Src: /src/bind9/lib/dns/zt.c:411,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:413,1
    - Dst: dns_zone_getupdatedisabled
      Src: /src/bind9/lib/dns/zt.c:418,1
    - Dst: dns_zone_flush
      Src: /src/bind9/lib/dns/zt.c:424,1
    - Dst: dns_zone_setupdatedisabled
      Src: /src/bind9/lib/dns/zt.c:427,1
    - Dst: dns_zone_loadandthaw
      Src: /src/bind9/lib/dns/zt.c:431,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zt.c:439,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zt.c:440,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zt.c:441,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/zt.c:449,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/dns/zt.c:449,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zt.c:451,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/zt.c:451,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zt.c:452,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/zt.c:453,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zt.c:456,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/zt.c:458,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 58
    argCount: 2
    argNames:
    - zone
    - uap
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 382
    functionDepth: 6
    functionLinenumber: 382
    functionLinenumberEnd: 461
    functionName: freezezones
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 2
    functionsReached:
    - dns_zone_getorigin
    - strcmp
    - dns_zone_loadandthaw
    - dns_zone_detach
    - dns_name_format
    - isc_result_totext
    - dns_zone_setupdatedisabled
    - dns_zone_getupdatedisabled
    - isc_log_write
    - dns_zone_isdynamic
    - dns_zone_flush
    - dns_rdataclass_format
    - dns_zone_getview
    - ISC_LOG_DEBUG
    - dns_zone_getraw
    - dns_zone_gettype
    - dns_zone_getclass
    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:468,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:468,1
    - Dst: dns_zt_apply
      Src: /src/bind9/lib/dns/zt.c:470,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: 475
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 475
    functionName: dns_zt_freezezones
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_ZT
    - dns_zt_apply
    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:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - arg
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 485
      start: 480
    functionDepth: 0
    functionLinenumber: 480
    functionLinenumberEnd: 485
    functionName: setview
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 9
    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:489,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 487
    functionDepth: 1
    functionLinenumber: 487
    functionLinenumberEnd: 490
    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:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - zt
    argTypes:
    - dns_zt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    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:506,1
    - Dst: VALID_ZT
      Src: /src/bind9/lib/dns/zt.c:506,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zt.c:507,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/zt.c:509,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/zt.c:510,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/zt.c:512,1
    - Dst: action
      Src: /src/bind9/lib/dns/zt.c:513,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/zt.c:521,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zt.c:523,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: 526
      start: 497
    functionDepth: 4
    functionLinenumber: 497
    functionLinenumberEnd: 526
    functionName: dns_zt_apply
    functionSourceFile: /src/bind9/lib/dns/zt.c
    functionUses: 8
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - dns_qpiter_next
    - dns_qpread_destroy
    - VALID_ZT
    - dns_qpmulti_query
    - SET_IF_NOT_NULL
    - action
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns__zone_exiting
      Src: /src/bind9/lib/dns/zonefetch.c:37,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zonefetch.c:41,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/zonefetch.c:42,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonefetch.c:44,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonefetch.c:45,1
    - Dst: dns_zonefetch_t*::fetchmethods::start_fetch
      Src: /src/bind9/lib/dns/zonefetch.c:47,1
    - Dst: dns_view_getresolver
      Src: /src/bind9/lib/dns/zonefetch.c:52,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/zonefetch.c:57,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonefetch.c:57,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zonefetch.c:60,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zonefetch.c:61,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonefetch.c:62,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/zonefetch.c:62,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/zonefetch.c:66,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/zonefetch.c:71,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/zonefetch.c:79,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zonefetch.c:81,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zonefetch.c:82,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zonefetch.c:84,1
    - Dst: dns_zone_nameonly
      Src: /src/bind9/lib/dns/zonefetch.c:88,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zonefetch.c:89,1
    - Dst: dns__zone_lock
      Src: /src/bind9/lib/dns/zonefetch.c:97,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zonefetch.c:99,1
    - Dst: dns_zone_getmctx
      Src: /src/bind9/lib/dns/zonefetch.c:100,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zonefetch.c:103,1
    - Dst: dns__zone_irefs
      Src: /src/bind9/lib/dns/zonefetch.c:103,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zonefetch.c:104,1
    - Dst: dns_zonefetch_t*::fetchmethods::cancel_fetch
      Src: /src/bind9/lib/dns/zonefetch.c:106,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zonefetch.c:108,1
    - Dst: dns__zone_free_check
      Src: /src/bind9/lib/dns/zonefetch.c:109,1
    - Dst: dns__zone_unlock
      Src: /src/bind9/lib/dns/zonefetch.c:111,1
    - Dst: dns__zone_free
      Src: /src/bind9/lib/dns/zonefetch.c:114,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 27
    functionDepth: 5
    functionLinenumber: 27
    functionLinenumberEnd: 116
    functionName: dns_zonefetch_run
    functionSourceFile: /src/bind9/lib/dns/zonefetch.c
    functionUses: 0
    functionsReached:
    - dns_resolver_createfetch
    - dns__zone_unlock
    - dns__zone_free
    - INSIST
    - dns_zone_getmctx
    - dns_resolver_detach
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - dns__zone_exiting
    - dns_zone_getloop
    - dns__zone_lock
    - dns_name_format
    - dns_zone_nameonly
    - dns_name_free
    - dns_zone_log
    - dns_rdatatype_format
    - isc_refcount_decrement
    - DNS_NAME_VALID
    - dns_zone_logc
    - dns_zone_getview
    - isc_log_wouldlog
    - dns_zonefetch_t*::fetchmethods::start_fetch
    - dns__zone_free_check
    - dns_view_getresolver
    - dns_zonefetch_t*::fetchmethods::cancel_fetch
    - dns__zone_irefs
    - dns_fixedname_name
    linkageType: ''
    returnType: void
    signature: void dns_zonefetch_run(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonefetch.c:131,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zonefetch.c:135,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zonefetch.c:139,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/zonefetch.c:142,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zonefetch.c:147,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/zonefetch.c:150,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/zonefetch.c:152,1
    - Dst: dns__zone_lock
      Src: /src/bind9/lib/dns/zonefetch.c:154,1
    - Dst: dns__zone_exiting
      Src: /src/bind9/lib/dns/zonefetch.c:155,1
    - Dst: dns_zonefetch_t*::fetchmethods::done_fetch
      Src: /src/bind9/lib/dns/zonefetch.c:159,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/zonefetch.c:162,1
    - Dst: dns__zone_irefs
      Src: /src/bind9/lib/dns/zonefetch.c:162,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zonefetch.c:164,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zonefetch.c:165,1
    - Dst: dns_zonefetch_t*::fetchmethods::cleanup_fetch
      Src: /src/bind9/lib/dns/zonefetch.c:167,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/zonefetch.c:169,1
    - Dst: dns__zone_unlock
      Src: /src/bind9/lib/dns/zonefetch.c:172,1
    - Dst: dns_zonefetch_t*::fetchmethods::continue_fetch
      Src: /src/bind9/lib/dns/zonefetch.c:173,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zonefetch.c:176,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zonefetch.c:177,1
    - Dst: dns__zone_free_check
      Src: /src/bind9/lib/dns/zonefetch.c:179,1
    - Dst: dns__zone_unlock
      Src: /src/bind9/lib/dns/zonefetch.c:181,1
    - Dst: dns__zone_free
      Src: /src/bind9/lib/dns/zonefetch.c:184,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 43
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 118
    functionDepth: 4
    functionLinenumber: 118
    functionLinenumberEnd: 187
    functionName: dns_zonefetch_done
    functionSourceFile: /src/bind9/lib/dns/zonefetch.c
    functionUses: 0
    functionsReached:
    - dns__zone_unlock
    - dns__zone_free
    - INSIST
    - dns_zonefetch_t*::fetchmethods::continue_fetch
    - isc_mem_putanddetach
    - dns_resolver_destroyfetch
    - dns__zone_exiting
    - dns__zone_lock
    - dns_fixedname_name
    - dns_zonefetch_t*::fetchmethods::cleanup_fetch
    - dns_db_detach
    - dns_resolver_freefresp
    - isc_refcount_decrement
    - dns_zone_getview
    - dns_db_detachnode
    - dns_rdataset_cleanup
    - dns__zone_free_check
    - dns__zone_irefs
    - dns_name_free
    - dns_zonefetch_t*::fetchmethods::done_fetch
    linkageType: ''
    returnType: void
    signature: void dns_zonefetch_done(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_refcount_increment0
      Src: /src/bind9/lib/dns/zonefetch.c:193,1
    - Dst: dns__zone_irefs
      Src: /src/bind9/lib/dns/zonefetch.c:193,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zonefetch.c:196,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zonefetch.c:197,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zonefetch.c:200,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zonefetch.c:201,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/zonefetch.c:203,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/zonefetch.c:203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - fetch
    - name
    argTypes:
    - dns_zonefetch_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 189
    functionDepth: 4
    functionLinenumber: 189
    functionLinenumberEnd: 204
    functionName: zonefetch_schedule
    functionSourceFile: /src/bind9/lib/dns/zonefetch.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_init
    - isc_async_run
    - dns_fixedname_initname
    - dns__zone_irefs
    - dns_name_dup
    - dns_zone_getloop
    - isc_refcount_increment0
    linkageType: ''
    returnType: void
    signature: void zonefetch_schedule(dns_zonefetch_t *fetch, dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonefetch.c:208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonefetch.c:209,1
    - Dst: zonefetch_schedule
      Src: /src/bind9/lib/dns/zonefetch.c:211,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - fetch
    - name
    argTypes:
    - dns_zonefetch_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 206
    functionDepth: 5
    functionLinenumber: 206
    functionLinenumberEnd: 212
    functionName: dns_zonefetch_schedule
    functionSourceFile: /src/bind9/lib/dns/zonefetch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - zonefetch_schedule
    linkageType: ''
    returnType: void
    signature: void dns_zonefetch_schedule(dns_zonefetch_t *fetch, dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonefetch.c:216,1
    - Dst: zonefetch_schedule
      Src: /src/bind9/lib/dns/zonefetch.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - fetch
    argTypes:
    - dns_zonefetch_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 219
    functionName: dns_zonefetch_reschedule
    functionSourceFile: /src/bind9/lib/dns/zonefetch.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - zonefetch_schedule
    linkageType: ''
    returnType: void
    signature: void dns_zonefetch_reschedule(dns_zonefetch_t *fetch)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zonefetch.c:229,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zonefetch.c:233,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zonefetch.c:234,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonefetch.c:237,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zonefetch.c:239,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zonefetch.c:244,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonefetch.c:245,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zonefetch.c:252,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonefetch.c:253,1
    - Dst: dns_zone_logc
      Src: /src/bind9/lib/dns/zonefetch.c:261,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 3
    argNames:
    - fetch
    - eresult
    - trust
    argTypes:
    - dns_zonefetch_t*
    - isc_result_t
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 221
    functionDepth: 4
    functionLinenumber: 221
    functionLinenumberEnd: 269
    functionName: dns_zonefetch_verify
    functionSourceFile: /src/bind9/lib/dns/zonefetch.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_rdataset_isassociated
    - dns_rdatatype_format
    - dns_name_format
    - dns_zone_logc
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_zonefetch_verify(dns_zonefetch_t *fetch, isc_result_t
      eresult,\n\t\t     dns_trust_t trust)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 79
    functionDepth: 1
    functionLinenumber: 79
    functionLinenumberEnd: 116
    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:124,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:124,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 118
    functionDepth: 1
    functionLinenumber: 118
    functionLinenumberEnd: 131
    functionName: dns_name_hasbuffer
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 5
    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:139,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 142
    functionName: dns_name_isabsolute
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 25
    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: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    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: 146
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 146
    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: 148
      start: 146
    functionDepth: 0
    functionLinenumber: 146
    functionLinenumberEnd: 148
    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: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    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: 150
      start: 149
    functionDepth: 0
    functionLinenumber: 149
    functionLinenumberEnd: 150
    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: 151
      start: 150
    functionDepth: 0
    functionLinenumber: 150
    functionLinenumberEnd: 151
    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: 152
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 152
    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:159,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:161,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:172,1
    - Dst: domainchar
      Src: /src/bind9/lib/dns/name.c:175,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:189,1
    - Dst: borderchar
      Src: /src/bind9/lib/dns/name.c:194,1
    - Dst: middlechar
      Src: /src/bind9/lib/dns/name.c:198,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 206
    functionName: dns_name_ismailbox
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - borderchar
    - INSIST
    - domainchar
    - middlechar
    - DNS_NAME_VALID
    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:214,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:214,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:216,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:238,1
    - Dst: borderchar
      Src: /src/bind9/lib/dns/name.c:243,1
    - Dst: middlechar
      Src: /src/bind9/lib/dns/name.c:247,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 30
    argCount: 2
    argNames:
    - name
    - wildcard
    argTypes:
    - dns_name_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 255
    functionName: dns_name_ishostname
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - borderchar
    - INSIST
    - middlechar
    - DNS_NAME_VALID
    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:265,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:266,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 257
    functionDepth: 1
    functionLinenumber: 257
    functionLinenumberEnd: 276
    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:288,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:288,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:295,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:299,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:302,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 278
    functionDepth: 1
    functionLinenumber: 278
    functionLinenumberEnd: 311
    functionName: dns_name_internalwildcard
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 3
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - dns_name_countlabels
    - 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:315,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:315,1
    - Dst: isc_hash32
      Src: /src/bind9/lib/dns/name.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 313
    functionDepth: 3
    functionLinenumber: 313
    functionLinenumberEnd: 318
    functionName: dns_name_hash
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 14
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - isc_hash32
    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:340,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:340,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:341,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:341,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:343,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:347,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:351,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/name.c:356,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/name.c:357,1
    - Dst: isc_ascii_lowercmp
      Src: /src/bind9/lib/dns/name.c:383,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: 414
      start: 320
    functionDepth: 2
    functionLinenumber: 320
    functionLinenumberEnd: 414
    functionName: dns_name_fullcompare
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - dns_name_offsets
    - isc_ascii_lowercmp
    - DNS_NAME_VALID
    - dns_name_countlabels
    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:431,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 434
    functionName: dns_name_compare
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 19
    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:449,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:450,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:454,1
    - Dst: isc_ascii_lowerequal
      Src: /src/bind9/lib/dns/name.c:466,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 467
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 467
    functionName: dns_name_equal
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 161
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - isc_ascii_lowerequal
    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:480,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:480,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:481,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:481,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:485,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/name.c:491,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 469
    functionDepth: 1
    functionLinenumber: 469
    functionLinenumberEnd: 496
    functionName: dns_name_caseequal
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 7
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - memcmp
    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:504,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:504,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:506,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:507,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:507,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:508,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:509,1
    - Dst: isc_ascii_lowercmp
      Src: /src/bind9/lib/dns/name.c:512,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/name.c:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 498
    functionDepth: 2
    functionLinenumber: 498
    functionLinenumberEnd: 514
    functionName: dns_name_rdatacompare
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - isc_ascii_lowercmp
    - ISC_MIN
    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:531,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - name1
    - name2
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 516
    functionDepth: 3
    functionLinenumber: 516
    functionLinenumberEnd: 539
    functionName: dns_name_issubdomain
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 73
    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:547,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:547,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:548,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:549,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:549,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:551,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:552,1
    - Dst: dns_name_iswildcard
      Src: /src/bind9/lib/dns/name.c:552,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:554,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/name.c:555,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/name.c:556,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 2
    argNames:
    - name
    - wname
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 562
    functionName: dns_name_matcheswildcard
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_name_fullcompare
    - dns_name_init
    - dns_name_iswildcard
    - dns_name_getlabelsequence
    - DNS_NAME_VALID
    - dns_name_countlabels
    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:572,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:572,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:573,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/name.c:575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:577,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:578,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: 586
      start: 564
    functionDepth: 1
    functionLinenumber: 564
    functionLinenumberEnd: 586
    functionName: dns_name_getlabel
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 8
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - dns_name_offsets
    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:600,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:600,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:601,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:601,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:602,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:602,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:604,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:605,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: 636
      start: 588
    functionDepth: 1
    functionLinenumber: 588
    functionLinenumberEnd: 636
    functionName: dns_name_getlabelsequence
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 35
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - DNS_NAME_BINDABLE
    - dns_name_countlabels
    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:644,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:644,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:645,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:645,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:646,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:646,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 653
      start: 638
    functionDepth: 1
    functionLinenumber: 638
    functionLinenumberEnd: 653
    functionName: dns_name_clone
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 40
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - DNS_NAME_BINDABLE
    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:664,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:664,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:665,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:666,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:666,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:670,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/name.c:671,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:689,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:693,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:696,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:713,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:716,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 38
    argCount: 2
    argNames:
    - name
    - r
    argTypes:
    - dns_name_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 718
      start: 655
    functionDepth: 2
    functionLinenumber: 655
    functionLinenumberEnd: 718
    functionName: dns_name_fromregion
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - DNS_NAME_VALID
    - isc_buffer_availableregion
    - isc_buffer_add
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    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:733,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:733,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:734,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:734,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:735,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:735,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:741,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:744,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:744,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/name.c:750,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:752,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:753,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:811,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:828,1
    - Dst: POST
      Src: /src/bind9/lib/dns/name.c:844,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/name.c:847,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:853,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/name.c:866,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:880,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/dns/name.c:889,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:898,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:903,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:904,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:907,1
    - Dst: POST
      Src: /src/bind9/lib/dns/name.c:916,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:919,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:926,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:933,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/name.c:947,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:948,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: 951
      start: 720
    functionDepth: 2
    functionLinenumber: 720
    functionLinenumberEnd: 951
    functionName: convert_text
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - FATAL_ERROR
    - INSIST
    - isc_buffer_remaininglength
    - isc_buffer_forward
    - POST
    - isc_ascii_tolower
    - DNS_NAME_VALID
    - isc_buffer_availablelength
    - isc_buffer_add
    - isdigit
    - isc_buffer_used
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    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:958,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:958,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:960,1
    - Dst: convert_text
      Src: /src/bind9/lib/dns/name.c:961,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: 962
      start: 953
    functionDepth: 3
    functionLinenumber: 953
    functionLinenumberEnd: 962
    functionName: dns_name_wirefromtext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - dns_name_init
    - convert_text
    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:967,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:967,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:968,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:968,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:970,1
    - Dst: convert_text
      Src: /src/bind9/lib/dns/name.c:971,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: 972
      start: 964
    functionDepth: 3
    functionLinenumber: 964
    functionLinenumberEnd: 972
    functionName: dns_name_fromtext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 98
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - convert_text
    - DNS_NAME_VALID
    - isc_buffer_clear
    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: 20
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:990,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:990,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:991,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:991,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:997,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/name.c:1004,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/name.c:1004,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/name.c:1005,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/name.c:1032,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/name.c:1032,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/name.c:1033,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1040,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/name.c:1062,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/name.c:1062,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/name.c:1063,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/name.c:1070,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/name.c:1070,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/name.c:1072,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/name.c:1084,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/name.c:1084,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/name.c:1086,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/dns/name.c:1095,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/name.c:1096,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/name.c:1101,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/name.c:1101,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/name.c:1102,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1105,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1106,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 94
    argCount: 3
    argNames:
    - name
    - options
    - target
    argTypes:
    - dns_name_t*
    - unsigned int
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1118
      start: 974
    functionDepth: 2
    functionLinenumber: 974
    functionLinenumberEnd: 1118
    functionName: dns_name_totext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 26
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - FATAL_ERROR
    - INSIST
    - isc_buffer_reserve
    - isc_buffer_putuint32
    - isc_buffer_putuint16
    - DNS_NAME_VALID
    - isc_buffer_availablelength
    - CHECK
    - isc_buffer_used
    - isc_buffer_putuint8
    - dns_name_countlabels
    - UNREACHABLE
    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:1134,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1136,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1136,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:1140,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1141,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1142,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1172,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/name.c:1196,1
    - Dst: FATAL_ERROR
      Src: /src/bind9/lib/dns/name.c:1205,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/name.c:1206,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1230,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: 1233
      start: 1120
    functionDepth: 2
    functionLinenumber: 1120
    functionLinenumberEnd: 1233
    functionName: dns_name_tofilenametext
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - FATAL_ERROR
    - INSIST
    - snprintf
    - DNS_NAME_VALID
    - isc_buffer_availablelength
    - isc_buffer_add
    - isc_buffer_used
    - UNREACHABLE
    - dns_name_countlabels
    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:1241,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1241,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1242,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1245,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/name.c:1246,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1250,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1250,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1251,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1251,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1253,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/name.c:1257,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - source
    - name
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1266
      start: 1235
    functionDepth: 2
    functionLinenumber: 1235
    functionLinenumberEnd: 1266
    functionName: dns_name_downcase
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 14
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_ascii_lowercopy
    - DNS_NAME_VALID
    - isc_buffer_add
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    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:1322,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1323,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1324,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1324,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1325,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1329,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1332,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/name.c:1333,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1334,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/name.c:1354,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1355,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/name.c:1356,1
    - Dst: dns_decompress_getpermitted
      Src: /src/bind9/lib/dns/name.c:1385,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1404,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1417,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/name.c:1419,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1424,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: 1427
      start: 1268
    functionDepth: 2
    functionLinenumber: 1268
    functionLinenumberEnd: 1427
    functionName: dns_name_fromwire
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_current
    - memmove
    - isc_buffer_forward
    - ISC_MIN
    - DNS_NAME_VALID
    - isc_buffer_availablelength
    - isc_buffer_base
    - isc_buffer_add
    - isc_buffer_used
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    - dns_decompress_getpermitted
    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:1443,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1443,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1444,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1444,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1447,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1450,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1450,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1451,1
    - Dst: dns_compress_getpermitted
      Src: /src/bind9/lib/dns/name.c:1456,1
    - Dst: dns_compress_getmultiuse
      Src: /src/bind9/lib/dns/name.c:1457,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1464,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/name.c:1467,1
    - Dst: dns_compress_name
      Src: /src/bind9/lib/dns/name.c:1477,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/name.c:1487,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1493,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1496,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/dns/name.c:1496,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1497,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/name.c:1504,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/name.c:1507,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: 1511
      start: 1429
    functionDepth: 5
    functionLinenumber: 1429
    functionLinenumberEnd: 1511
    functionName: dns_name_towire
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 9
    functionsReached:
    - dns_compress_getmultiuse
    - REQUIRE
    - ISC_BUFFER_VALID
    - memmove
    - isc_buffer_usedlength
    - isc_buffer_putuint16
    - DNS_NAME_VALID
    - isc_buffer_availablelength
    - isc_buffer_add
    - dns_compress_name
    - dns_compress_getpermitted
    - isc_buffer_used
    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:1528,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1528,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1529,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1530,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1530,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/name.c:1530,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1531,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1531,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1541,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:1544,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1549,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1579,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1587,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1594,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: 1597
      start: 1513
    functionDepth: 2
    functionLinenumber: 1513
    functionLinenumberEnd: 1597
    functionName: dns_name_concatenate
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 19
    functionsReached:
    - REQUIRE
    - ISC_BUFFER_VALID
    - dns_name_init
    - memmove
    - DNS_NAME_VALID
    - isc_buffer_add
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    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:1605,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1605,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1606,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1607,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1607,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1608,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1608,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/name.c:1610,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1612,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: 1617
      start: 1599
    functionDepth: 1
    functionLinenumber: 1599
    functionLinenumberEnd: 1617
    functionName: dns_name_dup
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 44
    functionsReached:
    - REQUIRE
    - memmove
    - isc_mem_get
    - DNS_NAME_VALID
    - DNS_NAME_BINDABLE
    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:1627,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1627,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1628,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/name.c:1631,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/lib/dns/name.c:1632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - name
    - mctx
    argTypes:
    - dns_name_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1633
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1633
    functionName: dns_name_free
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 47
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - dns_name_invalidate
    - isc_mem_put
    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:1639,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1648
      start: 1635
    functionDepth: 1
    functionLinenumber: 1635
    functionLinenumberEnd: 1648
    functionName: dns_name_size
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 2
    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:1656,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1656,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1657,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/name.c:1660,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: 1667
      start: 1650
    functionDepth: 2
    functionLinenumber: 1650
    functionLinenumberEnd: 1667
    functionName: dns_name_digest
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 0
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - isc_ascii_lowercopy
    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:1671,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1671,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1678
      start: 1669
    functionDepth: 1
    functionLinenumber: 1669
    functionLinenumberEnd: 1678
    functionName: dns_name_dynamic
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 20
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    linkageType: ''
    returnType: bool
    signature: bool dns_name_dynamic(const dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1690,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1690,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/name.c:1692,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/name.c:1693,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/name.c:1693,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/name.c:1694,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/name.c:1695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - name
    - stream
    argTypes:
    - dns_name_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1698
      start: 1680
    functionDepth: 3
    functionLinenumber: 1680
    functionLinenumberEnd: 1698
    functionName: dns_name_print
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_name_totext
    - fprintf
    - DNS_NAME_VALID
    - RETERR
    - isc_buffer_usedregion
    - isc_buffer_init
    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: 1718
      start: 1700
    functionDepth: 0
    functionLinenumber: 1700
    functionLinenumberEnd: 1718
    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:1725,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/name.c:1730,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/name.c:1731,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/name.c:1733,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/name.c:1735,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: 1737
      start: 1720
    functionDepth: 3
    functionLinenumber: 1720
    functionLinenumberEnd: 1737
    functionName: dns_name_format
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 226
    functionsReached:
    - REQUIRE
    - dns_name_totext
    - snprintf
    - isc_buffer_putuint8
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void dns_name_format(const dns_name_t *name, char *cp, unsigned int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1749,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1750,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/name.c:1752,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/name.c:1753,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/name.c:1753,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/name.c:1755,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/name.c:1756,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - name
    - target
    - mctx
    argTypes:
    - dns_name_t*
    - char**
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1762
      start: 1743
    functionDepth: 3
    functionLinenumber: 1743
    functionLinenumberEnd: 1762
    functionName: dns_name_tostring
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - memmove
    - dns_name_totext
    - DNS_NAME_VALID
    - RETERR
    - isc_buffer_usedregion
    - isc_mem_allocate
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_name_tostring(const dns_name_t *name, char **target,
      isc_mem_t *mctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1772,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/name.c:1774,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:1774,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1775,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:1775,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1776,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/name.c:1779,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/name.c:1782,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/name.c:1782,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/name.c:1785,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    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: 1789
      start: 1764
    functionDepth: 4
    functionLinenumber: 1764
    functionLinenumberEnd: 1789
    functionName: dns_name_fromstring
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 75
    functionsReached:
    - REQUIRE
    - dns_name_fromtext
    - dns_name_dup
    - isc_buffer_add
    - strlen
    - dns_fixedname_initname
    - RETERR
    - isc_buffer_constinit
    - DNS_NAME_BINDABLE
    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:1796,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1796,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1797,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1797,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1798,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/name.c:1798,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1802,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:1803,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/name.c:1805,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:1811,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/name.c:1818,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 2
    argNames:
    - source
    - dest
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1791
    functionDepth: 2
    functionLinenumber: 1791
    functionLinenumberEnd: 1819
    functionName: dns_name_copy
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 103
    functionsReached:
    - REQUIRE
    - memmove
    - DNS_NAME_VALID
    - isc_buffer_add
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    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:1843,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:1844,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/name.c:1845,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/name.c:1847,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1838
    functionDepth: 3
    functionLinenumber: 1838
    functionLinenumberEnd: 1854
    functionName: dns_name_isdnssd
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - dns_name_getlabelsequence
    - dns_name_init
    - dns_name_countlabels
    - dns_name_equal
    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:1894,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1899
      start: 1889
    functionDepth: 4
    functionLinenumber: 1889
    functionLinenumberEnd: 1899
    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:1912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1917
      start: 1907
    functionDepth: 4
    functionLinenumber: 1907
    functionLinenumberEnd: 1917
    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:1924,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1924,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1932,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:1943,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/name.c:1944,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1952,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1953,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1954,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1954,1
    - Dst: isc_hex_char
      Src: /src/bind9/lib/dns/name.c:1955,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 26
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1963
      start: 1919
    functionDepth: 1
    functionLinenumber: 1919
    functionLinenumberEnd: 1963
    functionName: dns_name_istat
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_hex_char
    - isc_ascii_tolower
    - DNS_NAME_VALID
    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:1970,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:1970,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:1978,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/name.c:1984,1
    - Dst: memcpy
      Src: /src/bind9/lib/dns/name.c:1995,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/name.c:1997,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2006,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2008,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/name.c:2012,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 32
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1965
    functionDepth: 1
    functionLinenumber: 1965
    functionLinenumberEnd: 2017
    functionName: dns_name_isdnssvcb
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - strncasecmp
    - REQUIRE
    - memcpy
    - INSIST
    - DNS_NAME_VALID
    - strtol
    - 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:2026,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:2026,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/name.c:2027,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:2027,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:2029,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/name.c:2030,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2037,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2037,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/name.c:2042,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/name.c:2043,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2046,1
    - Dst: tolower
      Src: /src/bind9/lib/dns/name.c:2046,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/name.c:2052,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2053,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:2054,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:2056,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/name.c:2061,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/name.c:2075,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2076,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/name.c:2077,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/name.c:2079,1
    - Dst: strtoul
      Src: /src/bind9/lib/dns/name.c:2082,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/name.c:2087,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 47
    argCount: 2
    argNames:
    - name
    - rad
    argTypes:
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2088
      start: 2019
    functionDepth: 4
    functionLinenumber: 2019
    functionLinenumberEnd: 2088
    functionName: dns_name_israd
    functionSourceFile: /src/bind9/lib/dns/name.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_init
    - memmove
    - INSIST
    - strtoul
    - dns_name_split
    - DNS_NAME_VALID
    - strlen
    - dns_name_issubdomain
    - dns_name_countlabels
    - tolower
    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:2092,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/name.c:2092,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2101,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2107,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2110,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/name.c:2116,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 2
    argNames:
    - name
    - offsets
    argTypes:
    - dns_name_t*
    - dns_offsets_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2119
      start: 2090
    functionDepth: 1
    functionLinenumber: 2090
    functionLinenumberEnd: 2119
    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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 50
    functionDepth: 0
    functionLinenumber: 50
    functionLinenumberEnd: 59
    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:69,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - key_alg
    argTypes:
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 71
      start: 61
    functionDepth: 1
    functionLinenumber: 61
    functionLinenumberEnd: 71
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: BN_num_bytes
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:75,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:77,1
    - Dst: BN_bn2bin
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:82,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - bn
    - buf
    - size
    argTypes:
    - BIGNUM*
    - unsigned char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 84
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 84
    functionName: BN_bn2bin_fixed
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 3
    functionsReached:
    - BN_num_bytes
    - BN_bn2bin
    - INSIST
    linkageType: ''
    returnType: int
    signature: int BN_bn2bin_fixed(const BIGNUM *bn, unsigned char *buf, int size)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:94,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:95,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:95,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:96,1
    - Dst: EVP_MD_CTX_create
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:98,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:100,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:100,1
    - Dst: EVP_DigestSignInit
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:111,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:114,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:115,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:115,1
    - Dst: isc_crypto_fips_mode
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:120,1
    - Dst: isc_ossl_wrap_ecdsa_set_deterministic
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:121,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:126,1
    - Dst: EVP_DigestVerifyInit
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:131,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:134,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:135,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:135,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 37
    argCount: 2
    argNames:
    - key
    - dctx
    argTypes:
    - dst_key_t*
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 146
    functionName: opensslecdsa_createctx
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - EVP_MD_CTX_destroy
    - isc_crypto_fips_mode
    - EVP_DigestVerifyInit
    - EVP_MD_CTX_create
    - isc_ossl_wrap_ecdsa_set_deterministic
    - opensslecdsa_valid_key_alg
    - dst__openssl_toresult3
    - EVP_DigestSignInit
    - dst__openssl_toresult
    - CLEANUP
    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:152,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:153,1
    - Dst: EVP_MD_CTX_destroy
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - dctx
    argTypes:
    - dst_context_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 159
    functionName: opensslecdsa_destroyctx
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - opensslecdsa_valid_key_alg
    - EVP_MD_CTX_destroy
    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:166,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:166,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:167,1
    - Dst: EVP_DigestSignUpdate
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:170,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:173,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:173,1
    - Dst: EVP_DigestVerifyUpdate
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:178,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:181,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:181,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - dctx
    - data
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 189
    functionName: opensslecdsa_adddata
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EVP_DigestSignUpdate
    - opensslecdsa_valid_key_alg
    - dst__openssl_toresult3
    - CLEANUP
    - EVP_DigestVerifyUpdate
    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:203,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:204,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:212,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:214,1
    - Dst: EVP_DigestSignFinal
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:217,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:218,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:218,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:222,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:224,1
    - Dst: EVP_DigestSignFinal
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:226,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:227,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:227,1
    - Dst: d2i_ECDSA_SIG
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:231,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:232,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:232,1
    - Dst: ECDSA_SIG_get0
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:236,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:237,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:238,1
    - Dst: BN_bn2bin_fixed
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:239,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:240,1
    - Dst: ECDSA_SIG_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:241,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:242,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:247,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 41
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 191
    functionDepth: 2
    functionLinenumber: 191
    functionLinenumberEnd: 251
    functionName: opensslecdsa_sign
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - isc_mem_get
    - isc_region_consume
    - ECDSA_SIG_free
    - isc_buffer_availableregion
    - opensslecdsa_valid_key_alg
    - dst__openssl_toresult3
    - isc_buffer_add
    - EVP_DigestSignFinal
    - BN_bn2bin_fixed
    - ECDSA_SIG_get0
    - d2i_ECDSA_SIG
    - CLEANUP
    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:266,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:267,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:276,1
    - Dst: ECDSA_SIG_new
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:279,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:281,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:281,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:283,1
    - Dst: BN_bin2bn
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:285,1
    - Dst: ECDSA_SIG_set0
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:287,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:289,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:291,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:291,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:296,1
    - Dst: i2d_ECDSA_SIG
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:300,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:302,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:302,1
    - Dst: EVP_DigestVerifyFinal
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:306,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:313,1
    - Dst: dst__openssl_toresult3
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:316,1
    - Dst: ECDSA_SIG_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:324,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:327,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 52
    argCount: 2
    argNames:
    - dctx
    - sig
    argTypes:
    - dst_context_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 331
    functionName: opensslecdsa_verify
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - isc_mem_get
    - ECDSA_SIG_set0
    - EVP_DigestVerifyFinal
    - i2d_ECDSA_SIG
    - ECDSA_SIG_free
    - opensslecdsa_valid_key_alg
    - dst__openssl_toresult3
    - ECDSA_SIG_new
    - BN_bin2bn
    - dst__openssl_toresult
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_verify(dst_context_t *dctx, const isc_region_t
      *sig)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:337,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:337,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:338,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:339,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:344,1
    - Dst: isc_ossl_wrap_generate_pkcs11_p256_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:344,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:348,1
    - Dst: isc_ossl_wrap_generate_pkcs11_p384_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:348,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:352,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:357,1
    - Dst: isc_ossl_wrap_generate_p256_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:357,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:360,1
    - Dst: isc_ossl_wrap_generate_p384_key
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:360,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:363,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:367,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 31
    argCount: 2
    argNames:
    - key
    - unused
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 333
    functionDepth: 1
    functionLinenumber: 333
    functionLinenumberEnd: 371
    functionName: opensslecdsa_generate
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_ossl_wrap_generate_pkcs11_p384_key
    - isc_ossl_wrap_generate_pkcs11_p256_key
    - opensslecdsa_valid_key_alg
    - RETERR
    - EVP_PKEY_bits
    - UNREACHABLE
    - isc_ossl_wrap_generate_p384_key
    - isc_ossl_wrap_generate_p256_key
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_generate(dst_key_t *key, int unused, void
      (*callback)(int))
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:380,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:380,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:381,1
    - Dst: opensslecdsa_key_alg_to_publickey_size
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:383,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:384,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:386,1
    - Dst: isc_ossl_wrap_p256_public_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:392,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:394,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:394,1
    - Dst: isc_ossl_wrap_p384_public_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:398,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:400,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:400,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:404,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:407,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 28
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 373
    functionDepth: 2
    functionLinenumber: 373
    functionLinenumberEnd: 412
    functionName: opensslecdsa_todns
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - isc_ossl_wrap_p384_public_region
    - REQUIRE
    - isc_ossl_wrap_p256_public_region
    - opensslecdsa_key_alg_to_publickey_size
    - isc_buffer_add
    - isc_buffer_availableregion
    - opensslecdsa_valid_key_alg
    - UNREACHABLE
    - dst__openssl_toresult
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_todns(const dst_key_t *key, isc_buffer_t
      *data)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:421,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:421,1
    - Dst: opensslecdsa_key_alg_to_publickey_size
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:422,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:424,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:426,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:429,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:434,1
    - Dst: isc_ossl_wrap_load_p256_public_from_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:434,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:437,1
    - Dst: isc_ossl_wrap_load_p384_public_from_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:437,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:440,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:443,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:444,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    argCount: 2
    argNames:
    - key
    - data
    argTypes:
    - dst_key_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 414
    functionDepth: 2
    functionLinenumber: 414
    functionLinenumberEnd: 450
    functionName: opensslecdsa_fromdns
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_forward
    - opensslecdsa_key_alg_to_publickey_size
    - isc_ossl_wrap_load_p256_public_from_region
    - isc_ossl_wrap_load_p384_public_from_region
    - opensslecdsa_valid_key_alg
    - EVP_PKEY_bits
    - isc_buffer_remainingregion
    - CHECK
    - UNREACHABLE
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t opensslecdsa_fromdns(dst_key_t *key, isc_buffer_t *data)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:462,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:467,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:467,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:471,1
    - Dst: opensslecdsa_key_alg_to_publickey_size
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:474,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:475,1
    - Dst: isc_ossl_wrap_p256_secret_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:482,1
    - Dst: isc_ossl_wrap_p384_secret_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:486,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:490,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:502,1
    - Dst: dst__privstruct_writefile
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:509,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:512,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 43
    argCount: 2
    argNames:
    - key
    - directory
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 452
    functionDepth: 2
    functionLinenumber: 452
    functionLinenumberEnd: 514
    functionName: opensslecdsa_tofile
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - CLEANUP
    - INSIST
    - opensslecdsa_key_alg_to_publickey_size
    - dst__privstruct_writefile
    - strlen
    - isc_safe_memwipe
    - UNREACHABLE
    - isc_ossl_wrap_p256_secret_region
    - isc_ossl_wrap_p384_secret_region
    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:528,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:528,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:531,1
    - Dst: dst__privstruct_parse
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:531,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:536,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:536,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:542,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:562,1
    - Dst: opensslecdsa_fromlabel
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:562,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:564,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:567,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:569,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:573,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:573,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:583,1
    - Dst: isc_ossl_wrap_load_p256_secret_from_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:583,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:586,1
    - Dst: isc_ossl_wrap_load_p384_secret_from_region
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:586,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:589,1
    - Dst: EVP_PKEY_eq
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:593,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:594,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:597,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:603,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:607,1
    - Dst: isc_safe_memwipe
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:608,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 64
    argCount: 3
    argNames:
    - key
    - lexer
    - pub
    argTypes:
    - dst_key_t*
    - isc_lex_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 611
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 611
    functionName: opensslecdsa_parse
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst__privstruct_parse
    - EVP_PKEY_eq
    - isc_ossl_wrap_load_p256_secret_from_region
    - isc_ossl_wrap_load_p384_secret_from_region
    - opensslecdsa_valid_key_alg
    - opensslecdsa_fromlabel
    - dst__privstruct_free
    - EVP_PKEY_bits
    - isc_safe_memwipe
    - CHECK
    - EVP_PKEY_free
    - UNREACHABLE
    - dst__openssl_toresult
    - CLEANUP
    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:618,1
    - Dst: opensslecdsa_valid_key_alg
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:618,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:619,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:621,1
    - Dst: dst__openssl_fromlabel
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:621,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:626,1
    - Dst: isc_ossl_wrap_validate_p256_pkey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:626,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:627,1
    - Dst: isc_ossl_wrap_validate_p256_pkey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:627,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:630,1
    - Dst: isc_ossl_wrap_validate_p384_pkey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:630,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:631,1
    - Dst: isc_ossl_wrap_validate_p384_pkey
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:631,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:634,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:637,1
    - Dst: EVP_PKEY_bits
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:638,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:645,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/opensslecdsa_link.c:646,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 27
    argCount: 3
    argNames:
    - key
    - label
    - pin
    argTypes:
    - dst_key_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 648
      start: 613
    functionDepth: 1
    functionLinenumber: 613
    functionLinenumberEnd: 648
    functionName: opensslecdsa_fromlabel
    functionSourceFile: /src/bind9/lib/dns/opensslecdsa_link.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UNUSED
    - dst__openssl_fromlabel
    - isc_mem_strdup
    - opensslecdsa_valid_key_alg
    - isc_ossl_wrap_validate_p384_pkey
    - EVP_PKEY_bits
    - CHECK
    - UNREACHABLE
    - EVP_PKEY_free
    - isc_ossl_wrap_validate_p256_pkey
    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:669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - funcp
    argTypes:
    - dst_func_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 674
      start: 667
    functionDepth: 1
    functionLinenumber: 667
    functionLinenumberEnd: 674
    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: 6
    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:
    - dns_zone_logv
    - fprintf
    - va_start
    - va_end
    - vfprintf
    linkageType: ''
    returnType: void
    signature: void zoneverify_log_error(const vctx_t *vctx, const char *fmt, ...)
  - BBCount: 3
    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: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/zoneverify.c:142,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:143,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 4
    argNames:
    - vctx
    - name
    - node
    - ttlp
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_dbnode_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 128
    functionDepth: 3
    functionLinenumber: 128
    functionLinenumberEnd: 147
    functionName: is_delegation
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 4
    functionsReached:
    - dns_rdataset_isassociated
    - dns_name_equal
    - SET_IF_NOT_NULL
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_disassociate
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:158,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:159,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - vctx
    - node
    argTypes:
    - vctx_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: has_dname
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 3
    functionsReached:
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    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:174,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:175,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:177,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zoneverify.c:181,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zoneverify.c:182,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zoneverify.c:183,1
    - Dst: dns_dnssec_verify
      Src: /src/bind9/lib/dns/zoneverify.c:187,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: 194
      start: 167
    functionDepth: 4
    functionLinenumber: 167
    functionLinenumberEnd: 194
    functionName: goodsig
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dst_key_alg
    - RUNTIME_CHECK
    - dst_key_id
    - dst_algorithm_fromdata
    - dns_dnssec_verify
    - dns_rdata_tostruct
    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:201,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:202,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:205,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: 210
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 210
    functionName: nsec_bitmap_equal
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - dns_rdata_tostruct
    - memcmp
    linkageType: ''
    returnType: bool
    signature: bool nsec_bitmap_equal(dns_rdata_nsec_t *nsec, dns_rdata_t *rdata)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:225,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:226,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:229,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:230,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zoneverify.c:237,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:239,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:240,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:244,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:245,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:246,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/zoneverify.c:249,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:250,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:251,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:252,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:253,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/zoneverify.c:262,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:265,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:266,1
    - Dst: nsec_bitmap_equal
      Src: /src/bind9/lib/dns/zoneverify.c:269,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:270,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:271,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zoneverify.c:279,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:281,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:282,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:292,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    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: 295
      start: 212
    functionDepth: 4
    functionLinenumber: 212
    functionLinenumberEnd: 295
    functionName: verifynsec
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - dns_name_equal
    - dns_name_format
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_nsec_buildrdata
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_rdataset_next
    - dns_rdataset_cleanup
    - dns_rdataset_current
    - nsec_bitmap_equal
    - dns_rdata_tostruct
    - isc_result_totext
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zoneverify.c:305,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:307,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:308,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:317,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:318,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:319,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:321,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:328,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:330,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 4
    argNames:
    - vctx
    - rdataset
    - name
    - node
    argTypes:
    - vctx_t*
    - dns_rdataset_t*
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 297
    functionDepth: 4
    functionLinenumber: 297
    functionLinenumberEnd: 333
    functionName: check_no_rrsig
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - dns_name_format
    - dns_rdatatype_format
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - isc_result_totext
    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:313,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:317,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:318,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:319,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:321,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 311
    functionDepth: 4
    functionLinenumber: 311
    functionLinenumberEnd: 329
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - dns_name_format
    - dns_rdatatype_format
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:365,1
    - Dst: chain_length
      Src: /src/bind9/lib/dns/zoneverify.c:365,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 29
    argCount: 2
    argNames:
    - arg1
    - arg2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 369
      start: 335
    functionDepth: 1
    functionLinenumber: 335
    functionLinenumberEnd: 369
    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:387,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: 388
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 388
    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:399,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zoneverify.c:407,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zoneverify.c:409,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/zoneverify.c:411,1
    - Dst: isc_heap_insert
      Src: /src/bind9/lib/dns/zoneverify.c:412,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: 413
      start: 390
    functionDepth: 4
    functionLinenumber: 390
    functionLinenumberEnd: 413
    functionName: record_nsec3
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_heap_insert
    - isc_mem_get
    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:428,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:429,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:434,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: 442
      start: 419
    functionDepth: 2
    functionLinenumber: 419
    functionLinenumberEnd: 442
    functionName: find_nsec3_match
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - memcmp
    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:428,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:429,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:434,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 439
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - dns_rdataset_current
    - memcmp
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: find_nsec3_match
      Src: /src/bind9/lib/dns/zoneverify.c:456,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:458,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:459,1
    - Dst: dns_nsec_compressbitmap
      Src: /src/bind9/lib/dns/zoneverify.c:468,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:470,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:472,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:473,1
    - Dst: record_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:484,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zoneverify.c:490,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/zoneverify.c:491,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:494,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:495,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:496,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:500,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:503,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:504,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: 519
      start: 444
    functionDepth: 5
    functionLinenumber: 444
    functionLinenumberEnd: 519
    functionName: match_nsec3
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - dns_name_format
    - record_nsec3
    - dns_rdataset_next
    - RUNTIME_CHECK
    - memcmp
    - dns_nsec_compressbitmap
    - dns_rdataset_current
    - find_nsec3_match
    - dns_rdata_tostruct
    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:529,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:530,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:531,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:535,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: 542
      start: 521
    functionDepth: 2
    functionLinenumber: 521
    functionLinenumberEnd: 542
    functionName: innsec3params
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - memcmp
    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:529,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:530,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:531,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:535,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 540
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 6
    functionsReached:
    - dns_rdata_tostruct
    - RUNTIME_CHECK
    - dns_rdataset_current
    - memcmp
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(nsec3paramset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:554,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:559,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:560,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/zoneverify.c:567,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/zoneverify.c:568,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:569,1
    - Dst: isc_base32hex_decoderegion
      Src: /src/bind9/lib/dns/zoneverify.c:570,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:578,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:579,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:580,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:581,1
    - Dst: innsec3params
      Src: /src/bind9/lib/dns/zoneverify.c:589,1
    - Dst: record_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:596,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:601,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: 603
      start: 544
    functionDepth: 5
    functionLinenumber: 544
    functionLinenumberEnd: 603
    functionName: record_found
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - innsec3params
    - isc_buffer_usedlength
    - RUNTIME_CHECK
    - record_nsec3
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_name_getlabel
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_tostruct
    - isc_region_consume
    - isc_buffer_init
    - isc_base32hex_decoderegion
    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:578,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:579,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:580,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:581,1
    - Dst: innsec3params
      Src: /src/bind9/lib/dns/zoneverify.c:589,1
    - Dst: record_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:596,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 597
      start: 576
    functionDepth: 5
    functionLinenumber: 576
    functionLinenumberEnd: 597
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - innsec3params
    - isc_buffer_usedlength
    - RUNTIME_CHECK
    - record_nsec3
    - dns_rdataset_current
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:618,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/zoneverify.c:619,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:624,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:625,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:629,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:630,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zoneverify.c:631,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:633,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/zoneverify.c:643,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:645,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:646,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:650,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:652,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:653,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:657,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:659,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 36
    argCount: 3
    argNames:
    - vctx
    - nsec3param
    - optout
    argTypes:
    - vctx_t*
    - dns_rdata_nsec3param_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 663
      start: 605
    functionDepth: 4
    functionLinenumber: 605
    functionLinenumberEnd: 663
    functionName: isoptout
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_db_findnsec3node
    - dns_db_detachnode
    - zoneverify_log_error
    - dns_nsec3_hashname
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_fixedname_name
    - dns_rdataset_current
    - dns_fixedname_init
    - dns_rdata_tostruct
    - isc_result_totext
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:682,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:683,1
    - Dst: dns_nsec3_supportedhash
      Src: /src/bind9/lib/dns/zoneverify.c:689,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:695,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:696,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zoneverify.c:700,1
    - Dst: isoptout
      Src: /src/bind9/lib/dns/zoneverify.c:700,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:702,1
    - Dst: dns_nsec3_hashname
      Src: /src/bind9/lib/dns/zoneverify.c:703,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:708,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:709,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:719,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:720,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/zoneverify.c:721,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:723,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/zoneverify.c:729,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:731,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:732,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:733,1
    - Dst: match_nsec3
      Src: /src/bind9/lib/dns/zoneverify.c:739,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:751,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:753,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 52
    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: 757
      start: 665
    functionDepth: 6
    functionLinenumber: 665
    functionLinenumberEnd: 757
    functionName: verifynsec3
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_db_findnsec3node
    - match_nsec3
    - dns_nsec3_supportedhash
    - dns_db_detachnode
    - zoneverify_log_error
    - dns_nsec3_hashname
    - dns_name_format
    - RUNTIME_CHECK
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    - dns_nsec_isset
    - dns_fixedname_name
    - RETERR
    - isoptout
    - dns_fixedname_init
    - dns_rdata_tostruct
    - isc_result_totext
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:767,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zoneverify.c:768,1
    - Dst: verifynsec3
      Src: /src/bind9/lib/dns/zoneverify.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    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: 776
      start: 759
    functionDepth: 7
    functionLinenumber: 759
    functionLinenumberEnd: 776
    functionName: verifynsec3s
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - verifynsec3
    - RETERR
    - dns_rdataset_current
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:767,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zoneverify.c:768,1
    - Dst: verifynsec3
      Src: /src/bind9/lib/dns/zoneverify.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 764
    functionDepth: 7
    functionLinenumber: 764
    functionLinenumberEnd: 773
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 6
    functionsReached:
    - verifynsec3
    - RETERR
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(nsec3paramset)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zoneverify.c:790,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:792,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:793,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:797,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:804,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:808,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:809,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:810,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:812,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:826,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:827,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:828,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:830,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:831,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:833,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:839,1
    - Dst: goodsig
      Src: /src/bind9/lib/dns/zoneverify.c:846,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:847,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:848,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/zoneverify.c:854,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:857,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:858,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:859,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:863,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:864,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:874,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:875,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 62
    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: 878
      start: 778
    functionDepth: 5
    functionLinenumber: 778
    functionLinenumberEnd: 878
    functionName: verifyset
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - dns_name_format
    - dns_rdatatype_format
    - RUNTIME_CHECK
    - dns_db_allrdatasets
    - dns_rdataset_settrust
    - dst_algorithm_format
    - dns_rdataset_cleanup
    - dst_algorithm_fromdata
    - memcmp
    - dns_rdatasetiter_destroy
    - goodsig
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - ARRAY_SIZE
    - dns_rdata_tostruct
    - isc_result_totext
    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:797,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:804,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 805
      start: 796
    functionDepth: 1
    functionLinenumber: 796
    functionLinenumberEnd: 805
    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:826,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:827,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:828,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:830,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/zoneverify.c:831,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:833,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:839,1
    - Dst: goodsig
      Src: /src/bind9/lib/dns/zoneverify.c:846,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:847,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:848,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 851
      start: 821
    functionDepth: 5
    functionLinenumber: 821
    functionLinenumberEnd: 851
    functionName: (&sigrdataset)
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - dns_rdatatype_format
    - dns_name_format
    - RUNTIME_CHECK
    - dns_rdataset_settrust
    - dst_algorithm_fromdata
    - goodsig
    - dns_rdataset_current
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&sigrdataset)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneverify.c:890,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/zoneverify.c:892,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:894,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:895,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/zoneverify.c:901,1
    - Dst: verifyset
      Src: /src/bind9/lib/dns/zoneverify.c:914,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:917,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:918,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:921,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:927,1
    - Dst: check_no_rrsig
      Src: /src/bind9/lib/dns/zoneverify.c:932,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:934,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:935,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:939,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:944,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:946,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:954,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zoneverify.c:955,1
    - Dst: verifynsec
      Src: /src/bind9/lib/dns/zoneverify.c:955,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:959,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zoneverify.c:960,1
    - Dst: verifynsec3s
      Src: /src/bind9/lib/dns/zoneverify.c:960,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 57
    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: 968
      start: 880
    functionDepth: 8
    functionLinenumber: 880
    functionLinenumberEnd: 968
    functionName: verifynode
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - verifyset
    - REQUIRE
    - zoneverify_log_error
    - check_no_rrsig
    - dns_rdataset_isassociated
    - verifynsec3s
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - RETERR
    - dns_rdataset_disassociate
    - verifynsec
    - dns_rdatasetiter_current
    - dns_nsec_setbit
    - isc_result_totext
    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:901,1
    - Dst: verifyset
      Src: /src/bind9/lib/dns/zoneverify.c:914,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:917,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:918,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:921,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:927,1
    - Dst: check_no_rrsig
      Src: /src/bind9/lib/dns/zoneverify.c:932,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:934,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:935,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/zoneverify.c:939,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:944,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 945
      start: 899
    functionDepth: 6
    functionLinenumber: 899
    functionLinenumberEnd: 945
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - verifyset
    - check_no_rrsig
    - dns_rdatasetiter_destroy
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - 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:975,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:977,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:978,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/zoneverify.c:981,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:982,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - vctx
    - node
    argTypes:
    - vctx_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 970
    functionDepth: 4
    functionLinenumber: 970
    functionLinenumberEnd: 985
    functionName: is_empty
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_first
    - zoneverify_log_error
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t is_empty(const vctx_t *vctx, dns_dbnode_t *node)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:993,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:994,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:998,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:999,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - vctx
    - name
    - node
    argTypes:
    - vctx_t*
    - dns_name_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1007
      start: 987
    functionDepth: 4
    functionLinenumber: 987
    functionLinenumberEnd: 1007
    functionName: check_no_nsec
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - dns_name_format
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - dns_db_findrdataset
    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:1014,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: 1015
      start: 1009
    functionDepth: 1
    functionLinenumber: 1009
    functionLinenumberEnd: 1015
    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:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - element
    - uap
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1017
    functionDepth: 2
    functionLinenumber: 1017
    functionLinenumberEnd: 1023
    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:1037,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zoneverify.c:1041,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1043,1
    - Dst: isc_base32hex_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1044,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1045,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1046,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zoneverify.c:1048,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1050,1
    - Dst: isc_base32hex_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1051,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1052,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1053,1
    - Dst: UNCONST
      Src: /src/bind9/lib/dns/zoneverify.c:1055,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1057,1
    - Dst: isc_base32hex_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1058,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1059,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1060,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: 1063
      start: 1025
    functionDepth: 4
    functionLinenumber: 1025
    functionLinenumberEnd: 1063
    functionName: _checknext
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_base32hex_totext
    - zoneverify_log_error
    - isc_buffer_usedlength
    - memcmp
    - UNCONST
    - isc_buffer_init
    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:1069,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1072,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: 1076
      start: 1065
    functionDepth: 5
    functionLinenumber: 1065
    functionLinenumberEnd: 1076
    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:1081,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1083,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1085,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: 1088
      start: 1078
    functionDepth: 5
    functionLinenumber: 1078
    functionLinenumberEnd: 1088
    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:1096,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1097,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/zoneverify.c:1099,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1102,1
    - Dst: chain_equal
      Src: /src/bind9/lib/dns/zoneverify.c:1107,1
    - Dst: chain_length
      Src: /src/bind9/lib/dns/zoneverify.c:1107,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1108,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1112,1
    - Dst: chain_compare
      Src: /src/bind9/lib/dns/zoneverify.c:1122,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1123,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/zoneverify.c:1124,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1127,1
    - Dst: chain_equal
      Src: /src/bind9/lib/dns/zoneverify.c:1131,1
    - Dst: chain_length
      Src: /src/bind9/lib/dns/zoneverify.c:1131,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1133,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1140,1
    - Dst: chain_equal
      Src: /src/bind9/lib/dns/zoneverify.c:1148,1
    - Dst: checklast
      Src: /src/bind9/lib/dns/zoneverify.c:1149,1
    - Dst: checknext
      Src: /src/bind9/lib/dns/zoneverify.c:1155,1
    - Dst: checklast
      Src: /src/bind9/lib/dns/zoneverify.c:1163,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1170,1
    - Dst: free_element
      Src: /src/bind9/lib/dns/zoneverify.c:1175,1
    - Dst: isc_heap_element
      Src: /src/bind9/lib/dns/zoneverify.c:1177,1
    - Dst: isc_heap_delete
      Src: /src/bind9/lib/dns/zoneverify.c:1179,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 68
    argCount: 2
    argNames:
    - vctx
    - mctx
    argTypes:
    - vctx_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1090
    functionDepth: 6
    functionLinenumber: 1090
    functionLinenumberEnd: 1184
    functionName: verify_nsec3_chains
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_heap_element
    - checknext
    - zoneverify_log_error
    - isc_heap_delete
    - chain_equal
    - chain_compare
    - chain_length
    - checklast
    - free_element
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t verify_nsec3_chains(const vctx_t *vctx, isc_mem_t *mctx)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/zoneverify.c:1198,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zoneverify.c:1203,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zoneverify.c:1208,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/zoneverify.c:1210,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1213,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/zoneverify.c:1215,1
    - Dst: verifynsec3s
      Src: /src/bind9/lib/dns/zoneverify.c:1215,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    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: 1226
      start: 1186
    functionDepth: 8
    functionLinenumber: 1186
    functionLinenumberEnd: 1226
    functionName: verifyemptynodes
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_name_fullcompare
    - dns_name_init
    - dns_rdataset_isassociated
    - verifynsec3s
    - dns_name_getlabelsequence
    - RETERR
    - dns_name_countlabels
    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:1231,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1242,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1243,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1244,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1245,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1246,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1247,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1248,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1249,1
    - Dst: isc_heap_create
      Src: /src/bind9/lib/dns/zoneverify.c:1252,1
    - Dst: isc_heap_create
      Src: /src/bind9/lib/dns/zoneverify.c:1256,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: 1257
      start: 1228
    functionDepth: 2
    functionLinenumber: 1228
    functionLinenumberEnd: 1257
    functionName: vctx_init
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - memset
    - dns_rdataset_init
    - isc_heap_create
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1261,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1262,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1263,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1264,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1265,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1266,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1267,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/zoneverify.c:1268,1
    - Dst: isc_heap_foreach
      Src: /src/bind9/lib/dns/zoneverify.c:1269,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1270,1
    - Dst: isc_heap_foreach
      Src: /src/bind9/lib/dns/zoneverify.c:1271,1
    - Dst: isc_heap_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1259
    functionDepth: 2
    functionLinenumber: 1259
    functionLinenumberEnd: 1273
    functionName: vctx_destroy
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_cleanup
    - isc_heap_foreach
    - isc_heap_destroy
    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:1280,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1282,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1284,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1288,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1292,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1296,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1300,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1304,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1308,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/zoneverify.c:1312,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1316,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1320,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1321,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1327,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1328,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1334,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1335,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1337,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1343,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1344,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1346,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1352,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/zoneverify.c:1353,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1355,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1364,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 65
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1367
      start: 1275
    functionDepth: 4
    functionLinenumber: 1275
    functionLinenumberEnd: 1367
    functionName: check_apex_rrsets
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_rdataset_isassociated
    - zoneverify_log_error
    - dns_db_findrdataset
    - dns_db_findnode
    - isc_result_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_apex_rrsets(vctx_t *vctx)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:1393,1
    - Dst: dns_dnssec_selfsigns
      Src: /src/bind9/lib/dns/zoneverify.c:1399,1
    - Dst: dns_dnssec_signs
      Src: /src/bind9/lib/dns/zoneverify.c:1403,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1434,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1436,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1444,1
    - Dst: dns_keytable_find
      Src: /src/bind9/lib/dns/zoneverify.c:1444,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/zoneverify.c:1451,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/zoneverify.c:1452,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/zoneverify.c:1459,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1460,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:1461,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1462,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zoneverify.c:1464,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zoneverify.c:1466,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zoneverify.c:1466,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1471,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zoneverify.c:1478,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1479,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1481,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/zoneverify.c:1487,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/zoneverify.c:1494,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zoneverify.c:1497,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 59
    argCount: 4
    argNames:
    - vctx
    - dnskey
    - keyrdata
    - is_ksk
    argTypes:
    - vctx_t*
    - dns_rdata_dnskey_t*
    - dns_rdata_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1499
      start: 1379
    functionDepth: 5
    functionLinenumber: 1379
    functionLinenumberEnd: 1499
    functionName: check_dnskey_sigs
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dst_algorithm_tosecalg
    - dns_dnssec_keyfromrdata
    - dns_rdataset_init
    - dns_dnssec_selfsigns
    - dns_rdataset_disassociate
    - RUNTIME_CHECK
    - dns_keynode_dsset
    - dns_rdata_compare
    - dst_key_free
    - dns_rdata_tostruct
    - dns_ds_buildrdata
    - dst_key_alg
    - dns_keytable_find
    - dns_rdata_reset
    - dns_rdataset_current
    - CHECK
    - dns_dnssec_signs
    - dns_rdataset_settrust
    - dst_algorithm_fromdata
    - dst_key_id
    - dns_keynode_detach
    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:1459,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1460,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:1461,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1462,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/zoneverify.c:1464,1
    - Dst: dst_algorithm_tosecalg
      Src: /src/bind9/lib/dns/zoneverify.c:1466,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/zoneverify.c:1466,1
    - Dst: dns_ds_buildrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1471,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/zoneverify.c:1478,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1479,1
    - Dst: dns_rdataset_settrust
      Src: /src/bind9/lib/dns/zoneverify.c:1481,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1453
    functionDepth: 4
    functionLinenumber: 1453
    functionLinenumberEnd: 1486
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_ds_buildrdata
    - dst_algorithm_tosecalg
    - dst_key_alg
    - dns_rdataset_settrust
    - RUNTIME_CHECK
    - dns_rdata_reset
    - dst_key_id
    - dns_rdataset_current
    - dns_rdata_compare
    - dns_rdata_tostruct
    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:1511,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1513,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/zoneverify.c:1514,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/zoneverify.c:1515,1
    - Dst: dns_dnssec_selfsigns
      Src: /src/bind9/lib/dns/zoneverify.c:1523,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneverify.c:1531,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneverify.c:1533,1
    - Dst: dns_rdata_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1534,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1536,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1538,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1541,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneverify.c:1546,1
    - Dst: dst_algorithm_fromdata
      Src: /src/bind9/lib/dns/zoneverify.c:1550,1
    - Dst: check_dnskey_sigs
      Src: /src/bind9/lib/dns/zoneverify.c:1563,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/zoneverify.c:1565,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1569
      start: 1505
    functionDepth: 6
    functionLinenumber: 1505
    functionLinenumberEnd: 1569
    functionName: check_dnskey
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - isc_buffer_init
    - zoneverify_log_error
    - dns_name_format
    - isc_buffer_usedlength
    - RUNTIME_CHECK
    - dns_rdata_totext
    - check_dnskey_sigs
    - dns_rdata_freestruct
    - dst_algorithm_fromdata
    - DNS_RDATASET_FOREACH
    - dns_dnssec_selfsigns
    - dns_rdataset_current
    - dns_rdata_tostruct
    - isc_result_totext
    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:1577,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1579,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1592,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1593,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1601,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1611,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1612,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: 1620
      start: 1571
    functionDepth: 4
    functionLinenumber: 1571
    functionLinenumberEnd: 1620
    functionName: determine_active_algorithms
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - zoneverify_log_error
    - report
    - ARRAY_SIZE
    - 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:1638,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zoneverify.c:1639,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:1640,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneverify.c:1642,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/zoneverify.c:1645,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/zoneverify.c:1646,1
    - Dst: DNS_RDATASET_FOREACH
      Src: /src/bind9/lib/dns/zoneverify.c:1648,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/zoneverify.c:1650,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/zoneverify.c:1652,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zoneverify.c:1659,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1661,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1662,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/zoneverify.c:1666,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1668,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1669,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zoneverify.c:1676,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1678,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1680,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zoneverify.c:1683,1
    - Dst: check_no_nsec
      Src: /src/bind9/lib/dns/zoneverify.c:1684,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1686,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1689,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1690,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1694,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1697,1
    - Dst: is_delegation
      Src: /src/bind9/lib/dns/zoneverify.c:1702,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:1703,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneverify.c:1704,1
    - Dst: has_dname
      Src: /src/bind9/lib/dns/zoneverify.c:1706,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:1707,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneverify.c:1708,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1711,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zoneverify.c:1713,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1718,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1721,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1722,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zoneverify.c:1725,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/zoneverify.c:1727,1
    - Dst: check_no_nsec
      Src: /src/bind9/lib/dns/zoneverify.c:1729,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1732,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1733,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1736,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1737,1
    - Dst: is_empty
      Src: /src/bind9/lib/dns/zoneverify.c:1740,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1741,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/zoneverify.c:1746,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1749,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1757,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1760,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1761,1
    - Dst: verifynode
      Src: /src/bind9/lib/dns/zoneverify.c:1764,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1768,1
    - Dst: verifyemptynodes
      Src: /src/bind9/lib/dns/zoneverify.c:1778,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1782,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneverify.c:1786,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneverify.c:1788,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1792,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1795,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/zoneverify.c:1797,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1799,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1800,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/zoneverify.c:1805,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1807,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1809,1
    - Dst: verifynode
      Src: /src/bind9/lib/dns/zoneverify.c:1812,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1815,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1816,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1817,1
    - Dst: record_found
      Src: /src/bind9/lib/dns/zoneverify.c:1820,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1821,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/zoneverify.c:1831,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/zoneverify.c:1833,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1835,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 174
    argCount: 2
    argNames:
    - vctx
    - vresult
    argTypes:
    - vctx_t*
    - isc_result_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1839
      start: 1626
    functionDepth: 9
    functionLinenumber: 1626
    functionLinenumberEnd: 1839
    functionName: verify_nodes
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_dnssec_keyfromrdata
    - dns_dbiterator_destroy
    - dns_dbiterator_current
    - isc_mem_cget
    - record_found
    - is_empty
    - dst_key_free
    - dns_name_issubdomain
    - dns_db_createiterator
    - dns_dbiterator_next
    - isc_result_totext
    - dns_rdataset_current
    - dns_fixedname_init
    - is_delegation
    - check_no_nsec
    - dns_db_detachnode
    - verifynode
    - isc_mem_cput
    - zoneverify_log_error
    - verifyemptynodes
    - dns_dbiterator_first
    - DNS_RDATASET_FOREACH
    - dns_fixedname_initname
    - has_dname
    - dns_fixedname_name
    - dns_rdataset_count
    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:1805,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1807,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1809,1
    - Dst: verifynode
      Src: /src/bind9/lib/dns/zoneverify.c:1812,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1815,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1816,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1817,1
    - Dst: record_found
      Src: /src/bind9/lib/dns/zoneverify.c:1820,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/zoneverify.c:1821,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1825
      start: 1804
    functionDepth: 9
    functionLinenumber: 1804
    functionLinenumberEnd: 1825
    functionName: DNS_DBITERATOR_FOREACH
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 1
    functionsReached:
    - verifynode
    - dns_db_detachnode
    - zoneverify_log_error
    - record_found
    - dns_dbiterator_current
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void DNS_DBITERATOR_FOREACH(dbiter)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1846,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1851,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1854,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1855,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1860,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 1
    argNames:
    - vctx
    argTypes:
    - vctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1864
      start: 1841
    functionDepth: 3
    functionLinenumber: 1841
    functionLinenumberEnd: 1864
    functionName: check_bad_algorithms
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - report
    - ARRAY_SIZE
    - 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:1871,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneverify.c:1872,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/zoneverify.c:1881,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1882,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1886,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneverify.c:1888,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 10
    argCount: 2
    argNames:
    - vctx
    - keyset_kskonly
    argTypes:
    - vctx_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1893
      start: 1866
    functionDepth: 3
    functionLinenumber: 1866
    functionLinenumberEnd: 1893
    functionName: print_summary
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 0
    functionsReached:
    - report
    - strlen
    - ARRAY_SIZE
    - 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:1904,1
    - Dst: check_apex_rrsets
      Src: /src/bind9/lib/dns/zoneverify.c:1906,1
    - Dst: check_dnskey
      Src: /src/bind9/lib/dns/zoneverify.c:1911,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1918,1
    - Dst: zoneverify_log_error
      Src: /src/bind9/lib/dns/zoneverify.c:1924,1
    - Dst: determine_active_algorithms
      Src: /src/bind9/lib/dns/zoneverify.c:1929,1
    - Dst: verify_nodes
      Src: /src/bind9/lib/dns/zoneverify.c:1932,1
    - Dst: verify_nsec3_chains
      Src: /src/bind9/lib/dns/zoneverify.c:1937,1
    - Dst: check_bad_algorithms
      Src: /src/bind9/lib/dns/zoneverify.c:1945,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1947,1
    - Dst: report
      Src: /src/bind9/lib/dns/zoneverify.c:1953,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/zoneverify.c:1954,1
    - Dst: print_summary
      Src: /src/bind9/lib/dns/zoneverify.c:1959,1
    - Dst: vctx_destroy
      Src: /src/bind9/lib/dns/zoneverify.c:1963,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: 1966
      start: 1895
    functionDepth: 10
    functionLinenumber: 1895
    functionLinenumberEnd: 1966
    functionName: dns_zoneverify_dnssec
    functionSourceFile: /src/bind9/lib/dns/zoneverify.c
    functionUses: 3
    functionsReached:
    - zoneverify_log_error
    - vctx_init
    - verify_nsec3_chains
    - check_bad_algorithms
    - report
    - isc_result_totext
    - vctx_destroy
    - check_dnskey
    - print_summary
    - verify_nodes
    - determine_active_algorithms
    - check_apex_rrsets
    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:
    - isprint
    - printf
    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:245,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/message.c:250,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: 253
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 253
    functionName: msgblock_allocate
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LINK_INIT
    - isc_mem_get
    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: 273
      start: 259
    functionDepth: 0
    functionLinenumber: 259
    functionLinenumberEnd: 273
    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: 278
      start: 275
    functionDepth: 0
    functionLinenumber: 275
    functionLinenumberEnd: 278
    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:290,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: 291
      start: 283
    functionDepth: 1
    functionLinenumber: 283
    functionLinenumberEnd: 291
    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:302,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:304,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - size
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 305
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 305
    functionName: newbuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_APPEND
    - isc_buffer_allocate
    linkageType: ''
    returnType: void
    signature: void newbuffer(dns_message_t *msg, unsigned int size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:311,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 307
    functionDepth: 1
    functionLinenumber: 307
    functionLinenumberEnd: 315
    functionName: currentbuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - INSIST
    - ISC_LIST_TAIL
    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:319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - rdata
    argTypes:
    - dns_message_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 320
    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:327,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:329,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/message.c:330,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:334,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:335,1
    - Dst: msgblock_allocate
      Src: /src/bind9/lib/dns/message.c:337,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:339,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:341,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/message.c:344,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 322
    functionDepth: 2
    functionLinenumber: 322
    functionLinenumberEnd: 346
    functionName: newrdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - msgblock_get
    - ISC_LIST_UNLINK
    - dns_rdata_init
    - ISC_LIST_TAIL
    - ISC_LIST_APPEND
    - dns_rdata_reset
    - ISC_LIST_HEAD
    - msgblock_allocate
    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:350,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - msg
    - rdatalist
    argTypes:
    - dns_message_t*
    - dns_rdatalist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 351
    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:358,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:360,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/message.c:361,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:365,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:366,1
    - Dst: msgblock_allocate
      Src: /src/bind9/lib/dns/message.c:368,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:370,1
    - Dst: msgblock_get
      Src: /src/bind9/lib/dns/message.c:372,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/message.c:375,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 377
    functionName: newrdatalist
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - msgblock_get
    - ISC_LIST_UNLINK
    - ISC_LIST_TAIL
    - ISC_LIST_APPEND
    - ISC_LIST_HEAD
    - dns_rdatalist_init
    - 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: 386
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 386
    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: 408
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 408
    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: 420
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 420
    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:428,1
    - Dst: msginitprivate
      Src: /src/bind9/lib/dns/message.c:429,1
    - Dst: msginittsig
      Src: /src/bind9/lib/dns/message.c:430,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 23
    argCount: 1
    argNames:
    - m
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 450
      start: 426
    functionDepth: 1
    functionLinenumber: 426
    functionLinenumberEnd: 450
    functionName: msginit
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - msginitprivate
    - msginittsig
    - msginitheader
    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:454,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:455,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - name
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 452
    functionDepth: 1
    functionLinenumber: 452
    functionLinenumberEnd: 458
    functionName: msgresetname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns__message_putassociatedrdataset
    - ISC_LIST_UNLINK
    - 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:464,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:465,1
    - Dst: msgresetname
      Src: /src/bind9/lib/dns/message.c:466,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:467,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - first_section
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 470
    functionName: msgresetnames
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - ISC_LIST_FOREACH
    - dns_message_puttempname
    - msgresetname
    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:476,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:479,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 472
    functionDepth: 1
    functionLinenumber: 472
    functionLinenumberEnd: 484
    functionName: msgresetopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_message_renderrelease
    - dns__message_putassociatedrdataset
    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:489,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:493,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/message.c:493,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:494,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:496,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:499,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:501,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:505,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:508,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:512,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:516,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - msg
    - replying
    argTypes:
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 486
    functionDepth: 1
    functionLinenumber: 486
    functionLinenumberEnd: 518
    functionName: msgresetsigs
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_isassociated
    - INSIST
    - dns_message_renderrelease
    - dns__message_putassociatedrdataset
    - dns_message_puttempname
    linkageType: ''
    returnType: void
    signature: void msgresetsigs(dns_message_t *msg, bool replying)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:523,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:526,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/message.c:530,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 535
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 535
    functionName: msgresetedns
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - isc_mem_put
    - INSIST
    linkageType: ''
    returnType: void
    signature: void msgresetedns(dns_message_t *msg)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: msgresetnames
      Src: /src/bind9/lib/dns/message.c:546,1
    - Dst: msgresetopt
      Src: /src/bind9/lib/dns/message.c:547,1
    - Dst: msgresetsigs
      Src: /src/bind9/lib/dns/message.c:548,1
    - Dst: msgresetedns
      Src: /src/bind9/lib/dns/message.c:549,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:560,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:561,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:563,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:564,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:567,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:568,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/message.c:570,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:571,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:574,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:575,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/message.c:576,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:580,1
    - Dst: msgblock_reset
      Src: /src/bind9/lib/dns/message.c:582,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:583,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:586,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:587,1
    - Dst: msgblock_free
      Src: /src/bind9/lib/dns/message.c:588,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:596,1
    - Dst: msgblock_reset
      Src: /src/bind9/lib/dns/message.c:598,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:599,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:602,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:603,1
    - Dst: msgblock_free
      Src: /src/bind9/lib/dns/message.c:604,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:609,1
    - Dst: dst_context_destroy
      Src: /src/bind9/lib/dns/message.c:614,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:619,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:628,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:638,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:640,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:641,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/message.c:642,1
    - Dst: msginit
      Src: /src/bind9/lib/dns/message.c:650,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 76
    argCount: 2
    argNames:
    - msg
    - everything
    argTypes:
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 541
    functionDepth: 3
    functionLinenumber: 541
    functionLinenumberEnd: 652
    functionName: msgreset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - msgresetedns
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - dst_context_destroy
    - msgresetsigs
    - ISC_LIST_HEAD
    - msgresetopt
    - ISC_LIST_NEXT
    - dns_tsigkey_detach
    - msgresetnames
    - msgblock_free
    - ISC_LIST_FOREACH
    - msgblock_reset
    - isc_buffer_free
    - isc_buffer_clear
    - msginit
    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:680,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/message.c:682,1
    - Dst: dns_tsigkey_algorithm
      Src: /src/bind9/lib/dns/message.c:682,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/message.c:685,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - key
    - otherlen
    argTypes:
    - dns_tsigkey_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 691
      start: 654
    functionDepth: 2
    functionLinenumber: 654
    functionLinenumberEnd: 691
    functionName: spacefortsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dst_key_sigsize
    - dns_name_toregion
    - dns_tsigkey_algorithm
    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:697,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:698,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:699,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:700,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:702,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:705,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/message.c:708,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/message.c:721,1
    - Dst: dns_message_createpools
      Src: /src/bind9/lib/dns/message.c:724,1
    - Dst: msginit
      Src: /src/bind9/lib/dns/message.c:727,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/message.c:730,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:734,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:735,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: 738
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 738
    functionName: dns_message_create
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 34
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_get
    - ISC_LIST_APPEND
    - ISC_LIST_INIT
    - isc_buffer_allocate
    - dns_message_createpools
    - msginit
    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:742,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:742,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:743,1
    - Dst: msgreset
      Src: /src/bind9/lib/dns/message.c:746,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: 748
      start: 740
    functionDepth: 4
    functionLinenumber: 740
    functionLinenumberEnd: 748
    functionName: dns_message_reset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - msgreset
    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:752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:753,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:753,1
    - Dst: msgreset
      Src: /src/bind9/lib/dns/message.c:755,1
    - Dst: dns_message_destroypools
      Src: /src/bind9/lib/dns/message.c:760,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/message.c:763,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 764
      start: 750
    functionDepth: 4
    functionLinenumber: 750
    functionLinenumberEnd: 764
    functionName: dns__message_destroy
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - dns_message_destroypools
    - DNS_MESSAGE_VALID
    - msgreset
    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:774,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - node
    - key
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 772
    functionDepth: 3
    functionLinenumber: 772
    functionLinenumberEnd: 775
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH_REV
      Src: /src/bind9/lib/dns/message.c:780,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/message.c:781,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:782,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - foundname
    - target
    - section
    argTypes:
    - dns_name_t**
    - dns_name_t*
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 788
      start: 777
    functionDepth: 3
    functionLinenumber: 777
    functionLinenumberEnd: 788
    functionName: findname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 19
    functionsReached:
    - SET_IF_NOT_NULL
    - 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:794,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/message.c:795,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/message.c:796,1
    - Dst: isc_hash32_hash
      Src: /src/bind9/lib/dns/message.c:797,1
    - Dst: isc_hash32_finalize
      Src: /src/bind9/lib/dns/message.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - rds
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 790
    functionDepth: 2
    functionLinenumber: 790
    functionLinenumberEnd: 800
    functionName: rds_hash
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_hash32_finalize
    - isc_hash32_init
    - isc_hash32_hash
    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: 809
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 809
    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:814,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:815,1
    - Dst: ISC_LIST_FOREACH_REV
      Src: /src/bind9/lib/dns/message.c:817,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:819,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: 825
      start: 811
    functionDepth: 1
    functionLinenumber: 811
    functionLinenumberEnd: 825
    functionName: dns_message_findtype
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - ISC_LIST_FOREACH_REV
    - SET_IF_NOT_NULL
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:837,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/message.c:845,1
    - Dst: newbuffer
      Src: /src/bind9/lib/dns/message.c:850,1
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:851,1
    - Dst: dns_name_reset
      Src: /src/bind9/lib/dns/message.c:852,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/message.c:858,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    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: 859
      start: 830
    functionDepth: 4
    functionLinenumber: 830
    functionLinenumberEnd: 859
    functionName: getname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 72
    functionsReached:
    - currentbuffer
    - newbuffer
    - UNREACHABLE
    - dns_name_fromwire
    - dns_name_reset
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:870,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:872,1
    - Dst: dns_rdata_fromwire
      Src: /src/bind9/lib/dns/message.c:885,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:895,1
    - Dst: newbuffer
      Src: /src/bind9/lib/dns/message.c:903,1
    - Dst: currentbuffer
      Src: /src/bind9/lib/dns/message.c:905,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 27
    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: 910
      start: 861
    functionDepth: 4
    functionLinenumber: 861
    functionLinenumberEnd: 910
    functionName: getrdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - currentbuffer
    - INSIST
    - isc_buffer_setactive
    - dns_rdata_fromwire
    - newbuffer
    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: 921
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 921
    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:924,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/message.c:926,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - section
    argTypes:
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 929
      start: 922
    functionDepth: 3
    functionLinenumber: 922
    functionLinenumberEnd: 929
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:947,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/message.c:951,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:957,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:958,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:959,1
    - Dst: getname
      Src: /src/bind9/lib/dns/message.c:959,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:961,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:968,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/message.c:970,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:972,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:973,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:983,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:994,1
    - Dst: newrdatalist
      Src: /src/bind9/lib/dns/message.c:1007,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:1016,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:1017,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1021,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/message.c:1033,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/message.c:1034,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1038,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 53
    argCount: 4
    argNames:
    - source
    - msg
    - dctx
    - options
    argTypes:
    - isc_buffer_t*
    - dns_message_t*
    - dns_decompress_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 931
    functionDepth: 3
    functionLinenumber: 931
    functionLinenumberEnd: 1042
    functionName: getquestions
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DO_ERROR
    - newrdatalist
    - dns_message_puttemprdataset
    - dns_rdataset_cleanup
    - ISC_LIST_APPEND
    - isc_buffer_setactive
    - getname
    - isc_buffer_remainingregion
    - isc_buffer_getuint16
    - CHECK
    - dns_message_puttempname
    - dns_message_gettempname
    - dns_rdatalist_tordataset
    - dns_message_gettemprdataset
    - CLEANUP
    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: 1054
      start: 1044
    functionDepth: 0
    functionLinenumber: 1044
    functionLinenumberEnd: 1054
    functionName: update
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 42
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool update(dns_section_t section, dns_rdataclass_t rdclass)
  - BBCount: 53
    BranchProfiles: []
    Callsites:
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/message.c:1080,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/message.c:1095,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1101,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:1102,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:1103,1
    - Dst: getname
      Src: /src/bind9/lib/dns/message.c:1103,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1110,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/message.c:1112,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1114,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1115,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1143,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1155,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1170,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/message.c:1182,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1186,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1210,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:1217,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1218,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/message.c:1221,1
    - Dst: newrdata
      Src: /src/bind9/lib/dns/message.c:1230,1
    - Dst: update
      Src: /src/bind9/lib/dns/message.c:1232,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/message.c:1235,1
    - Dst: getrdata
      Src: /src/bind9/lib/dns/message.c:1254,1
    - Dst: getrdata
      Src: /src/bind9/lib/dns/message.c:1257,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/message.c:1265,1
    - Dst: dns_rdatatype_ismeta
      Src: /src/bind9/lib/dns/message.c:1268,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1270,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/message.c:1275,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/message.c:1279,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1281,1
    - Dst: dns_rdata_checkowner
      Src: /src/bind9/lib/dns/message.c:1298,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/message.c:1300,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1312,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/message.c:1327,1
    - Dst: dns_name_hash
      Src: /src/bind9/lib/dns/message.c:1327,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1337,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1340,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/message.c:1345,1
    - Dst: newrdatalist
      Src: /src/bind9/lib/dns/message.c:1350,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:1356,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:1357,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/dns/message.c:1358,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1372,1
    - Dst: dns_rdatatype_questiononly
      Src: /src/bind9/lib/dns/message.c:1378,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1379,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/message.c:1382,1
    - Dst: isc_hashmap_create
      Src: /src/bind9/lib/dns/message.c:1388,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1392,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1392,1
    - Dst: ISC_LIST_TAIL
      Src: /src/bind9/lib/dns/message.c:1393,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1396,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/message.c:1398,1
    - Dst: rds_hash
      Src: /src/bind9/lib/dns/message.c:1399,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1403,1
    - Dst: isc_hashmap_add
      Src: /src/bind9/lib/dns/message.c:1406,1
    - Dst: rds_hash
      Src: /src/bind9/lib/dns/message.c:1407,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:1427,1
    - Dst: dns_rdatatype_issingleton
      Src: /src/bind9/lib/dns/message.c:1432,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/lib/dns/message.c:1436,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1439,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1440,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/message.c:1441,1
    - Dst: DO_ERROR
      Src: /src/bind9/lib/dns/message.c:1442,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1446,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/message.c:1449,1
    - Dst: dns_rdatalist_fromrdataset
      Src: /src/bind9/lib/dns/message.c:1469,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:1470,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1488,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1515,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:1519,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:1528,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:1531,1
    - Dst: cleanup_name_hashmaps
      Src: /src/bind9/lib/dns/message.c:1535,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/message.c:1539,1
    CyclomaticComplexity: 96
    EdgeCount: 96
    ICount: 254
    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: 1543
      start: 1056
    functionDepth: 5
    functionLinenumber: 1056
    functionLinenumberEnd: 1543
    functionName: getsection
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - newrdatalist
    - dns_rdatatype_questiononly
    - INSIST
    - dns_rdata_checkowner
    - dns_rdata_covers
    - isc_buffer_remainingregion
    - dns_rdatalist_tordataset
    - DO_ERROR
    - isc_hashmap_add
    - ISC_LIST_TAIL
    - dns_name_hash
    - dns_rdataset_setownercase
    - getrdata
    - isc_hashmap_create
    - isc_buffer_getuint16
    - dns_message_gettempname
    - dns_rdata_compare
    - dns_name_equal
    - update
    - ISC_LIST_EMPTY
    - isc_buffer_setactive
    - ISC_LIST_HEAD
    - isc_hashmap_destroy
    - getname
    - dns_message_puttempname
    - CHECK
    - UNREACHABLE
    - CLEANUP
    - dns_rdatalist_fromrdataset
    - dns_rdatatype_issingleton
    - dns_rdatatype_ismeta
    - ISC_LIST_APPEND
    - dns__message_putassociatedrdataset
    - rds_hash
    - newrdata
    - cleanup_name_hashmaps
    - isc_buffer_getuint32
    - dns_message_gettemprdataset
    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: 1575
      start: 1545
    functionDepth: 0
    functionLinenumber: 1545
    functionLinenumberEnd: 1575
    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:1588,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1588,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1589,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1590,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:1601,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/message.c:1603,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:1604,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:1605,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/message.c:1605,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1610,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1615,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1616,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1621,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1622,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1623,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:1624,1
    - Dst: early_sanity_check
      Src: /src/bind9/lib/dns/message.c:1632,1
    - Dst: getquestions
      Src: /src/bind9/lib/dns/message.c:1637,1
    - Dst: getsection
      Src: /src/bind9/lib/dns/message.c:1651,1
    - Dst: getsection
      Src: /src/bind9/lib/dns/message.c:1663,1
    - Dst: getsection
      Src: /src/bind9/lib/dns/message.c:1675,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:1687,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:1689,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/message.c:1690,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: 1704
      start: 1577
    functionDepth: 6
    functionLinenumber: 1577
    functionLinenumberEnd: 1704
    functionName: dns_message_parse
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - getsection
    - memmove
    - isc_mem_get
    - isc_buffer_usedlength
    - early_sanity_check
    - isc_log_write
    - isc_buffer_base
    - isc_buffer_usedregion
    - ISC_LOG_DEBUG
    - isc_buffer_getuint16
    - isc_buffer_remainingregion
    - DNS_MESSAGE_VALID
    - 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:1711,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1711,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1712,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1713,1
    - Dst: isc_buffer_length
      Src: /src/bind9/lib/dns/message.c:1713,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1714,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1715,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/message.c:1722,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/message.c:1728,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:1740,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: 1745
      start: 1706
    functionDepth: 2
    functionLinenumber: 1706
    functionLinenumberEnd: 1745
    functionName: dns_message_renderbegin
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - isc_buffer_length
    - isc_buffer_clear
    - isc_buffer_add
    - isc_buffer_availableregion
    - DNS_MESSAGE_VALID
    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:1751,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1751,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1753,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/message.c:1759,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/message.c:1761,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:1762,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1763,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:1768,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:1769,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 2
    argNames:
    - msg
    - buffer
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1774
      start: 1747
    functionDepth: 2
    functionLinenumber: 1747
    functionLinenumberEnd: 1774
    functionName: dns_message_renderchangebuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - isc_buffer_clear
    - isc_buffer_add
    - isc_buffer_availableregion
    - isc_buffer_usedregion
    - DNS_MESSAGE_VALID
    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:1778,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1778,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1779,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - space
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1782
      start: 1776
    functionDepth: 1
    functionLinenumber: 1776
    functionLinenumberEnd: 1782
    functionName: dns_message_renderrelease
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:1788,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1788,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/message.c:1791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - space
    argTypes:
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1800
      start: 1784
    functionDepth: 2
    functionLinenumber: 1784
    functionLinenumberEnd: 1800
    functionName: dns_message_renderreserve
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_buffer_availableregion
    - REQUIRE
    - DNS_MESSAGE_VALID
    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: 1835
      start: 1802
    functionDepth: 0
    functionLinenumber: 1802
    functionLinenumberEnd: 1835
    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:1851,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 8
    argNames:
    - rdataset
    - owner_name
    - id
    - cctx
    - target
    - reserved
    - options
    - countp
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - uint16_t
    - dns_compress_t*
    - isc_buffer_t*
    - unsigned int
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1856
      start: 1837
    functionDepth: 1
    functionLinenumber: 1837
    functionLinenumberEnd: 1856
    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, uint16_t id,\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: 1867
      start: 1858
    functionDepth: 0
    functionLinenumber: 1858
    functionLinenumberEnd: 1867
    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: 1879
      start: 1869
    functionDepth: 0
    functionLinenumber: 1869
    functionLinenumberEnd: 1879
    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: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1895,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:1895,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1896,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:1897,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:1897,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1939,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1941,1
    - Dst: dns_rdataset_towire
      Src: /src/bind9/lib/dns/message.c:1947,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/message.c:1961,1
    - Dst: update_min_section_ttl
      Src: /src/bind9/lib/dns/message.c:1968,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:1975,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:1982,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:1983,1
    - Dst: wrong_priority
      Src: /src/bind9/lib/dns/message.c:1991,1
    - Dst: dns_rdataset_towire
      Src: /src/bind9/lib/dns/message.c:1999,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: 31
    EdgeCount: 31
    ICount: 107
    argCount: 3
    argNames:
    - msg
    - sectionid
    - options
    argTypes:
    - dns_message_t*
    - dns_section_t
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2059
      start: 1881
    functionDepth: 2
    functionLinenumber: 1881
    functionLinenumberEnd: 2059
    functionName: dns_message_rendersection
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - maybe_clear_ad
    - OPTOUT
    - INSIST
    - ISC_LIST_HEAD
    - dns_compress_rollback
    - VALID_NAMED_SECTION
    - dns_rdataset_towire
    - update_min_section_ttl
    - ISC_LIST_FOREACH
    - DNS_MESSAGE_VALID
    - wrong_priority
    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:
    - REQUIRE
    - INSIST
    - isc_buffer_putuint16
    - isc_buffer_availableregion
    - DNS_MESSAGE_VALID
    linkageType: ''
    returnType: void
    signature: void dns_message_renderheader(dns_message_t *msg, isc_buffer_t *target)
  - BBCount: 15
    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: RETERR
      Src: /src/bind9/lib/dns/message.c:2218,1
    - Dst: dns_tsig_sign
      Src: /src/bind9/lib/dns/message.c:2218,1
    - Dst: renderset
      Src: /src/bind9/lib/dns/message.c:2220,1
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:2232,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:2234,1
    - Dst: dns_dnssec_signmessage
      Src: /src/bind9/lib/dns/message.c:2234,1
    - Dst: renderset
      Src: /src/bind9/lib/dns/message.c:2241,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:2249,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:2250,1
    - Dst: dns_message_renderheader
      Src: /src/bind9/lib/dns/message.c:2252,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 84
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2257
      start: 2095
    functionDepth: 4
    functionLinenumber: 2095
    functionLinenumberEnd: 2257
    functionName: dns_message_renderend
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - dns_tsig_sign
    - REQUIRE
    - dns_message_renderheader
    - isc_buffer_usedlength
    - isc_buffer_add
    - RETERR
    - memset
    - isc_buffer_used
    - DNS_MESSAGE_VALID
    - renderset
    - dns_message_rendersection
    - msgresetnames
    - isc_buffer_init
    - dns_dnssec_signmessage
    - dns_message_renderreset
    - isc_buffer_availablelength
    - isc_buffer_clear
    - dns_compress_rollback
    - dns_message_renderrelease
    - isc_buffer_usedregion
    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:2265,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2265,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2266,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:2274,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/message.c:2280,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:2283,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
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2291
      start: 2259
    functionDepth: 1
    functionLinenumber: 2259
    functionLinenumberEnd: 2291
    functionName: dns_message_renderreset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns__message_putassociatedrdataset
    - ISC_LIST_FOREACH
    - dns_message_puttempname
    - DNS_MESSAGE_VALID
    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:2274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2277
      start: 2273
    functionDepth: 0
    functionLinenumber: 2273
    functionLinenumberEnd: 2277
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    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:2295,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2295,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2296,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2296,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:2298,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - section
    argTypes:
    - dns_message_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2305
      start: 2293
    functionDepth: 1
    functionLinenumber: 2293
    functionLinenumberEnd: 2305
    functionName: dns_message_firstname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - VALID_NAMED_SECTION
    - REQUIRE
    - DNS_MESSAGE_VALID
    - ISC_LIST_HEAD
    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:2309,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2309,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2310,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2310,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2311,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/message.c:2313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - msg
    - section
    argTypes:
    - dns_message_t*
    - dns_section_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2320
      start: 2307
    functionDepth: 1
    functionLinenumber: 2307
    functionLinenumberEnd: 2320
    functionName: dns_message_nextname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - VALID_NAMED_SECTION
    - REQUIRE
    - DNS_MESSAGE_VALID
    - 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:2325,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2326,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2327,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2328,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: 2331
      start: 2322
    functionDepth: 1
    functionLinenumber: 2322
    functionLinenumberEnd: 2331
    functionName: dns_message_currentname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - VALID_NAMED_SECTION
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:2347,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2348,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2349,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2355,1
    - Dst: findname
      Src: /src/bind9/lib/dns/message.c:2358,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2366,1
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/message.c:2375,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: 2381
      start: 2333
    functionDepth: 2
    functionLinenumber: 2333
    functionLinenumberEnd: 2381
    functionName: dns_message_findname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - SET_IF_NOT_NULL
    - VALID_NAMED_SECTION
    - findname
    - dns_message_findtype
    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:2386,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2387,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2388,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/message.c:2388,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2389,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2389,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:2391,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: 2392
      start: 2383
    functionDepth: 2
    functionLinenumber: 2383
    functionLinenumberEnd: 2392
    functionName: dns_message_addname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 22
    functionsReached:
    - VALID_NAMED_SECTION
    - REQUIRE
    - ISC_LIST_APPEND
    - dns_name_isabsolute
    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:2397,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2398,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2399,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/message.c:2399,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2400,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:2400,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/message.c:2402,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: 2403
      start: 2394
    functionDepth: 2
    functionLinenumber: 2394
    functionLinenumberEnd: 2403
    functionName: dns_message_removename
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - VALID_NAMED_SECTION
    - REQUIRE
    - ISC_LIST_UNLINK
    - dns_name_isabsolute
    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:2409,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2410,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/dns/message.c:2412,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/message.c:2413,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2414
      start: 2405
    functionDepth: 4
    functionLinenumber: 2405
    functionLinenumberEnd: 2414
    functionName: dns_message_gettempname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 26
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - dns_fixedname_initname
    - isc_mempool_get
    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:2418,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2418,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2419,1
    - Dst: newrdata
      Src: /src/bind9/lib/dns/message.c:2421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2422
      start: 2416
    functionDepth: 3
    functionLinenumber: 2416
    functionLinenumberEnd: 2422
    functionName: dns_message_gettemprdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 13
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - newrdata
    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:2426,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2426,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2427,1
    - Dst: isc_mempool_get
      Src: /src/bind9/lib/dns/message.c:2429,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/message.c:2430,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2431
      start: 2424
    functionDepth: 1
    functionLinenumber: 2424
    functionLinenumberEnd: 2431
    functionName: dns_message_gettemprdataset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 26
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - dns_rdataset_init
    - isc_mempool_get
    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:2435,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2435,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2436,1
    - Dst: newrdatalist
      Src: /src/bind9/lib/dns/message.c:2438,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdatalist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2439
      start: 2433
    functionDepth: 3
    functionLinenumber: 2433
    functionLinenumberEnd: 2439
    functionName: dns_message_gettemprdatalist
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - 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:2445,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2445,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2446,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2451,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/message.c:2451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2452,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:2452,1
    - Dst: isc_hashmap_destroy
      Src: /src/bind9/lib/dns/message.c:2455,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/message.c:2461,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/message.c:2462,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/dns/message.c:2470,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - msg
    - itemp
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2471
      start: 2441
    functionDepth: 3
    functionLinenumber: 2441
    functionLinenumberEnd: 2471
    functionName: dns_message_puttempname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 20
    functionsReached:
    - REQUIRE
    - dns_name_dynamic
    - ISC_LINK_LINKED
    - ISC_LIST_HEAD
    - isc_hashmap_destroy
    - dns_name_free
    - DNS_MESSAGE_VALID
    - isc_mempool_put
    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:2475,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2475,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2476,1
    - Dst: releaserdata
      Src: /src/bind9/lib/dns/message.c:2478,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdata_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2480
      start: 2473
    functionDepth: 2
    functionLinenumber: 2473
    functionLinenumberEnd: 2480
    functionName: dns_message_puttemprdata
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - releaserdata
    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:2484,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/message.c:2485,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2486
      start: 2482
    functionDepth: 1
    functionLinenumber: 2482
    functionLinenumberEnd: 2486
    functionName: dns__message_putassociatedrdataset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 5
    functionsReached:
    - dns_message_puttemprdataset
    - dns_rdataset_disassociate
    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:2490,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2490,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2491,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2493,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/message.c:2493,1
    - Dst: isc_mempool_put
      Src: /src/bind9/lib/dns/message.c:2494,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2495
      start: 2488
    functionDepth: 1
    functionLinenumber: 2488
    functionLinenumberEnd: 2495
    functionName: dns_message_puttemprdataset
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - dns_rdataset_isassociated
    - isc_mempool_put
    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:2499,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2499,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2500,1
    - Dst: releaserdatalist
      Src: /src/bind9/lib/dns/message.c:2502,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - item
    argTypes:
    - dns_message_t*
    - dns_rdatalist_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2504
      start: 2497
    functionDepth: 2
    functionLinenumber: 2497
    functionLinenumberEnd: 2504
    functionName: dns_message_puttemprdatalist
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - releaserdatalist
    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:2514,1
    - Dst: isc_buffer_remainingregion
      Src: /src/bind9/lib/dns/message.c:2518,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:2523,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:2524,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2527,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2528,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: 2531
      start: 2506
    functionDepth: 3
    functionLinenumber: 2506
    functionLinenumberEnd: 2531
    functionName: dns_message_peekheader
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - SET_IF_NOT_NULL
    - isc_buffer_getuint16
    - isc_buffer_remainingregion
    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:2538,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2538,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2539,1
    - Dst: msgresetnames
      Src: /src/bind9/lib/dns/message.c:2559,1
    - Dst: msgresetopt
      Src: /src/bind9/lib/dns/message.c:2560,1
    - Dst: msgresetsigs
      Src: /src/bind9/lib/dns/message.c:2561,1
    - Dst: msginitprivate
      Src: /src/bind9/lib/dns/message.c:2562,1
    - Dst: spacefortsig
      Src: /src/bind9/lib/dns/message.c:2585,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2586,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 53
    argCount: 2
    argNames:
    - msg
    - want_question_section
    argTypes:
    - dns_message_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2602
      start: 2533
    functionDepth: 3
    functionLinenumber: 2533
    functionLinenumberEnd: 2602
    functionName: dns_message_reply
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - dns_message_renderreserve
    - msgresetsigs
    - msgresetopt
    - msgresetnames
    - DNS_MESSAGE_VALID
    - spacefortsig
    - msginitprivate
    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:2610,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2610,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2613
      start: 2604
    functionDepth: 1
    functionLinenumber: 2604
    functionLinenumberEnd: 2613
    functionName: dns_message_getopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    linkageType: ''
    returnType: dns_rdataset_t
    signature: 'dns_rdataset_t *

      dns_message_getopt(dns_message_t *msg)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2639,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2639,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2640,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2641,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:2643,1
    - Dst: buildopt
      Src: /src/bind9/lib/dns/message.c:2643,1
    - Dst: msgresetopt
      Src: /src/bind9/lib/dns/message.c:2645,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:2647,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2647,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2648,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2650,1
    - Dst: dns__message_putassociatedrdataset
      Src: /src/bind9/lib/dns/message.c:2661,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2663
      start: 2615
    functionDepth: 3
    functionLinenumber: 2615
    functionLinenumberEnd: 2663
    functionName: dns_message_setopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - buildopt
    - dns_message_renderreserve
    - dns_rdataset_first
    - dns__message_putassociatedrdataset
    - msgresetopt
    - RETERR
    - dns_rdataset_current
    - CHECK
    - DNS_MESSAGE_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_setopt(dns_message_t *msg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2671,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2671,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2672,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/message.c:2674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - msg
    - owner
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2676
      start: 2665
    functionDepth: 1
    functionLinenumber: 2665
    functionLinenumberEnd: 2676
    functionName: dns_message_gettsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - SET_IF_NOT_NULL
    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:2686,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2686,1
    - Dst: dns_message_renderrelease
      Src: /src/bind9/lib/dns/message.c:2690,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:2693,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2696,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/message.c:2697,1
    - Dst: spacefortsig
      Src: /src/bind9/lib/dns/message.c:2699,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2700,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:2703,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 23
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - dns_message_t*
    - dns_tsigkey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2710
      start: 2678
    functionDepth: 3
    functionLinenumber: 2678
    functionLinenumberEnd: 2710
    functionName: dns_message_settsigkey
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - dns_message_renderreserve
    - dns_message_renderrelease
    - spacefortsig
    - dns_tsigkey_detach
    - DNS_MESSAGE_VALID
    - dns_tsigkey_attach
    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:2718,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2718,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2721
      start: 2712
    functionDepth: 1
    functionLinenumber: 2712
    functionLinenumberEnd: 2721
    functionName: dns_message_gettsigkey
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:2731,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2731,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2732,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/message.c:2738,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/message.c:2740,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:2741,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:2743,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:2744,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:2745,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/message.c:2746,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/message.c:2747,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/message.c:2748,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:2749,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:2750,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    argCount: 2
    argNames:
    - msg
    - querytsig
    argTypes:
    - dns_message_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2753
      start: 2723
    functionDepth: 4
    functionLinenumber: 2723
    functionLinenumberEnd: 2753
    functionName: dns_message_setquerytsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - dns_message_gettemprdata
    - isc_buffer_putmem
    - dns_message_takebuffer
    - dns_message_gettemprdatalist
    - dns_rdata_fromregion
    - ISC_LIST_APPEND
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - dns_rdatalist_tordataset
    - DNS_MESSAGE_VALID
    - dns_message_gettemprdataset
    linkageType: ''
    returnType: void
    signature: void dns_message_setquerytsig(dns_message_t *msg, isc_buffer_t *querytsig)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2761,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2761,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2762,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2763,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:2769,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2769,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2770,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:2771,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:2773,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:2774,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 3
    argNames:
    - msg
    - mctx
    - querytsig
    argTypes:
    - dns_message_t*
    - isc_mem_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2776
      start: 2755
    functionDepth: 3
    functionLinenumber: 2755
    functionLinenumberEnd: 2776
    functionName: dns_message_getquerytsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - isc_buffer_putmem
    - dns_rdataset_first
    - dns_rdata_toregion
    - RETERR
    - isc_buffer_allocate
    - dns_rdataset_current
    - DNS_MESSAGE_VALID
    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:2784,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2784,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2785,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 11
    argCount: 2
    argNames:
    - msg
    - owner
    argTypes:
    - dns_message_t*
    - dns_name_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2799
      start: 2778
    functionDepth: 1
    functionLinenumber: 2778
    functionLinenumberEnd: 2799
    functionName: dns_message_getsig0
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:2830,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2830,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2831,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2832,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2835,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/message.c:2836,1
    - Dst: dst_key_name
      Src: /src/bind9/lib/dns/message.c:2836,1
    - Dst: dst_key_sigsize
      Src: /src/bind9/lib/dns/message.c:2837,1
    - Dst: dns_message_renderreserve
      Src: /src/bind9/lib/dns/message.c:2843,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - msg
    - key
    argTypes:
    - dns_message_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2851
      start: 2801
    functionDepth: 3
    functionLinenumber: 2801
    functionLinenumberEnd: 2851
    functionName: dns_message_setsig0key
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_message_renderreserve
    - dst_key_name
    - dns_name_toregion
    - dst_key_sigsize
    - DNS_MESSAGE_VALID
    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:2859,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2859,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2862
      start: 2853
    functionDepth: 1
    functionLinenumber: 2853
    functionLinenumberEnd: 2862
    functionName: dns_message_getsig0key
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:2866,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2866,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2867,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2868,1
    - Dst: ISC_BUFFER_VALID
      Src: /src/bind9/lib/dns/message.c:2868,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:2870,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - buffer
    argTypes:
    - dns_message_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2872
      start: 2864
    functionDepth: 1
    functionLinenumber: 2864
    functionLinenumberEnd: 2872
    functionName: dns_message_takebuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - ISC_LIST_APPEND
    - ISC_BUFFER_VALID
    linkageType: ''
    returnType: void
    signature: void dns_message_takebuffer(dns_message_t *msg, isc_buffer_t **buffer)
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2879,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2879,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2880,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:2881,1
    - Dst: dns_name_hasbuffer
      Src: /src/bind9/lib/dns/message.c:2891,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:2893,1
    - Dst: dns_name_setbuffer
      Src: /src/bind9/lib/dns/message.c:2894,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/message.c:2895,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2901,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2902,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2903,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:2905,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:2905,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/message.c:2912,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/message.c:2913,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2918,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2919,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2920,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:2922,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2923,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2933,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/message.c:2936,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:2945,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/lib/dns/message.c:2947,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/message.c:2954,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 57
    argCount: 2
    argNames:
    - msg
    - signer
    argTypes:
    - dns_message_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2959
      start: 2874
    functionDepth: 3
    functionLinenumber: 2874
    functionLinenumberEnd: 2959
    functionName: dns_message_signer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_setbuffer
    - INSIST
    - dns_rdataset_first
    - dns_message_takebuffer
    - dns_rdata_freestruct
    - dns_tsigkey_identity
    - RETERR
    - isc_buffer_allocate
    - dns_name_hasbuffer
    - dns_rdataset_current
    - dns_name_clone
    - DNS_MESSAGE_VALID
    - dns_rdata_tostruct
    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:2963,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:2963,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/message.c:2970,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2973
      start: 2961
    functionDepth: 1
    functionLinenumber: 2961
    functionLinenumberEnd: 2973
    functionName: dns_message_resetsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - dns_tsigkey_detach
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:2983,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:2984,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2985,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:2986,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:2987,1
    - Dst: hexdump
      Src: /src/bind9/lib/dns/message.c:2988,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:2992,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:2993,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:2994,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:2995,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/message.c:2996,1
    - Dst: hexdump
      Src: /src/bind9/lib/dns/message.c:2997,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - msg
    - txt1
    argTypes:
    - dns_message_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3000
      start: 2976
    functionDepth: 2
    functionLinenumber: 2976
    functionLinenumberEnd: 3000
    functionName: dns_message_dumpsig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_first
    - RUNTIME_CHECK
    - hexdump
    - dns_rdataset_current
    - dns_rdata_tostruct
    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:3010,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/message.c:3012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3013
      start: 3006
    functionDepth: 2
    functionLinenumber: 3006
    functionLinenumberEnd: 3013
    functionName: checksig_run
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - dns_message_checksig
    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:3020,1
    - Dst: dns_view_detach
      Src: /src/bind9/lib/dns/message.c:3022,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/message.c:3023,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:3024,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/message.c:3025,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3026
      start: 3015
    functionDepth: 3
    functionLinenumber: 3015
    functionLinenumberEnd: 3026
    functionName: checksig_done
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_loop_detach
    - isc_mem_put
    - dns_view_detach
    - checksig_ctx_t*::cb
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void checksig_done(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3031,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3031,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3032,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3033,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3034,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:3036,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/message.c:3041,1
    - Dst: dns_message_attach
      Src: /src/bind9/lib/dns/message.c:3043,1
    - Dst: dns_view_attach
      Src: /src/bind9/lib/dns/message.c:3044,1
    - Dst: dns_message_clonebuffer
      Src: /src/bind9/lib/dns/message.c:3046,1
    - Dst: isc_helper_run
      Src: /src/bind9/lib/dns/message.c:3047,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: 3050
      start: 3028
    functionDepth: 2
    functionLinenumber: 3028
    functionLinenumberEnd: 3050
    functionName: dns_message_checksig_async
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - dns_message_clonebuffer
    - REQUIRE
    - isc_mem_get
    - isc_loop_ref
    - dns_view_attach
    - isc_helper_run
    - dns_message_attach
    - DNS_MESSAGE_VALID
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3056,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3056,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3062,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:3063,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:3064,1
    - Dst: dns_message_dumpsig
      Src: /src/bind9/lib/dns/message.c:3067,1
    - Dst: dns_view_checksig
      Src: /src/bind9/lib/dns/message.c:3070,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/dns/message.c:3072,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3081,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3082,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3083,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:3096,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:3096,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/message.c:3098,1
    - Dst: dns_view_simplefind
      Src: /src/bind9/lib/dns/message.c:3103,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3114,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3115,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/message.c:3135,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3142,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/message.c:3143,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:3152,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/message.c:3153,1
    - Dst: dns_dnssec_keyfromrdata
      Src: /src/bind9/lib/dns/message.c:3157,1
    - Dst: dns_dnssec_verifymessage
      Src: /src/bind9/lib/dns/message.c:3163,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/message.c:3164,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:3173,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/message.c:3174,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:3179,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/message.c:3180,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/message.c:3187,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/message.c:3188,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 80
    argCount: 2
    argNames:
    - msg
    - view
    argTypes:
    - dns_message_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3191
      start: 3052
    functionDepth: 6
    functionLinenumber: 3052
    functionLinenumberEnd: 3191
    functionName: dns_message_checksig
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_dnssec_keyfromrdata
    - INSIST
    - dns_rdataset_next
    - dns_rdataset_init
    - dns_rdata_freestruct
    - dns_rdata_toregion
    - isc_buffer_add
    - RETERR
    - ISC_LOG_DEBUG
    - dns_message_dumpsig
    - DNS_MESSAGE_VALID
    - dns_tsig_verify
    - dns_view_simplefind
    - dst_key_free
    - dns_view_checksig
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_rdataset_first
    - isc_log_write
    - dst_region_computeid
    - dns_rdataset_current
    - dns_rdataset_cleanup
    - dns_dnssec_verifymessage
    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: 3206
      start: 3193
    functionDepth: 0
    functionLinenumber: 3193
    functionLinenumberEnd: 3206
    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:3217,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3219,1
    - Dst: VALID_NAMED_SECTION
      Src: /src/bind9/lib/dns/message.c:3219,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/message.c:3223,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:3227,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3229,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3232,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3234,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3236,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3238,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3240,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3242,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3244,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/message.c:3247,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/message.c:3248,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:3255,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3271,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3273,1
    - Dst: dns_master_questiontotext
      Src: /src/bind9/lib/dns/message.c:3275,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:3278,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3292,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3293,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: 3299
      start: 3207
    functionDepth: 8
    functionLinenumber: 3207
    functionLinenumberEnd: 3299
    functionName: dns_message_sectiontotext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - ADD_STRING
    - dns_name_init
    - dns_master_questiontotext
    - INDENT
    - ISC_LIST_EMPTY
    - VALID_NAMED_SECTION
    - dns_master_styleflags
    - dns_master_rdatasettotext
    - ISC_LIST_FOREACH
    - DNS_MESSAGE_VALID
    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:3255,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3271,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3273,1
    - Dst: dns_master_questiontotext
      Src: /src/bind9/lib/dns/message.c:3275,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:3278,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3285
      start: 3254
    functionDepth: 8
    functionLinenumber: 3254
    functionLinenumberEnd: 3285
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - dns_master_questiontotext
    - ADD_STRING
    - INDENT
    - dns_master_rdatasettotext
    - ISC_LIST_FOREACH
    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:3313,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3316,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3317,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3318,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3321,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3330,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/message.c:3338,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/message.c:3344,1
    - Dst: inet_ntop
      Src: /src/bind9/lib/dns/message.c:3350,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3356,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3357,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3358,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3359,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 47
    argCount: 2
    argNames:
    - ecsbuf
    - target
    argTypes:
    - isc_buffer_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3365
      start: 3301
    functionDepth: 3
    functionLinenumber: 3301
    functionLinenumberEnd: 3365
    functionName: render_ecs
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ADD_STRING
    - inet_ntop
    - isc_buffer_remaininglength
    - isc_buffer_getuint8
    - snprintf
    - isc_buffer_getuint16
    - strlcpy
    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:3378,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3384,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3385,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3386,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3388,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3390,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3392,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3393,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3395,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3396,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3397,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3399,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3401,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3403,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3404,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3406,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3407,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3408,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3410,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3412,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3414,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3415,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3417,1
    - Dst: isc_buffer_getuint32
      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_getuint32
      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
    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: 3444
      start: 3367
    functionDepth: 3
    functionLinenumber: 3367
    functionLinenumberEnd: 3444
    functionName: render_llq
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ADD_STRING
    - INDENT
    - snprintf
    - dns_master_styleflags
    - isc_buffer_getuint16
    - isc_buffer_getuint32
    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:3452,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3454,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:3456,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:3459,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3461,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: 3466
      start: 3446
    functionDepth: 2
    functionLinenumber: 3446
    functionLinenumberEnd: 3466
    functionName: put_yamlstr
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isc_buffer_availablelength
    - isprint
    - ADD_STRING
    - isc_buffer_putmem
    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:3472,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/message.c:3476,1
    - Dst: isc_buffer_activelength
      Src: /src/bind9/lib/dns/message.c:3477,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/message.c:3478,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3479,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:3481,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/message.c:3482,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3484,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3486,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: 3492
      start: 3468
    functionDepth: 4
    functionLinenumber: 3468
    functionLinenumberEnd: 3492
    functionName: render_nameopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - ADD_STRING
    - PUT_YAMLSTR
    - isc_buffer_activelength
    - dns_name_format
    - strlen
    - dns_fixedname_initname
    - dns_name_fromwire
    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:3519,1
    - Dst: isc_buffer_getuint8
      Src: /src/bind9/lib/dns/message.c:3520,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/message.c:3523,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:3528,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3534,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/message.c:3537,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3540,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3541,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3542,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3543,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/message.c:3545,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/message.c:3546,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3548,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3549,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3551,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:3552,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/message.c:3553,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3554,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3556,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3559,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3561,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3562,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3563,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3564,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3565,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3566,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3568,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3569,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3570,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3571,1
    - Dst: snprintf
      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:3574,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3575,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3576,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3578,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3579,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3582,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3583,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3584,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:3585,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3586,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3588,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:3590,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:3591,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/message.c:3594,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:3596,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3598,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3601,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3603,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 69
    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: 3607
      start: 3515
    functionDepth: 4
    functionLinenumber: 3515
    functionLinenumberEnd: 3607
    functionName: render_zoneversion
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - isprint
    - isc_buffer_forward
    - dns_name_split
    - dns_master_styleflags
    - strlen
    - dns_name_format
    - snprintf
    - isc_buffer_current
    - PUT_YAMLSTR
    - isc_buffer_putmem
    - ISC_LIST_HEAD
    - isc_buffer_availablelength
    - dns_name_countlabels
    - CLEANUP
    - ADD_STRING
    - INDENT
    - isc_buffer_remaininglength
    - isc_buffer_getuint8
    - isc_buffer_getuint32
    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: 57
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3627,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:3627,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3628,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:3629,1
    - Dst: VALID_NAMED_PSEUDOSECTION
      Src: /src/bind9/lib/dns/message.c:3629,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/dns/message.c:3635,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3640,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3641,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3644,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3645,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3648,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3649,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3650,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3652,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3653,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3654,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3655,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3657,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3660,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3662,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3667,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3668,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3669,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3670,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3671,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:3676,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:3677,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/message.c:3690,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:3691,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:3693,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:3694,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3695,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3700,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3700,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3701,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3702,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:3703,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:3703,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3705,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:3706,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3710,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3712,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3713,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3715,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:3720,1
    - Dst: render_llq
      Src: /src/bind9/lib/dns/message.c:3720,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3722,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3731,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3732,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3733,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3734,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3735,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3736,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3738,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:3739,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:3739,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3741,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3744,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3746,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3747,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3749,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3751,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3753,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:3754,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:3754,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3757,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:3763,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3764,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:3766,1
    - Dst: render_ecs
      Src: /src/bind9/lib/dns/message.c:3767,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3772,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3773,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3776,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:3781,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3782,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3783,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3784,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:3785,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:3785,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3787,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3794,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3795,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3797,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3798,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:3806,1
    - Dst: render_nameopt
      Src: /src/bind9/lib/dns/message.c:3807,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3810,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3821,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3823,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3825,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3829,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3836,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3838,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3839,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3840,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3841,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3842,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:3843,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3844,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3845,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3847,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3849,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3852,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3853,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:3863,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3864,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3865,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:3872,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:3873,1
    - Dst: render_zoneversion
      Src: /src/bind9/lib/dns/message.c:3873,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3875,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3876,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3887,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3889,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3890,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3891,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3893,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3895,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3897,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3900,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3901,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3903,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3907,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3909,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3916,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3917,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3925,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3926,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:3934,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3935,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3938,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3950,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:3952,1
    - Dst: isc_utf8_valid
      Src: /src/bind9/lib/dns/message.c:3954,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:3968,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3971,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:3975,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3980,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3989,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3991,1
    - Dst: PUT_YAMLSTR
      Src: /src/bind9/lib/dns/message.c:3993,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3995,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:3997,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4000,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/dns/message.c:4006,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4011,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4012,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4013,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4015,1
    - Dst: dns_message_getsig0
      Src: /src/bind9/lib/dns/message.c:4018,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4023,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4024,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4025,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4030,1
    CyclomaticComplexity: 86
    EdgeCount: 86
    ICount: 323
    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: 4042
      start: 3609
    functionDepth: 8
    functionLinenumber: 3609
    functionLinenumberEnd: 4042
    functionName: dns_message_pseudosectiontoyaml
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - isc_buffer_forward
    - isc_buffer_add
    - DNS_MESSAGE_VALID
    - render_nameopt
    - snprintf
    - dns_message_getsig0
    - dns_message_gettsig
    - isc_buffer_getuint16
    - isc_utf8_valid
    - isc_buffer_init
    - isc_buffer_current
    - PUT_YAMLSTR
    - dns_rdata_init
    - dns_rdataset_first
    - render_zoneversion
    - isc_buffer_setactive
    - dns_message_getopt
    - dns_rdataset_current
    - CHECK
    - render_llq
    - ADD_STRING
    - dns_ttl_totext
    - INDENT
    - isc_buffer_remaininglength
    - VALID_NAMED_PSEUDOSECTION
    - dns_master_rdatasettotext
    - render_ecs
    - isc_buffer_getuint32
    - ARRAY_SIZE
    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: 66
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4060,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4060,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4061,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4062,1
    - Dst: VALID_NAMED_PSEUDOSECTION
      Src: /src/bind9/lib/dns/message.c:4062,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:4064,1
    - Dst: dns_message_pseudosectiontoyaml
      Src: /src/bind9/lib/dns/message.c:4065,1
    - Dst: dns_message_getopt
      Src: /src/bind9/lib/dns/message.c:4071,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4076,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4077,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4080,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4081,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4082,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4084,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4085,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4087,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4090,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4096,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4097,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4098,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4099,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4101,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4103,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4104,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/message.c:4106,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/message.c:4118,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/message.c:4119,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:4121,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:4122,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:4123,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:4126,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:4126,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4127,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4128,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/message.c:4130,1
    - Dst: isc_buffer_remaininglength
      Src: /src/bind9/lib/dns/message.c:4130,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4132,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4133,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:4134,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4138,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4140,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4141,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4143,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4148,1
    - Dst: render_llq
      Src: /src/bind9/lib/dns/message.c:4148,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4150,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:4157,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4158,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4159,1
    - Dst: isc_buffer_getuint32
      Src: /src/bind9/lib/dns/message.c:4161,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4163,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4165,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4167,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:4168,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:4168,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4171,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:4172,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:4172,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4176,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:4181,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:4182,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/message.c:4184,1
    - Dst: render_ecs
      Src: /src/bind9/lib/dns/message.c:4185,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4190,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: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4201,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4202,1
    - Dst: dns_ttl_totext
      Src: /src/bind9/lib/dns/message.c:4202,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4204,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4211,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4212,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4214,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4215,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4221,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4223,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4224,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4226,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:4232,1
    - Dst: render_nameopt
      Src: /src/bind9/lib/dns/message.c:4233,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4236,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4241,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4248,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4250,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4252,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4256,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4263,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4264,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4265,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/message.c:4266,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4267,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4268,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4270,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4274,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:4278,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4279,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:4281,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4284,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4285,1
    - Dst: isc_buffer_getuint16
      Src: /src/bind9/lib/dns/message.c:4293,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4294,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4295,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/lib/dns/message.c:4302,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/message.c:4303,1
    - Dst: render_zoneversion
      Src: /src/bind9/lib/dns/message.c:4303,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4305,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4306,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4318,1
    - Dst: isc_buffer_current
      Src: /src/bind9/lib/dns/message.c:4320,1
    - Dst: isc_utf8_valid
      Src: /src/bind9/lib/dns/message.c:4322,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4336,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4339,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/message.c:4343,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4350,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4357,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4364,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4366,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4371,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4380,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4382,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:4384,1
    - Dst: isprint
      Src: /src/bind9/lib/dns/message.c:4389,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:4392,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/message.c:4395,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4399,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4401,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4404,1
    - Dst: dns_message_gettsig
      Src: /src/bind9/lib/dns/message.c:4408,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4412,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4414,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4416,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4421,1
    - Dst: dns_message_getsig0
      Src: /src/bind9/lib/dns/message.c:4425,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4429,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4431,1
    - Dst: dns_master_rdatasettotext
      Src: /src/bind9/lib/dns/message.c:4433,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4438,1
    CyclomaticComplexity: 87
    EdgeCount: 87
    ICount: 299
    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: 4447
      start: 4044
    functionDepth: 9
    functionLinenumber: 4044
    functionLinenumberEnd: 4447
    functionName: dns_message_pseudosectiontotext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isprint
    - INSIST
    - isc_buffer_forward
    - dns_master_styleflags
    - isc_buffer_add
    - RETERR
    - DNS_MESSAGE_VALID
    - render_nameopt
    - snprintf
    - dns_message_getsig0
    - dns_message_gettsig
    - isc_buffer_getuint16
    - isc_utf8_valid
    - isc_buffer_init
    - isc_buffer_current
    - dns_rdata_init
    - isc_buffer_putmem
    - dns_rdataset_first
    - render_zoneversion
    - isc_buffer_setactive
    - isc_buffer_availablelength
    - dns_message_getopt
    - dns_rdataset_current
    - CHECK
    - render_llq
    - isc_buffer_putstr
    - ADD_STRING
    - dns_ttl_totext
    - INDENT
    - isc_buffer_remaininglength
    - VALID_NAMED_PSEUDOSECTION
    - dns_master_rdatasettotext
    - render_ecs
    - isc_buffer_getuint32
    - dns_message_pseudosectiontoyaml
    - ARRAY_SIZE
    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: 25
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4455,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4455,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4456,1
    - Dst: dns_master_styleflags
      Src: /src/bind9/lib/dns/message.c:4462,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4463,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4464,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4465,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4466,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4467,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4468,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4469,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/message.c:4469,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4470,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4471,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4472,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4473,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4474,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4475,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4476,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4477,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4479,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4482,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4485,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4488,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4491,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4494,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4497,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4499,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4504,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4505,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4506,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4509,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4510,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4512,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4513,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4515,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4517,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4518,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4520,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4521,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4523,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4524,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4526,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:4531,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4532,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4534,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4535,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4537,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4539,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4540,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4541,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4542,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4543,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4545,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4546,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4548,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4549,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4550,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4551,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4552,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/message.c:4552,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4553,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4554,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4555,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4556,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4557,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4558,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4560,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4563,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4566,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4569,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4572,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4575,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4578,1
    - Dst: INDENT
      Src: /src/bind9/lib/dns/message.c:4584,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4585,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: INDENT
      Src: /src/bind9/lib/dns/message.c:4591,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4592,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4594,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4596,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4598,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4600,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4602,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4604,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4606,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4608,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/message.c:4610,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: snprintf
      Src: /src/bind9/lib/dns/message.c:4614,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4616,1
    - Dst: ADD_STRING
      Src: /src/bind9/lib/dns/message.c:4617,1
    CyclomaticComplexity: 24
    EdgeCount: 24
    ICount: 152
    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: 4622
      start: 4449
    functionDepth: 2
    functionLinenumber: 4449
    functionLinenumberEnd: 4622
    functionName: dns_message_headertotext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ADD_STRING
    - INDENT
    - dns_rcode_totext
    - snprintf
    - dns_master_styleflags
    - RETERR
    - DNS_MESSAGE_VALID
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4627,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4627,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4628,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4630,1
    - Dst: dns_message_headertotext
      Src: /src/bind9/lib/dns/message.c:4630,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4631,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/lib/dns/message.c:4631,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4633,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4633,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4635,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4635,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4637,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4637,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4639,1
    - Dst: dns_message_sectiontotext
      Src: /src/bind9/lib/dns/message.c:4639,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/message.c:4641,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/lib/dns/message.c:4641,1
    - Dst: dns_message_pseudosectiontotext
      Src: /src/bind9/lib/dns/message.c:4643,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    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: 4645
      start: 4624
    functionDepth: 10
    functionLinenumber: 4624
    functionLinenumberEnd: 4645
    functionName: dns_message_totext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - RETERR
    - dns_message_pseudosectiontotext
    - DNS_MESSAGE_VALID
    - dns_message_sectiontotext
    - dns_message_headertotext
    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:4649,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4649,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4651
      start: 4647
    functionDepth: 1
    functionLinenumber: 4647
    functionLinenumberEnd: 4651
    functionName: dns_message_getrawmessage
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:4655,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - msg
    - timeadjust
    argTypes:
    - dns_message_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4657
      start: 4653
    functionDepth: 1
    functionLinenumber: 4653
    functionLinenumberEnd: 4657
    functionName: dns_message_settimeadjust
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:4661,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4661,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4663
      start: 4659
    functionDepth: 1
    functionLinenumber: 4659
    functionLinenumberEnd: 4663
    functionName: dns_message_gettimeadjust
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:4667,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/message.c:4669,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/message.c:4669,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/message.c:4672,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - opcode
    - target
    argTypes:
    - dns_opcode_t
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4674
      start: 4665
    functionDepth: 2
    functionLinenumber: 4665
    functionLinenumberEnd: 4674
    functionName: dns_opcode_totext
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - isc_buffer_availablelength
    - strlen
    - isc_buffer_putstr
    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:4681,1
    - Dst: logfmtpacket
      Src: /src/bind9/lib/dns/message.c:4683,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: 4685
      start: 4676
    functionDepth: 1
    functionLinenumber: 4676
    functionLinenumberEnd: 4685
    functionName: dns_message_logpacketfrom
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - logfmtpacket
    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:4693,1
    - Dst: logfmtpacket
      Src: /src/bind9/lib/dns/message.c:4695,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: 4697
      start: 4687
    functionDepth: 1
    functionLinenumber: 4687
    functionLinenumberEnd: 4697
    functionName: dns_message_logpacketfromto
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - logfmtpacket
    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:4711,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/message.c:4721,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/message.c:4724,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:4728,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/message.c:4729,1
    - Dst: dns_message_totext
      Src: /src/bind9/lib/dns/message.c:4730,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:4732,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:4735,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/message.c:4739,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/message.c:4744,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: 4746
      start: 4699
    functionDepth: 11
    functionLinenumber: 4699
    functionLinenumberEnd: 4746
    functionName: logfmtpacket
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - dns_message_totext
    - isc_mem_put
    - isc_mem_get
    - isc_buffer_usedlength
    - isc_log_write
    - isc_log_wouldlog
    - isc_sockaddr_format
    - isc_buffer_init
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4751,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4751,1
    - Dst: msgresetedns
      Src: /src/bind9/lib/dns/message.c:4754,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/message.c:4767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - msg
    - version
    - udpsize
    - flags
    - maxopts
    argTypes:
    - dns_message_t*
    - int16_t
    - uint16_t
    - uint32_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4770
      start: 4748
    functionDepth: 2
    functionLinenumber: 4748
    functionLinenumberEnd: 4770
    functionName: dns_message_ednsinit
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - isc_mem_cget
    - msgresetedns
    linkageType: ''
    returnType: void
    signature: "void dns_message_ednsinit(dns_message_t *msg, int16_t version, uint16_t
      udpsize,\n\t\t     uint32_t flags, uint8_t maxopts)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4774,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4774,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4775,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/message.c:4778,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/message.c:4779,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:4789,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:4791,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - option
    argTypes:
    - dns_message_t*
    - dns_ednsopt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4796
      start: 4772
    functionDepth: 2
    functionLinenumber: 4772
    functionLinenumberEnd: 4796
    functionName: dns_message_ednsaddopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - memmove
    - isc_mem_get
    - isc_log_write
    - ISC_LOG_DEBUG
    - DNS_MESSAGE_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_message_ednsaddopt(dns_message_t *msg, dns_ednsopt_t
      *option)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4805,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4805,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4806,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/message.c:4808,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/message.c:4809,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/message.c:4810,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/message.c:4838,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/message.c:4841,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4850,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4851,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/message.c:4853,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4861,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/message.c:4862,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/message.c:4864,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/message.c:4866,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/message.c:4879,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/message.c:4880,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/message.c:4886,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/message.c:4887,1
    - Dst: dns_message_puttemprdatalist
      Src: /src/bind9/lib/dns/message.c:4888,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 56
    argCount: 2
    argNames:
    - message
    - rdatasetp
    argTypes:
    - dns_message_t*
    - dns_rdataset_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4890
      start: 4798
    functionDepth: 4
    functionLinenumber: 4798
    functionLinenumberEnd: 4890
    functionName: buildopt
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_message_gettemprdata
    - dns_message_puttemprdatalist
    - isc_buffer_putmem
    - dns_message_puttemprdataset
    - dns_message_takebuffer
    - dns_message_gettemprdatalist
    - ISC_LIST_APPEND
    - dns_message_puttemprdata
    - isc_buffer_putuint16
    - isc_buffer_base
    - isc_buffer_allocate
    - dns_rdatalist_tordataset
    - DNS_MESSAGE_VALID
    - dns_message_gettemprdataset
    - CLEANUP
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t buildopt(dns_message_t *message, dns_rdataset_t **rdatasetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4894,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4894,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4895,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4896,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:4897,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - msg
    - rdclass
    argTypes:
    - dns_message_t*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4901
      start: 4892
    functionDepth: 1
    functionLinenumber: 4892
    functionLinenumberEnd: 4901
    functionName: dns_message_setclass
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:4905,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4905,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - msg
    - padding
    argTypes:
    - dns_message_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4912
      start: 4903
    functionDepth: 1
    functionLinenumber: 4903
    functionLinenumberEnd: 4912
    functionName: dns_message_setpadding
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:4916,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:4916,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:4920,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:4920,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/message.c:4926,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/message.c:4926,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4930
      start: 4914
    functionDepth: 1
    functionLinenumber: 4914
    functionLinenumberEnd: 4930
    functionName: dns_message_clonebuffer
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - memmove
    - isc_mem_get
    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:4940,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:4952,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/message.c:4953,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/message.c:4954,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/message.c:4955,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/message.c:4969,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/lib/dns/message.c:4969,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 2
    argNames:
    - rds
    - ttlp
    argTypes:
    - dns_rdataset_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4975
      start: 4932
    functionDepth: 3
    functionLinenumber: 4932
    functionLinenumberEnd: 4975
    functionName: rdataset_soa_min
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - dns_name_fromregion
    - dns_name_init
    - dns_soa_getminimum
    - ISC_MIN
    - dns_rdata_toregion
    - dns_rdataset_current
    - isc_region_consume
    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:4940,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/message.c:4952,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/message.c:4953,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/message.c:4954,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/message.c:4955,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/message.c:4969,1
    - Dst: dns_soa_getminimum
      Src: /src/bind9/lib/dns/message.c:4969,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4972
      start: 4935
    functionDepth: 3
    functionLinenumber: 4935
    functionLinenumberEnd: 4972
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 8
    functionsReached:
    - dns_name_fromregion
    - dns_name_init
    - dns_soa_getminimum
    - ISC_MIN
    - dns_rdata_toregion
    - dns_rdataset_current
    - isc_region_consume
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rds)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/message.c:4986,1
    - Dst: rdataset_soa_min
      Src: /src/bind9/lib/dns/message.c:4991,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - msg
    - ttlp
    argTypes:
    - dns_message_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4999
      start: 4977
    functionDepth: 4
    functionLinenumber: 4977
    functionLinenumberEnd: 4999
    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:4986,1
    - Dst: rdataset_soa_min
      Src: /src/bind9/lib/dns/message.c:4991,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 4996
      start: 4985
    functionDepth: 4
    functionLinenumber: 4985
    functionLinenumberEnd: 4996
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    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:5004,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:5004,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5005,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: 5013
      start: 5001
    functionDepth: 1
    functionLinenumber: 5001
    functionLinenumberEnd: 5013
    functionName: dns_message_minttl
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    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:5019,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:5019,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5020,1
    - Dst: dns_message_minttl
      Src: /src/bind9/lib/dns/message.c:5022,1
    - Dst: message_authority_soa_min
      Src: /src/bind9/lib/dns/message.c:5024,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - msg
    - pttl
    argTypes:
    - dns_message_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5028
      start: 5015
    functionDepth: 5
    functionLinenumber: 5015
    functionLinenumberEnd: 5028
    functionName: dns_message_response_minttl
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    - dns_message_minttl
    - message_authority_soa_min
    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:5033,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5034,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5035,1
    - Dst: isc_mempool_create
      Src: /src/bind9/lib/dns/message.c:5037,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/lib/dns/message.c:5039,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/lib/dns/message.c:5040,1
    - Dst: isc_mempool_create
      Src: /src/bind9/lib/dns/message.c:5042,1
    - Dst: isc_mempool_setfillcount
      Src: /src/bind9/lib/dns/message.c:5044,1
    - Dst: isc_mempool_setfreemax
      Src: /src/bind9/lib/dns/message.c:5045,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: 5046
      start: 5030
    functionDepth: 2
    functionLinenumber: 5030
    functionLinenumberEnd: 5046
    functionName: dns_message_createpools
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mempool_create
    - isc_mempool_setfreemax
    - isc_mempool_setfillcount
    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:5050,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5051,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/message.c:5053,1
    - Dst: isc_mempool_getallocated
      Src: /src/bind9/lib/dns/message.c:5053,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/message.c:5054,1
    - Dst: isc_mempool_getallocated
      Src: /src/bind9/lib/dns/message.c:5054,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/dns/message.c:5056,1
    - Dst: isc_mempool_destroy
      Src: /src/bind9/lib/dns/message.c:5057,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - namepoolp
    - rdspoolp
    argTypes:
    - isc_mempool_t**
    - isc_mempool_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5058
      start: 5048
    functionDepth: 2
    functionLinenumber: 5048
    functionLinenumberEnd: 5058
    functionName: dns_message_destroypools
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - ENSURE
    - isc_mempool_destroy
    - isc_mempool_getallocated
    linkageType: ''
    returnType: void
    signature: void dns_message_destroypools(isc_mempool_t **namepoolp, isc_mempool_t
      **rdspoolp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/message.c:5062,1
    - Dst: DNS_MESSAGE_VALID
      Src: /src/bind9/lib/dns/message.c:5062,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - dns_message_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 5064
      start: 5060
    functionDepth: 1
    functionLinenumber: 5060
    functionLinenumberEnd: 5064
    functionName: dns_message_hasdname
    functionSourceFile: /src/bind9/lib/dns/message.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_MESSAGE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_message_hasdname(dns_message_t *msg)
  - 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: 2
    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: 2
    functionsReached:
    - REQUIRE
    - isc_mem_cput
    - isc_mem_put
    - dns_name_dynamic
    - dns_ipkeylist_init
    - dns_name_free
    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:
    - REQUIRE
    - dns_name_init
    - memmove
    - isc_mem_get
    - dns_ipkeylist_resize
    - dns_name_dup
    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:
    - REQUIRE
    - isc_mem_creget
    linkageType: ''
    returnType: void
    signature: void dns_ipkeylist_resize(isc_mem_t *mctx, dns_ipkeylist_t *ipkl, unsigned
      int n)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:57,1
    - Dst: OSSL_STORE_open
      Src: /src/bind9/lib/dns/openssl_link.c:59,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssl_link.c:61,1
    - Dst: dst__openssl_toresult
      Src: /src/bind9/lib/dns/openssl_link.c:61,1
    - Dst: OSSL_STORE_eof
      Src: /src/bind9/lib/dns/openssl_link.c:64,1
    - Dst: OSSL_STORE_load
      Src: /src/bind9/lib/dns/openssl_link.c:65,1
    - Dst: OSSL_STORE_INFO_get_type
      Src: /src/bind9/lib/dns/openssl_link.c:69,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:72,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssl_link.c:73,1
    - Dst: OSSL_STORE_INFO_get1_PKEY
      Src: /src/bind9/lib/dns/openssl_link.c:75,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/bind9/lib/dns/openssl_link.c:76,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:77,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssl_link.c:78,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:83,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssl_link.c:84,1
    - Dst: OSSL_STORE_INFO_get1_PUBKEY
      Src: /src/bind9/lib/dns/openssl_link.c:86,1
    - Dst: EVP_PKEY_get_base_id
      Src: /src/bind9/lib/dns/openssl_link.c:87,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:88,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/openssl_link.c:89,1
    - Dst: OSSL_STORE_INFO_free
      Src: /src/bind9/lib/dns/openssl_link.c:93,1
    - Dst: OSSL_STORE_close
      Src: /src/bind9/lib/dns/openssl_link.c:99,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:102,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:103,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:104,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:105,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/openssl_link.c:106,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: 109
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 109
    functionName: dst__openssl_fromlabel_provider
    functionSourceFile: /src/bind9/lib/dns/openssl_link.c
    functionUses: 0
    functionsReached:
    - OSSL_STORE_open
    - UNUSED
    - OSSL_STORE_load
    - OSSL_STORE_INFO_free
    - EVP_PKEY_get_base_id
    - OSSL_STORE_INFO_get1_PUBKEY
    - OSSL_STORE_close
    - OSSL_STORE_INFO_get1_PKEY
    - OSSL_STORE_INFO_get_type
    - dst__openssl_toresult
    - OSSL_STORE_eof
    - CLEANUP
    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:114,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: 116
      start: 111
    functionDepth: 2
    functionLinenumber: 111
    functionLinenumberEnd: 116
    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:130,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 14
    argCount: 2
    argNames:
    - key1
    - key2
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 118
    functionDepth: 0
    functionLinenumber: 118
    functionLinenumberEnd: 140
    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: 145
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 145
    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:150,1
    - Dst: EVP_PKEY_free
      Src: /src/bind9/lib/dns/openssl_link.c:152,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 147
    functionDepth: 0
    functionLinenumber: 147
    functionLinenumberEnd: 155
    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:
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/zoneproperties.c:41,1
    - Dst: dns_fixedname_invalidate
      Src: /src/bind9/lib/dns/zoneproperties.c:42,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/zoneproperties.c:44,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 45
    functionName: free_rad_rcu
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_fixedname_invalidate
    - caa_container_of
    linkageType: ''
    returnType: void
    signature: void free_rad_rcu(struct rcu_head *rcu_head)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:54,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:54,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:55,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:60,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:61,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:62,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:67,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:70,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zoneproperties.c:73,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zoneproperties.c:74,1
    - Dst: zone_rdclass_tostr
      Src: /src/bind9/lib/dns/zoneproperties.c:75,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zoneproperties.c:76,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zoneproperties.c:78,1
    - Dst: dns_zone_setclass
      Src: /src/bind9/lib/dns/zoneproperties.c:79,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:81,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - zone
    - rdclass
    argTypes:
    - dns_zone_t*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 82
    functionName: dns_zone_setclass
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - INSIST
    - zone_namerd_tostr
    - DNS_ZONE_VALID
    - isc_mem_strdup
    - zone_rdclass_tostr
    - isc_mem_free
    - LOCK_ZONE
    - dns__zone_inline_secure
    - UNLOCK_ZONE
    - dns_zone_setclass
    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/zoneproperties.c:86,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:86,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: dns_zone_getclass
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 17
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: dns_rdataclass_t
    signature: dns_rdataclass_t dns_zone_getclass(dns_zone_t *zone)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:94,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:94,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:96,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:102,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zoneproperties.c:107,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:109,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 3
    argNames:
    - zone
    - type
    - notifytype
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - dns_notifytype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 110
    functionName: dns_zone_setnotifytype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNREACHABLE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setnotifytype(dns_zone_t *zone, dns_rdatatype_t type,\n\t\t
      \      dns_notifytype_t notifytype)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:114,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:114,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:116,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - checkdstype
    argTypes:
    - dns_zone_t*
    - dns_checkdstype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 119
    functionName: dns_zone_setcheckdstype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 5
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setcheckdstype(dns_zone_t *zone, dns_checkdstype_t checkdstype)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:128,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:129,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:134,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:135,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:139,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zoneproperties.c:142,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zoneproperties.c:143,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:144,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - dns_zone_t*
    - dns_zonetype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 145
    functionName: dns_zone_settype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - zone_namerd_tostr
    - DNS_ZONE_VALID
    - isc_mem_strdup
    - isc_mem_free
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_settype(dns_zone_t *zone, dns_zonetype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:154,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:155,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:157,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/zoneproperties.c:158,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:160,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/zoneproperties.c:162,1
    - Dst: ISC_CHECKED_MUL
      Src: /src/bind9/lib/dns/zoneproperties.c:167,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zoneproperties.c:170,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:171,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:175,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: 177
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 177
    functionName: dns_zone_getdbtype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - UNLOCK_ZONE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - strlen
    - isc_mem_allocate
    - ISC_CHECKED_MUL
    - strlcpy
    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/zoneproperties.c:185,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:187,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:189,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/zoneproperties.c:192,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zoneproperties.c:197,1
    - Dst: dns__zone_freedbargs
      Src: /src/bind9/lib/dns/zoneproperties.c:201,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:206,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: 207
      start: 179
    functionDepth: 2
    functionLinenumber: 179
    functionLinenumberEnd: 207
    functionName: dns_zone_setdbtype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - isc_mem_cget
    - DNS_ZONE_VALID
    - isc_mem_strdup
    - LOCK_ZONE
    - dns__zone_freedbargs
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setdbtype(dns_zone_t *zone, unsigned int dbargc,\n\t\t
      \  const char *const *dbargv)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:211,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:211,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:213,1
    - Dst: dns__zone_setview_helper
      Src: /src/bind9/lib/dns/zoneproperties.c:214,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - view
    argTypes:
    - dns_zone_t*
    - dns_view_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 209
    functionDepth: 3
    functionLinenumber: 209
    functionLinenumberEnd: 216
    functionName: dns_zone_setview
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns__zone_setview_helper
    - UNLOCK_ZONE
    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/zoneproperties.c:220,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 223
    functionName: dns_zone_getview
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 25
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: dns_view_t
    signature: 'dns_view_t *

      dns_zone_getview(dns_zone_t *zone)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:229,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:229,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:230,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:232,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:233,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zoneproperties.c:234,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/zoneproperties.c:235,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/zoneproperties.c:236,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/zoneproperties.c:238,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:241,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:244,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zoneproperties.c:247,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zoneproperties.c:248,1
    - Dst: zone_name_tostr
      Src: /src/bind9/lib/dns/zoneproperties.c:249,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zoneproperties.c:250,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zoneproperties.c:252,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/lib/dns/zoneproperties.c:253,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:255,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 24
    argCount: 2
    argNames:
    - zone
    - origin
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 225
    functionDepth: 2
    functionLinenumber: 225
    functionLinenumberEnd: 256
    functionName: dns_zone_setorigin
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - zone_name_tostr
    - dns_name_init
    - dns_name_dynamic
    - INSIST
    - zone_namerd_tostr
    - DNS_ZONE_VALID
    - dns_zone_setorigin
    - isc_mem_strdup
    - isc_mem_free
    - LOCK_ZONE
    - dns__zone_inline_secure
    - dns_name_free
    - dns_name_dup
    - UNLOCK_ZONE
    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/zoneproperties.c:263,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:269,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 3
    argNames:
    - zone
    - field
    - value
    argTypes:
    - dns_zone_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 258
    functionDepth: 1
    functionLinenumber: 258
    functionLinenumberEnd: 273
    functionName: setstring
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - isc_mem_free
    - isc_mem_strdup
    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: 297
      start: 293
    functionDepth: 0
    functionLinenumber: 293
    functionLinenumberEnd: 297
    functionName: foundtoken_order
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int foundtoken_order(const void *a, const void *b)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zoneproperties.c:301,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:303,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:307,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: 309
      start: 299
    functionDepth: 2
    functionLinenumber: 299
    functionLinenumberEnd: 309
    functionName: putmem
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 65
    functionsReached:
    - isc_buffer_availablelength
    - isc_buffer_putmem
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t putmem(isc_buffer_t *b, const char *base, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zoneproperties.c:314,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:316,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - names
    - token
    - b
    argTypes:
    - token_names_t*
    - foundtoken_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 317
      start: 311
    functionDepth: 0
    functionLinenumber: 311
    functionLinenumberEnd: 317
    functionName: tokenparse_type
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - strlen
    - putmem
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tokenparse_type(const token_names_t *names, const foundtoken_t
      *token,\n\t\tisc_buffer_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneproperties.c:324,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:325,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - names
    - ISC_ATTR_UNUSED
    - b
    argTypes:
    - token_names_t*
    - foundtoken_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 319
    functionDepth: 4
    functionLinenumber: 319
    functionLinenumberEnd: 326
    functionName: tokenparse_name
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - strlen
    - putmem
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tokenparse_name(const token_names_t *names,\n\t\tconst
      foundtoken_t *token ISC_ATTR_UNUSED, isc_buffer_t *b)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/zoneproperties.c:331,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:333,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - names
    - token
    - b
    argTypes:
    - token_names_t*
    - foundtoken_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 0
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: tokenparse_view
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - strlen
    - putmem
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tokenparse_view(const token_names_t *names, const foundtoken_t
      *token,\n\t\tisc_buffer_t *b)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneproperties.c:343,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:346,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:347,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:352,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - names
    - token
    - b
    argTypes:
    - token_names_t*
    - foundtoken_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 336
    functionDepth: 4
    functionLinenumber: 336
    functionLinenumberEnd: 353
    functionName: tokenparse_char
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - strlen
    - putmem
    - INSIST
    - dns_name_format
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tokenparse_char(const token_names_t *names, const foundtoken_t
      *token,\n\t\tisc_buffer_t *b)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zoneproperties.c:361,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneproperties.c:366,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/zoneproperties.c:367,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/zoneproperties.c:369,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:374,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:379,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/zoneproperties.c:391,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/zoneproperties.c:393,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:394,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:394,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 24
    argCount: 3
    argNames:
    - names
    - token
    - b
    argTypes:
    - token_names_t*
    - foundtoken_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 355
    functionDepth: 4
    functionLinenumber: 355
    functionLinenumberEnd: 397
    functionName: tokenparse_label
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - INSIST
    - dns_name_format
    - isc_ascii_tolower
    - dns_name_getlabelsequence
    - strlen
    - dns_fixedname_initname
    - putmem
    - dns_name_countlabels
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tokenparse_label(const token_names_t *names, const foundtoken_t
      *token,\n\t\t isc_buffer_t *b)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneproperties.c:440,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/zoneproperties.c:443,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:447,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:448,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:449,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/zoneproperties.c:456,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:457,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/zoneproperties.c:459,1
    - Dst: strcasestr
      Src: /src/bind9/lib/dns/zoneproperties.c:461,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:466,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:472,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:472,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/zoneproperties.c:477,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zoneproperties.c:483,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:483,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:486,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/zoneproperties.c:487,1
    - Dst: foundtoken_t*::parse
      Src: /src/bind9/lib/dns/zoneproperties.c:487,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:493,1
    - Dst: putmem
      Src: /src/bind9/lib/dns/zoneproperties.c:494,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/zoneproperties.c:497,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 5
    argNames:
    - b
    - filename
    - zonename
    - viewname
    - typename
    argTypes:
    - isc_buffer_t*
    - char*
    - dns_name_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 498
      start: 435
    functionDepth: 4
    functionLinenumber: 435
    functionLinenumberEnd: 498
    functionName: dns_zone_expandzonefile
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - qsort
    - REQUIRE
    - INSIST
    - dns_name_downcase
    - dns_fixedname_initname
    - strcasestr
    - strlen
    - putmem
    - CHECK
    - foundtoken_t*::parse
    - isc_buffer_putuint8
    - ARRAY_SIZE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_expandzonefile(isc_buffer_t *b, const char *filename,\n\t\t\tconst
      dns_name_t *zonename, const char *viewname,\n\t\t\tconst char *typename)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneproperties.c:510,1
    - Dst: dns_zone_expandzonefile
      Src: /src/bind9/lib/dns/zoneproperties.c:511,1
    - Dst: dns_zonetype_name
      Src: /src/bind9/lib/dns/zoneproperties.c:513,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zoneproperties.c:514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 3
    argNames:
    - zone
    - field
    - value
    argTypes:
    - dns_zone_t*
    - char**
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 515
      start: 500
    functionDepth: 5
    functionLinenumber: 500
    functionLinenumberEnd: 515
    functionName: setfilename
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - dns_zonetype_name
    - setstring
    - isc_buffer_init
    - dns_zone_expandzonefile
    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/zoneproperties.c:520,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:520,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:521,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:523,1
    - Dst: setfilename
      Src: /src/bind9/lib/dns/zoneproperties.c:524,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zoneproperties.c:525,1
    - Dst: default_journal
      Src: /src/bind9/lib/dns/zoneproperties.c:530,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:531,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: 532
      start: 517
    functionDepth: 6
    functionLinenumber: 517
    functionLinenumberEnd: 532
    functionName: dns_zone_setfile
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - setfilename
    - setstring
    - DNS_ZONE_VALID
    - default_journal
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:536,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 539
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 539
    functionName: dns_zone_getfile
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zone_getfile(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:544,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:544,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:545,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:546,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:548,1
    - Dst: default_journal
      Src: /src/bind9/lib/dns/zoneproperties.c:554,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:555,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: 556
      start: 541
    functionDepth: 1
    functionLinenumber: 541
    functionLinenumberEnd: 556
    functionName: dns_zone_setstream
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - default_journal
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:560,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:560,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 563
      start: 558
    functionDepth: 1
    functionLinenumber: 558
    functionLinenumberEnd: 563
    functionName: dns_zone_getmaxttl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:567,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:567,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:569,1
    - Dst: DNS_ZONE_SETOPTION
      Src: /src/bind9/lib/dns/zoneproperties.c:571,1
    - Dst: DNS_ZONE_CLROPTION
      Src: /src/bind9/lib/dns/zoneproperties.c:573,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:576,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - maxttl
    argTypes:
    - dns_zone_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 565
    functionDepth: 1
    functionLinenumber: 565
    functionLinenumberEnd: 579
    functionName: dns_zone_setmaxttl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_CLROPTION
    - DNS_ZONE_SETOPTION
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_ZONE
    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/zoneproperties.c:585,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:585,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:586,1
    - Dst: LOCKED_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:586,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:590,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/zoneproperties.c:591,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/zoneproperties.c:592,1
    - Dst: strlcat
      Src: /src/bind9/lib/dns/zoneproperties.c:593,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zoneproperties.c:597,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:599,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 581
    functionDepth: 1
    functionLinenumber: 581
    functionLinenumberEnd: 601
    functionName: default_journal
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - LOCKED_ZONE
    - REQUIRE
    - strlcat
    - setstring
    - DNS_ZONE_VALID
    - isc_mem_free
    - strlen
    - isc_mem_allocate
    - strlcpy
    linkageType: ''
    returnType: void
    signature: void default_journal(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:605,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:605,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:607,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zoneproperties.c:608,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:609,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - myjournal
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 610
      start: 603
    functionDepth: 1
    functionLinenumber: 603
    functionLinenumberEnd: 610
    functionName: dns_zone_setjournal
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - setstring
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:614,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 617
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 617
    functionName: dns_zone_getjournal
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zone_getjournal(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:621,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 619
    functionDepth: 1
    functionLinenumber: 619
    functionLinenumberEnd: 624
    functionName: dns_zone_getmctx
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 15
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:628,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 631
    functionName: dns_zone_getmgr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:635,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:635,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:637,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:639,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:642,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:644,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - kasp
    argTypes:
    - dns_zone_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 645
      start: 633
    functionDepth: 1
    functionLinenumber: 633
    functionLinenumberEnd: 645
    functionName: dns_zone_setkasp
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_kasp_detach
    - DNS_ZONE_VALID
    - dns_kasp_attach
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:649,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:649,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:651,1
    - Dst: dns_kasp_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:653,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:656,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:658,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - kasp
    argTypes:
    - dns_zone_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 647
    functionDepth: 1
    functionLinenumber: 647
    functionLinenumberEnd: 659
    functionName: dns_zone_setdefaultkasp
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_kasp_detach
    - DNS_ZONE_VALID
    - dns_kasp_attach
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:665,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:665,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:667,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zoneproperties.c:668,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:673,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 676
      start: 661
    functionDepth: 2
    functionLinenumber: 661
    functionLinenumberEnd: 676
    functionName: dns_zone_getkasp
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns__zone_inline_raw
    - UNLOCK_ZONE
    linkageType: ''
    returnType: dns_kasp_t
    signature: 'dns_kasp_t *

      dns_zone_getkasp(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:680,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:680,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:681,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:683,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 678
    functionDepth: 1
    functionLinenumber: 678
    functionLinenumberEnd: 686
    functionName: dns_zone_setxfrsource4
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:690,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:690,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:691,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:693,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:695,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 696
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 696
    functionName: dns_zone_getxfrsource4
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:700,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:700,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:701,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:703,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 698
    functionDepth: 1
    functionLinenumber: 698
    functionLinenumberEnd: 706
    functionName: dns_zone_setxfrsource6
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:710,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:711,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:713,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:715,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - xfrsource
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 716
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 716
    functionName: dns_zone_getxfrsource6
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:720,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:720,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:721,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:723,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:725,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 726
      start: 718
    functionDepth: 1
    functionLinenumber: 718
    functionLinenumberEnd: 726
    functionName: dns_zone_setparentalsrc4
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:730,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:730,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:731,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:733,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:735,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 728
    functionDepth: 1
    functionLinenumber: 728
    functionLinenumberEnd: 736
    functionName: dns_zone_getparentalsrc4
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:740,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:740,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:742,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 745
      start: 738
    functionDepth: 1
    functionLinenumber: 738
    functionLinenumberEnd: 745
    functionName: dns_zone_setparentalsrc6
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:749,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:749,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:750,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:752,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:754,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - parentalsrc
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 755
      start: 747
    functionDepth: 1
    functionLinenumber: 747
    functionLinenumberEnd: 755
    functionName: dns_zone_getparentalsrc6
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getparentalsrc6(dns_zone_t *zone, isc_sockaddr_t *parentalsrc)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:760,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:760,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:761,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:763,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zoneproperties.c:772,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - zone
    - type
    - notifysrc
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 775
      start: 757
    functionDepth: 1
    functionLinenumber: 757
    functionLinenumberEnd: 775
    functionName: dns_zone_setnotifysrc4
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNREACHABLE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setnotifysrc4(dns_zone_t *zone, dns_rdatatype_t type,\n\t\t
      \      const isc_sockaddr_t *notifysrc)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:780,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:780,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:781,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:783,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zoneproperties.c:792,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:794,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 3
    argNames:
    - zone
    - type
    - notifysrc
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 777
    functionDepth: 1
    functionLinenumber: 777
    functionLinenumberEnd: 795
    functionName: dns_zone_setnotifysrc6
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNREACHABLE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setnotifysrc6(dns_zone_t *zone, dns_rdatatype_t type,\n\t\t
      \      const isc_sockaddr_t *notifysrc)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/zoneproperties.c:800,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: 805
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 805
    functionName: has_pf
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.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/zoneproperties.c:810,1
    - Dst: has_pf
      Src: /src/bind9/lib/dns/zoneproperties.c:811,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zoneproperties.c:812,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/dns/zoneproperties.c:815,1
    - Dst: has_pf
      Src: /src/bind9/lib/dns/zoneproperties.c:816,1
    - Dst: dns_zone_log
      Src: /src/bind9/lib/dns/zoneproperties.c:817,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: 821
      start: 807
    functionDepth: 4
    functionLinenumber: 807
    functionLinenumberEnd: 821
    functionName: report_no_active_addresses
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - isc_net_probeipv4
    - dns_zone_log
    - has_pf
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:830,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:830,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:831,1
    - Dst: DNS_REMOTE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:831,1
    - Dst: dns_remote_equal
      Src: /src/bind9/lib/dns/zoneproperties.c:840,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/zoneproperties.c:851,1
    - Dst: dns_remote_clear
      Src: /src/bind9/lib/dns/zoneproperties.c:854,1
    - Dst: report_no_active_addresses
      Src: /src/bind9/lib/dns/zoneproperties.c:867,1
    - Dst: dns_remote_init
      Src: /src/bind9/lib/dns/zoneproperties.c:870,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 10
    argNames:
    - zone
    - remote
    - remotestr
    - addresses
    - sources
    - keynames
    - tlsnames
    - refresh
    - report
    - count
    argTypes:
    - dns_zone_t*
    - dns_remote_t*
    - char*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_name_t**
    - dns_name_t**
    - bool
    - bool
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 872
      start: 823
    functionDepth: 5
    functionLinenumber: 823
    functionLinenumberEnd: 872
    functionName: setremote
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_request_cancel
    - report_no_active_addresses
    - DNS_ZONE_VALID
    - DNS_REMOTE_VALID
    - dns_remote_clear
    - dns_remote_init
    - dns_remote_equal
    linkageType: ''
    returnType: void
    signature: "void setremote(dns_zone_t *zone, dns_remote_t *remote, const char
      *remotestr,\n\t  isc_sockaddr_t *addresses, isc_sockaddr_t *sources,\n\t  dns_name_t
      **keynames, dns_name_t **tlsnames, bool refresh,\n\t  bool report, uint32_t
      count)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:881,1
    - Dst: setremote
      Src: /src/bind9/lib/dns/zoneproperties.c:882,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    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: 885
      start: 874
    functionDepth: 6
    functionLinenumber: 874
    functionLinenumberEnd: 885
    functionName: dns_zone_setalsonotify
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - LOCK_ZONE
    - setremote
    - UNLOCK_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:894,1
    - Dst: setremote
      Src: /src/bind9/lib/dns/zoneproperties.c:895,1
    - Dst: DNS_ZONE_CLRFLAG
      Src: /src/bind9/lib/dns/zoneproperties.c:897,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:898,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    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: 899
      start: 887
    functionDepth: 6
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: dns_zone_setprimaries
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - UNLOCK_ZONE
    - LOCK_ZONE
    - setremote
    - DNS_ZONE_CLRFLAG
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:908,1
    - Dst: setremote
      Src: /src/bind9/lib/dns/zoneproperties.c:909,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    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: 912
      start: 901
    functionDepth: 6
    functionLinenumber: 901
    functionLinenumberEnd: 912
    functionName: dns_zone_setparentals
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - LOCK_ZONE
    - setremote
    - UNLOCK_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:921,1
    - Dst: setremote
      Src: /src/bind9/lib/dns/zoneproperties.c:922,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:924,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    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: 925
      start: 914
    functionDepth: 6
    functionLinenumber: 914
    functionLinenumberEnd: 925
    functionName: dns_zone_setcdsendpoints
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - setremote
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setcdsendpoints(dns_zone_t *zone, isc_sockaddr_t *addresses,\n\t\t\t
      isc_sockaddr_t *sources, dns_name_t **keynames,\n\t\t\t dns_name_t **tlsnames,
      uint32_t count)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:931,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:931,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zoneproperties.c:933,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:937,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zoneproperties.c:939,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - dpb
    argTypes:
    - dns_zone_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 942
      start: 927
    functionDepth: 1
    functionLinenumber: 927
    functionLinenumberEnd: 942
    functionName: dns_zone_getdb
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 31
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - DNS_ZONE_VALID
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    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/zoneproperties.c:946,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:946,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:947,1
    - Dst: ZONEDB_LOCK
      Src: /src/bind9/lib/dns/zoneproperties.c:949,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:950,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:951,1
    - Dst: ZONEDB_UNLOCK
      Src: /src/bind9/lib/dns/zoneproperties.c:952,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - db
    argTypes:
    - dns_zone_t*
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 953
      start: 944
    functionDepth: 1
    functionLinenumber: 944
    functionLinenumberEnd: 953
    functionName: dns_zone_setdb
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - DNS_ZONE_VALID
    - ZONEDB_UNLOCK
    - ZONEDB_LOCK
    linkageType: ''
    returnType: void
    signature: void dns_zone_setdb(dns_zone_t *zone, dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:957,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:957,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 961
      start: 955
    functionDepth: 1
    functionLinenumber: 955
    functionLinenumberEnd: 961
    functionName: dns_zone_setminrefreshtime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:965,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:965,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 969
      start: 963
    functionDepth: 1
    functionLinenumber: 963
    functionLinenumberEnd: 969
    functionName: dns_zone_setmaxrefreshtime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:973,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:973,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:974,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 971
    functionDepth: 1
    functionLinenumber: 971
    functionLinenumberEnd: 977
    functionName: dns_zone_setminretrytime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:981,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:981,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:982,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: dns_zone_setmaxretrytime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:989,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 992
      start: 987
    functionDepth: 1
    functionLinenumber: 987
    functionLinenumberEnd: 992
    functionName: dns_zone_getmaxrecords
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:996,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:996,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 994
    functionDepth: 1
    functionLinenumber: 994
    functionLinenumberEnd: 999
    functionName: dns_zone_setmaxrecords
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1003,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1003,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/zoneproperties.c:1007,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1009
      start: 1001
    functionDepth: 2
    functionLinenumber: 1001
    functionLinenumberEnd: 1009
    functionName: dns_zone_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_db_setmaxrrperset
    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/zoneproperties.c:1013,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1013,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/zoneproperties.c:1017,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - val
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1019
      start: 1011
    functionDepth: 2
    functionLinenumber: 1011
    functionLinenumberEnd: 1019
    functionName: dns_zone_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_db_setmaxtypepername
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmaxtypepername(dns_zone_t *zone, uint32_t val)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1023,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1023,1
    - Dst: dns_zone_clearnotifyacl
      Src: /src/bind9/lib/dns/zoneproperties.c:1025,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1027,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1028,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1029,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1030,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1021
    functionDepth: 1
    functionLinenumber: 1021
    functionLinenumberEnd: 1031
    functionName: dns_zone_setnotifyacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_clearnotifyacl
    - DNS_ZONE_VALID
    - dns_acl_attach
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setnotifyacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1035,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1035,1
    - Dst: dns_zone_clearqueryacl
      Src: /src/bind9/lib/dns/zoneproperties.c:1037,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1039,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1040,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1033
    functionDepth: 1
    functionLinenumber: 1033
    functionLinenumberEnd: 1042
    functionName: dns_zone_setqueryacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_acl_attach
    - LOCK_ZONE
    - dns_zone_clearqueryacl
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setqueryacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1046,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1046,1
    - Dst: dns_zone_clearqueryonacl
      Src: /src/bind9/lib/dns/zoneproperties.c:1048,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1050,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1051,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1052,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1053
      start: 1044
    functionDepth: 1
    functionLinenumber: 1044
    functionLinenumberEnd: 1053
    functionName: dns_zone_setqueryonacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns_zone_clearqueryonacl
    - DNS_ZONE_VALID
    - dns_acl_attach
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setqueryonacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1057,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1057,1
    - Dst: dns_zone_clearupdateacl
      Src: /src/bind9/lib/dns/zoneproperties.c:1059,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1061,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1062,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1063,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1064
      start: 1055
    functionDepth: 1
    functionLinenumber: 1055
    functionLinenumberEnd: 1064
    functionName: dns_zone_setupdateacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_acl_attach
    - LOCK_ZONE
    - dns_zone_clearupdateacl
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setupdateacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1068,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1068,1
    - Dst: dns_zone_clearforwardacl
      Src: /src/bind9/lib/dns/zoneproperties.c:1070,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1072,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1073,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1074,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1075
      start: 1066
    functionDepth: 1
    functionLinenumber: 1066
    functionLinenumberEnd: 1075
    functionName: dns_zone_setforwardacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - dns_acl_attach
    - dns_zone_clearforwardacl
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setforwardacl(dns_zone_t *zone, dns_acl_t *acl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1079,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1079,1
    - Dst: dns_zone_clearxfracl
      Src: /src/bind9/lib/dns/zoneproperties.c:1081,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1083,1
    - Dst: dns_acl_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1084,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - acl
    argTypes:
    - dns_zone_t*
    - dns_acl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1086
      start: 1077
    functionDepth: 1
    functionLinenumber: 1077
    functionLinenumberEnd: 1086
    functionName: dns_zone_setxfracl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_zone_clearxfracl
    - DNS_ZONE_VALID
    - dns_acl_attach
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:1090,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1090,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1093
      start: 1088
    functionDepth: 1
    functionLinenumber: 1088
    functionLinenumberEnd: 1093
    functionName: dns_zone_getqueryacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1097,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1097,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1100
      start: 1095
    functionDepth: 1
    functionLinenumber: 1095
    functionLinenumberEnd: 1100
    functionName: dns_zone_getqueryonacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1104,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1102
    functionDepth: 1
    functionLinenumber: 1102
    functionLinenumberEnd: 1107
    functionName: dns_zone_getupdateacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1111,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1114
      start: 1109
    functionDepth: 1
    functionLinenumber: 1109
    functionLinenumberEnd: 1114
    functionName: dns_zone_getforwardacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1118,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1116
    functionDepth: 1
    functionLinenumber: 1116
    functionLinenumberEnd: 1121
    functionName: dns_zone_getxfracl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1125,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1125,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1127,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1129,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1132
      start: 1123
    functionDepth: 1
    functionLinenumber: 1123
    functionLinenumberEnd: 1132
    functionName: dns_zone_clearupdateacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_acl_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearupdateacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1136,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1136,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1138,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1140,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1143
      start: 1134
    functionDepth: 1
    functionLinenumber: 1134
    functionLinenumberEnd: 1143
    functionName: dns_zone_clearforwardacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_acl_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearforwardacl(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1147,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1147,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1149,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1151,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1154,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1157
      start: 1145
    functionDepth: 1
    functionLinenumber: 1145
    functionLinenumberEnd: 1157
    functionName: dns_zone_clearnotifyacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_acl_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearnotifyacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1161,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1161,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1163,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1165,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1159
    functionDepth: 1
    functionLinenumber: 1159
    functionLinenumberEnd: 1168
    functionName: dns_zone_clearqueryacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_acl_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearqueryacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1172,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1172,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1174,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1176,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1178,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1179
      start: 1170
    functionDepth: 1
    functionLinenumber: 1170
    functionLinenumberEnd: 1179
    functionName: dns_zone_clearqueryonacl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_acl_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearqueryonacl(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1183,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1183,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1185,1
    - Dst: dns_acl_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1187,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1189,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1181
    functionDepth: 1
    functionLinenumber: 1181
    functionLinenumberEnd: 1190
    functionName: dns_zone_clearxfracl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_acl_detach
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_clearxfracl(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1194,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1196
      start: 1192
    functionDepth: 1
    functionLinenumber: 1192
    functionLinenumberEnd: 1196
    functionName: dns_zone_getupdatedisabled
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getupdatedisabled(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1200,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - state
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1202
      start: 1198
    functionDepth: 1
    functionLinenumber: 1198
    functionLinenumberEnd: 1202
    functionName: dns_zone_setupdatedisabled
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1206,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1208
      start: 1204
    functionDepth: 1
    functionLinenumber: 1204
    functionLinenumberEnd: 1208
    functionName: dns_zone_getzeronosoattl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getzeronosoattl(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1212,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - state
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1210
    functionDepth: 1
    functionLinenumber: 1210
    functionLinenumberEnd: 1214
    functionName: dns_zone_setzeronosoattl
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1218,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - severity
    argTypes:
    - dns_zone_t*
    - dns_severity_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1216
    functionDepth: 1
    functionLinenumber: 1216
    functionLinenumberEnd: 1221
    functionName: dns_zone_setchecknames
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1225,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1225,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1223
    functionDepth: 1
    functionLinenumber: 1223
    functionLinenumberEnd: 1228
    functionName: dns_zone_getchecknames
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1232,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - size
    argTypes:
    - dns_zone_t*
    - int32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1235
      start: 1230
    functionDepth: 1
    functionLinenumber: 1230
    functionLinenumberEnd: 1235
    functionName: dns_zone_setjournalsize
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1239,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1242
      start: 1237
    functionDepth: 1
    functionLinenumber: 1237
    functionLinenumberEnd: 1242
    functionName: dns_zone_getjournalsize
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1250,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneproperties.c:1255,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zoneproperties.c:1257,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/zoneproperties.c:1258,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zoneproperties.c:1262,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zoneproperties.c:1265,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zoneproperties.c:1268,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zoneproperties.c:1269,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/zoneproperties.c:1271,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zoneproperties.c:1274,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/zoneproperties.c:1275,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/zoneproperties.c:1276,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zoneproperties.c:1276,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zoneproperties.c:1278,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zoneproperties.c:1279,1
    - Dst: dns__zone_inline_secure
      Src: /src/bind9/lib/dns/zoneproperties.c:1281,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zoneproperties.c:1282,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zoneproperties.c:1284,1
    - Dst: dns__zone_inline_raw
      Src: /src/bind9/lib/dns/zoneproperties.c:1286,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zoneproperties.c:1287,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zoneproperties.c:1289,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneproperties.c:1292,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: 1293
      start: 1244
    functionDepth: 3
    functionLinenumber: 1244
    functionLinenumberEnd: 1293
    functionName: zone_namerd_tostr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - strcmp
    - dns_name_dynamic
    - isc_buffer_usedlength
    - dns_name_totext
    - dns_rdataclass_totext
    - isc_buffer_availablelength
    - strlen
    - dns__zone_inline_raw
    - dns__zone_inline_secure
    - isc_buffer_init
    - isc_buffer_putstr
    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/zoneproperties.c:1300,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1301,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneproperties.c:1306,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/zoneproperties.c:1307,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/zoneproperties.c:1308,1
    - Dst: isc_buffer_availablelength
      Src: /src/bind9/lib/dns/zoneproperties.c:1312,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/zoneproperties.c:1314,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneproperties.c:1317,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: 1318
      start: 1295
    functionDepth: 3
    functionLinenumber: 1295
    functionLinenumberEnd: 1318
    functionName: zone_name_tostr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_dynamic
    - isc_buffer_usedlength
    - dns_name_totext
    - isc_buffer_availablelength
    - isc_buffer_init
    - isc_buffer_putstr
    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/zoneproperties.c:1324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1325,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/zoneproperties.c:1330,1
    - Dst: dns_rdataclass_totext
      Src: /src/bind9/lib/dns/zoneproperties.c:1331,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/zoneproperties.c:1333,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: 1334
      start: 1320
    functionDepth: 2
    functionLinenumber: 1320
    functionLinenumberEnd: 1334
    functionName: zone_rdclass_tostr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - dns_rdataclass_totext
    - REQUIRE
    - isc_buffer_usedlength
    - isc_buffer_init
    linkageType: ''
    returnType: void
    signature: void zone_rdclass_tostr(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1338,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1339,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1341,1
    - Dst: zone_namerd_tostr
      Src: /src/bind9/lib/dns/zoneproperties.c:1342,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1343,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: 1344
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1344
    functionName: dns_zone_name
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - zone_namerd_tostr
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:1348,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1349,1
    - Dst: zone_name_tostr
      Src: /src/bind9/lib/dns/zoneproperties.c:1350,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: 1351
      start: 1346
    functionDepth: 4
    functionLinenumber: 1346
    functionLinenumberEnd: 1351
    functionName: dns_zone_nameonly
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - zone_name_tostr
    linkageType: ''
    returnType: void
    signature: void dns_zone_nameonly(dns_zone_t *zone, char *buf, size_t length)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1355,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1355,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: 1359
      start: 1353
    functionDepth: 1
    functionLinenumber: 1353
    functionLinenumberEnd: 1359
    functionName: dns_zone_setminxfrratein
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1363,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1361
    functionDepth: 1
    functionLinenumber: 1361
    functionLinenumberEnd: 1366
    functionName: dns_zone_getminxfrratebytesin
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1370,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1368
    functionDepth: 1
    functionLinenumber: 1368
    functionLinenumberEnd: 1373
    functionName: dns_zone_getminxfrratesecondsin
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1377,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - maxxfrin
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1380
      start: 1375
    functionDepth: 1
    functionLinenumber: 1375
    functionLinenumberEnd: 1380
    functionName: dns_zone_setmaxxfrin
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1384,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1384,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1387
      start: 1382
    functionDepth: 1
    functionLinenumber: 1382
    functionLinenumberEnd: 1387
    functionName: dns_zone_getmaxxfrin
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1391,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - maxxfrout
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1393
      start: 1389
    functionDepth: 1
    functionLinenumber: 1389
    functionLinenumberEnd: 1393
    functionName: dns_zone_setmaxxfrout
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1397,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1397,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1400
      start: 1395
    functionDepth: 1
    functionLinenumber: 1395
    functionLinenumberEnd: 1400
    functionName: dns_zone_getmaxxfrout
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1404,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1402
    functionDepth: 1
    functionLinenumber: 1402
    functionLinenumberEnd: 1407
    functionName: dns_zone_gettype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 28
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: dns_zonetype_t
    signature: dns_zonetype_t dns_zone_gettype(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1411,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1414
      start: 1409
    functionDepth: 1
    functionLinenumber: 1409
    functionLinenumberEnd: 1414
    functionName: dns_zone_getorigin
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 38
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1418,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1418,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - idlein
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1424
      start: 1416
    functionDepth: 1
    functionLinenumber: 1416
    functionLinenumberEnd: 1424
    functionName: dns_zone_setidlein
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1428,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1431
      start: 1426
    functionDepth: 1
    functionLinenumber: 1426
    functionLinenumberEnd: 1431
    functionName: dns_zone_getidlein
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1435,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - idleout
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1438
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1438
    functionName: dns_zone_setidleout
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1442,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1445
      start: 1440
    functionDepth: 1
    functionLinenumber: 1440
    functionLinenumberEnd: 1445
    functionName: dns_zone_getidleout
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t dns_zone_getidleout(dns_zone_t *zone)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1449,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1449,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1451,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1453,1
    - Dst: dns_ssutable_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1455,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1457,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - table
    argTypes:
    - dns_zone_t*
    - dns_ssutable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1458
      start: 1447
    functionDepth: 2
    functionLinenumber: 1447
    functionLinenumberEnd: 1458
    functionName: dns_zone_getssutable
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_ssutable_attach
    - UNLOCK_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/zoneproperties.c:1462,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1462,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1464,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/dns/zoneproperties.c:1466,1
    - Dst: dns_ssutable_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1469,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1471,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - table
    argTypes:
    - dns_zone_t*
    - dns_ssutable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1472
      start: 1460
    functionDepth: 2
    functionLinenumber: 1460
    functionLinenumberEnd: 1472
    functionName: dns_zone_setssutable
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - dns_ssutable_attach
    - dns_ssutable_detach
    - UNLOCK_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/zoneproperties.c:1476,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1476,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1479
      start: 1474
    functionDepth: 1
    functionLinenumber: 1474
    functionLinenumberEnd: 1479
    functionName: dns_zone_setsigvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1483,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1486
      start: 1481
    functionDepth: 1
    functionLinenumber: 1481
    functionLinenumberEnd: 1486
    functionName: dns_zone_getsigvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1490,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1493
      start: 1488
    functionDepth: 1
    functionLinenumber: 1488
    functionLinenumberEnd: 1493
    functionName: dns_zone_setkeyvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1497,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1497,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1500
      start: 1495
    functionDepth: 1
    functionLinenumber: 1495
    functionLinenumberEnd: 1500
    functionName: dns_zone_getkeyvalidityinterval
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1506,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1506,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1508,1
    - Dst: dns__zone_set_resigntime
      Src: /src/bind9/lib/dns/zoneproperties.c:1510,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/zoneproperties.c:1512,1
    - Dst: dns__zone_settimer
      Src: /src/bind9/lib/dns/zoneproperties.c:1513,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1516
      start: 1502
    functionDepth: 5
    functionLinenumber: 1502
    functionLinenumberEnd: 1516
    functionName: dns_zone_setsigresigninginterval
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_time_now
    - dns__zone_set_resigntime
    - dns__zone_settimer
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:1520,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1523
      start: 1518
    functionDepth: 1
    functionLinenumber: 1518
    functionLinenumberEnd: 1523
    functionName: dns_zone_getsigresigninginterval
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1527,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1527,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1528,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1530,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:1531,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zoneproperties.c:1531,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1533,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - sourceaddr
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1534
      start: 1525
    functionDepth: 2
    functionLinenumber: 1525
    functionLinenumberEnd: 1534
    functionName: dns_zone_getsourceaddr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - dns_remote_count
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:1540,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1540,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1541,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1543,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/zoneproperties.c:1544,1
    - Dst: dns_remote_count
      Src: /src/bind9/lib/dns/zoneproperties.c:1544,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zoneproperties.c:1545,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zoneproperties.c:1546,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1549,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 2
    argNames:
    - zone
    - primaryaddr
    argTypes:
    - dns_zone_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1552
      start: 1536
    functionDepth: 2
    functionLinenumber: 1536
    functionLinenumberEnd: 1552
    functionName: dns_zone_getprimaryaddr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_ZONE_VALID
    - dns_remote_count
    - LOCK_ZONE
    - dns_remote_curraddr
    - UNLOCK_ZONE
    - dns_remote_done
    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/zoneproperties.c:1558,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1558,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1560,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1565
      start: 1554
    functionDepth: 1
    functionLinenumber: 1554
    functionLinenumberEnd: 1565
    functionName: dns_zone_getxfrintime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: isc_time_t
    signature: isc_time_t dns_zone_getxfrintime(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1569,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1569,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1570,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1572,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1574,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1575,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1576
      start: 1567
    functionDepth: 2
    functionLinenumber: 1567
    functionLinenumberEnd: 1576
    functionName: dns_zone_setstats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - isc_stats_attach
    - LOCK_ZONE
    - UNLOCK_ZONE
    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/zoneproperties.c:1580,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1580,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1582,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1587,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1591,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1592
      start: 1578
    functionDepth: 2
    functionLinenumber: 1578
    functionLinenumberEnd: 1592
    functionName: dns_zone_setrequeststats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - isc_stats_attach
    - LOCK_ZONE
    - UNLOCK_ZONE
    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/zoneproperties.c:1596,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1596,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1598,1
    - Dst: isc_statsmulti_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1601,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1605,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - isc_statsmulti_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1606
      start: 1594
    functionDepth: 1
    functionLinenumber: 1594
    functionLinenumberEnd: 1606
    functionName: dns_zone_setrcvquerystats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_statsmulti_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrcvquerystats(dns_zone_t *zone, isc_statsmulti_t *stats)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1610,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1610,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1612,1
    - Dst: dns_stats_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:1614,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1616,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - zone
    - stats
    argTypes:
    - dns_zone_t*
    - dns_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1608
    functionDepth: 2
    functionLinenumber: 1608
    functionLinenumberEnd: 1617
    functionName: dns_zone_setdnssecsignstats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_stats_attach
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:1621,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1619
    functionDepth: 1
    functionLinenumber: 1619
    functionLinenumberEnd: 1624
    functionName: dns_zone_getdnssecsignstats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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: 1641
      start: 1626
    functionDepth: 0
    functionLinenumber: 1626
    functionLinenumberEnd: 1641
    functionName: dns_zone_getrequeststats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.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: 1654
      start: 1647
    functionDepth: 0
    functionLinenumber: 1647
    functionLinenumberEnd: 1654
    functionName: dns_zone_getrcvquerystats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: isc_statsmulti_t
    signature: 'isc_statsmulti_t *

      dns_zone_getrcvquerystats(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1658,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1658,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1660,1
    - Dst: setstring
      Src: /src/bind9/lib/dns/zoneproperties.c:1661,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - directory
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1663
      start: 1656
    functionDepth: 1
    functionLinenumber: 1656
    functionLinenumberEnd: 1663
    functionName: dns_zone_setkeydirectory
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - setstring
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_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/zoneproperties.c:1667,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1667,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1670
      start: 1665
    functionDepth: 1
    functionLinenumber: 1665
    functionLinenumberEnd: 1670
    functionName: dns_zone_getkeydirectory
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zone_getkeydirectory(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1674,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1674,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checkmx
    argTypes:
    - dns_zone_t*
    - dns_checkmxfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1676
      start: 1672
    functionDepth: 1
    functionLinenumber: 1672
    functionLinenumberEnd: 1676
    functionName: dns_zone_setcheckmx
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1680,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checksrv
    argTypes:
    - dns_zone_t*
    - dns_checksrvfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1682
      start: 1678
    functionDepth: 1
    functionLinenumber: 1678
    functionLinenumberEnd: 1682
    functionName: dns_zone_setchecksrv
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1686,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1686,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checkns
    argTypes:
    - dns_zone_t*
    - dns_checknsfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1688
      start: 1684
    functionDepth: 1
    functionLinenumber: 1684
    functionLinenumberEnd: 1688
    functionName: dns_zone_setcheckns
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1693,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1693,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - checkisservedby
    argTypes:
    - dns_zone_t*
    - dns_checkisservedbyfunc_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1695
      start: 1690
    functionDepth: 1
    functionLinenumber: 1690
    functionLinenumberEnd: 1695
    functionName: dns_zone_setcheckisservedby
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1699,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1699,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1701,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1704,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: 1705
      start: 1697
    functionDepth: 1
    functionLinenumber: 1697
    functionLinenumberEnd: 1705
    functionName: dns_zone_setisself
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:1709,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1709,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1710,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1711,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 3
    argNames:
    - zone
    - isself
    - arg
    argTypes:
    - dns_zone_t*
    - dns_isselffunc_t*
    - void**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1715
      start: 1707
    functionDepth: 1
    functionLinenumber: 1707
    functionLinenumberEnd: 1715
    functionName: dns__zone_getisself
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: void dns__zone_getisself(dns_zone_t *zone, dns_isselffunc_t *isself,
      void **arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1720,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1720,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1722,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zoneproperties.c:1732,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1734,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - zone
    - type
    - defer
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1735
      start: 1717
    functionDepth: 1
    functionLinenumber: 1717
    functionLinenumberEnd: 1735
    functionName: dns_zone_setnotifydefer
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNREACHABLE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setnotifydefer(dns_zone_t *zone, dns_rdatatype_t type,\n\t\t\tuint32_t
      defer)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1740,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1740,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1742,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/zoneproperties.c:1752,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1754,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - zone
    - type
    - delay
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1755
      start: 1737
    functionDepth: 1
    functionLinenumber: 1737
    functionLinenumberEnd: 1755
    functionName: dns_zone_setnotifydelay
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNREACHABLE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: "void dns_zone_setnotifydelay(dns_zone_t *zone, dns_rdatatype_t type,\n\t\t\tuint32_t
      delay)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1759,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1759,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - nodes
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1757
    functionDepth: 1
    functionLinenumber: 1757
    functionLinenumberEnd: 1765
    functionName: dns_zone_setnodes
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1769,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1769,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - zone
    - signatures
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1781
      start: 1767
    functionDepth: 1
    functionLinenumber: 1767
    functionLinenumberEnd: 1781
    functionName: dns_zone_setsignatures
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1785,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1785,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1783
    functionDepth: 1
    functionLinenumber: 1783
    functionLinenumberEnd: 1787
    functionName: dns_zone_getsignatures
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1791,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1791,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - type
    argTypes:
    - dns_zone_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1789
    functionDepth: 1
    functionLinenumber: 1789
    functionLinenumberEnd: 1793
    functionName: dns_zone_setprivatetype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1797,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1797,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1799
      start: 1795
    functionDepth: 1
    functionLinenumber: 1795
    functionLinenumberEnd: 1799
    functionName: dns_zone_getprivatetype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: dns_rdatatype_t
    signature: dns_rdatatype_t dns_zone_getprivatetype(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1803,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1803,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1805,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1807,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - automatic
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1808
      start: 1801
    functionDepth: 1
    functionLinenumber: 1801
    functionLinenumberEnd: 1808
    functionName: dns_zone_setautomatic
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:1812,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1812,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1814
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1814
    functionName: dns_zone_getautomatic
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getautomatic(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1818,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1818,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1820,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1822,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - added
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1823
      start: 1816
    functionDepth: 1
    functionLinenumber: 1816
    functionLinenumberEnd: 1823
    functionName: dns_zone_setadded
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_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/zoneproperties.c:1827,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1827,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1829
      start: 1825
    functionDepth: 1
    functionLinenumber: 1825
    functionLinenumberEnd: 1829
    functionName: dns_zone_getadded
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getadded(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1833,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1833,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1835,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1837,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - zone
    - modded
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1838
      start: 1831
    functionDepth: 1
    functionLinenumber: 1831
    functionLinenumberEnd: 1838
    functionName: dns_zone_setmodded
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_setmodded(dns_zone_t *zone, bool modded)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1842,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1842,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1844
      start: 1840
    functionDepth: 1
    functionLinenumber: 1840
    functionLinenumberEnd: 1844
    functionName: dns_zone_getmodded
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getmodded(dns_zone_t *zone)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1848,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1848,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - interval
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1859
      start: 1846
    functionDepth: 1
    functionLinenumber: 1846
    functionLinenumberEnd: 1859
    functionName: dns_zone_setrefreshkeyinterval
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1863,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1863,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - flag
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1865
      start: 1861
    functionDepth: 1
    functionLinenumber: 1861
    functionLinenumberEnd: 1865
    functionName: dns_zone_setrequestixfr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1869,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1869,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1867
    functionDepth: 1
    functionLinenumber: 1867
    functionLinenumberEnd: 1871
    functionName: dns_zone_getrequestixfr
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getrequestixfr(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1875,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - maxdiffs
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1877
      start: 1873
    functionDepth: 1
    functionLinenumber: 1873
    functionLinenumberEnd: 1877
    functionName: dns_zone_setrequestixfrmaxdiffs
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1881,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1881,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1883
      start: 1879
    functionDepth: 1
    functionLinenumber: 1879
    functionLinenumberEnd: 1883
    functionName: dns_zone_getrequestixfrmaxdiffs
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getrequestixfrmaxdiffs(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1887,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1887,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - ratio
    argTypes:
    - dns_zone_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1889
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1889
    functionName: dns_zone_setixfrratio
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1893,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1893,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1895
      start: 1891
    functionDepth: 1
    functionLinenumber: 1891
    functionLinenumberEnd: 1895
    functionName: dns_zone_getixfrratio
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1899,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1899,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - flag
    argTypes:
    - dns_zone_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1901
      start: 1897
    functionDepth: 1
    functionLinenumber: 1897
    functionLinenumberEnd: 1901
    functionName: dns_zone_setrequestexpire
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1905,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1905,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1907
      start: 1903
    functionDepth: 1
    functionLinenumber: 1903
    functionLinenumberEnd: 1907
    functionName: dns_zone_getrequestexpire
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_zone_getrequestexpire(dns_zone_t *zone)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1911,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1911,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - zone
    - method
    argTypes:
    - dns_zone_t*
    - dns_updatemethod_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1913
      start: 1909
    functionDepth: 1
    functionLinenumber: 1909
    functionLinenumberEnd: 1913
    functionName: dns_zone_setserialupdatemethod
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1917,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1917,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1919
      start: 1915
    functionDepth: 1
    functionLinenumber: 1915
    functionLinenumberEnd: 1919
    functionName: dns_zone_getserialupdatemethod
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1923,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1923,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1924,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1926,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - loadtime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1929
      start: 1921
    functionDepth: 1
    functionLinenumber: 1921
    functionLinenumberEnd: 1929
    functionName: dns_zone_getloadtime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getloadtime(dns_zone_t *zone, isc_time_t *loadtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1933,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1933,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1934,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1936,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1938,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - expiretime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1931
    functionDepth: 1
    functionLinenumber: 1931
    functionLinenumberEnd: 1939
    functionName: dns_zone_getexpiretime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 5
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getexpiretime(dns_zone_t *zone, isc_time_t *expiretime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1943,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1943,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1944,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1946,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1948,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - refreshtime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1949
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1949
    functionName: dns_zone_getrefreshtime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getrefreshtime(dns_zone_t *zone, isc_time_t *refreshtime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1953,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1953,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1954,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1956,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:1958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - refreshkeytime
    argTypes:
    - dns_zone_t*
    - isc_time_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1959
      start: 1951
    functionDepth: 1
    functionLinenumber: 1951
    functionLinenumberEnd: 1959
    functionName: dns_zone_getrefreshkeytime
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - LOCK_ZONE
    - REQUIRE
    - DNS_ZONE_VALID
    - UNLOCK_ZONE
    linkageType: ''
    returnType: void
    signature: void dns_zone_getrefreshkeytime(dns_zone_t *zone, isc_time_t *refreshkeytime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1963,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1963,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: 1966
      start: 1961
    functionDepth: 1
    functionLinenumber: 1961
    functionLinenumberEnd: 1966
    functionName: dns_zone_setstatlevel
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    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/zoneproperties.c:1970,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1970,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1973
      start: 1968
    functionDepth: 1
    functionLinenumber: 1968
    functionLinenumberEnd: 1973
    functionName: dns_zone_getstatlevel
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: dns_zonestat_level_t
    signature: dns_zonestat_level_t dns_zone_getstatlevel(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: 1978
      start: 1975
    functionDepth: 0
    functionLinenumber: 1975
    functionLinenumberEnd: 1978
    functionName: dns_zone_gettid
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.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: 1983
      start: 1980
    functionDepth: 0
    functionLinenumber: 1980
    functionLinenumberEnd: 1983
    functionName: dns_zone_getloop
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: isc_loop_t
    signature: 'isc_loop_t *

      dns_zone_getloop(dns_zone_t *zone)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1989,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1989,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:1990,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:1990,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/zoneproperties.c:1992,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/zoneproperties.c:1993,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneproperties.c:1995,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneproperties.c:1996,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/zoneproperties.c:1999,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2002
      start: 1985
    functionDepth: 3
    functionLinenumber: 1985
    functionLinenumberEnd: 2002
    functionName: dns_zone_getrad
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - DNS_ZONE_VALID
    - rcu_read_unlock
    - DNS_NAME_VALID
    - rcu_dereference
    - rcu_read_lock
    - dns_fixedname_name
    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/zoneproperties.c:2006,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2006,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2007,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2007,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/zoneproperties.c:2009,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/zoneproperties.c:2012,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/zoneproperties.c:2014,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/zoneproperties.c:2016,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/zoneproperties.c:2017,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/zoneproperties.c:2017,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/zoneproperties.c:2019,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/zoneproperties.c:2022,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/zoneproperties.c:2024,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 2
    argNames:
    - zone
    - name
    argTypes:
    - dns_zone_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2025
      start: 2004
    functionDepth: 3
    functionLinenumber: 2004
    functionLinenumberEnd: 2025
    functionName: dns_zone_setrad
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_name_copy
    - isc_mem_get
    - DNS_ZONE_VALID
    - rcu_read_unlock
    - dns_fixedname_name
    - DNS_NAME_VALID
    - rcu_read_lock
    - rcu_xchg_pointer
    - dns_fixedname_init
    - call_rcu
    linkageType: ''
    returnType: void
    signature: void dns_zone_setrad(dns_zone_t *zone, dns_name_t *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2029,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2031
      start: 2027
    functionDepth: 1
    functionLinenumber: 2027
    functionLinenumberEnd: 2031
    functionName: dns_zone_gethooktable
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: 'void *

      dns_zone_gethooktable(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2036,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2036,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2037,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2038,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - zone
    - hooktable
    argTypes:
    - dns_zone_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2042
      start: 2033
    functionDepth: 1
    functionLinenumber: 2033
    functionLinenumberEnd: 2042
    functionName: dns_zone_sethooktable
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: void
    signature: "void dns_zone_sethooktable(dns_zone_t *zone, void *hooktable,\n\t\t
      \     void (*hooktable_free)(isc_mem_t *, void **))"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2046,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2046,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/zoneproperties.c:2049,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/zoneproperties.c:2052,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - zone
    - cfg
    argTypes:
    - dns_zone_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2044
    functionDepth: 1
    functionLinenumber: 2044
    functionLinenumberEnd: 2054
    functionName: dns_zone_setcfg
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    - isc_mem_strdup
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void dns_zone_setcfg(dns_zone_t *zone, const char *cfg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2058,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2058,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2061
    functionName: dns_zone_getcfg
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_zone_getcfg(dns_zone_t *zone)'
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_transport_get_type
      Src: /src/bind9/lib/dns/zoneproperties.c:2075,1
    - Dst: DNS_ZONE_FLAG
      Src: /src/bind9/lib/dns/zoneproperties.c:2077,1
    - Dst: dns_remote_done
      Src: /src/bind9/lib/dns/zoneproperties.c:2083,1
    - Dst: dns_remote_curraddr
      Src: /src/bind9/lib/dns/zoneproperties.c:2090,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/zoneproperties.c:2091,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/zoneproperties.c:2092,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/zoneproperties.c:2096,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 18
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2105
      start: 2070
    functionDepth: 3
    functionLinenumber: 2070
    functionLinenumberEnd: 2105
    functionName: get_request_transport_type
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 0
    functionsReached:
    - dns_transport_get_type
    - dns_peer_getforcetcp
    - DNS_ZONE_FLAG
    - isc_netaddr_fromsockaddr
    - dns_remote_curraddr
    - dns_peerlist_peerbyaddr
    - 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/zoneproperties.c:2111,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2111,1
    - Dst: LOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:2113,1
    - Dst: get_request_transport_type
      Src: /src/bind9/lib/dns/zoneproperties.c:2114,1
    - Dst: UNLOCK_ZONE
      Src: /src/bind9/lib/dns/zoneproperties.c:2115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2118
      start: 2107
    functionDepth: 4
    functionLinenumber: 2107
    functionLinenumberEnd: 2118
    functionName: dns_zone_getrequesttransporttype
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - get_request_transport_type
    - DNS_ZONE_VALID
    - LOCK_ZONE
    - UNLOCK_ZONE
    linkageType: ''
    returnType: dns_transport_type_t
    signature: dns_transport_type_t dns_zone_getrequesttransporttype(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: 2123
      start: 2120
    functionDepth: 0
    functionLinenumber: 2120
    functionLinenumberEnd: 2123
    functionName: dns_zone_getkeystores
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: dns_keystorelist_t
    signature: 'dns_keystorelist_t *

      dns_zone_getkeystores(dns_zone_t *zone)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/zoneproperties.c:2127,1
    - Dst: DNS_ZONE_VALID
      Src: /src/bind9/lib/dns/zoneproperties.c:2127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - zone
    argTypes:
    - dns_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2130
      start: 2125
    functionDepth: 1
    functionLinenumber: 2125
    functionLinenumberEnd: 2130
    functionName: dns_zone_getgluecachestats
    functionSourceFile: /src/bind9/lib/dns/zoneproperties.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_ZONE_VALID
    linkageType: ''
    returnType: isc_stats_t
    signature: 'isc_stats_t *

      dns_zone_getgluecachestats(dns_zone_t *zone)'
  - 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: 71
      start: 69
    functionDepth: 0
    functionLinenumber: 69
    functionLinenumberEnd: 71
    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: 75
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 75
    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: 78
      start: 76
    functionDepth: 0
    functionLinenumber: 76
    functionLinenumberEnd: 78
    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: 80
      start: 79
    functionDepth: 0
    functionLinenumber: 79
    functionLinenumberEnd: 80
    functionName: STALEOK
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    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: 82
      start: 81
    functionDepth: 0
    functionLinenumber: 81
    functionLinenumberEnd: 82
    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: 90
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 90
    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: 92
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 92
    functionName: HEADERNODE
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    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: 225
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 225
    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: 226
      start: 225
    functionDepth: 0
    functionLinenumber: 225
    functionLinenumberEnd: 226
    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: 228
      start: 226
    functionDepth: 0
    functionLinenumber: 226
    functionLinenumberEnd: 228
    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: 229
      start: 228
    functionDepth: 0
    functionLinenumber: 228
    functionLinenumberEnd: 229
    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: 251
      start: 250
    functionDepth: 0
    functionLinenumber: 250
    functionLinenumberEnd: 251
    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: 252
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 252
    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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    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:300,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: 301
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 301
    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:307,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: 308
      start: 303
    functionDepth: 1
    functionLinenumber: 303
    functionLinenumberEnd: 308
    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:314,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: 315
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 315
    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:319,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: 320
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 320
    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:425,1
    - Dst: dns_rdataslab_size
      Src: /src/bind9/lib/dns/qpcache.c:426,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 423
    functionDepth: 2
    functionLinenumber: 423
    functionLinenumberEnd: 430
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_list_for_each_entry
      Src: /src/bind9/lib/dns/qpcache.c:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - top
    argTypes:
    - dns_slabtop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 439
      start: 432
    functionDepth: 0
    functionLinenumber: 432
    functionLinenumberEnd: 439
    functionName: first_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - cds_list_for_each_entry
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      first_header(dns_slabtop_t *top)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: cds_list_entry
      Src: /src/bind9/lib/dns/qpcache.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 445
    functionName: next_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - cds_list_entry
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      next_header(dns_slabheader_t *header)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:449,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:450,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - top
    argTypes:
    - dns_slabtop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 454
      start: 447
    functionDepth: 0
    functionLinenumber: 447
    functionLinenumberEnd: 454
    functionName: first_existing_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 8
    functionsReached:
    - EXISTS
    - first_header
    linkageType: ''
    returnType: dns_slabheader_t
    signature: 'dns_slabheader_t *

      first_existing_header(dns_slabtop_t *top)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: ISC_SIEVE_NEXT
      Src: /src/bind9/lib/dns/qpcache.c:463,1
    - Dst: ISC_SIEVE_LINKED
      Src: /src/bind9/lib/dns/qpcache.c:471,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/qpcache.c:472,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:475,1
    - Dst: expireheader
      Src: /src/bind9/lib/dns/qpcache.c:476,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:480,1
    - Dst: expireheader
      Src: /src/bind9/lib/dns/qpcache.c:483,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    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: 488
      start: 456
    functionDepth: 1
    functionLinenumber: 456
    functionLinenumberEnd: 488
    functionName: expire_lru_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - expireheader
    - ISC_SIEVE_NEXT
    - ISC_SIEVE_UNLINK
    - first_header
    - ISC_SIEVE_LINKED
    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:494,1
    - Dst: isc_mem_isovermem
      Src: /src/bind9/lib/dns/qpcache.c:496,1
    - Dst: dns_name_size
      Src: /src/bind9/lib/dns/qpcache.c:508,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:508,1
    - Dst: rdataset_size
      Src: /src/bind9/lib/dns/qpcache.c:509,1
    - Dst: ISC_SIEVE_INSERT
      Src: /src/bind9/lib/dns/qpcache.c:515,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    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: 516
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 516
    functionName: qpcache_miss
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_mem_isovermem
    - HEADERNODE
    - dns_name_size
    - ISC_SIEVE_INSERT
    - rdataset_size
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:532,1
    - Dst: next_header
      Src: /src/bind9/lib/dns/qpcache.c:537,1
    - Dst: cds_list_for_each_entry_safe_from
      Src: /src/bind9/lib/dns/qpcache.c:538,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/qpcache.c:540,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - top
    argTypes:
    - dns_slabtop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 543
      start: 530
    functionDepth: 3
    functionLinenumber: 530
    functionLinenumberEnd: 543
    functionName: clean_cache_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - next_header
    - first_header
    - dns_slabheader_destroy
    - cds_list_del
    - cds_list_for_each_entry_safe_from
    linkageType: ''
    returnType: void
    signature: void clean_cache_headers(dns_slabtop_t *top)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/qpcache.c:555,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/qpcache.c:556,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/qpcache.c:560,1
    - Dst: clean_cache_headers
      Src: /src/bind9/lib/dns/qpcache.c:562,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:568,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:573,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:573,1
    - Dst: STALE
      Src: /src/bind9/lib/dns/qpcache.c:574,1
    - Dst: KEEPSTALE
      Src: /src/bind9/lib/dns/qpcache.c:574,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/qpcache.c:576,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:577,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/qpcache.c:589,1
    - Dst: ISC_SIEVE_LINKED
      Src: /src/bind9/lib/dns/qpcache.c:591,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/qpcache.c:592,1
    - Dst: dns_slabtop_destroy
      Src: /src/bind9/lib/dns/qpcache.c:596,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - qpdb
    - node
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 545
    functionDepth: 4
    functionLinenumber: 545
    functionLinenumberEnd: 599
    functionName: clean_cache_node
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - STALE
    - EXISTS
    - first_header
    - clean_cache_headers
    - ISC_SIEVE_LINKED
    - dns_slabheader_destroy
    - ISC_SIEVE_UNLINK
    - ISC_LIST_HEAD
    - KEEPSTALE
    - cds_list_del
    - dns_slabtop_destroy
    - ANCIENT
    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:608,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpcache.c:608,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/qpcache.c:610,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:611,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpcache.c:612,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/qpcache.c:624,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:628,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/qpcache.c:633,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/qpcache.c:636,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/qpcache.c:640,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:645,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/qpcache.c:649,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 2
    argNames:
    - qpdb
    - node
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 651
      start: 604
    functionDepth: 12
    functionLinenumber: 604
    functionLinenumberEnd: 651
    functionName: delete_node
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 3
    functionsReached:
    - dns_name_format
    - isc_log_write
    - dns_qp_deletename
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - isc_result_totext
    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:670,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpcache.c:673,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:689,1
    - Dst: qpcache_ref
      Src: /src/bind9/lib/dns/qpcache.c:692,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: 693
      start: 666
    functionDepth: 1
    functionLinenumber: 666
    functionLinenumberEnd: 693
    functionName: qpcnode_erefs_increment
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - fprintf
    - qpcache_ref
    - isc_refcount_increment0
    - 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:698,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: 701
      start: 695
    functionDepth: 1
    functionLinenumber: 695
    functionLinenumberEnd: 701
    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:710,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpcache.c:713,1
    - Dst: qpcache_unref
      Src: /src/bind9/lib/dns/qpcache.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - qpdb
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 708
    functionDepth: 1
    functionLinenumber: 708
    functionLinenumberEnd: 722
    functionName: qpcnode_erefs_decrement
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - fprintf
    - qpcache_unref
    - isc_refcount_decrement
    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:740,1
    - Dst: qpcnode_erefs_decrement
      Src: /src/bind9/lib/dns/qpcache.c:742,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpcache.c:747,1
    - Dst: cds_list_empty
      Src: /src/bind9/lib/dns/qpcache.c:747,1
    - Dst: qpcnode_erefs_increment
      Src: /src/bind9/lib/dns/qpcache.c:766,1
    - Dst: NODE_FORCEUPGRADE
      Src: /src/bind9/lib/dns/qpcache.c:768,1
    - Dst: qpcnode_erefs_decrement
      Src: /src/bind9/lib/dns/qpcache.c:769,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/qpcache.c:774,1
    - Dst: clean_cache_node
      Src: /src/bind9/lib/dns/qpcache.c:775,1
    - Dst: cds_list_empty
      Src: /src/bind9/lib/dns/qpcache.c:778,1
    - Dst: delete_node
      Src: /src/bind9/lib/dns/qpcache.c:786,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:793,1
    - Dst: isc_queue_node_init
      Src: /src/bind9/lib/dns/qpcache.c:796,1
    - Dst: isc_queue_enqueue_entry
      Src: /src/bind9/lib/dns/qpcache.c:797,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/qpcache.c:802,1
    - Dst: qpcache_ref
      Src: /src/bind9/lib/dns/qpcache.c:804,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/qpcache.c:805,1
    - Dst: qpcnode_unref
      Src: /src/bind9/lib/dns/qpcache.c:810,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: 811
      start: 737
    functionDepth: 13
    functionLinenumber: 737
    functionLinenumberEnd: 811
    functionName: qpcnode_release
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_queue_node_init
    - REQUIRE
    - qpcnode_erefs_increment
    - qpcache_ref
    - qpcnode_erefs_decrement
    - NODE_FORCEUPGRADE
    - qpcnode_acquire
    - ISC_LIST_EMPTY
    - isc_loop_get
    - delete_node
    - cds_list_empty
    - isc_async_run
    - qpcnode_unref
    - clean_cache_node
    - isc_queue_enqueue_entry
    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:824,1
    - Dst: STATCOUNT
      Src: /src/bind9/lib/dns/qpcache.c:824,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:828,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:829,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:833,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:836,1
    - Dst: STALE
      Src: /src/bind9/lib/dns/qpcache.c:839,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:842,1
    - Dst: DNS_RDATASTATSTYPE_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:846,1
    - Dst: dns_rdatasetstats_increment
      Src: /src/bind9/lib/dns/qpcache.c:848,1
    - Dst: dns_rdatasetstats_decrement
      Src: /src/bind9/lib/dns/qpcache.c:850,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 4
    argNames:
    - stats
    - typepair
    - hattributes
    - increment
    argTypes:
    - dns_stats_t*
    - dns_typepair_t
    - uint_least16_t
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 852
      start: 813
    functionDepth: 4
    functionLinenumber: 813
    functionLinenumberEnd: 852
    functionName: update_rrsetstats
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - STALE
    - EXISTS
    - NEGATIVE
    - DNS_TYPEPAIR_TYPE
    - STATCOUNT
    - dns_rdatasetstats_increment
    - dns_rdatasetstats_decrement
    - ANCIENT
    - DNS_RDATASTATSTYPE_VALUE
    - NXDOMAIN
    linkageType: ''
    returnType: void
    signature: "void update_rrsetstats(dns_stats_t *stats, const dns_typepair_t typepair,\n\t\t
      \ const uint_least16_t hattributes, const bool increment)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/qpcache.c:856,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:858,1
    - Dst: atomic_compare_exchange_weak_acq_rel
      Src: /src/bind9/lib/dns/qpcache.c:868,1
    - Dst: update_rrsetstats
      Src: /src/bind9/lib/dns/qpcache.c:875,1
    - Dst: update_rrsetstats
      Src: /src/bind9/lib/dns/qpcache.c:877,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - header
    - flag
    argTypes:
    - dns_slabheader_t*
    - uint_least16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 879
      start: 854
    functionDepth: 5
    functionLinenumber: 854
    functionLinenumberEnd: 879
    functionName: mark
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    functionsReached:
    - HEADERNODE
    - atomic_compare_exchange_weak_acq_rel
    - atomic_load_acquire
    - update_rrsetstats
    linkageType: ''
    returnType: void
    signature: void mark(dns_slabheader_t *header, uint_least16_t flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - header
    - newts
    argTypes:
    - dns_slabheader_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 884
      start: 881
    functionDepth: 0
    functionLinenumber: 881
    functionLinenumberEnd: 884
    functionName: setttl
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void setttl(dns_slabheader_t *header, isc_stdtime_t newts)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:888,1
    - Dst: mark
      Src: /src/bind9/lib/dns/qpcache.c:889,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/qpcache.c:890,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/qpcache.c:891,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:891,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 886
    functionDepth: 6
    functionLinenumber: 886
    functionLinenumberEnd: 893
    functionName: mark_ancient
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - setttl
    - HEADERNODE
    - ISC_LIST_APPEND
    - ISC_LINK_LINKED
    - mark
    linkageType: ''
    returnType: void
    signature: void mark_ancient(dns_slabheader_t *header)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: rdataset_size
      Src: /src/bind9/lib/dns/qpcache.c:901,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:903,1
    - Dst: isc_refcount_current
      Src: /src/bind9/lib/dns/qpcache.c:905,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:905,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:906,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:913,1
    - Dst: HEADERNODE
      Src: /src/bind9/lib/dns/qpcache.c:913,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:924,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    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: 933
      start: 898
    functionDepth: 7
    functionLinenumber: 898
    functionLinenumberEnd: 933
    functionName: expireheader
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - HEADERNODE
    - isc_refcount_current
    - mark_ancient
    - qpcnode_acquire
    - isc_stats_increment
    - rdataset_size
    linkageType: ''
    returnType: size_t
    signature: "size_t 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:943,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:952,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/qpcache.c:956,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - qpdb
    - result
    argTypes:
    - qpcache_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 935
    functionDepth: 2
    functionLinenumber: 935
    functionLinenumberEnd: 959
    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: 15
    BranchProfiles: []
    Callsites:
    - Dst: STALE
      Src: /src/bind9/lib/dns/qpcache.c:966,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:967,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:983,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:988,1
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:989,1
    - Dst: ZEROTTL
      Src: /src/bind9/lib/dns/qpcache.c:997,1
    - Dst: KEEPSTALE
      Src: /src/bind9/lib/dns/qpcache.c:997,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1010,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1012,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1013,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:1013,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1016,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:1017,1
    - Dst: ZEROTTL
      Src: /src/bind9/lib/dns/qpcache.c:1019,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/qpcache.c:1020,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1023,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:1026,1
    - Dst: OPTOUT
      Src: /src/bind9/lib/dns/qpcache.c:1029,1
    - Dst: PREFETCH
      Src: /src/bind9/lib/dns/qpcache.c:1032,1
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:1037,1
    - Dst: STALE_WINDOW
      Src: /src/bind9/lib/dns/qpcache.c:1043,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:1048,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 67
    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: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 1070
    functionName: bindrdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    functionsReached:
    - ACTIVE
    - OPTOUT
    - STALE
    - INSIST
    - NEGATIVE
    - DNS_TYPEPAIR_TYPE
    - DNS_TYPEPAIR_COVERS
    - STALE_WINDOW
    - ZEROTTL
    - KEEPSTALE
    - ANCIENT
    - PREFETCH
    - STALE_TTL
    - atomic_load
    - NXDOMAIN
    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:
    - qpcache_hit
    - NEGATIVE
    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
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:1127,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:
    - REQUIRE
    - DNS_TYPEPAIR_VALUE
    - NODE_RDLOCK
    - bindrdatasets
    - NODE_UNLOCK
    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:1135,1
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:1139,1
    - Dst: DNS_SLABHEADER_CLRATTR
      Src: /src/bind9/lib/dns/qpcache.c:1147,1
    - Dst: ZEROTTL
      Src: /src/bind9/lib/dns/qpcache.c:1148,1
    - Dst: KEEPSTALE
      Src: /src/bind9/lib/dns/qpcache.c:1148,1
    - Dst: mark
      Src: /src/bind9/lib/dns/qpcache.c:1150,1
    - Dst: atomic_store_release
      Src: /src/bind9/lib/dns/qpcache.c:1158,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1162,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:1172,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 2
    argNames:
    - header
    - search
    argTypes:
    - dns_slabheader_t*
    - qpc_search_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1186
      start: 1133
    functionDepth: 6
    functionLinenumber: 1133
    functionLinenumberEnd: 1186
    functionName: check_stale_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - ACTIVE
    - atomic_store_release
    - ZEROTTL
    - KEEPSTALE
    - mark
    - atomic_load_acquire
    - DNS_SLABHEADER_CLRATTR
    - STALE_TTL
    - DNS_SLABHEADER_SETATTR
    linkageType: ''
    returnType: bool
    signature: bool check_stale_header(dns_slabheader_t *header, qpc_search_t *search)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: check_stale_header
      Src: /src/bind9/lib/dns/qpcache.c:1190,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:1191,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:1191,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - header
    - search
    argTypes:
    - dns_slabheader_t*
    - qpc_search_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1192
      start: 1188
    functionDepth: 7
    functionLinenumber: 1188
    functionLinenumberEnd: 1192
    functionName: check_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - check_stale_header
    - ANCIENT
    - EXISTS
    linkageType: ''
    returnType: bool
    signature: bool check_header(dns_slabheader_t *header, qpc_search_t *search)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1204,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1206,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:1206,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1210,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1212,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:1212,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1214,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1221,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1221,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1222,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1236,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:1236,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:1236,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1248,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:1248,1
    - Dst: ANCIENT
      Src: /src/bind9/lib/dns/qpcache.c:1248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1249,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1249,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 5
    argNames:
    - header
    - sigheader
    - typepair
    - foundp
    - foundsigp
    argTypes:
    - dns_slabheader_t*
    - dns_slabheader_t*
    - dns_typepair_t
    - dns_slabheader_t**
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1259
      start: 1199
    functionDepth: 1
    functionLinenumber: 1199
    functionLinenumberEnd: 1259
    functionName: related_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - EXISTS
    - INSIST
    - NEGATIVE
    - DNS_TYPEPAIR_TYPE
    - DNS_TYPEPAIR_COVERS
    - ANCIENT
    linkageType: ''
    returnType: bool
    signature: "bool related_headers(dns_slabheader_t *header, dns_slabheader_t *sigheader,\n\t\tdns_typepair_t
      typepair, dns_slabheader_t **foundp,\n\t\tdns_slabheader_t **foundsigp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SLABTOP_FOREACH
      Src: /src/bind9/lib/dns/qpcache.c:1264,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1269,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1270,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1271,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1271,1
    - Dst: check_header
      Src: /src/bind9/lib/dns/qpcache.c:1272,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:1284,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1285,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1287,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:1289,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1290,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1292,1
    - Dst: check_header
      Src: /src/bind9/lib/dns/qpcache.c:1299,1
    - Dst: check_header
      Src: /src/bind9/lib/dns/qpcache.c:1302,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1309,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 40
    argCount: 5
    argNames:
    - node
    - search
    - type
    - foundp
    - foundsigp
    argTypes:
    - qpcnode_t*
    - qpc_search_t*
    - dns_rdatatype_t
    - dns_slabheader_t**
    - dns_slabheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1316
      start: 1261
    functionDepth: 8
    functionLinenumber: 1261
    functionLinenumberEnd: 1316
    functionName: find_headers
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - NEGATIVE
    - INSIST
    - first_header
    - DNS_SLABTOP_FOREACH
    - DNS_TYPEPAIR
    - check_header
    - DNS_SIGTYPEPAIR
    linkageType: ''
    returnType: void
    signature: "void find_headers(qpcnode_t *node, qpc_search_t *search, dns_rdatatype_t
      type,\n\t     dns_slabheader_t **foundp, dns_slabheader_t **foundsigp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1326,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1329,1
    - Dst: find_headers
      Src: /src/bind9/lib/dns/qpcache.c:1334,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/qpcache.c:1336,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/qpcache.c:1336,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1343,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1354,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - node
    - DNS__DB_FLARG
    argTypes:
    - qpcnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1357
      start: 1318
    functionDepth: 9
    functionLinenumber: 1318
    functionLinenumberEnd: 1357
    functionName: check_dname
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - find_headers
    - qpcnode_acquire
    - NODE_RDLOCK
    - DNS_TRUST_PENDING
    - atomic_load
    - NODE_UNLOCK
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_dname(qpcnode_t *node, void *arg DNS__DB_FLARG)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:1383,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:1395,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:1396,1
    - Dst: dns_qpiter_current
      Src: /src/bind9/lib/dns/qpcache.c:1401,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1405,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/qpcache.c:1411,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:1411,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1413,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1416,1
    - Dst: find_headers
      Src: /src/bind9/lib/dns/qpcache.c:1418,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1422,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1426,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1429,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1435,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    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: 1437
      start: 1366
    functionDepth: 9
    functionLinenumber: 1366
    functionLinenumberEnd: 1437
    functionName: find_coveringnsec
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - find_headers
    - dns_qpiter_current
    - qpcnode_acquire
    - NODE_RDLOCK
    - dns_fixedname_initname
    - RETERR
    - dns_qp_lookup
    - dns_qp_getname
    - bindrdatasets
    - NODE_UNLOCK
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/qpcache.c:1445,1
    - Dst: DNS_TRUST_ADDITIONAL
      Src: /src/bind9/lib/dns/qpcache.c:1446,1
    - Dst: DNS_TRUST_GLUE
      Src: /src/bind9/lib/dns/qpcache.c:1448,1
    - Dst: DNS_TRUST_PENDING
      Src: /src/bind9/lib/dns/qpcache.c:1449,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 5
    argCount: 2
    argNames:
    - found
    - options
    argTypes:
    - dns_slabheader_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1439
    functionDepth: 1
    functionLinenumber: 1439
    functionLinenumberEnd: 1451
    functionName: missing_answer
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - DNS_TRUST_PENDING
    - atomic_load
    - DNS_TRUST_GLUE
    - DNS_TRUST_ADDITIONAL
    linkageType: ''
    returnType: bool
    signature: bool missing_answer(dns_slabheader_t *found, unsigned int options)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:1470,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: 1474
      start: 1453
    functionDepth: 0
    functionLinenumber: 1453
    functionLinenumberEnd: 1474
    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: 46
    BranchProfiles: []
    Callsites:
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:1495,1
    - Dst: qpc_search_init
      Src: /src/bind9/lib/dns/qpcache.c:1503,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1505,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1506,1
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1508,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:1513,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1516,1
    - Dst: dns_qpchain_length
      Src: /src/bind9/lib/dns/qpcache.c:1526,1
    - Dst: dns_qpchain_node
      Src: /src/bind9/lib/dns/qpcache.c:1535,1
    - Dst: check_dname
      Src: /src/bind9/lib/dns/qpcache.c:1537,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:1544,1
    - Dst: find_coveringnsec
      Src: /src/bind9/lib/dns/qpcache.c:1559,1
    - Dst: setup_delegation
      Src: /src/bind9/lib/dns/qpcache.c:1567,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1592,1
    - Dst: DNS_SLABTOP_FOREACH
      Src: /src/bind9/lib/dns/qpcache.c:1594,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1596,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1597,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1599,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1602,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1604,1
    - Dst: check_header
      Src: /src/bind9/lib/dns/qpcache.c:1608,1
    - Dst: check_header
      Src: /src/bind9/lib/dns/qpcache.c:1612,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/qpcache.c:1627,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1632,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1636,1
    - Dst: related_headers
      Src: /src/bind9/lib/dns/qpcache.c:1640,1
    - Dst: missing_answer
      Src: /src/bind9/lib/dns/qpcache.c:1649,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1657,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:1668,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:1676,1
    - Dst: missing_answer
      Src: /src/bind9/lib/dns/qpcache.c:1689,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1700,1
    - Dst: find_coveringnsec
      Src: /src/bind9/lib/dns/qpcache.c:1702,1
    - Dst: missing_answer
      Src: /src/bind9/lib/dns/qpcache.c:1717,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1725,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1729,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1742,1
    - Dst: find_coveringnsec
      Src: /src/bind9/lib/dns/qpcache.c:1743,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:1761,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1766,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:1770,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:1777,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1795,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1801,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1804,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1812,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1815,1
    - Dst: qpcnode_release
      Src: /src/bind9/lib/dns/qpcache.c:1816,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1818,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:1819,1
    - Dst: update_cachestats
      Src: /src/bind9/lib/dns/qpcache.c:1822,1
    CyclomaticComplexity: 78
    EdgeCount: 78
    ICount: 191
    argCount: 12
    argNames:
    - db
    - name
    - version
    - type
    - options
    - __now
    - nodep
    - foundname
    - ISC_ATTR_UNUSED
    - clientinfo ISC_ATTR_UNUSED
    - 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: 1824
      start: 1476
    functionDepth: 14
    functionLinenumber: 1476
    functionLinenumberEnd: 1824
    functionName: qpcache_find
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - setup_delegation
    - DNS_TYPEPAIR_TYPE
    - first_header
    - INSIST
    - qpcnode_acquire
    - DNS_SLABTOP_FOREACH
    - dns_qpchain_length
    - NXDOMAIN
    - VALID_QPDB
    - find_coveringnsec
    - qpcnode_release
    - check_dname
    - NODE_RDLOCK
    - missing_answer
    - DNS_TYPEPAIR
    - qpc_search_init
    - TREE_UNLOCK
    - NODE_UNLOCK
    - NEGATIVE
    - dns_qp_lookup
    - atomic_load
    - DNS_SIGTYPEPAIR
    - dns_qpchain_node
    - TREE_RDLOCK
    - related_headers
    - check_header
    - update_cachestats
    - bindrdatasets
    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_clientinfomethods_t
      *methods ISC_ATTR_UNUSED,\n\t     dns_clientinfo_t *clientinfo ISC_ATTR_UNUSED,\n\t
      \    dns_rdataset_t *rdataset,\n\t     dns_rdataset_t *sigrdataset DNS__DB_FLARG)"
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:1840,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1843,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1843,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1844,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1845,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1853,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:1855,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:1856,1
    - Dst: DNS_SLABTOP_FOREACH
      Src: /src/bind9/lib/dns/qpcache.c:1859,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:1868,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1869,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1871,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1874,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:1876,1
    - Dst: check_header
      Src: /src/bind9/lib/dns/qpcache.c:1880,1
    - Dst: check_header
      Src: /src/bind9/lib/dns/qpcache.c:1884,1
    - Dst: related_headers
      Src: /src/bind9/lib/dns/qpcache.c:1888,1
    - Dst: bindrdatasets
      Src: /src/bind9/lib/dns/qpcache.c:1894,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1899,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:1905,1
    - Dst: NXDOMAIN
      Src: /src/bind9/lib/dns/qpcache.c:1909,1
    - Dst: update_cachestats
      Src: /src/bind9/lib/dns/qpcache.c:1916,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 51
    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: 1919
      start: 1826
    functionDepth: 8
    functionLinenumber: 1826
    functionLinenumberEnd: 1919
    functionName: qpcache_findrdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    - isc_stdtime_now
    - DNS_TYPEPAIR_TYPE
    - first_header
    - related_headers
    - DNS_TYPEPAIR_VALUE
    - DNS_SLABTOP_FOREACH
    - NEGATIVE
    - NXDOMAIN
    - NODE_RDLOCK
    - check_header
    - update_cachestats
    - DNS_SIGTYPEPAIR
    - bindrdatasets
    - NODE_UNLOCK
    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:1925,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1925,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:1926,1
    - Dst: isc_stats_attach
      Src: /src/bind9/lib/dns/qpcache.c:1928,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - db
    - stats
    argTypes:
    - dns_db_t*
    - isc_stats_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1930
      start: 1921
    functionDepth: 2
    functionLinenumber: 1921
    functionLinenumberEnd: 1930
    functionName: setcachestats
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    - isc_stats_attach
    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:1936,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1936,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1939
      start: 1932
    functionDepth: 1
    functionLinenumber: 1932
    functionLinenumberEnd: 1939
    functionName: getrrsetstats
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    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:1945,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1945,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1950
      start: 1941
    functionDepth: 1
    functionLinenumber: 1941
    functionLinenumberEnd: 1950
    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:1956,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - ttl
    argTypes:
    - dns_db_t*
    - dns_ttl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1960
      start: 1952
    functionDepth: 1
    functionLinenumber: 1952
    functionLinenumberEnd: 1960
    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:1966,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1971
      start: 1962
    functionDepth: 1
    functionLinenumber: 1962
    functionLinenumberEnd: 1971
    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:1977,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:1977,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - db
    - interval
    argTypes:
    - dns_db_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1981
      start: 1973
    functionDepth: 1
    functionLinenumber: 1973
    functionLinenumberEnd: 1981
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:1994,1
    - Dst: expireheader
      Src: /src/bind9/lib/dns/qpcache.c:1997,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:2000,1
    - Dst: expireheader
      Src: /src/bind9/lib/dns/qpcache.c:2001,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2005,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2006,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - node
    - data
    argTypes:
    - dns_dbnode_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2007
      start: 1983
    functionDepth: 8
    functionLinenumber: 1983
    functionLinenumberEnd: 2007
    functionName: qpcnode_expiredata
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - INSIST
    - first_header
    - expireheader
    - NODE_WRLOCK
    - NODE_UNLOCK
    linkageType: ''
    returnType: void
    signature: void qpcnode_expiredata(dns_dbnode_t *node, void *data)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_qp_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2014,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpcache.c:2016,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/qpcache.c:2017,1
    - Dst: strlcpy
      Src: /src/bind9/lib/dns/qpcache.c:2019,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/qpcache.c:2021,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/qpcache.c:2022,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/qpcache.c:2025,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpcache.c:2026,1
    - Dst: NODE_DESTROYLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2029,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2031,1
    - Dst: ISC_SIEVE_EMPTY
      Src: /src/bind9/lib/dns/qpcache.c:2031,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2033,1
    - Dst: isc_queue_empty
      Src: /src/bind9/lib/dns/qpcache.c:2033,1
    - Dst: isc_queue_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2034,1
    - Dst: dns_stats_detach
      Src: /src/bind9/lib/dns/qpcache.c:2037,1
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/qpcache.c:2040,1
    - Dst: TREE_DESTROYLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2043,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2044,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2045,1
    - Dst: isc_rwlock_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2047,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpcache.c:2051,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 1
    argNames:
    - qpdb
    argTypes:
    - qpcache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2054
      start: 2009
    functionDepth: 6
    functionLinenumber: 2009
    functionLinenumberEnd: 2054
    functionName: qpcache__destroy
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_name_dynamic
    - INSIST
    - dns_name_format
    - dns_stats_detach
    - isc_stats_detach
    - isc_rwlock_destroy
    - ISC_SIEVE_EMPTY
    - isc_log_write
    - NODE_DESTROYLOCK
    - dns_qp_destroy
    - ISC_LOG_DEBUG
    - TREE_DESTROYLOCK
    - isc_mem_putanddetach
    - dns_name_free
    - isc_queue_destroy
    - isc_queue_empty
    - strlcpy
    - 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:2060,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - arg
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2061
      start: 2056
    functionDepth: 1
    functionLinenumber: 2056
    functionLinenumberEnd: 2061
    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:2077,1
    - Dst: isc_queue_init
      Src: /src/bind9/lib/dns/qpcache.c:2079,1
    - Dst: TREE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2081,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2082,1
    - Dst: isc_queue_splice
      Src: /src/bind9/lib/dns/qpcache.c:2084,1
    - Dst: isc_queue_for_each_entry_safe
      Src: /src/bind9/lib/dns/qpcache.c:2085,1
    - Dst: qpcnode_release
      Src: /src/bind9/lib/dns/qpcache.c:2086,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2090,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2091,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - qpdb
    - locknum
    argTypes:
    - qpcache_t*
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2092
      start: 2069
    functionDepth: 14
    functionLinenumber: 2069
    functionLinenumberEnd: 2092
    functionName: cleanup_deadnodes
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - INSIST
    - qpcnode_release
    - NODE_WRLOCK
    - isc_queue_splice
    - TREE_WRLOCK
    - isc_queue_init
    - isc_queue_for_each_entry_safe
    - TREE_UNLOCK
    - NODE_UNLOCK
    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:2097,1
    - Dst: cleanup_deadnodes
      Src: /src/bind9/lib/dns/qpcache.c:2099,1
    - Dst: qpcache_unref
      Src: /src/bind9/lib/dns/qpcache.c:2100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2101
      start: 2094
    functionDepth: 15
    functionLinenumber: 2094
    functionLinenumberEnd: 2101
    functionName: cleanup_deadnodes_cb
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - qpcache_unref
    - cleanup_deadnodes
    linkageType: ''
    returnType: void
    signature: void cleanup_deadnodes_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2117,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2119,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: 2120
      start: 2111
    functionDepth: 1
    functionLinenumber: 2111
    functionLinenumberEnd: 2120
    functionName: reactivate_node
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - NODE_RDLOCK
    - NODE_UNLOCK
    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:2124,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/qpcache.c:2126,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/qpcache.c:2132,1
    - Dst: isc_random_uniform
      Src: /src/bind9/lib/dns/qpcache.c:2133,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpcache.c:2137,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:2138,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/qpcache.c:2141,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: 2145
      start: 2122
    functionDepth: 2
    functionLinenumber: 2122
    functionLinenumberEnd: 2145
    functionName: new_qpcnode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - ISC_REFCOUNT_INITIALIZER
    - isc_random_uniform
    - CDS_LIST_HEAD_INIT
    - isc_mem_get
    - fprintf
    - 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:2158,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:2159,1
    - Dst: TREE_FORCEUPGRADE
      Src: /src/bind9/lib/dns/qpcache.c:2167,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:2168,1
    - Dst: new_qpcnode
      Src: /src/bind9/lib/dns/qpcache.c:2171,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpcache.c:2172,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2173,1
    - Dst: qpcnode_unref
      Src: /src/bind9/lib/dns/qpcache.c:2174,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2182,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 6
    argNames:
    - db
    - name
    - create
    - ISC_ATTR_UNUSED
    - clientinfo ISC_ATTR_UNUSED
    - 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: 2185
      start: 2147
    functionDepth: 11
    functionLinenumber: 2147
    functionLinenumberEnd: 2185
    functionName: qpcache_findnode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - TREE_FORCEUPGRADE
    - INSIST
    - TREE_RDLOCK
    - new_qpcnode
    - dns_qp_insert
    - qpcnode_unref
    - dns_qp_getname
    - TREE_UNLOCK
    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_clientinfomethods_t *methods ISC_ATTR_UNUSED,\n\t\t dns_clientinfo_t
      *clientinfo ISC_ATTR_UNUSED,\n\t\t dns_dbnode_t **nodep DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2193,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2193,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2195,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:2202,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/qpcache.c:2203,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/qpcache.c:2204,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: 2208
      start: 2187
    functionDepth: 4
    functionLinenumber: 2187
    functionLinenumberEnd: 2208
    functionName: qpcache_createiterator
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - dns_db_attach
    - VALID_QPDB
    - isc_mem_get
    - dns_fixedname_initname
    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:2218,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2219,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2221,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:2228,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: 2237
      start: 2210
    functionDepth: 1
    functionLinenumber: 2210
    functionLinenumberEnd: 2237
    functionName: qpcache_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_stdtime_now
    - REQUIRE
    - VALID_QPDB
    - isc_mem_get
    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: 2246
      start: 2239
    functionDepth: 0
    functionLinenumber: 2239
    functionLinenumberEnd: 2246
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: prio_type
      Src: /src/bind9/lib/dns/qpcache.c:2250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - top
    argTypes:
    - dns_slabtop_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2251
      start: 2248
    functionDepth: 2
    functionLinenumber: 2248
    functionLinenumberEnd: 2251
    functionName: prio_header
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - prio_type
    linkageType: ''
    returnType: bool
    signature: bool prio_header(dns_slabtop_t *top)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - source
    - DNS__DB_FLARG
    argTypes:
    - dns_dbnode_t*
    - dns_dbnode_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2264
      start: 2253
    functionDepth: 1
    functionLinenumber: 2253
    functionLinenumberEnd: 2264
    functionName: qpcnode_attachnode
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void qpcnode_attachnode(dns_dbnode_t *source, dns_dbnode_t **targetp
      DNS__DB_FLARG)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2315,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:2317,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2318,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2330,1
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:2332,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 9
    argNames:
    - qpdb
    - qpnode
    - header
    - newheader
    - trust
    - addedrdataset
    - now
    - nlocktype
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - dns_slabheader_t*
    - dns_slabheader_t*
    - dns_trust_t
    - dns_rdataset_t*
    - isc_stdtime_t
    - isc_rwlocktype_t
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2341
      start: 2299
    functionDepth: 7
    functionLinenumber: 2299
    functionLinenumberEnd: 2341
    functionName: check_ncache_block
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - mark_ancient
    - qpcache_hit
    - DNS_TYPEPAIR_TYPE
    - DNS_TYPEPAIR_COVERS
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t check_ncache_block(qpcache_t *qpdb, qpcnode_t *qpnode,
      dns_slabheader_t *header,\n\t\t   dns_slabheader_t *newheader, dns_trust_t trust,\n\t\t
      \  dns_rdataset_t *addedrdataset, isc_stdtime_t now,\n\t\t   isc_rwlocktype_t
      nlocktype,\n\t\t   isc_rwlocktype_t tlocktype DNS__DB_FLARG)"
  - BBCount: 41
    BranchProfiles: []
    Callsites:
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2351,1
    - Dst: DNS_TYPEPAIR_COVERS
      Src: /src/bind9/lib/dns/qpcache.c:2352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2354,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/qpcache.c:2355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2357,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2357,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2360,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2363,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2363,1
    - Dst: DNS_SLABTOP_FOREACH
      Src: /src/bind9/lib/dns/qpcache.c:2371,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:2372,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2377,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2377,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2388,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2396,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2399,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2403,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2403,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2403,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2404,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2404,1
    - Dst: check_ncache_block
      Src: /src/bind9/lib/dns/qpcache.c:2412,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2418,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2421,1
    - Dst: prio_header
      Src: /src/bind9/lib/dns/qpcache.c:2425,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2430,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2435,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2436,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:2440,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2441,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:2448,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2449,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2454,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2454,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/qpcache.c:2465,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2467,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2467,1
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:2469,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2473,1
    - Dst: dns_rdataslab_equalx
      Src: /src/bind9/lib/dns/qpcache.c:2475,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2477,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2496,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:2497,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2498,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2498,1
    - Dst: dns_rdataslab_equalx
      Src: /src/bind9/lib/dns/qpcache.c:2501,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/qpcache.c:2503,1
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:2518,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2537,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:2538,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2539,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2539,1
    - Dst: ZEROTTL
      Src: /src/bind9/lib/dns/qpcache.c:2543,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2544,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:2551,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:2553,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:2554,1
    - Dst: DNS_TYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:2555,1
    - Dst: DNS_SIGTYPEPAIR
      Src: /src/bind9/lib/dns/qpcache.c:2556,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2557,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2557,1
    - Dst: dns_rdataslab_equal
      Src: /src/bind9/lib/dns/qpcache.c:2560,1
    - Dst: qpcache_hit
      Src: /src/bind9/lib/dns/qpcache.c:2575,1
    - Dst: cds_list_add
      Src: /src/bind9/lib/dns/qpcache.c:2590,1
    - Dst: ISC_SIEVE_LINKED
      Src: /src/bind9/lib/dns/qpcache.c:2593,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/qpcache.c:2594,1
    - Dst: qpcache_miss
      Src: /src/bind9/lib/dns/qpcache.c:2598,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2601,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2603,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2604,1
    - Dst: dns_slabtop_new
      Src: /src/bind9/lib/dns/qpcache.c:2612,1
    - Dst: prio_header
      Src: /src/bind9/lib/dns/qpcache.c:2615,1
    - Dst: cds_list_add
      Src: /src/bind9/lib/dns/qpcache.c:2617,1
    - Dst: cds_list_add
      Src: /src/bind9/lib/dns/qpcache.c:2620,1
    - Dst: cds_list_add
      Src: /src/bind9/lib/dns/qpcache.c:2623,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2627,1
    - Dst: cds_list_add
      Src: /src/bind9/lib/dns/qpcache.c:2633,1
    - Dst: qpcache_miss
      Src: /src/bind9/lib/dns/qpcache.c:2635,1
    - Dst: overmaxtype
      Src: /src/bind9/lib/dns/qpcache.c:2638,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2642,1
    - Dst: prio_header
      Src: /src/bind9/lib/dns/qpcache.c:2642,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2651,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:2651,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2653,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:2653,1
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/qpcache.c:2663,1
    - Dst: NEGATIVE
      Src: /src/bind9/lib/dns/qpcache.c:2663,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/qpcache.c:2664,1
    - Dst: first_header
      Src: /src/bind9/lib/dns/qpcache.c:2666,1
    - Dst: mark_ancient
      Src: /src/bind9/lib/dns/qpcache.c:2667,1
    CyclomaticComplexity: 81
    EdgeCount: 81
    ICount: 155
    argCount: 8
    argNames:
    - qpdb
    - qpnode
    - newheader
    - options
    - addedrdataset
    - now
    - nlocktype
    - DNS__DB_FLARG
    argTypes:
    - qpcache_t*
    - qpcnode_t*
    - dns_slabheader_t*
    - unsigned int
    - dns_rdataset_t*
    - isc_stdtime_t
    - isc_rwlocktype_t
    - isc_rwlocktype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2674
      start: 2343
    functionDepth: 8
    functionLinenumber: 2343
    functionLinenumberEnd: 2674
    functionName: add
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 445
    functionsReached:
    - REQUIRE
    - dns_rdataslab_equal
    - EXISTS
    - DNS_TYPEPAIR_TYPE
    - first_header
    - check_ncache_block
    - INSIST
    - ISC_SIEVE_LINKED
    - DNS_SLABTOP_FOREACH
    - ZEROTTL
    - cds_list_add
    - qpcache_miss
    - dns_slabtop_new
    - ISC_SIEVE_UNLINK
    - DNS_TYPEPAIR
    - dns_rdatatype_issig
    - DNS_SLABHEADER_SETATTR
    - prio_header
    - NEGATIVE
    - atomic_load
    - DNS_SIGTYPEPAIR
    - ACTIVE
    - dns_rdataslab_equalx
    - DNS_TYPEPAIR_COVERS
    - mark_ancient
    - overmaxtype
    - qpcache_hit
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t add(qpcache_t *qpdb, qpcnode_t *qpnode, 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: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getnoqname
      Src: /src/bind9/lib/dns/qpcache.c:2685,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2686,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2688,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2688,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2690,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2690,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2692,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:2699,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpcache.c:2705,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpcache.c:2708,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2711,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2712,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 2715
      start: 2676
    functionDepth: 4
    functionLinenumber: 2676
    functionLinenumberEnd: 2715
    functionName: addnoqname
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 2
    functionsReached:
    - dns_rdataset_getnoqname
    - isc_mem_put
    - isc_mem_get
    - RUNTIME_CHECK
    - dns_rdataset_disassociate
    - CHECK
    - dns_name_dup
    - dns_rdataslab_fromrdataset
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_getclosest
      Src: /src/bind9/lib/dns/qpcache.c:2726,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2727,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2729,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2729,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2731,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2731,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2733,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:2740,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpcache.c:2746,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/qpcache.c:2749,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2752,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/qpcache.c:2753,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    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: 2755
      start: 2717
    functionDepth: 4
    functionLinenumber: 2717
    functionLinenumberEnd: 2755
    functionName: addclosest
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_getclosest
    - isc_mem_put
    - isc_mem_get
    - RUNTIME_CHECK
    - dns_rdataset_disassociate
    - CHECK
    - dns_name_dup
    - dns_rdataslab_fromrdataset
    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: 18
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/qpcache.c:2773,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2775,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2775,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2776,1
    - Dst: dns_rdataslab_fromrdataset
      Src: /src/bind9/lib/dns/qpcache.c:2778,1
    - Dst: dns__db_logtoomanyrecords
      Src: /src/bind9/lib/dns/qpcache.c:2782,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/qpcache.c:2789,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:2790,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/qpcache.c:2791,1
    - Dst: dns_slabheader_reset
      Src: /src/bind9/lib/dns/qpcache.c:2794,1
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:2799,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2801,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2805,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2808,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2811,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2814,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2817,1
    - Dst: addnoqname
      Src: /src/bind9/lib/dns/qpcache.c:2817,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/qpcache.c:2821,1
    - Dst: addclosest
      Src: /src/bind9/lib/dns/qpcache.c:2821,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2831,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2835,1
    - Dst: TREE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2843,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2846,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/qpcache.c:2851,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2854,1
    - Dst: new_qpcnode
      Src: /src/bind9/lib/dns/qpcache.c:2855,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/qpcache.c:2857,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2858,1
    - Dst: qpcnode_detach
      Src: /src/bind9/lib/dns/qpcache.c:2859,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpcache.c:2864,1
    - Dst: DNS_SLABHEADER_SETATTR
      Src: /src/bind9/lib/dns/qpcache.c:2868,1
    - Dst: update_rrsetstats
      Src: /src/bind9/lib/dns/qpcache.c:2869,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2872,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2875,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2882,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:2885,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2889,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 80
    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: 2891
      start: 2757
    functionDepth: 11
    functionLinenumber: 2757
    functionLinenumberEnd: 2891
    functionName: qpcache_addrdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - INSIST
    - new_qpcnode
    - setttl
    - add
    - dns__db_logtoomanyrecords
    - VALID_QPDB
    - NODE_RDLOCK
    - NODE_WRLOCK
    - dns_qp_insert
    - addnoqname
    - TREE_UNLOCK
    - DNS_SLABHEADER_SETATTR
    - NODE_UNLOCK
    - isc_stdtime_now
    - dns_slabheader_destroy
    - dns_slabheader_reset
    - TREE_WRLOCK
    - CHECK
    - dns_rdataset_getownercase
    - qpcnode_detach
    - update_rrsetstats
    - dns_fixedname_initname
    - addclosest
    - dns_qp_getname
    - dns_rdataslab_fromrdataset
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2905,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2905,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2906,1
    - Dst: dns_slabheader_new
      Src: /src/bind9/lib/dns/qpcache.c:2920,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/qpcache.c:2921,1
    - Dst: setttl
      Src: /src/bind9/lib/dns/qpcache.c:2922,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/qpcache.c:2923,1
    - Dst: NODE_WRLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2926,1
    - Dst: add
      Src: /src/bind9/lib/dns/qpcache.c:2927,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:2930,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2932,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    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: 2935
      start: 2893
    functionDepth: 3
    functionLinenumber: 2893
    functionLinenumberEnd: 2935
    functionName: qpcache_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    - dns_slabheader_new
    - setttl
    - dns_slabheader_destroy
    - DNS_TYPEPAIR_VALUE
    - add
    - NODE_WRLOCK
    - atomic_init
    - NODE_UNLOCK
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2943,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:2943,1
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2945,1
    - Dst: dns_qp_memusage
      Src: /src/bind9/lib/dns/qpcache.c:2946,1
    - Dst: TREE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - db
    argTypes:
    - dns_db_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2950
      start: 2937
    functionDepth: 2
    functionLinenumber: 2937
    functionLinenumberEnd: 2950
    functionName: nodecount
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - VALID_QPDB
    - TREE_RDLOCK
    - dns_qp_memusage
    - TREE_UNLOCK
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int nodecount(dns_db_t *db)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/qpcache.c:2958,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/qpcache.c:2960,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2963,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2964,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2965,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:2966,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/qpcache.c:2968,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/qpcache.c:2980,1
    - Dst: TREE_INITLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2981,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/qpcache.c:2983,1
    - Dst: dns_rdatasetstats_create
      Src: /src/bind9/lib/dns/qpcache.c:2985,1
    - Dst: ISC_SIEVE_INIT
      Src: /src/bind9/lib/dns/qpcache.c:2987,1
    - Dst: isc_queue_init
      Src: /src/bind9/lib/dns/qpcache.c:2989,1
    - Dst: NODE_INITLOCK
      Src: /src/bind9/lib/dns/qpcache.c:2991,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/qpcache.c:2999,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/qpcache.c:3004,1
    - Dst: dns_qp_create
      Src: /src/bind9/lib/dns/qpcache.c:3009,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    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: 3017
      start: 2952
    functionDepth: 7
    functionLinenumber: 2952
    functionLinenumberEnd: 3017
    functionName: dns__qpcache_create
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - isc_queue_init
    - REQUIRE
    - isc_mem_attach
    - dns_rdatasetstats_create
    - isc_rwlock_init
    - isc_mem_get
    - isc_loopmgr_nloops
    - ISC_SIEVE_INIT
    - isc_loop
    - NODE_INITLOCK
    - TREE_INITLOCK
    - dns_qp_create
    - dns_name_dup
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: STALE_TTL
      Src: /src/bind9/lib/dns/qpcache.c:3038,1
    - Dst: ACTIVE
      Src: /src/bind9/lib/dns/qpcache.c:3043,1
    - Dst: STALEOK
      Src: /src/bind9/lib/dns/qpcache.c:3051,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 3
    argNames:
    - qpdb
    - iterator
    - header
    argTypes:
    - qpcache_t*
    - qpc_rditer_t*
    - dns_slabheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3055
      start: 3035
    functionDepth: 1
    functionLinenumber: 3035
    functionLinenumberEnd: 3055
    functionName: iterator_active
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - ACTIVE
    - STALEOK
    - STALE_TTL
    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:3142,1
    - Dst: NODE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3144,1
    - Dst: first_existing_header
      Src: /src/bind9/lib/dns/qpcache.c:3146,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3147,1
    - Dst: bindrdataset
      Src: /src/bind9/lib/dns/qpcache.c:3149,1
    - Dst: NODE_UNLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 2
    argNames:
    - it
    - DNS__DB_FLARG
    argTypes:
    - dns_rdatasetiter_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3153
      start: 3131
    functionDepth: 1
    functionLinenumber: 3131
    functionLinenumberEnd: 3153
    functionName: rdatasetiter_current
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 63
    functionsReached:
    - REQUIRE
    - INSIST
    - NODE_RDLOCK
    - first_existing_header
    - bindrdataset
    - NODE_UNLOCK
    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:3201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3202,1
    - Dst: TREE_RDLOCK
      Src: /src/bind9/lib/dns/qpcache.c:3204,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:3218,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - qpdbiter
    - continuing
    argTypes:
    - qpc_dbit_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3225
      start: 3197
    functionDepth: 7
    functionLinenumber: 3197
    functionLinenumberEnd: 3225
    functionName: resume_iteration
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - TREE_RDLOCK
    - REQUIRE
    - INSIST
    - dns_qp_lookup
    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:3317,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/qpcache.c:3322,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:3327,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: 3336
      start: 3301
    functionDepth: 8
    functionLinenumber: 3301
    functionLinenumberEnd: 3336
    functionName: dbiterator_seek
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 9
    functionsReached:
    - resume_iteration
    - dns_name_copy
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3393,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3394,1
    - Dst: resume_iteration
      Src: /src/bind9/lib/dns/qpcache.c:3397,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/qpcache.c:3401,1
    - Dst: qpcnode_acquire
      Src: /src/bind9/lib/dns/qpcache.c:3404,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: 3409
      start: 3386
    functionDepth: 8
    functionLinenumber: 3386
    functionLinenumberEnd: 3409
    functionName: dbiterator_current
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 31
    functionsReached:
    - resume_iteration
    - REQUIRE
    - qpcnode_acquire
    - 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:3431,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/qpcache.c:3433,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 13
    argCount: 1
    argNames:
    - iterator
    argTypes:
    - dns_dbiterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3436
      start: 3411
    functionDepth: 1
    functionLinenumber: 3411
    functionLinenumberEnd: 3436
    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:3446,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - iterator
    - name
    argTypes:
    - dns_dbiterator_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3448
      start: 3438
    functionDepth: 3
    functionLinenumber: 3438
    functionLinenumberEnd: 3448
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/qpcache.c:3477,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:3477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3480
      start: 3473
    functionDepth: 1
    functionLinenumber: 3473
    functionLinenumberEnd: 3480
    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:3486,1
    - Dst: VALID_QPDB
      Src: /src/bind9/lib/dns/qpcache.c:3486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - db
    - value
    argTypes:
    - dns_db_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3489
      start: 3482
    functionDepth: 1
    functionLinenumber: 3482
    functionLinenumberEnd: 3489
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: DNS_SLABTOP_FOREACH
      Src: /src/bind9/lib/dns/qpcache.c:3515,1
    - Dst: cds_list_for_each_entry_safe
      Src: /src/bind9/lib/dns/qpcache.c:3517,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/qpcache.c:3520,1
    - Dst: dns_slabheader_destroy
      Src: /src/bind9/lib/dns/qpcache.c:3521,1
    - Dst: ISC_SIEVE_LINKED
      Src: /src/bind9/lib/dns/qpcache.c:3524,1
    - Dst: ISC_SIEVE_UNLINK
      Src: /src/bind9/lib/dns/qpcache.c:3525,1
    - Dst: dns_slabtop_destroy
      Src: /src/bind9/lib/dns/qpcache.c:3528,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/qpcache.c:3531,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/qpcache.c:3532,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - qpnode
    argTypes:
    - qpcnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 3533
      start: 3511
    functionDepth: 3
    functionLinenumber: 3511
    functionLinenumberEnd: 3533
    functionName: qpcnode_destroy
    functionSourceFile: /src/bind9/lib/dns/qpcache.c
    functionUses: 0
    functionsReached:
    - cds_list_for_each_entry_safe
    - ISC_SIEVE_LINKED
    - ISC_SIEVE_UNLINK
    - dns_slabheader_destroy
    - DNS_SLABTOP_FOREACH
    - dns_slabtop_destroy
    - cds_list_del
    - isc_mem_putanddetach
    - dns_name_free
    linkageType: ''
    returnType: void
    signature: void qpcnode_destroy(qpcnode_t *qpnode)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - trust
    argTypes:
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 53
    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:61,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 67
    functionName: dns_rdataset_init
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 159
    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:75,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:75,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 82
    functionName: dns_rdataset_invalidate
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:108,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:108,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 102
    functionDepth: 1
    functionLinenumber: 102
    functionLinenumberEnd: 115
    functionName: dns_rdataset_isassociated
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 100
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_rdataset_isassociated(const 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: 126
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 126
    functionName: question_clone
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: "void question_clone(const dns_rdataset_t *source,\n\t       dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:142,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:142,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:143,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: 149
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 149
    functionName: dns_rdataset_makequestion
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:157,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:158,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 151
    functionDepth: 1
    functionLinenumber: 151
    functionLinenumberEnd: 162
    functionName: dns_rdataset_count
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 16
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:171,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:171,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:173,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:173,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:174,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: 177
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 177
    functionName: dns__rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: void
    signature: "void dns__rdataset_clone(const 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:181,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:181,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:182,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:183,1
    - Dst: dns_rdataset_t*::methods::first
      Src: /src/bind9/lib/dns/rdataset.c:185,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/rdataset.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 188
    functionName: dns_rdataset_first
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 72
    functionsReached:
    - dns_rdataset_t*::methods::first
    - REQUIRE
    - DNS_RDATASET_VALID
    - ENSURE
    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:192,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:193,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:194,1
    - Dst: dns_rdataset_t*::methods::next
      Src: /src/bind9/lib/dns/rdataset.c:196,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/rdataset.c:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 199
    functionName: dns_rdataset_next
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 20
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    - ENSURE
    - dns_rdataset_t*::methods::next
    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:207,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 201
    functionDepth: 1
    functionLinenumber: 201
    functionLinenumberEnd: 212
    functionName: dns_rdataset_current
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 379
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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: 215
      start: 214
    functionDepth: 0
    functionLinenumber: 214
    functionLinenumberEnd: 215
    functionName: WANT_CYCLIC
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: WANT_CYCLIC(r)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdataset.c:225,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdataset.c:226,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdataset.c:231,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdataset.c:235,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdataset.c:236,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 6
    argNames:
    - rdataset
    - name
    - cctx
    - target
    - rrbuffer
    - extralen
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    - isc_buffer_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 216
    functionDepth: 6
    functionLinenumber: 216
    functionLinenumberEnd: 238
    functionName: towire_addtypeclass
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint16
    - isc_buffer_availableregion
    - dns_name_towire
    - dns_compress_setpermitted
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t towire_addtypeclass(dns_rdataset_t *rdataset, const dns_name_t
      *name,\n\t\t    dns_compress_t *cctx, isc_buffer_t *target,\n\t\t    isc_buffer_t
      *rrbuffer, size_t extralen)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/dns/rdataset.c:243,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdataset.c:247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - rdataset
    - target
    - rdlen
    argTypes:
    - dns_rdataset_t*
    - isc_buffer_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 240
    functionDepth: 2
    functionLinenumber: 240
    functionLinenumberEnd: 248
    functionName: towire_addttl
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint32
    - isc_buffer_add
    linkageType: ''
    returnType: void
    signature: "void towire_addttl(dns_rdataset_t *rdataset, isc_buffer_t *target,\n\t
      \     isc_buffer_t *rdlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdata_towire
      Src: /src/bind9/lib/dns/rdataset.c:253,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:257,1
    - Dst: isc_buffer_putuint16
      Src: /src/bind9/lib/dns/rdataset.c:259,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 4
    argNames:
    - rdata
    - cctx
    - target
    - rdlen
    argTypes:
    - dns_rdata_t*
    - dns_compress_t*
    - isc_buffer_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 250
    functionDepth: 3
    functionLinenumber: 250
    functionLinenumberEnd: 261
    functionName: towire_addrdata
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putuint16
    - dns_rdata_towire
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t towire_addrdata(dns_rdata_t *rdata, dns_compress_t *cctx,
      isc_buffer_t *target,\n\t\tisc_buffer_t *rdlen)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdataset.c:269,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:270,1
    - Dst: towire_addtypeclass
      Src: /src/bind9/lib/dns/rdataset.c:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 6
    argNames:
    - rdataset
    - name
    - cctx
    - target
    - rrbuffer
    - countp
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    - isc_buffer_t*
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 280
      start: 263
    functionDepth: 7
    functionLinenumber: 263
    functionLinenumberEnd: 280
    functionName: towire_question
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_first
    - INSIST
    - towire_addtypeclass
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t towire_question(dns_rdataset_t *rdataset, const dns_name_t
      *name,\n\t\tdns_compress_t *cctx, isc_buffer_t *target,\n\t\tisc_buffer_t *rrbuffer,
      unsigned int *countp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/rdataset.c:291,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdataset.c:292,1
    - Dst: WANT_CYCLIC
      Src: /src/bind9/lib/dns/rdataset.c:299,1
    - Dst: ARRAY_SIZE
      Src: /src/bind9/lib/dns/rdataset.c:303,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdataset.c:304,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdataset.c:314,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:315,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataset.c:317,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdataset.c:329,1
    - Dst: towire_addtypeclass
      Src: /src/bind9/lib/dns/rdataset.c:329,1
    - Dst: towire_addttl
      Src: /src/bind9/lib/dns/rdataset.c:331,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:333,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdataset.c:334,1
    - Dst: towire_addrdata
      Src: /src/bind9/lib/dns/rdataset.c:334,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataset.c:337,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdataset.c:347,1
    - Dst: towire_addtypeclass
      Src: /src/bind9/lib/dns/rdataset.c:347,1
    - Dst: towire_addttl
      Src: /src/bind9/lib/dns/rdataset.c:349,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/rdataset.c:351,1
    - Dst: towire_addrdata
      Src: /src/bind9/lib/dns/rdataset.c:351,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:355,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdataset.c:360,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 58
    argCount: 7
    argNames:
    - rdataset
    - name
    - cctx
    - target
    - rrbuffer
    - id
    - countp
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - dns_compress_t*
    - isc_buffer_t*
    - isc_buffer_t*
    - uint16_t
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 282
    functionDepth: 7
    functionLinenumber: 282
    functionLinenumberEnd: 364
    functionName: towire_answer
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - WANT_CYCLIC
    - isc_mem_cput
    - isc_mem_cget
    - towire_addttl
    - dns_rdata_init
    - dns_rdataset_next
    - dns_rdataset_first
    - towire_addtypeclass
    - INSIST
    - towire_addrdata
    - dns_rdataset_current
    - CHECK
    - dns_rdataset_count
    - ARRAY_SIZE
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t towire_answer(dns_rdataset_t *rdataset, const dns_name_t
      *name,\n\t      dns_compress_t *cctx, isc_buffer_t *target,\n\t      isc_buffer_t
      *rrbuffer, uint16_t id, unsigned int *countp)"
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:381,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:381,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:382,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:384,1
    - Dst: dns_ncache_towire
      Src: /src/bind9/lib/dns/rdataset.c:394,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdataset.c:398,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/rdataset.c:399,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/rdataset.c:400,1
    - Dst: dns_compress_setmultiuse
      Src: /src/bind9/lib/dns/rdataset.c:401,1
    - Dst: towire_question
      Src: /src/bind9/lib/dns/rdataset.c:406,1
    - Dst: towire_answer
      Src: /src/bind9/lib/dns/rdataset.c:412,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/rdataset.c:423,1
    - Dst: dns_compress_rollback
      Src: /src/bind9/lib/dns/rdataset.c:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 8
    argNames:
    - rdataset
    - owner_name
    - id
    - cctx
    - target
    - partial
    - options
    - countp
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    - uint16_t
    - dns_compress_t*
    - isc_buffer_t*
    - bool
    - unsigned int
    - unsigned int*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 432
      start: 366
    functionDepth: 8
    functionLinenumber: 366
    functionLinenumberEnd: 432
    functionName: dns_rdataset_towire
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 3
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - towire_answer
    - dns_rdataset_getownercase
    - towire_question
    - DNS_RDATASET_VALID
    - dns_fixedname_initname
    - dns_compress_setmultiuse
    - dns_compress_rollback
    - dns_ncache_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    uint16_t id, dns_compress_t *cctx, isc_buffer_t *target,\n\t\t
      \   bool partial, unsigned int options, unsigned int *countp)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:444,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:444,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:445,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/rdataset.c:447,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:453,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdataset.c:454,1
    - Dst: dns_rdata_additionaldata
      Src: /src/bind9/lib/dns/rdataset.c:454,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    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: 458
      start: 434
    functionDepth: 2
    functionLinenumber: 434
    functionLinenumberEnd: 458
    functionName: dns_rdataset_additionaldata
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - dns_rdata_additionaldata
    - DNS_RDATASET_VALID
    - RETERR
    - dns_rdataset_current
    - dns_rdataset_count
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:453,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdataset.c:454,1
    - Dst: dns_rdata_additionaldata
      Src: /src/bind9/lib/dns/rdataset.c:454,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 455
      start: 451
    functionDepth: 2
    functionLinenumber: 451
    functionLinenumberEnd: 455
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 8
    functionsReached:
    - dns_rdata_additionaldata
    - RETERR
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(rdataset)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:462,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:462,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:463,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 460
    functionDepth: 1
    functionLinenumber: 460
    functionLinenumberEnd: 468
    functionName: dns_rdataset_addnoqname
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:474,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:474,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:475,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: 482
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 482
    functionName: dns__rdataset_getnoqname
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:486,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:487,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 484
    functionDepth: 1
    functionLinenumber: 484
    functionLinenumberEnd: 492
    functionName: dns_rdataset_addclosest
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:498,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:498,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:499,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: 506
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 506
    functionName: dns__rdataset_getclosest
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:510,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:510,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:511,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - rdataset
    - trust
    argTypes:
    - dns_rdataset_t*
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 518
      start: 508
    functionDepth: 1
    functionLinenumber: 508
    functionLinenumberEnd: 518
    functionName: dns_rdataset_settrust
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:532,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:532,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 538
      start: 530
    functionDepth: 1
    functionLinenumber: 530
    functionLinenumberEnd: 538
    functionName: dns_rdataset_clearprefetch
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:542,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:542,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:543,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 550
      start: 540
    functionDepth: 1
    functionLinenumber: 540
    functionLinenumberEnd: 550
    functionName: dns_rdataset_setownercase
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:554,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:554,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:555,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 562
      start: 552
    functionDepth: 1
    functionLinenumber: 552
    functionLinenumberEnd: 562
    functionName: dns_rdataset_getownercase
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 13
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    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:570,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:570,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:571,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:571,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:572,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/rdataset.c:578,1
    - Dst: isc_serial_le
      Src: /src/bind9/lib/dns/rdataset.c:579,1
    - Dst: isc_serial_ge
      Src: /src/bind9/lib/dns/rdataset.c:582,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdataset.c:586,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdataset.c:586,1
    - Dst: ISC_MIN
      Src: /src/bind9/lib/dns/rdataset.c:587,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: 590
      start: 564
    functionDepth: 2
    functionLinenumber: 564
    functionLinenumberEnd: 590
    functionName: dns_rdataset_trimttl
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_serial_ge
    - DNS_RDATASET_VALID
    - ISC_MIN
    - isc_serial_le
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdataset.c:599,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/rdataset.c:599,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdataset.c:601,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:602,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:603,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rdataset.c:604,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/rdataset.c:608,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/rdataset.c:610,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataset.c:612,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdataset.c:614,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rdataset.c:615,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/rdataset.c:619,1
    - Dst: dns_time64_from32
      Src: /src/bind9/lib/dns/rdataset.c:620,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/rdataset.c:623,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdataset.c:624,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdataset.c:626,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 30
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 628
      start: 592
    functionDepth: 2
    functionLinenumber: 592
    functionLinenumberEnd: 628
    functionName: dns_rdataset_minresign
    functionSourceFile: /src/bind9/lib/dns/rdataset.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - dns_rdataset_next
    - dns_rdataset_first
    - DNS_RDATASET_VALID
    - dns_rdata_reset
    - dns_rdataset_current
    - dns_time64_from32
    - dns_rdata_tostruct
    linkageType: ''
    returnType: isc_stdtime_t
    signature: isc_stdtime_t dns_rdataset_minresign(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/dlz.c:87,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/dlz.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 89
    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:93,1
    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: 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:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - name
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 107
    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:102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 305
    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:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:123,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/dlz.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:129,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:129,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: 155
      start: 113
    functionDepth: 1
    functionLinenumber: 113
    functionLinenumberEnd: 155
    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: 3
    BranchProfiles: []
    Callsites:
    - 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: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:170,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:173,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/dlz.c:177,1
    - Dst: dlz_impfind
      Src: /src/bind9/lib/dns/dlz.c:180,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:182,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:184,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dlz.c:194,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dlz.c:199,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/dlz.c:201,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:207,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dlz.c:208,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dlz.c:212,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:213,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:214,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:218,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dlz.c:222,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dlz.c:223,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    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: 225
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 225
    functionName: dns_dlzcreate
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_mem_put
    - isc_mem_get
    - dlz_impfind
    - isc_mem_strdup
    - isc_log_write
    - isc_mem_free
    - ISC_LOG_DEBUG
    - CHECK
    - ISC_LINK_INIT
    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:233,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:234,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:239,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:239,1
    - Dst: dns_ssutable_detach
      Src: /src/bind9/lib/dns/dlz.c:245,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/dlz.c:250,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dlz.c:255,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 1
    argNames:
    - dbp
    argTypes:
    - dns_dlzdb_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 256
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 256
    functionName: dns_dlzdestroy
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_DLZ_VALID
    - isc_log_write
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - 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:269,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:276,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:277,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: RWLOCK
      Src: /src/bind9/lib/dns/dlz.c:285,1
    - Dst: dlz_impfind
      Src: /src/bind9/lib/dns/dlz.c:291,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:293,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:294,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:296,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dlz.c:304,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/dlz.c:312,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/dlz.c:318,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/dlz.c:319,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:322,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: 328
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 328
    functionName: dns_dlzregister
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - isc_mem_get
    - ISC_LIST_APPEND
    - dlz_impfind
    - isc_log_write
    - ISC_LOG_DEBUG
    - ISC_LINK_INIT
    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:339,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: 340
      start: 337
    functionDepth: 2
    functionLinenumber: 337
    functionLinenumberEnd: 340
    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:351,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/dlz.c:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:357,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/dlz.c:362,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/dlz.c:365,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/dlz.c:371,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/dlz.c:374,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - dlzimp
    argTypes:
    - dns_dlzimplementation_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 346
    functionDepth: 2
    functionLinenumber: 346
    functionLinenumberEnd: 375
    functionName: dns_dlzunregister
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - ISC_LIST_UNLINK
    - RWLOCK
    - isc_log_write
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    linkageType: ''
    returnType: void
    signature: void dns_dlzunregister(dns_dlzimplementation_t **dlzimp)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:396,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:396,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:398,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/lib/dns/dlz.c:400,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dlz.c:400,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/dlz.c:401,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/dlz.c:401,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/dlz.c:402,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dlz.c:403,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/dlz.c:403,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dlz.c:403,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/dlz.c:405,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:408,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/dns/dlz.c:418,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/dlz.c:420,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/dlz.c:421,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dlz.c:423,1
    - Dst: dns_zone_create
      Src: /src/bind9/lib/dns/dlz.c:426,1
    - Dst: dns_zone_setorigin
      Src: /src/bind9/lib/dns/dlz.c:427,1
    - Dst: dns_zone_setview
      Src: /src/bind9/lib/dns/dlz.c:428,1
    - Dst: dns_zone_setadded
      Src: /src/bind9/lib/dns/dlz.c:430,1
    - Dst: dns_ssutable_createdlz
      Src: /src/bind9/lib/dns/dlz.c:433,1
    - Dst: dns_zone_setssutable
      Src: /src/bind9/lib/dns/dlz.c:435,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dlz.c:437,1
    - Dst: dns_dlzdb_t*::configure_callback
      Src: /src/bind9/lib/dns/dlz.c:437,1
    - Dst: dns_view_addzone
      Src: /src/bind9/lib/dns/dlz.c:439,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/dlz.c:443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 36
    argCount: 3
    argNames:
    - view
    - dlzdb
    - zone_name
    argTypes:
    - dns_view_t*
    - dns_dlzdb_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 386
    functionDepth: 4
    functionLinenumber: 386
    functionLinenumberEnd: 447
    functionName: dns_dlz_writeablezone
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - INSIST
    - isc_buffer_add
    - strlen
    - dns_ssutable_createdlz
    - dns_zone_setview
    - dns_name_fromtext
    - dns_zone_create
    - dns_view_findzone
    - dns_dlzdb_t*::configure_callback
    - isc_log_write
    - dns_zone_setssutable
    - dns_view_addzone
    - CHECK
    - dns_fixedname_init
    - CLEANUP
    - DNS_DLZ_VALID
    - dns_zone_setorigin
    - dns_zone_setadded
    - dns_fixedname_name
    - isc_buffer_constinit
    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:459,1
    - Dst: DNS_DLZ_VALID
      Src: /src/bind9/lib/dns/dlz.c:459,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:460,1
    - Dst: dns_dlzimplementation_t*::methods::configure
      Src: /src/bind9/lib/dns/dlz.c:470,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: 473
      start: 453
    functionDepth: 1
    functionLinenumber: 453
    functionLinenumberEnd: 473
    functionName: dns_dlzconfigure
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 2
    functionsReached:
    - DNS_DLZ_VALID
    - REQUIRE
    - dns_dlzimplementation_t*::methods::configure
    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:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dlz.c:484,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dlz.c:488,1
    - Dst: dns_dlzimplementation_t*::methods::ssumatch
      Src: /src/bind9/lib/dns/dlz.c:494,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: 497
      start: 475
    functionDepth: 2
    functionLinenumber: 475
    functionLinenumberEnd: 497
    functionName: dns_dlz_ssumatch
    functionSourceFile: /src/bind9/lib/dns/dlz.c
    functionUses: 1
    functionsReached:
    - isc_log_write
    - REQUIRE
    - dns_dlzimplementation_t*::methods::ssumatch
    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:45,1
    - Dst: dst__lib_initialize
      Src: /src/bind9/lib/dns/lib.c:49,1
    - Dst: dns__acl_initialize
      Src: /src/bind9/lib/dns/lib.c:50,1
    - Dst: dns__dlz_initialize
      Src: /src/bind9/lib/dns/lib.c:51,1
    - Dst: dns__db_initialize
      Src: /src/bind9/lib/dns/lib.c:52,1
    - Dst: dns__dyndb_initialize
      Src: /src/bind9/lib/dns/lib.c:53,1
    - Dst: dns__qp_initialize
      Src: /src/bind9/lib/dns/lib.c:54,1
    - Dst: dns__qpzone_initialize
      Src: /src/bind9/lib/dns/lib.c:55,1
    - Dst: dns__zone_keymgmt_initialize
      Src: /src/bind9/lib/dns/lib.c:56,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 43
    functionDepth: 3
    functionLinenumber: 43
    functionLinenumberEnd: 57
    functionName: dns__lib_initialize
    functionSourceFile: /src/bind9/lib/dns/lib.c
    functionUses: 0
    functionsReached:
    - dns__qp_initialize
    - dns__db_initialize
    - isc_refcount_increment0
    - dst__lib_initialize
    - dns__dlz_initialize
    - dns__zone_keymgmt_initialize
    - dns__qpzone_initialize
    - dns__dyndb_initialize
    - dns__acl_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:61,1
    - Dst: dns__zone_keymgmt_shutdown
      Src: /src/bind9/lib/dns/lib.c:65,1
    - Dst: dns__qpzone_shutdown
      Src: /src/bind9/lib/dns/lib.c:66,1
    - Dst: dns__qp_shutdown
      Src: /src/bind9/lib/dns/lib.c:67,1
    - Dst: dns__dyndb_shutdown
      Src: /src/bind9/lib/dns/lib.c:68,1
    - Dst: dns__db_shutdown
      Src: /src/bind9/lib/dns/lib.c:69,1
    - Dst: dns__dlz_shutdown
      Src: /src/bind9/lib/dns/lib.c:70,1
    - Dst: dns__acl_shutdown
      Src: /src/bind9/lib/dns/lib.c:71,1
    - Dst: dst__lib_shutdown
      Src: /src/bind9/lib/dns/lib.c:72,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 59
    functionDepth: 2
    functionLinenumber: 59
    functionLinenumberEnd: 73
    functionName: dns__lib_shutdown
    functionSourceFile: /src/bind9/lib/dns/lib.c
    functionUses: 0
    functionsReached:
    - dns__dyndb_shutdown
    - dns__acl_shutdown
    - isc_refcount_decrement
    - dst__lib_shutdown
    - dns__qpzone_shutdown
    - dns__qp_shutdown
    - dns__db_shutdown
    - dns__zone_keymgmt_shutdown
    - dns__dlz_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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:106,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/nsec.c:111,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nsec.c:112,1
    - Dst: dns_name_downcase
      Src: /src/bind9/lib/dns/nsec.c:112,1
    - Dst: memset
      Src: /src/bind9/lib/dns/nsec.c:113,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/nsec.c:114,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/nsec.c:115,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:123,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:124,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec.c:127,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/nsec.c:127,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/nsec.c:130,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/nsec.c:131,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:137,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:139,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/nsec.c:141,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:146,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:147,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:150,1
    - Dst: dns_rdatatype_iszonecutauth
      Src: /src/bind9/lib/dns/nsec.c:151,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:153,1
    - Dst: dns_nsec_compressbitmap
      Src: /src/bind9/lib/dns/nsec.c:158,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:161,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/nsec.c:162,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/nsec.c:162,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 37
    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: 165
      start: 94
    functionDepth: 4
    functionLinenumber: 94
    functionLinenumberEnd: 165
    functionName: dns_nsec_buildrdata
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - memmove
    - INSIST
    - dns_db_allrdatasets
    - dns_nsec_isset
    - RETERR
    - dns_rdataset_disassociate
    - memset
    - dns_rdatasetiter_current
    - dns_nsec_setbit
    - RUNTIME_CHECK
    - dns_name_toregion
    - dns_rdata_fromregion
    - dns_rdatasetiter_destroy
    - dns_nsec_compressbitmap
    - dns_db_class
    - dns_rdatatype_isnsec
    - dns_rdatatype_iszonecutauth
    - dns_name_downcase
    - dns_fixedname_initname
    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:130,1
    - Dst: dns_rdatatype_isnsec
      Src: /src/bind9/lib/dns/nsec.c:131,1
    - Dst: dns_nsec_setbit
      Src: /src/bind9/lib/dns/nsec.c:137,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:139,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 140
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 0
    functionsReached:
    - dns_rdatatype_isnsec
    - dns_rdatasetiter_current
    - dns_nsec_setbit
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec.c:176,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/nsec.c:177,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nsec.c:179,1
    - Dst: dns_nsec_buildrdata
      Src: /src/bind9/lib/dns/nsec.c:179,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/nsec.c:181,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/nsec.c:182,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/nsec.c:185,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/nsec.c:186,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/nsec.c:187,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nsec.c:193,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 18
    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: 195
      start: 167
    functionDepth: 5
    functionLinenumber: 167
    functionLinenumberEnd: 195
    functionName: dns_nsec_build
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 1
    functionsReached:
    - dns_nsec_buildrdata
    - dns_rdata_init
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - ISC_LIST_APPEND
    - dns_db_addrdataset
    - dns_rdatalist_init
    - CHECK
    - dns_rdatalist_tordataset
    - dns_db_class
    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:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:205,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:208,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:209,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:213,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:216,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nsec.c:218,1
    - Dst: dns_nsec_isset
      Src: /src/bind9/lib/dns/nsec.c:226,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:231,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 2
    argNames:
    - nsec
    - type
    argTypes:
    - dns_rdata_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 233
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 233
    functionName: dns_nsec_typepresent
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - INSIST
    - dns_rdata_freestruct
    - dns_nsec_isset
    - dns_rdata_tostruct
    linkageType: ''
    returnType: bool
    signature: bool dns_nsec_typepresent(dns_rdata_t *nsec, dns_rdatatype_t type)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:243,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nsec.c:245,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec.c:247,1
    - Dst: dns_db_getoriginnode
      Src: /src/bind9/lib/dns/nsec.c:247,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/nsec.c:249,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nsec.c:251,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:263,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:264,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nsec.c:265,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/nsec.c:273,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/nsec.c:281,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:296,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 36
    argCount: 4
    argNames:
    - db
    - version
    - diff
    - answer
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_diff_t*
    - bool*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 235
    functionDepth: 3
    functionLinenumber: 235
    functionLinenumberEnd: 299
    functionName: dns_nsec_nseconly
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dns_db_getoriginnode
    - dns_db_detachnode
    - RUNTIME_CHECK
    - dns_rdataset_init
    - dns_db_findrdataset
    - RETERR
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - dns_rdata_compare
    - dns_rdata_tostruct
    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:263,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:264,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nsec.c:265,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/nsec.c:273,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/nsec.c:281,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 295
      start: 260
    functionDepth: 3
    functionLinenumber: 260
    functionLinenumberEnd: 295
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - ISC_LIST_FOREACH
    - dns_rdataset_current
    - dns_rdata_compare
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&rdataset)
  - BBCount: 17
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:325,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/nsec.c:327,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:329,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:332,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:335,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:336,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:338,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:344,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/nsec.c:345,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:351,1
    - Dst: dns_rdatatype_atparent
      Src: /src/bind9/lib/dns/nsec.c:361,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:362,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:363,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:371,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:380,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:384,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:387,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:388,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:393,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:398,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:399,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:407,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:412,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:414,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nsec.c:419,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/nsec.c:419,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/nsec.c:420,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:422,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:423,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nsec.c:428,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: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:439,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:441,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/nsec.c:448,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec.c:450,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec.c:451,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/nsec.c:454,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/nsec.c:455,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/nsec.c:458,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:460,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:461,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/nsec.c:466,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nsec.c:467,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 91
    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: 470
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 470
    functionName: dns_nsec_noexistnodata
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - dns_name_fullcompare
    - dns_name_init
    - dns_rdatatype_atparent
    - dns_name_concatenate
    - dns_rdataset_first
    - dns_rdata_freestruct
    - dns_name_getlabelsequence
    - ISC_LOG_DEBUG
    - dns_nsec_typepresent
    - RETERR
    - dns_rdataset_current
    - dns_name_countlabels
    - dns_rdata_tostruct
    - dns_name_issubdomain
    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:477,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/nsec.c:477,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nsec.c:478,1
    - Dst: dns_rdataset_clone
      Src: /src/bind9/lib/dns/nsec.c:480,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/nsec.c:484,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:485,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:486,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:488,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:493,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - nsecset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 495
      start: 472
    functionDepth: 3
    functionLinenumber: 472
    functionLinenumberEnd: 495
    functionName: dns_nsec_requiredtypespresent
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    - dns_rdataset_clone
    - dns_nsec_typepresent
    - dns_rdataset_current
    - dns_rdataset_disassociate
    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:484,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:485,1
    - Dst: dns_nsec_typepresent
      Src: /src/bind9/lib/dns/nsec.c:486,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/nsec.c:488,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 492
      start: 482
    functionDepth: 3
    functionLinenumber: 482
    functionLinenumberEnd: 492
    functionName: (&rdataset)
    functionSourceFile: /src/bind9/lib/dns/nsec.c
    functionUses: 0
    functionsReached:
    - dns_nsec_typepresent
    - dns_rdataset_current
    - dns_rdataset_disassociate
    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
    - set_state
    - MMDB_lookup_sockaddr
    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:
    - strncasecmp
    - REQUIRE
    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:
    - strncasecmp
    - fix_subtype
    - REQUIRE
    - geoip2_database
    - get_entry_for
    - INSIST
    - match_string
    - match_int
    - strtol
    - MMDB_get_value
    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:
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdatavec.c:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - p1
    - p2
    argTypes:
    - void*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 96
    functionDepth: 3
    functionLinenumber: 96
    functionLinenumberEnd: 99
    functionName: compare_rdata
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 1
    functionsReached:
    - dns_rdata_compare
    linkageType: ''
    returnType: int
    signature: int compare_rdata(const void *p1, const void *p2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdatavec.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 105
    functionName: header_size
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - UNUSED
    linkageType: ''
    returnType: size_t
    signature: size_t header_size(const dns_vecheader_t *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 113
    functionName: rdatavec_raw
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - header_size
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      rdatavec_raw(dns_vecheader_t *header)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdatavec_raw
      Src: /src/bind9/lib/dns/rdatavec.c:117,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 118
    functionName: rdatavec_data
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - rdatavec_raw
    linkageType: ''
    returnType: unsigned char
    signature: 'unsigned char *

      rdatavec_data(dns_vecheader_t *header)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdatavec_raw
      Src: /src/bind9/lib/dns/rdatavec.c:122,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:123,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 120
    functionDepth: 2
    functionLinenumber: 120
    functionLinenumberEnd: 126
    functionName: rdatavec_count
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 4
    functionsReached:
    - get_uint16
    - rdatavec_raw
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rdatavec_count(dns_vecheader_t *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdatavec.c:131,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/rdatavec.c:137,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/rdatavec.c:138,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 4
    argNames:
    - rdataset
    - mctx
    - region
    - size
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 145
    functionName: newvec
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_ref
    - isc_mem_get
    linkageType: ''
    returnType: unsigned char
    signature: "unsigned char *\nnewvec(dns_rdataset_t *rdataset, isc_mem_t *mctx,
      isc_region_t *region,\n       size_t size)"
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: dns_vecheader_getheader
      Src: /src/bind9/lib/dns/rdatavec.c:172,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/lib/dns/rdatavec.c:173,1
    - Dst: newvec
      Src: /src/bind9/lib/dns/rdatavec.c:175,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:177,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdatavec.c:178,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/rdatavec.c:187,1
    - Dst: newvec
      Src: /src/bind9/lib/dns/rdatavec.c:192,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:193,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rdatavec.c:210,1
    - Dst: ckd_mul
      Src: /src/bind9/lib/dns/rdatavec.c:210,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdatavec.c:211,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdatavec.c:216,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:221,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdatavec.c:222,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdatavec.c:223,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:224,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rdatavec.c:225,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/rdatavec.c:242,1
    - Dst: compare_rdata
      Src: /src/bind9/lib/dns/rdatavec.c:255,1
    - Dst: dns_rdatatype_issingleton
      Src: /src/bind9/lib/dns/rdatavec.c:292,1
    - Dst: newvec
      Src: /src/bind9/lib/dns/rdatavec.c:305,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:306,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:316,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:318,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdatavec.c:329,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdatavec.c:337,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 101
    argCount: 4
    argNames:
    - rdataset
    - mctx
    - region
    - maxrrperset
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 339
      start: 147
    functionDepth: 2
    functionLinenumber: 147
    functionLinenumberEnd: 339
    functionName: makevec
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - qsort
    - memmove
    - isc_mem_put
    - INSIST
    - isc_mem_get
    - dns_rdataset_first
    - dns_vecheader_getheader
    - dns_rdatavec_size
    - newvec
    - RUNTIME_CHECK
    - ckd_mul
    - dns_rdata_init
    - dns_rdataset_next
    - compare_rdata
    - dns_rdatatype_issingleton
    - dns_rdataset_current
    - dns_rdataset_count
    - put_uint16
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t makevec(dns_rdataset_t *rdataset, isc_mem_t *mctx, isc_region_t
      *region,\n\tuint32_t maxrrperset)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: makevec
      Src: /src/bind9/lib/dns/rdatavec.c:352,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:358,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:359,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/rdatavec.c:360,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:363,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:364,1
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/rdatavec.c:364,1
    - Dst: DNS_TYPEPAIR_VALUE
      Src: /src/bind9/lib/dns/rdatavec.c:366,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/rdatavec.c:378,1
    - Dst: references::references
      Src: /src/bind9/lib/dns/rdatavec.c:378,1
    - Dst: mctx::mctx
      Src: /src/bind9/lib/dns/rdatavec.c:379,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 18
    argCount: 4
    argNames:
    - rdataset
    - mctx
    - region
    - maxrrperset
    argTypes:
    - dns_rdataset_t*
    - isc_mem_t*
    - isc_region_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 341
    functionDepth: 3
    functionLinenumber: 341
    functionLinenumberEnd: 384
    functionName: dns_rdatavec_fromrdataset
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 6
    functionsReached:
    - references::references
    - mctx::mctx
    - INSIST
    - makevec
    - DNS_TYPEPAIR_VALUE
    - atomic_load_acquire
    - dns_rdatatype_issig
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdatavec_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/rdatavec.c:388,1
    - Dst: rdatavec_raw
      Src: /src/bind9/lib/dns/rdatavec.c:390,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:391,1
    - Dst: rdatavec_data
      Src: /src/bind9/lib/dns/rdatavec.c:393,1
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:394,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:397,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:401,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 402
      start: 386
    functionDepth: 3
    functionLinenumber: 386
    functionLinenumberEnd: 402
    functionName: dns_rdatavec_size
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - header_size
    - INSIST
    - rdatavec_data
    - rdatavec_raw
    - rdatavec_count
    - get_uint16
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdatavec_size(dns_vecheader_t *header)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:406,1
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 409
      start: 404
    functionDepth: 3
    functionLinenumber: 404
    functionLinenumberEnd: 409
    functionName: dns_rdatavec_count
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 4
    functionsReached:
    - rdatavec_count
    - REQUIRE
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int dns_rdatavec_count(dns_vecheader_t *header)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:423,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdatavec.c:435,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: 440
      start: 417
    functionDepth: 2
    functionLinenumber: 417
    functionLinenumberEnd: 440
    functionName: rdata_from_vecitem
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - get_uint16
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: "void rdata_from_vecitem(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/rdatavec.c:454,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdatavec.c:455,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: 459
      start: 442
    functionDepth: 0
    functionLinenumber: 442
    functionLinenumberEnd: 459
    functionName: rdata_to_vecitem
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - put_uint16
    - memmove
    linkageType: ''
    returnType: void
    signature: "void rdata_to_vecitem(unsigned char **current, dns_rdatatype_t type,\n\t\t
      dns_rdata_t *rdata)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:479,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:480,1
    - Dst: rdatavec_data
      Src: /src/bind9/lib/dns/rdatavec.c:482,1
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:483,1
    - Dst: rdatavec_data
      Src: /src/bind9/lib/dns/rdatavec.c:485,1
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:486,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:488,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:498,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdatavec.c:504,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdatavec.c:505,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdatavec.c:513,1
    - Dst: rdata_from_vecitem
      Src: /src/bind9/lib/dns/rdatavec.c:514,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:516,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:517,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdatavec.c:527,1
    - Dst: rdata_from_vecitem
      Src: /src/bind9/lib/dns/rdatavec.c:528,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdatavec.c:540,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:563,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:564,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:575,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:583,1
    - Dst: rdatavec_data
      Src: /src/bind9/lib/dns/rdatavec.c:590,1
    - Dst: dns_rdatatype_issingleton
      Src: /src/bind9/lib/dns/rdatavec.c:593,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:594,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:598,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdatavec.c:606,1
    - Dst: DNS_VECHEADER_GETATTR
      Src: /src/bind9/lib/dns/rdatavec.c:608,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/rdatavec.c:611,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/rdatavec.c:616,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/rdatavec.c:622,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdatavec.c:623,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdatavec.c:624,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/rdatavec.c:624,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdatavec.c:625,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:627,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:630,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdatavec.c:648,1
    - Dst: rdata_to_vecitem
      Src: /src/bind9/lib/dns/rdatavec.c:653,1
    - Dst: rdata_to_vecitem
      Src: /src/bind9/lib/dns/rdatavec.c:659,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:663,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdatavec.c:668,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdatavec.c:669,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 96
    argCount: 8
    argNames:
    - oheader
    - nheader
    - mctx
    - rdclass
    - type
    - flags
    - maxrrperset
    - theaderp
    argTypes:
    - dns_vecheader_t*
    - dns_vecheader_t*
    - isc_mem_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned int
    - uint32_t
    - dns_vecheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 672
      start: 467
    functionDepth: 3
    functionLinenumber: 467
    functionLinenumberEnd: 672
    functionName: dns_rdatavec_merge
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - header_size
    - memmove
    - INSIST
    - atomic_init
    - rdata_from_vecitem
    - isc_mem_cget
    - RESIGN
    - isc_mem_ref
    - rdatavec_count
    - dns_rdata_compare
    - put_uint16
    - dns_rdata_init
    - atomic_load_acquire
    - DNS_VECHEADER_GETATTR
    - CLEANUP
    - isc_refcount_init
    - isc_mem_cput
    - rdata_to_vecitem
    - isc_mem_get
    - rdatavec_data
    - dns_rdatatype_issingleton
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdatavec_merge(dns_vecheader_t *oheader, dns_vecheader_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_vecheader_t **theaderp)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:687,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:688,1
    - Dst: rdatavec_data
      Src: /src/bind9/lib/dns/rdatavec.c:690,1
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:691,1
    - Dst: rdatavec_data
      Src: /src/bind9/lib/dns/rdatavec.c:693,1
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:694,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:696,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdatavec.c:699,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdatavec.c:702,1
    - Dst: rdata_from_vecitem
      Src: /src/bind9/lib/dns/rdatavec.c:703,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:710,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/rdatavec.c:716,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rdatavec.c:721,1
    - Dst: rdata_from_vecitem
      Src: /src/bind9/lib/dns/rdatavec.c:722,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/rdatavec.c:727,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:746,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:749,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:762,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:770,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/rdatavec.c:777,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdatavec.c:783,1
    - Dst: RESIGN
      Src: /src/bind9/lib/dns/rdatavec.c:785,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/rdatavec.c:788,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/rdatavec.c:794,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdatavec.c:795,1
    - Dst: atomic_init
      Src: /src/bind9/lib/dns/rdatavec.c:796,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/rdatavec.c:796,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdatavec.c:797,1
    - Dst: header_size
      Src: /src/bind9/lib/dns/rdatavec.c:799,1
    - Dst: put_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:804,1
    - Dst: rdata_to_vecitem
      Src: /src/bind9/lib/dns/rdatavec.c:811,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:815,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdatavec.c:820,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/rdatavec.c:821,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 69
    argCount: 7
    argNames:
    - oheader
    - sheader
    - mctx
    - rdclass
    - type
    - flags
    - theaderp
    argTypes:
    - dns_vecheader_t*
    - dns_vecheader_t*
    - isc_mem_t*
    - dns_rdataclass_t
    - dns_rdatatype_t
    - unsigned int
    - dns_vecheader_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 824
      start: 674
    functionDepth: 3
    functionLinenumber: 674
    functionLinenumberEnd: 824
    functionName: dns_rdatavec_subtract
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - header_size
    - memmove
    - INSIST
    - atomic_init
    - rdata_from_vecitem
    - isc_mem_cget
    - RESIGN
    - isc_mem_ref
    - rdatavec_count
    - dns_rdata_compare
    - put_uint16
    - dns_rdata_init
    - atomic_load_acquire
    - CLEANUP
    - isc_refcount_init
    - isc_mem_cput
    - rdata_to_vecitem
    - isc_mem_get
    - rdatavec_data
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_rdatavec_subtract(dns_vecheader_t *oheader, dns_vecheader_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_vecheader_t **theaderp)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:828,1
    - Dst: CASESET
      Src: /src/bind9/lib/dns/rdatavec.c:828,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdatavec.c:836,1
    - Dst: isupper
      Src: /src/bind9/lib/dns/rdatavec.c:838,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/rdatavec.c:844,1
    - Dst: DNS_VECHEADER_SETATTR
      Src: /src/bind9/lib/dns/rdatavec.c:846,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - header
    - name
    argTypes:
    - dns_vecheader_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 847
      start: 826
    functionDepth: 1
    functionLinenumber: 826
    functionLinenumberEnd: 847
    functionName: dns_vecheader_setownercase
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isupper
    - CASESET
    - memset
    - DNS_VECHEADER_SETATTR
    linkageType: ''
    returnType: void
    signature: void dns_vecheader_setownercase(dns_vecheader_t *header, const dns_name_t
      *name)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdatavec.c:853,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/rdatavec.c:855,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/rdatavec.c:856,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - mctx
    argTypes:
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 859
      start: 849
    functionDepth: 1
    functionLinenumber: 849
    functionLinenumberEnd: 859
    functionName: dns_vecheader_new
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 2
    functionsReached:
    - ISC_REFCOUNT_INITIALIZER
    - isc_mem_ref
    - isc_mem_get
    linkageType: ''
    returnType: dns_vecheader_t
    signature: 'dns_vecheader_t *

      dns_vecheader_new(isc_mem_t *mctx)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: rdatavec_data
      Src: /src/bind9/lib/dns/rdatavec.c:866,1
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:867,1
    - Dst: DNS_TYPEPAIR_TYPE
      Src: /src/bind9/lib/dns/rdatavec.c:884,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 3
    argNames:
    - iter
    - header
    - rdclass
    argTypes:
    - rdatavec_iter_t*
    - dns_vecheader_t*
    - dns_rdataclass_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 887
      start: 863
    functionDepth: 3
    functionLinenumber: 863
    functionLinenumberEnd: 887
    functionName: vecheader_first
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - rdatavec_data
    - DNS_TYPEPAIR_TYPE
    - rdatavec_count
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t vecheader_first(rdatavec_iter_t *iter, dns_vecheader_t
      *header,\n\t\tdns_rdataclass_t rdclass)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: peek_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - iter
    argTypes:
    - rdatavec_iter_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 907
      start: 889
    functionDepth: 0
    functionLinenumber: 889
    functionLinenumberEnd: 907
    functionName: vecheader_next
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - peek_uint16
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t vecheader_next(rdatavec_iter_t *iter)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:917,1
    - Dst: get_uint16
      Src: /src/bind9/lib/dns/rdatavec.c:923,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/rdatavec.c:934,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - iter
    - rdata
    argTypes:
    - rdatavec_iter_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 936
      start: 909
    functionDepth: 2
    functionLinenumber: 909
    functionLinenumberEnd: 936
    functionName: vecheader_current
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - get_uint16
    - dns_rdata_fromregion
    linkageType: ''
    returnType: void
    signature: void vecheader_current(rdatavec_iter_t *iter, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vecheader_first
      Src: /src/bind9/lib/dns/rdatavec.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 949
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 949
    functionName: rdataset_first
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 79
    functionsReached:
    - vecheader_first
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdataset_first(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vecheader_next
      Src: /src/bind9/lib/dns/rdatavec.c:953,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 954
      start: 951
    functionDepth: 1
    functionLinenumber: 951
    functionLinenumberEnd: 954
    functionName: rdataset_next
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 25
    functionsReached:
    - vecheader_next
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t rdataset_next(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: vecheader_current
      Src: /src/bind9/lib/dns/rdatavec.c:958,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 959
      start: 956
    functionDepth: 3
    functionLinenumber: 956
    functionLinenumberEnd: 959
    functionName: rdataset_current
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 389
    functionsReached:
    - vecheader_current
    linkageType: ''
    returnType: void
    signature: void rdataset_current(dns_rdataset_t *rdataset, dns_rdata_t *rdata)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdatavec.c:964,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/rdatavec.c:964,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/rdatavec.c:966,1
    - Dst: dns_vecheader_ref
      Src: /src/bind9/lib/dns/rdatavec.c:971,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: 972
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 972
    functionName: rdataset_clone
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 32
    functionsReached:
    - ISC_LINK_INIT
    - ISC_LINK_LINKED
    - dns_vecheader_ref
    - INSIST
    linkageType: ''
    returnType: void
    signature: "void rdataset_clone(const dns_rdataset_t *source,\n\t       dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: rdatavec_count
      Src: /src/bind9/lib/dns/rdatavec.c:976,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 977
      start: 974
    functionDepth: 3
    functionLinenumber: 974
    functionLinenumberEnd: 977
    functionName: rdataset_count
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 19
    functionsReached:
    - rdatavec_count
    linkageType: ''
    returnType: unsigned int
    signature: unsigned int rdataset_count(dns_rdataset_t *rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_vecheader_getheader
      Src: /src/bind9/lib/dns/rdatavec.c:981,1
    - Dst: atomic_store
      Src: /src/bind9/lib/dns/rdatavec.c:984,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - rdataset
    - trust
    argTypes:
    - dns_rdataset_t*
    - dns_trust_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 985
      start: 979
    functionDepth: 1
    functionLinenumber: 979
    functionLinenumberEnd: 985
    functionName: rdataset_settrust
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 6
    functionsReached:
    - dns_vecheader_getheader
    - atomic_store
    linkageType: ''
    returnType: void
    signature: void rdataset_settrust(dns_rdataset_t *rdataset, dns_trust_t trust)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: dns_vecheader_getheader
      Src: /src/bind9/lib/dns/rdatavec.c:989,1
    - Dst: CASESET
      Src: /src/bind9/lib/dns/rdatavec.c:993,1
    - Dst: CASEFULLYLOWER
      Src: /src/bind9/lib/dns/rdatavec.c:997,1
    - Dst: isc_ascii_lowercopy
      Src: /src/bind9/lib/dns/rdatavec.c:998,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/lib/dns/rdatavec.c:1010,1
    - Dst: isc_ascii_tolower
      Src: /src/bind9/lib/dns/rdatavec.c:1011,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1013
      start: 987
    functionDepth: 2
    functionLinenumber: 987
    functionLinenumberEnd: 1013
    functionName: rdataset_getownercase
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 13
    functionsReached:
    - CASEFULLYLOWER
    - isc_ascii_toupper
    - dns_vecheader_getheader
    - isc_ascii_lowercopy
    - CASESET
    - isc_ascii_tolower
    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: 1018
      start: 1015
    functionDepth: 0
    functionLinenumber: 1015
    functionLinenumberEnd: 1018
    functionName: dns_vecheader_getheader
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: dns_vecheader_t
    signature: 'dns_vecheader_t *

      dns_vecheader_getheader(const dns_rdataset_t *rdataset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MOVE_OWNERSHIP
      Src: /src/bind9/lib/dns/rdatavec.c:1022,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rdatavec.c:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1028
      start: 1020
    functionDepth: 2
    functionLinenumber: 1020
    functionLinenumberEnd: 1028
    functionName: dns_vecheader_moveheader
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_init
    - MOVE_OWNERSHIP
    linkageType: ''
    returnType: dns_vecheader_t
    signature: 'dns_vecheader_t *

      dns_vecheader_moveheader(dns_rdataset_t *rdataset)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/rdatavec.c:1032,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - mctx
    - typepair
    argTypes:
    - isc_mem_t*
    - dns_typepair_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1040
      start: 1030
    functionDepth: 1
    functionLinenumber: 1030
    functionLinenumberEnd: 1040
    functionName: dns_vectop_new
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 1
    functionsReached:
    - isc_mem_get
    linkageType: ''
    returnType: dns_vectop_t
    signature: 'dns_vectop_t *

      dns_vectop_new(isc_mem_t *mctx, dns_typepair_t typepair)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdatavec.c:1044,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/rdatavec.c:1047,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - mctx
    - topp
    argTypes:
    - isc_mem_t*
    - dns_vectop_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 1042
    functionDepth: 1
    functionLinenumber: 1042
    functionLinenumberEnd: 1048
    functionName: dns_vectop_destroy
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void dns_vectop_destroy(isc_mem_t *mctx, dns_vectop_t **topp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXISTS
      Src: /src/bind9/lib/dns/rdatavec.c:1052,1
    - Dst: dns_rdatavec_size
      Src: /src/bind9/lib/dns/rdatavec.c:1052,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/rdatavec.c:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - header
    argTypes:
    - dns_vecheader_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1056
      start: 1050
    functionDepth: 4
    functionLinenumber: 1050
    functionLinenumberEnd: 1056
    functionName: vecheader_destroy
    functionSourceFile: /src/bind9/lib/dns/rdatavec.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - dns_rdatavec_size
    - EXISTS
    linkageType: ''
    returnType: void
    signature: void vecheader_destroy(dns_vecheader_t *header)
  - 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: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/unreachcache.c:95,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/unreachcache.c:96,1
    - Dst: cds_lfht_new
      Src: /src/bind9/lib/dns/unreachcache.c:105,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:107,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/unreachcache.c:109,1
    - Dst: CDS_INIT_LIST_HEAD
      Src: /src/bind9/lib/dns/unreachcache.c:111,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/unreachcache.c:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 4
    argNames:
    - mctx
    - expire_min_s
    - expire_max_s
    - backoff_eligible_s
    argTypes:
    - isc_mem_t*
    - uint16_t
    - uint16_t
    - uint16_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 88
    functionDepth: 2
    functionLinenumber: 88
    functionLinenumberEnd: 117
    functionName: dns_unreachcache_new
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_cget
    - INSIST
    - isc_mem_get
    - cds_lfht_new
    - isc_loopmgr_nloops
    - CDS_INIT_LIST_HEAD
    linkageType: ''
    returnType: dns_unreachcache_t
    signature: "dns_unreachcache_t *\ndns_unreachcache_new(isc_mem_t *mctx, const
      uint16_t expire_min_s,\n\t\t     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:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:122,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:122,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/unreachcache.c:129,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:130,1
    - Dst: cds_lfht_del
      Src: /src/bind9/lib/dns/unreachcache.c:130,1
    - Dst: ucentry_destroy
      Src: /src/bind9/lib/dns/unreachcache.c:131,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/unreachcache.c:133,1
    - Dst: cds_lfht_destroy
      Src: /src/bind9/lib/dns/unreachcache.c:133,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/unreachcache.c:135,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/unreachcache.c:137,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ucp
    argTypes:
    - dns_unreachcache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 119
    functionDepth: 1
    functionLinenumber: 119
    functionLinenumberEnd: 138
    functionName: dns_unreachcache_destroy
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - ucentry_destroy
    - isc_mem_cput
    - INSIST
    - VALID_UNREACHCACHE
    - cds_lfht_for_each_entry
    - RUNTIME_CHECK
    - isc_mem_putanddetach
    - cds_lfht_destroy
    - cds_lfht_del
    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:143,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/unreachcache.c:146,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/unreachcache.c:147,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ht_node
    - key0
    argTypes:
    - struct cds_lfht_node*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 148
    functionName: ucentry_match
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_equal
    - caa_container_of
    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:152,1
    - Dst: isc_sockaddr_hash
      Src: /src/bind9/lib/dns/unreachcache.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns__uckey_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 154
    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:160,1
    - Dst: cds_lfht_entry
      Src: /src/bind9/lib/dns/unreachcache.c:162,1
    - Dst: cds_lfht_iter_get_node
      Src: /src/bind9/lib/dns/unreachcache.c:162,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: 164
      start: 156
    functionDepth: 1
    functionLinenumber: 156
    functionLinenumberEnd: 164
    functionName: ucentry_lookup
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - cds_lfht_lookup
    - cds_lfht_entry
    - cds_lfht_iter_get_node
    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:170,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/unreachcache.c:171,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/unreachcache.c:177,1
    - Dst: CDS_LIST_HEAD_INIT
      Src: /src/bind9/lib/dns/unreachcache.c:178,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: 182
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 182
    functionName: ucentry_new
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - CDS_LIST_HEAD_INIT
    - isc_loop_ref
    - isc_loop_getmctx
    - isc_mem_get
    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:186,1
    - Dst: isc_loop_getmctx
      Src: /src/bind9/lib/dns/unreachcache.c:189,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/unreachcache.c:191,1
    - Dst: isc_loop_unref
      Src: /src/bind9/lib/dns/unreachcache.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - rcu_head
    argTypes:
    - struct rcu_head*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 184
    functionDepth: 2
    functionLinenumber: 184
    functionLinenumberEnd: 193
    functionName: ucentry_destroy
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 1
    functionsReached:
    - isc_loop_getmctx
    - isc_mem_put
    - 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:199,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/unreachcache.c:199,1
    - Dst: cds_list_del
      Src: /src/bind9/lib/dns/unreachcache.c:201,1
    - Dst: call_rcu
      Src: /src/bind9/lib/dns/unreachcache.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 203
    functionName: ucentry_evict_async
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - RUNTIME_CHECK
    - isc_loop
    - cds_list_del
    - call_rcu
    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:207,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/unreachcache.c:208,1
    - Dst: ucentry_evict_async
      Src: /src/bind9/lib/dns/unreachcache.c:209,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/unreachcache.c:212,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 2
    argNames:
    - ht
    - unreach
    argTypes:
    - struct cds_lfht*
    - dns_ucentry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 205
    functionDepth: 2
    functionLinenumber: 205
    functionLinenumberEnd: 214
    functionName: ucentry_evict
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - isc_async_run
    - cds_lfht_del
    - isc_loop
    - ucentry_evict_async
    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:219,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:239,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: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: ucentry_alive
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 0
    functionsReached:
    - ucentry_evict
    - cds_lfht_is_node_deleted
    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:252,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: 259
      start: 246
    functionDepth: 4
    functionLinenumber: 246
    functionLinenumberEnd: 259
    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:252,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 251
    functionDepth: 4
    functionLinenumber: 251
    functionLinenumberEnd: 258
    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:278,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: 283
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 283
    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:288,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:289,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:290,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/unreachcache.c:292,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/unreachcache.c:293,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/unreachcache.c:295,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:299,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:300,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:301,1
    - Dst: ucentry_hash
      Src: /src/bind9/lib/dns/unreachcache.c:307,1
    - Dst: ucentry_new
      Src: /src/bind9/lib/dns/unreachcache.c:309,1
    - Dst: cds_lfht_add_unique
      Src: /src/bind9/lib/dns/unreachcache.c:313,1
    - Dst: caa_container_of
      Src: /src/bind9/lib/dns/unreachcache.c:317,1
    - Dst: ucentry_backoff
      Src: /src/bind9/lib/dns/unreachcache.c:333,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:340,1
    - Dst: cds_list_add_tail_rcu
      Src: /src/bind9/lib/dns/unreachcache.c:345,1
    - Dst: ucentry_purge
      Src: /src/bind9/lib/dns/unreachcache.c:347,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:349,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: 350
      start: 285
    functionDepth: 5
    functionLinenumber: 285
    functionLinenumberEnd: 350
    functionName: dns_unreachcache_add
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - VALID_UNREACHCACHE
    - INSIST
    - ucentry_hash
    - cds_lfht_add_unique
    - rcu_read_unlock
    - ucentry_purge
    - isc_tid
    - rcu_read_lock
    - rcu_dereference
    - ucentry_new
    - isc_loop
    - cds_list_add_tail_rcu
    - caa_container_of
    - ucentry_evict
    - ucentry_backoff
    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:355,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:355,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:357,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/unreachcache.c:360,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:362,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:363,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:364,1
    - Dst: ucentry_hash
      Src: /src/bind9/lib/dns/unreachcache.c:370,1
    - Dst: ucentry_lookup
      Src: /src/bind9/lib/dns/unreachcache.c:372,1
    - Dst: ucentry_alive
      Src: /src/bind9/lib/dns/unreachcache.c:374,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/unreachcache.c:379,1
    - Dst: ucentry_purge
      Src: /src/bind9/lib/dns/unreachcache.c:381,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:383,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: 386
      start: 352
    functionDepth: 5
    functionLinenumber: 352
    functionLinenumberEnd: 386
    functionName: dns_unreachcache_find
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - VALID_UNREACHCACHE
    - INSIST
    - ucentry_hash
    - rcu_read_unlock
    - ucentry_purge
    - ucentry_alive
    - rcu_read_lock
    - rcu_dereference
    - isc_tid
    - ucentry_lookup
    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:391,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:391,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:392,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/unreachcache.c:393,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/unreachcache.c:395,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:397,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:398,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:399,1
    - Dst: ucentry_hash
      Src: /src/bind9/lib/dns/unreachcache.c:405,1
    - Dst: ucentry_lookup
      Src: /src/bind9/lib/dns/unreachcache.c:407,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:409,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/unreachcache.c:412,1
    - Dst: ucentry_purge
      Src: /src/bind9/lib/dns/unreachcache.c:414,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:416,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: 417
      start: 388
    functionDepth: 5
    functionLinenumber: 388
    functionLinenumberEnd: 417
    functionName: dns_unreachcache_remove
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_stdtime_now
    - VALID_UNREACHCACHE
    - INSIST
    - ucentry_hash
    - rcu_read_unlock
    - ucentry_purge
    - isc_tid
    - rcu_read_lock
    - rcu_dereference
    - ucentry_lookup
    - ucentry_evict
    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:421,1
    - Dst: VALID_UNREACHCACHE
      Src: /src/bind9/lib/dns/unreachcache.c:421,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/unreachcache.c:423,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/unreachcache.c:424,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/unreachcache.c:425,1
    - Dst: cds_lfht_for_each_entry
      Src: /src/bind9/lib/dns/unreachcache.c:430,1
    - Dst: ucentry_evict
      Src: /src/bind9/lib/dns/unreachcache.c:431,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/unreachcache.c:434,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - uc
    argTypes:
    - dns_unreachcache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 419
    functionDepth: 3
    functionLinenumber: 419
    functionLinenumberEnd: 435
    functionName: dns_unreachcache_flush
    functionSourceFile: /src/bind9/lib/dns/unreachcache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_UNREACHCACHE
    - INSIST
    - cds_lfht_for_each_entry
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - ucentry_evict
    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: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    functionName: VALID_NTA
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: VALID_NTA(nn)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:89,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/nta.c:92,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nta.c:93,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nta.c:94,1
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/nta.c:96,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/nta.c:97,1
    - Dst: isc_loop_detach
      Src: /src/bind9/lib/dns/nta.c:99,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/nta.c:100,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/nta.c:101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - nta
    argTypes:
    - dns__nta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 87
    functionDepth: 3
    functionLinenumber: 87
    functionLinenumberEnd: 102
    functionName: dns__nta_destroy
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdataset_cleanup
    - isc_mem_putanddetach
    - dns_ntatable_detach
    - dns_name_free
    - dns_resolver_destroyfetch
    - 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:114,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/nta.c:116,1
    - Dst: isc_mem_ref
      Src: /src/bind9/lib/dns/nta.c:119,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/nta.c:120,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/nta.c:123,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/nta.c:125,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - view
    - ntatablep
    argTypes:
    - dns_view_t*
    - dns_ntatable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 128
    functionName: dns_ntatable_create
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - dns_view_weakattach
    - isc_mem_get
    - dns_qpmulti_create
    - isc_mem_ref
    linkageType: ''
    returnType: void
    signature: void dns_ntatable_create(dns_view_t *view, dns_ntatable_t **ntatablep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nta.c:133,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/nta.c:134,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/nta.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - ntatable
    argTypes:
    - dns_ntatable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: dns__ntatable_destroy
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - isc_mem_putanddetach
    - INSIST
    linkageType: ''
    returnType: void
    signature: void dns__ntatable_destroy(dns_ntatable_t *ntatable)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/nta.c:150,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:153,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:154,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nta.c:156,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nta.c:157,1
    - Dst: dns_resolver_destroyfetch
      Src: /src/bind9/lib/dns/nta.c:161,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/nta.c:164,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/nta.c:167,1
    - Dst: dns_resolver_freefresp
      Src: /src/bind9/lib/dns/nta.c:170,1
    - Dst: CMM_LOAD_SHARED
      Src: /src/bind9/lib/dns/nta.c:172,1
    - Dst: CMM_STORE_SHARED
      Src: /src/bind9/lib/dns/nta.c:181,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/nta.c:196,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:199,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:200,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 35
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 201
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 201
    functionName: fetch_done
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns_db_detachnode
    - dns_db_detach
    - dns_resolver_freefresp
    - isc_stdtime_now
    - dns_rdataset_cleanup
    - rcu_read_unlock
    - dns__nta_detach
    - CMM_STORE_SHARED
    - rcu_read_lock
    - rcu_dereference
    - CMM_LOAD_SHARED
    - dns_resolver_destroyfetch
    - isc_timer_stop
    linkageType: ''
    returnType: void
    signature: void fetch_done(void *arg)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_resolver_cancelfetch
      Src: /src/bind9/lib/dns/nta.c:211,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nta.c:214,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/nta.c:215,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:217,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:218,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/nta.c:220,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:221,1
    - Dst: dns_view_getresolver
      Src: /src/bind9/lib/dns/nta.c:225,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:227,1
    - Dst: dns__nta_ref
      Src: /src/bind9/lib/dns/nta.c:231,1
    - Dst: dns_resolver_createfetch
      Src: /src/bind9/lib/dns/nta.c:232,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:238,1
    - Dst: dns_resolver_detach
      Src: /src/bind9/lib/dns/nta.c:240,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:241,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 203
    functionDepth: 5
    functionLinenumber: 203
    functionLinenumberEnd: 242
    functionName: checkbogus
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns_resolver_createfetch
    - dns__nta_ref
    - dns_rdataset_cleanup
    - rcu_read_unlock
    - dns_view_getresolver
    - dns_resolver_detach
    - rcu_read_lock
    - rcu_dereference
    - dns__nta_detach
    - isc_timer_stop
    - dns_resolver_cancelfetch
    linkageType: ''
    returnType: void
    signature: void checkbogus(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:246,1
    - Dst: VALID_NTA
      Src: /src/bind9/lib/dns/nta.c:246,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/nta.c:253,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/nta.c:255,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/nta.c:256,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - view
    - nta
    - lifetime
    argTypes:
    - dns_view_t*
    - dns__nta_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 257
    functionName: settimer
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 20
    functionsReached:
    - REQUIRE
    - isc_timer_create
    - isc_timer_start
    - VALID_NTA
    - isc_interval_set
    linkageType: ''
    returnType: void
    signature: void settimer(dns_view_t *view, dns__nta_t *nta, uint32_t lifetime)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:264,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:264,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:265,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/nta.c:267,1
    - Dst: dns_ntatable_ref
      Src: /src/bind9/lib/dns/nta.c:269,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/nta.c:273,1
    - Dst: isc_loop_attach
      Src: /src/bind9/lib/dns/nta.c:274,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/nta.c:274,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nta.c:276,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/nta.c:277,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/nta.c:279,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/nta.c:281,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: 284
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 284
    functionName: nta_create
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - VALID_NTATABLE
    - isc_mem_get
    - isc_loop_attach
    - dns_ntatable_ref
    - dns_rdataset_init
    - isc_loop
    - dns_name_dup
    - isc_refcount_init
    linkageType: ''
    returnType: void
    signature: "void nta_create(dns_ntatable_t *ntatable, const dns_name_t *name,\n\t
      \  dns__nta_t **target)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:293,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:293,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:295,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:296,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:297,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:299,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nta.c:303,1
    - Dst: nta_create
      Src: /src/bind9/lib/dns/nta.c:304,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/nta.c:306,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nta.c:309,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nta.c:311,1
    - Dst: dns__nta_shutdown
      Src: /src/bind9/lib/dns/nta.c:313,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:314,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/nta.c:316,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nta.c:317,1
    - Dst: CMM_STORE_SHARED
      Src: /src/bind9/lib/dns/nta.c:321,1
    - Dst: settimer
      Src: /src/bind9/lib/dns/nta.c:323,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/nta.c:327,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nta.c:330,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nta.c:331,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:333,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 33
    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: 336
      start: 286
    functionDepth: 12
    functionLinenumber: 286
    functionLinenumberEnd: 336
    functionName: dns_ntatable_add
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 6
    functionsReached:
    - dns__nta_shutdown
    - REQUIRE
    - VALID_NTATABLE
    - nta_create
    - RUNTIME_CHECK
    - rcu_read_unlock
    - CMM_STORE_SHARED
    - rcu_read_lock
    - rcu_dereference
    - dns_qp_deletename
    - settimer
    - dns_qpmulti_write
    - dns_qp_insert
    - dns_qp_compact
    - dns__nta_detach
    - UNREACHABLE
    - dns_qpmulti_commit
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:344,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:344,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:345,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:347,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:348,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:350,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nta.c:354,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nta.c:355,1
    - Dst: dns__nta_shutdown
      Src: /src/bind9/lib/dns/nta.c:359,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:360,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nta.c:362,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nta.c:363,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:365,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - ntatable
    - name
    argTypes:
    - dns_ntatable_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 338
    functionDepth: 12
    functionLinenumber: 338
    functionLinenumberEnd: 368
    functionName: dns_ntatable_delete
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 3
    functionsReached:
    - dns__nta_shutdown
    - REQUIRE
    - VALID_NTATABLE
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - dns_qp_deletename
    - dns_qpmulti_write
    - dns_qp_compact
    - dns__nta_detach
    - dns_qpmulti_commit
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_ntatable_delete(dns_ntatable_t *ntatable, const dns_name_t
      *name)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:378,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:378,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:380,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:381,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:382,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/nta.c:387,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/nta.c:388,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nta.c:392,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/nta.c:393,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/nta.c:396,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/nta.c:398,1
    - Dst: dns__nta_shutdown
      Src: /src/bind9/lib/dns/nta.c:399,1
    - Dst: dns__nta_unref
      Src: /src/bind9/lib/dns/nta.c:400,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/nta.c:402,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/nta.c:403,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:405,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:406,1
    - Dst: dns_ntatable_detach
      Src: /src/bind9/lib/dns/nta.c:407,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 370
    functionDepth: 12
    functionLinenumber: 370
    functionLinenumberEnd: 408
    functionName: delete_expired
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - dns__nta_shutdown
    - REQUIRE
    - VALID_NTATABLE
    - dns__nta_unref
    - dns_name_format
    - RUNTIME_CHECK
    - rcu_read_unlock
    - isc_log_write
    - rcu_read_lock
    - rcu_dereference
    - dns_qp_deletename
    - dns_qpmulti_write
    - dns_ntatable_detach
    - dns_qp_compact
    - dns__nta_detach
    - dns_qp_getname
    - dns_qpmulti_commit
    linkageType: ''
    returnType: void
    signature: void delete_expired(void *arg)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:419,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:419,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:420,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/nta.c:420,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:422,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:423,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:424,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:429,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/nta.c:430,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/nta.c:443,1
    - Dst: CMM_LOAD_SHARED
      Src: /src/bind9/lib/dns/nta.c:453,1
    - Dst: dns__nta_ref
      Src: /src/bind9/lib/dns/nta.c:455,1
    - Dst: dns_ntatable_ref
      Src: /src/bind9/lib/dns/nta.c:456,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/nta.c:457,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:463,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:465,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    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: 468
      start: 410
    functionDepth: 7
    functionLinenumber: 410
    functionLinenumberEnd: 468
    functionName: dns_ntatable_covered
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_NTATABLE
    - dns_qpread_destroy
    - dns__nta_ref
    - dns_qpmulti_query
    - dns_ntatable_ref
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - CMM_LOAD_SHARED
    - isc_async_run
    - dns_qp_lookup
    - dns_name_isabsolute
    - dns_name_issubdomain
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/nta.c:472,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/nta.c:472,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/nta.c:472,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/nta.c:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 470
    functionDepth: 2
    functionLinenumber: 470
    functionLinenumberEnd: 476
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 81
    functionsReached:
    - isc_buffer_reserve
    - strlen
    - RETERR
    - 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:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:488,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:488,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:490,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:491,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:493,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:497,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/nta.c:498,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/nta.c:500,1
    - Dst: CMM_LOAD_SHARED
      Src: /src/bind9/lib/dns/nta.c:507,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nta.c:509,1
    - Dst: isc_time_set
      Src: /src/bind9/lib/dns/nta.c:513,1
    - Dst: isc_time_formattimestamp
      Src: /src/bind9/lib/dns/nta.c:514,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/nta.c:516,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/nta.c:523,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/nta.c:530,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/nta.c:530,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:534,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:535,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 26
    argCount: 3
    argNames:
    - ntatable
    - view
    - buf
    argTypes:
    - dns_ntatable_t*
    - char*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 537
      start: 478
    functionDepth: 4
    functionLinenumber: 478
    functionLinenumberEnd: 537
    functionName: dns_ntatable_totext
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - VALID_NTATABLE
    - dns_qpiter_next
    - dns_qpread_destroy
    - isc_stdtime_now
    - dns_qpmulti_query
    - dns_name_format
    - rcu_read_unlock
    - isc_time_formattimestamp
    - isc_time_set
    - snprintf
    - rcu_read_lock
    - rcu_dereference
    - CMM_LOAD_SHARED
    - CHECK
    - 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: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/nta.c:542,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:548,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:548,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/nta.c:550,1
    - Dst: rcu_dereference
      Src: /src/bind9/lib/dns/nta.c:551,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:553,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:557,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/nta.c:558,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/nta.c:560,1
    - Dst: CMM_LOAD_SHARED
      Src: /src/bind9/lib/dns/nta.c:564,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nta.c:574,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/nta.c:575,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/nta.c:581,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/nta.c:583,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/nta.c:584,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/nta.c:587,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/nta.c:589,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:594,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/nta.c:595,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 2
    argNames:
    - ntatable
    - fp
    argTypes:
    - dns_ntatable_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 539
    functionDepth: 4
    functionLinenumber: 539
    functionLinenumberEnd: 602
    functionName: dns_ntatable_save
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 1
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - VALID_NTATABLE
    - dns_qpiter_next
    - dns_qpread_destroy
    - isc_stdtime_now
    - dns_qpmulti_query
    - dns_name_totext
    - fprintf
    - rcu_read_unlock
    - rcu_read_lock
    - rcu_dereference
    - CMM_LOAD_SHARED
    - isc_buffer_putuint8
    - isc_buffer_init
    - 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:608,1
    - Dst: VALID_NTA
      Src: /src/bind9/lib/dns/nta.c:608,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/nta.c:610,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nta.c:610,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/nta.c:612,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/nta.c:613,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/nta.c:614,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/nta.c:618,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/nta.c:619,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:622,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 604
    functionDepth: 4
    functionLinenumber: 604
    functionLinenumberEnd: 623
    functionName: dns__nta_shutdown_cb
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_timer_destroy
    - dns_name_format
    - VALID_NTA
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - dns__nta_detach
    - isc_timer_stop
    linkageType: ''
    returnType: void
    signature: void dns__nta_shutdown_cb(void *arg)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/nta.c:627,1
    - Dst: VALID_NTA
      Src: /src/bind9/lib/dns/nta.c:627,1
    - Dst: dns__nta_ref
      Src: /src/bind9/lib/dns/nta.c:629,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/nta.c:630,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - nta
    argTypes:
    - dns__nta_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 631
      start: 625
    functionDepth: 2
    functionLinenumber: 625
    functionLinenumberEnd: 631
    functionName: dns__nta_shutdown
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 3
    functionsReached:
    - isc_async_run
    - REQUIRE
    - VALID_NTA
    - dns__nta_ref
    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:635,1
    - Dst: VALID_NTATABLE
      Src: /src/bind9/lib/dns/nta.c:635,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/nta.c:637,1
    - Dst: rcu_xchg_pointer
      Src: /src/bind9/lib/dns/nta.c:638,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/nta.c:640,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/nta.c:646,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/nta.c:648,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/nta.c:649,1
    - Dst: dns__nta_shutdown
      Src: /src/bind9/lib/dns/nta.c:652,1
    - Dst: dns__nta_detach
      Src: /src/bind9/lib/dns/nta.c:653,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/nta.c:656,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/nta.c:657,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/nta.c:658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - ntatable
    argTypes:
    - dns_ntatable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 659
      start: 633
    functionDepth: 4
    functionLinenumber: 633
    functionLinenumberEnd: 659
    functionName: dns_ntatable_shutdown
    functionSourceFile: /src/bind9/lib/dns/nta.c
    functionUses: 2
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - VALID_NTATABLE
    - dns_qpiter_next
    - dns__nta_shutdown
    - dns_qpread_destroy
    - dns_qpmulti_query
    - dns_view_weakdetach
    - dns_qpmulti_destroy
    - rcu_xchg_pointer
    - dns__nta_detach
    - synchronize_rcu
    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:665,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: 666
      start: 661
    functionDepth: 1
    functionLinenumber: 661
    functionLinenumberEnd: 666
    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:672,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: 673
      start: 668
    functionDepth: 1
    functionLinenumber: 668
    functionLinenumberEnd: 673
    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:679,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: 680
      start: 675
    functionDepth: 2
    functionLinenumber: 675
    functionLinenumberEnd: 680
    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:685,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 682
    functionDepth: 0
    functionLinenumber: 682
    functionLinenumberEnd: 686
    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:
    - month_secs
    - memmove
    - snprintf
    - year_secs
    - isc_buffer_availableregion
    - strlen
    - isc_buffer_add
    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: 7
    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:
    - sscanf
    - is_leap
    - strlen
    - RANGE
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/time.c:208,1
    - Dst: dns_time64_fromtext
      Src: /src/bind9/lib/dns/time.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - source
    - target
    argTypes:
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: dns_time32_fromtext
    functionSourceFile: /src/bind9/lib/dns/time.c
    functionUses: 10
    functionsReached:
    - RETERR
    - 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:
    - Dst: dns_rdatatype_issig
      Src: /src/bind9/lib/dns/diff.c:41,1
    - Dst: dns_rdata_covers
      Src: /src/bind9/lib/dns/diff.c:41,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 42
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 42
    functionName: rdata_covers
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 6
    functionsReached:
    - dns_rdata_covers
    - dns_rdatatype_issig
    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:51,1
    - Dst: isc_mem_allocate
      Src: /src/bind9/lib/dns/diff.c:59,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/diff.c:61,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/diff.c:66,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/diff.c:67,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/diff.c:68,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/diff.c:74,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/diff.c:75,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/diff.c:77,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:82,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/diff.c:85,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/diff.c:86,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:89,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: 92
      start: 44
    functionDepth: 2
    functionLinenumber: 44
    functionLinenumberEnd: 92
    functionName: dns_difftuple_create
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 49
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_name_init
    - memmove
    - dns_rdata_init
    - INSIST
    - dns_rdata_clone
    - isc_mem_allocate
    - dns_name_clone
    - ISC_LINK_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:100,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/diff.c:100,1
    - Dst: dns_name_invalidate
      Src: /src/bind9/lib/dns/diff.c:102,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/diff.c:105,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/diff.c:106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - tp
    argTypes:
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 107
    functionName: dns_difftuple_free
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 18
    functionsReached:
    - REQUIRE
    - DNS_DIFFTUPLE_VALID
    - isc_mem_detach
    - isc_mem_free
    - 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:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - orig
    - copyp
    argTypes:
    - dns_difftuple_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 109
    functionDepth: 3
    functionLinenumber: 109
    functionLinenumberEnd: 113
    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:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - mctx
    - diff
    argTypes:
    - isc_mem_t*
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 115
    functionDepth: 1
    functionLinenumber: 115
    functionLinenumberEnd: 121
    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:125,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:125,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:126,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/diff.c:127,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/diff.c:128,1
    - Dst: ENSURE
      Src: /src/bind9/lib/dns/diff.c:131,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/diff.c:131,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - diff
    argTypes:
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: dns_diff_clear
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 42
    functionsReached:
    - REQUIRE
    - dns_difftuple_free
    - ISC_LIST_UNLINK
    - DNS_DIFF_VALID
    - ENSURE
    - ISC_LIST_EMPTY
    - ISC_LIST_FOREACH
    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:136,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:136,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - diff
    - tuplep
    argTypes:
    - dns_diff_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 140
    functionName: dns_diff_append
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 25
    functionsReached:
    - REQUIRE
    - ISC_LIST_APPEND
    - DNS_DIFF_VALID
    linkageType: ''
    returnType: void
    signature: void dns_diff_append(dns_diff_t *diff, dns_difftuple_t **tuplep)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:144,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - diff
    argTypes:
    - dns_diff_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 146
    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:152,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:153,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/diff.c:153,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:167,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/diff.c:168,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/diff.c:169,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/diff.c:172,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:173,1
    - Dst: UNEXPECTED_ERROR
      Src: /src/bind9/lib/dns/diff.c:177,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/diff.c:179,1
    - Dst: dns_difftuple_free
      Src: /src/bind9/lib/dns/diff.c:181,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:187,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 22
    argCount: 2
    argNames:
    - diff
    - tuplep
    argTypes:
    - dns_diff_t*
    - dns_difftuple_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 191
    functionName: dns_diff_appendminimal
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 16
    functionsReached:
    - UNEXPECTED_ERROR
    - REQUIRE
    - dns_difftuple_free
    - DNS_DIFFTUPLE_VALID
    - ISC_LIST_UNLINK
    - DNS_DIFF_VALID
    - INSIST
    - ISC_LIST_APPEND
    - dns_name_caseequal
    - ISC_LIST_FOREACH
    - dns_rdata_compare
    linkageType: ''
    returnType: void
    signature: void dns_diff_appendminimal(dns_diff_t *diff, dns_difftuple_t **tuplep)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/diff.c:195,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/diff.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - name
    argTypes:
    - dns_rdataset_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 193
    functionDepth: 2
    functionLinenumber: 193
    functionLinenumberEnd: 198
    functionName: getownercase
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 14
    functionsReached:
    - dns_rdataset_isassociated
    - dns_rdataset_getownercase
    linkageType: ''
    returnType: void
    signature: void getownercase(dns_rdataset_t *rdataset, dns_name_t *name)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:209,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:217,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/diff.c:217,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:219,1
    - Dst: dns_db_findnsec3node
      Src: /src/bind9/lib/dns/diff.c:219,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:227,1
    - Dst: dns_db_addrdataset
      Src: /src/bind9/lib/dns/diff.c:227,1
    - Dst: dns_db_subtractrdataset
      Src: /src/bind9/lib/dns/diff.c:233,1
    - Dst: getownercase
      Src: /src/bind9/lib/dns/diff.c:239,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:240,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:243,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/diff.c:248,1
    - Dst: dns_rdataset_minresign
      Src: /src/bind9/lib/dns/diff.c:253,1
    - Dst: dns_db_setsigningtime
      Src: /src/bind9/lib/dns/diff.c:254,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/diff.c:259,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/diff.c:261,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 44
    argCount: 5
    argNames:
    - db
    - ver
    - name
    - rds
    - op
    argTypes:
    - dns_db_t*
    - dns_dbversion_t*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 263
    functionName: update_rdataset
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 1
    functionsReached:
    - dns_db_findnsec3node
    - dns_db_detachnode
    - dns_db_subtractrdataset
    - dns_rdataset_minresign
    - dns_rdataset_cleanup
    - dns_rdataset_init
    - getownercase
    - dns_db_findnode
    - CHECK
    - dns_db_setsigningtime
    - UNREACHABLE
    - dns_db_addrdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_rdataset(dns_db_t *db, dns_dbversion_t *ver, dns_name_t
      *name,\n\t\tdns_rdataset_t *rds, dns_diffop_t op)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: update_rdataset
      Src: /src/bind9/lib/dns/diff.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - arg
    - name
    - rds
    - DNS__DB_FLARG
    argTypes:
    - void*
    - dns_name_t*
    - dns_rdataset_t*
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 265
    functionDepth: 4
    functionLinenumber: 265
    functionLinenumberEnd: 270
    functionName: update_callback
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 2
    functionsReached:
    - update_rdataset
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t update_callback(void *arg, const dns_name_t *name, dns_rdataset_t
      *rds,\n\t\tdns_diffop_t op DNS__DB_FLARG)"
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - op
    argTypes:
    - dns_diffop_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 0
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: optotext
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: 'char *

      optotext(dns_diffop_t op)'
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:297,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:298,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:299,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:303,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/diff.c:317,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:327,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/diff.c:344,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/diff.c:350,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:352,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/diff.c:360,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/diff.c:362,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/diff.c:365,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:368,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:380,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/diff.c:381,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:387,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/diff.c:388,1
    - Dst: dns_rdataset_setownercase
      Src: /src/bind9/lib/dns/diff.c:389,1
    - Dst: dns_rdatacallbacks_t*::update
      Src: /src/bind9/lib/dns/diff.c:395,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/diff.c:414,1
    - Dst: dns_db_origin
      Src: /src/bind9/lib/dns/diff.c:414,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/diff.c:417,1
    - Dst: dns_db_class
      Src: /src/bind9/lib/dns/diff.c:418,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:420,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/diff.c:436,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/diff.c:437,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/diff.c:439,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:441,1
    - Dst: optotext
      Src: /src/bind9/lib/dns/diff.c:446,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/diff.c:447,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:453,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 64
    argCount: 2
    argNames:
    - diff
    - callbacks
    argTypes:
    - dns_diff_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 288
    functionDepth: 4
    functionLinenumber: 288
    functionLinenumberEnd: 460
    functionName: diff_apply
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 11
    functionsReached:
    - REQUIRE
    - dns_rdatacallbacks_t*::update
    - DNS_DIFF_VALID
    - dns_db_origin
    - dns_rdataset_init
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - dns_name_format
    - ISC_LIST_NEXT
    - dns_rdataset_setownercase
    - optotext
    - isc_result_totext
    - dns_name_equal
    - dns_rdatatype_format
    - rdata_covers
    - ISC_LIST_HEAD
    - isc_log_write
    - dns_rdataclass_format
    - CHECK
    - dns_db_class
    - ISC_LIST_APPEND
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t diff_apply(const dns_diff_t *diff, dns_rdatacallbacks_t
      *callbacks)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/diff.c:466,1
    - Dst: diff_apply
      Src: /src/bind9/lib/dns/diff.c:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - diff
    - db
    - ver
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 470
      start: 462
    functionDepth: 5
    functionLinenumber: 462
    functionLinenumberEnd: 470
    functionName: dns_diff_apply
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 11
    functionsReached:
    - diff_apply
    - dns_rdatacallbacks_init
    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: dns_rdatacallbacks_init
      Src: /src/bind9/lib/dns/diff.c:477,1
    - Dst: diff_apply
      Src: /src/bind9/lib/dns/diff.c:480,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - diff
    - db
    - ver
    argTypes:
    - dns_diff_t*
    - dns_db_t*
    - dns_dbversion_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 481
      start: 472
    functionDepth: 5
    functionLinenumber: 472
    functionLinenumberEnd: 481
    functionName: dns_diff_applysilently
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 3
    functionsReached:
    - diff_apply
    - dns_rdatacallbacks_init
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:486,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:486,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:487,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:488,1
    - Dst: diff_apply
      Src: /src/bind9/lib/dns/diff.c:490,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - diff
    - callbacks
    argTypes:
    - dns_diff_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 491
      start: 483
    functionDepth: 5
    functionLinenumber: 483
    functionLinenumberEnd: 491
    functionName: dns_diff_apply_with_callbacks
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - diff_apply
    - DNS_DIFF_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_diff_apply_with_callbacks(const dns_diff_t *diff,\n\t\t\t
      \     dns_rdatacallbacks_t *callbacks)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:500,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:500,1
    - Dst: dns_rdatacallbacks_t*::setup
      Src: /src/bind9/lib/dns/diff.c:503,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:506,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/diff.c:511,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:519,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/diff.c:521,1
    - Dst: dns_name_caseequal
      Src: /src/bind9/lib/dns/diff.c:528,1
    - Dst: rdata_covers
      Src: /src/bind9/lib/dns/diff.c:530,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:532,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/diff.c:533,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:539,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/diff.c:540,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:543,1
    - Dst: dns_rdatacallbacks_t*::update
      Src: /src/bind9/lib/dns/diff.c:544,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:548,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/diff.c:560,1
    - Dst: dns_rdatacallbacks_t*::commit
      Src: /src/bind9/lib/dns/diff.c:568,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 2
    argNames:
    - diff
    - callbacks
    argTypes:
    - dns_diff_t*
    - dns_rdatacallbacks_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 495
    functionDepth: 3
    functionLinenumber: 495
    functionLinenumberEnd: 571
    functionName: dns_diff_load
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_rdatacallbacks_t*::update
    - DNS_DIFF_VALID
    - INSIST
    - rdata_covers
    - ISC_LIST_APPEND
    - dns_rdataset_init
    - ISC_LIST_HEAD
    - ISC_LIST_NEXT
    - isc_log_write
    - dns_name_caseequal
    - dns_rdatacallbacks_t*::setup
    - dns_rdatacallbacks_t*::commit
    - dns_rdatalist_init
    - CHECK
    - dns_rdatalist_tordataset
    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:582,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:582,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:584,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/diff.c:590,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:592,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/diff.c:594,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:596,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/diff.c:596,1
    - Dst: qsort
      Src: /src/bind9/lib/dns/diff.c:597,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:599,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/diff.c:601,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: 603
      start: 577
    functionDepth: 1
    functionLinenumber: 577
    functionLinenumberEnd: 603
    functionName: dns_diff_sort
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 6
    functionsReached:
    - qsort
    - REQUIRE
    - isc_mem_cput
    - isc_mem_cget
    - ISC_LIST_UNLINK
    - DNS_DIFF_VALID
    - INSIST
    - ISC_LIST_APPEND
    - ISC_LIST_HEAD
    - ISC_LIST_FOREACH
    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:614,1
    - Dst: DNS_DIFFTUPLE_VALID
      Src: /src/bind9/lib/dns/diff.c:614,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:615,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:616,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/diff.c:618,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/diff.c:622,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/diff.c:623,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/diff.c:624,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/diff.c:625,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/diff.c:626,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: 627
      start: 611
    functionDepth: 2
    functionLinenumber: 611
    functionLinenumberEnd: 627
    functionName: diff_tuple_tordataset
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_DIFFTUPLE_VALID
    - dns_rdataset_init
    - dns_rdata_clone
    - ISC_LIST_APPEND
    - dns_rdatalist_init
    - dns_rdatalist_tordataset
    - ISC_LINK_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: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/diff.c:636,1
    - Dst: DNS_DIFF_VALID
      Src: /src/bind9/lib/dns/diff.c:636,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/diff.c:638,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/diff.c:644,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/diff.c:645,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/diff.c:647,1
    - Dst: diff_tuple_tordataset
      Src: /src/bind9/lib/dns/diff.c:655,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/diff.c:657,1
    - Dst: dns_rdataset_totext
      Src: /src/bind9/lib/dns/diff.c:658,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/diff.c:662,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/diff.c:664,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/diff.c:674,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/diff.c:678,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/diff.c:697,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/diff.c:700,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/diff.c:710,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 55
    argCount: 2
    argNames:
    - diff
    - file
    argTypes:
    - dns_diff_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 713
      start: 629
    functionDepth: 8
    functionLinenumber: 629
    functionLinenumberEnd: 713
    functionName: dns_diff_print
    functionSourceFile: /src/bind9/lib/dns/diff.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mem_put
    - DNS_DIFF_VALID
    - isc_mem_get
    - INSIST
    - fprintf
    - isc_log_write
    - ISC_LOG_DEBUG
    - diff_tuple_tordataset
    - ISC_LIST_FOREACH
    - isc_buffer_usedregion
    - isc_log_wouldlog
    - isc_buffer_init
    - 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:
    - Dst: va_start
      Src: /src/bind9/lib/dns/notify.c:37,1
    - Dst: dns_zone_logv
      Src: /src/bind9/lib/dns/notify.c:38,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/notify.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 3
    argNames:
    - notify
    - level
    - fmt
    argTypes:
    - dns_notify_t*
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 33
    functionDepth: 3
    functionLinenumber: 33
    functionLinenumberEnd: 41
    functionName: notify_log
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 1
    functionsReached:
    - va_start
    - dns_zone_logv
    - va_end
    linkageType: ''
    returnType: void
    signature: void notify_log(dns_notify_t *notify, int level, const char *fmt, ...)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/notify.c:51,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/notify.c:52,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - nctx
    - type
    argTypes:
    - dns_notifyctx_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 43
    functionDepth: 2
    functionLinenumber: 43
    functionLinenumberEnd: 55
    functionName: dns_notifyctx_init
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 1
    functionsReached:
    - isc_sockaddr_any6
    - isc_sockaddr_any
    linkageType: ''
    returnType: void
    signature: void dns_notifyctx_init(dns_notifyctx_t *nctx, dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:62,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/notify.c:64,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/notify.c:71,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/notify.c:72,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/notify.c:73,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/notify.c:74,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/notify.c:75,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 5
    argNames:
    - mctx
    - type
    - port
    - flags
    - notifyp
    argTypes:
    - isc_mem_t*
    - dns_rdatatype_t
    - in_port_t
    - unsigned int
    - dns_notify_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 57
    functionDepth: 2
    functionLinenumber: 57
    functionLinenumberEnd: 78
    functionName: dns_notify_create
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - dns_name_init
    - isc_mem_get
    - ISC_LINK_INIT
    - isc_sockaddr_any
    linkageType: ''
    returnType: void
    signature: "void dns_notify_create(isc_mem_t *mctx, dns_rdatatype_t type, in_port_t
      port,\n\t\t  unsigned int flags, dns_notify_t **notifyp)"
  - BBCount: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:82,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:82,1
    - Dst: dns__zone_lock
      Src: /src/bind9/lib/dns/notify.c:89,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:91,1
    - Dst: dns__zone_locked
      Src: /src/bind9/lib/dns/notify.c:91,1
    - Dst: dns__zone_getnotifyctx
      Src: /src/bind9/lib/dns/notify.c:92,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/notify.c:93,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/notify.c:94,1
    - Dst: dns__zone_unlock
      Src: /src/bind9/lib/dns/notify.c:97,1
    - Dst: dns__zone_idetach_locked
      Src: /src/bind9/lib/dns/notify.c:100,1
    - Dst: dns_zone_idetach
      Src: /src/bind9/lib/dns/notify.c:102,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/notify.c:106,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/notify.c:109,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/notify.c:111,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/notify.c:112,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/notify.c:115,1
    - Dst: dns_transport_detach
      Src: /src/bind9/lib/dns/notify.c:118,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/notify.c:121,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/notify.c:122,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 2
    argNames:
    - notify
    - locked
    argTypes:
    - dns_notify_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 80
    functionDepth: 5
    functionLinenumber: 80
    functionLinenumberEnd: 123
    functionName: dns_notify_destroy
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns__zone_unlock
    - ISC_LIST_UNLINK
    - dns__zone_lock
    - dns_name_dynamic
    - dns_transport_detach
    - isc_mem_put
    - ISC_LINK_LINKED
    - dns_zone_idetach
    - dns_tsigkey_detach
    - isc_mem_detach
    - dns__zone_locked
    - dns__zone_idetach_locked
    - dns_name_free
    - dns__zone_getnotifyctx
    - dns_adb_destroyfind
    - dns_request_destroy
    - DNS_NOTIFY_VALID
    linkageType: ''
    returnType: void
    signature: void dns_notify_destroy(dns_notify_t *notify, bool locked)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_request_getarg
      Src: /src/bind9/lib/dns/notify.c:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:136,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:136,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/notify.c:138,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/notify.c:139,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/notify.c:141,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/notify.c:144,1
    - Dst: dns_request_getresult
      Src: /src/bind9/lib/dns/notify.c:147,1
    - Dst: dns_request_getresponse
      Src: /src/bind9/lib/dns/notify.c:152,1
    - Dst: dns_rcode_totext
      Src: /src/bind9/lib/dns/notify.c:158,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:160,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/notify.c:160,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/notify.c:165,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:168,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/notify.c:168,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:173,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/notify.c:175,1
    - Dst: dns_request_destroy
      Src: /src/bind9/lib/dns/notify.c:177,1
    - Dst: dns_notify_queue
      Src: /src/bind9/lib/dns/notify.c:178,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:181,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/notify.c:183,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:185,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/notify.c:187,1
    - Dst: dns_notify_destroy
      Src: /src/bind9/lib/dns/notify.c:189,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 41
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 125
    functionDepth: 6
    functionLinenumber: 125
    functionLinenumberEnd: 190
    functionName: notify_done
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 0
    functionsReached:
    - dns_request_getarg
    - REQUIRE
    - dns_rcode_totext
    - notify_log
    - dns_rdatatype_format
    - dns_message_detach
    - dns_message_create
    - isc_result_totext
    - dns_notify_destroy
    - dns_request_getresult
    - ISC_LOG_DEBUG
    - dns_request_destroy
    - dns_notify_queue
    - isc_sockaddr_format
    - dns_request_getresponse
    - isc_buffer_init
    - DNS_NOTIFY_VALID
    linkageType: ''
    returnType: void
    signature: void notify_done(void *arg)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:210,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:210,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:211,1
    - Dst: dns_message_create
      Src: /src/bind9/lib/dns/notify.c:214,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/dns/notify.c:219,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/notify.c:221,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/notify.c:222,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/notify.c:227,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/notify.c:227,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/notify.c:228,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/dns/notify.c:228,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/notify.c:230,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/notify.c:231,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/notify.c:239,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/notify.c:240,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/notify.c:241,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/notify.c:242,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/notify.c:244,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/notify.c:245,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/notify.c:246,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/notify.c:248,1
    - Dst: dns_zone_getorigin
      Src: /src/bind9/lib/dns/notify.c:248,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/notify.c:249,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/notify.c:250,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/notify.c:255,1
    - Dst: dns_db_findrdataset
      Src: /src/bind9/lib/dns/notify.c:256,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/notify.c:261,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/notify.c:265,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/notify.c:266,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/notify.c:268,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/dns/notify.c:269,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/notify.c:270,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/notify.c:271,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/notify.c:272,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/notify.c:273,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/notify.c:274,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/notify.c:281,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/notify.c:283,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/notify.c:285,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/notify.c:286,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/notify.c:294,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/notify.c:297,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/notify.c:300,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/notify.c:303,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/notify.c:306,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/notify.c:309,1
    - Dst: dns_message_puttemprdatalist
      Src: /src/bind9/lib/dns/notify.c:312,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 95
    argCount: 2
    argNames:
    - notify
    - messagep
    argTypes:
    - dns_notify_t*
    - dns_message_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 192
    functionDepth: 5
    functionLinenumber: 192
    functionLinenumberEnd: 318
    functionName: notify_createmessage
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - dns_rdataset_next
    - dns_message_takebuffer
    - dns_message_gettemprdatalist
    - dns_rdataset_init
    - dns_rdata_toregion
    - dns_rdataset_disassociate
    - dns_db_currentversion
    - dns_rdatalist_tordataset
    - dns_message_puttemprdataset
    - dns_rdata_fromregion
    - dns_message_gettempname
    - DNS_NOTIFY_VALID
    - dns_zone_getorigin
    - dns_rdataset_makequestion
    - dns_message_gettemprdata
    - dns_zone_getclass
    - dns_db_detach
    - isc_buffer_putmem
    - dns_rdataset_first
    - dns_message_create
    - dns_db_findrdataset
    - dns_rdataset_current
    - dns_name_clone
    - dns_db_closeversion
    - dns_zone_getdb
    - dns_message_puttempname
    - dns_message_puttemprdata
    - dns_message_puttemprdatalist
    - dns_message_addname
    - dns_db_detachnode
    - ISC_LIST_APPEND
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - dns_db_findnode
    - dns_message_gettemprdataset
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t notify_createmessage(dns_notify_t *notify, dns_message_t
      **messagep)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:339,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:339,1
    - Dst: dns__zone_lock
      Src: /src/bind9/lib/dns/notify.c:341,1
    - Dst: dns__zone_getnotifyctx
      Src: /src/bind9/lib/dns/notify.c:343,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/lib/dns/notify.c:344,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/notify.c:345,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/notify.c:346,1
    - Dst: dns_zone_getdb
      Src: /src/bind9/lib/dns/notify.c:347,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/notify.c:349,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/notify.c:351,1
    - Dst: dns__zone_loaded
      Src: /src/bind9/lib/dns/notify.c:353,1
    - Dst: dns__zone_exiting
      Src: /src/bind9/lib/dns/notify.c:354,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/notify.c:366,1
    - Dst: IN6_IS_ADDR_V4MAPPED
      Src: /src/bind9/lib/dns/notify.c:367,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:369,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/notify.c:369,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/notify.c:376,1
    - Dst: notify_createmessage
      Src: /src/bind9/lib/dns/notify.c:376,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/notify.c:383,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/notify.c:384,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:386,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/notify.c:397,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:398,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:402,1
    - Dst: dns_peerlist_peerbyaddr
      Src: /src/bind9/lib/dns/notify.c:409,1
    - Dst: dns_peer_getnotifysource
      Src: /src/bind9/lib/dns/notify.c:411,1
    - Dst: dns_peer_getforcetcp
      Src: /src/bind9/lib/dns/notify.c:415,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/notify.c:421,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/notify.c:425,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/notify.c:428,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/notify.c:436,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/notify.c:439,1
    - Dst: dns__zonemgr_tlsctx_attach
      Src: /src/bind9/lib/dns/notify.c:454,1
    - Dst: isc_nm_getinitialtimeout
      Src: /src/bind9/lib/dns/notify.c:456,1
    - Dst: dns_request_create
      Src: /src/bind9/lib/dns/notify.c:458,1
    - Dst: isc_tlsctx_cache_detach
      Src: /src/bind9/lib/dns/notify.c:465,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/notify.c:469,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/notify.c:470,1
    - Dst: dns__zone_stats_increment
      Src: /src/bind9/lib/dns/notify.c:473,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:482,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/notify.c:484,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:488,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/notify.c:491,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/notify.c:499,1
    - Dst: dns_message_detach
      Src: /src/bind9/lib/dns/notify.c:502,1
    - Dst: dns__zone_unlock
      Src: /src/bind9/lib/dns/notify.c:504,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/notify.c:507,1
    - Dst: isc_rlevent_free
      Src: /src/bind9/lib/dns/notify.c:511,1
    - Dst: isc_sockaddr_format
      Src: /src/bind9/lib/dns/notify.c:515,1
    - Dst: notify_log
      Src: /src/bind9/lib/dns/notify.c:516,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/notify.c:518,1
    - Dst: dns_notify_destroy
      Src: /src/bind9/lib/dns/notify.c:519,1
    CyclomaticComplexity: 42
    EdgeCount: 42
    ICount: 131
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 320
    functionDepth: 6
    functionLinenumber: 320
    functionLinenumberEnd: 521
    functionName: notify_send_toaddr
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns__zone_unlock
    - dns_peer_getnotifysource
    - isc_tlsctx_cache_detach
    - dns__zone_loaded
    - ISC_LOG_DEBUG
    - dns_view_getpeertsig
    - isc_sockaddr_any6
    - dns__zone_stats_increment
    - isc_sockaddr_format
    - dns__zone_exiting
    - dns_zone_getloop
    - isc_sockaddr_any
    - dns__zone_lock
    - notify_log
    - dns_name_format
    - isc_sockaddr_equal
    - dns_tsigkey_detach
    - IN6_IS_ADDR_V4MAPPED
    - isc_rlevent_free
    - isc_sockaddr_pf
    - DNS_NOTIFY_VALID
    - isc_result_totext
    - dns_db_detach
    - dns_peer_getforcetcp
    - dns__zonemgr_tlsctx_attach
    - dns_rdatatype_format
    - isc_nm_getinitialtimeout
    - dns_notify_destroy
    - isc_netaddr_fromsockaddr
    - dns_zone_getmgr
    - dns_zone_getview
    - CHECK
    - notify_createmessage
    - dns_zone_getdb
    - dns_peerlist_peerbyaddr
    - dns_request_create
    - dns__zone_getnotifyctx
    - dns_message_detach
    linkageType: ''
    returnType: void
    signature: void notify_send_toaddr(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:525,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:525,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/notify.c:527,1
    - Dst: dns_zone_getmgr
      Src: /src/bind9/lib/dns/notify.c:528,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/notify.c:532,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/notify.c:533,1
    - Dst: dns__zonemgr_getnotifyrl
      Src: /src/bind9/lib/dns/notify.c:535,1
    - Dst: dns__zonemgr_getstartupnotifyrl
      Src: /src/bind9/lib/dns/notify.c:536,1
    - Dst: isc_ratelimiter_dequeue
      Src: /src/bind9/lib/dns/notify.c:539,1
    - Dst: isc_ratelimiter_enqueue
      Src: /src/bind9/lib/dns/notify.c:543,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - notify
    - startup
    - dequeue
    argTypes:
    - dns_notify_t*
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 523
    functionDepth: 3
    functionLinenumber: 523
    functionLinenumberEnd: 546
    functionName: notify_queue
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns__zonemgr_getstartupnotifyrl
    - INSIST
    - dns_zone_getmgr
    - isc_ratelimiter_dequeue
    - isc_ratelimiter_enqueue
    - dns_zone_getloop
    - dns__zonemgr_getnotifyrl
    - DNS_NOTIFY_VALID
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t notify_queue(dns_notify_t *notify, bool startup, bool
      dequeue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: notify_queue
      Src: /src/bind9/lib/dns/notify.c:550,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - notify
    - startup
    argTypes:
    - dns_notify_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 551
      start: 548
    functionDepth: 4
    functionLinenumber: 548
    functionLinenumberEnd: 551
    functionName: dns_notify_queue
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 2
    functionsReached:
    - notify_queue
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_notify_queue(dns_notify_t *notify, bool startup)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:560,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/notify.c:562,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/notify.c:569,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/notify.c:570,1
    - Dst: isc_sockaddr_equal
      Src: /src/bind9/lib/dns/notify.c:571,1
    - Dst: notify_queue
      Src: /src/bind9/lib/dns/notify.c:589,1
    - Dst: notify_queue
      Src: /src/bind9/lib/dns/notify.c:595,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 30
    argCount: 8
    argNames:
    - nctx
    - type
    - port
    - flags
    - name
    - addr
    - key
    - transport
    argTypes:
    - dns_notifyctx_t*
    - dns_rdatatype_t
    - in_port_t
    - unsigned int
    - dns_name_t*
    - isc_sockaddr_t*
    - dns_tsigkey_t*
    - dns_transport_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 602
      start: 553
    functionDepth: 4
    functionLinenumber: 553
    functionLinenumberEnd: 602
    functionName: dns_notify_isqueued
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_name_dynamic
    - dns_name_equal
    - isc_sockaddr_equal
    - ISC_LIST_FOREACH
    - notify_queue
    linkageType: ''
    returnType: bool
    signature: "bool dns_notify_isqueued(dns_notifyctx_t *nctx, dns_rdatatype_t type,
      in_port_t port,\n\t\t    unsigned int flags, dns_name_t *name, isc_sockaddr_t
      *addr,\n\t\t    dns_tsigkey_t *key, dns_transport_t *transport)"
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns__zone_getnotifyctx
      Src: /src/bind9/lib/dns/notify.c:617,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/notify.c:618,1
    - Dst: dns__zone_getisself
      Src: /src/bind9/lib/dns/notify.c:619,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/notify.c:624,1
    - Dst: isc_sockaddr_any
      Src: /src/bind9/lib/dns/notify.c:627,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/notify.c:631,1
    - Dst: isc_sockaddr_eqaddr
      Src: /src/bind9/lib/dns/notify.c:641,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/notify.c:645,1
    - Dst: dns_view_getpeertsig
      Src: /src/bind9/lib/dns/notify.c:646,1
    - Dst: dns_zone_getclass
      Src: /src/bind9/lib/dns/notify.c:651,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/notify.c:653,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 32
    argCount: 2
    argNames:
    - notify
    - dst
    argTypes:
    - dns_notify_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 656
      start: 604
    functionDepth: 3
    functionLinenumber: 604
    functionLinenumberEnd: 656
    functionName: notify_isself
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 0
    functionsReached:
    - isc_sockaddr_any6
    - dns_zone_getclass
    - isc_sockaddr_eqaddr
    - dns__zone_getisself
    - isc_netaddr_fromsockaddr
    - dns_tsigkey_detach
    - dns_zone_getview
    - isc_sockaddr_pf
    - dns_view_getpeertsig
    - dns__zone_getnotifyctx
    - isc_sockaddr_any
    linkageType: ''
    returnType: bool
    signature: bool notify_isself(dns_notify_t *notify, isc_sockaddr_t *dst)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:670,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:670,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:671,1
    - Dst: dns__zone_locked
      Src: /src/bind9/lib/dns/notify.c:671,1
    - Dst: dns__zone_exiting
      Src: /src/bind9/lib/dns/notify.c:672,1
    - Dst: dns__zone_getnotifyctx
      Src: /src/bind9/lib/dns/notify.c:675,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/notify.c:677,1
    - Dst: dns_notify_isqueued
      Src: /src/bind9/lib/dns/notify.c:679,1
    - Dst: notify_isself
      Src: /src/bind9/lib/dns/notify.c:684,1
    - Dst: dns_notify_create
      Src: /src/bind9/lib/dns/notify.c:689,1
    - Dst: dns__zone_iattach_locked
      Src: /src/bind9/lib/dns/notify.c:691,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/notify.c:692,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/notify.c:694,1
    - Dst: isc_sockaddr_any6
      Src: /src/bind9/lib/dns/notify.c:695,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/notify.c:698,1
    - Dst: dns_notify_queue
      Src: /src/bind9/lib/dns/notify.c:698,1
    - Dst: dns_notify_destroy
      Src: /src/bind9/lib/dns/notify.c:704,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 1
    argNames:
    - notify
    argTypes:
    - dns_notify_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 658
    functionDepth: 6
    functionLinenumber: 658
    functionLinenumberEnd: 706
    functionName: notify_send
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns__zone_iattach_locked
    - isc_sockaddr_any6
    - dns_notify_destroy
    - dns_notify_isqueued
    - ISC_LIST_APPEND
    - dns_notify_create
    - dns__zone_locked
    - dns_notify_queue
    - ISC_LIST_FOREACH
    - notify_isself
    - isc_sockaddr_pf
    - dns__zone_getnotifyctx
    - CHECK
    - dns__zone_exiting
    - DNS_NOTIFY_VALID
    linkageType: ''
    returnType: void
    signature: void notify_send(dns_notify_t *notify)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:717,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:717,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:718,1
    - Dst: dns_adb_destroyfind
      Src: /src/bind9/lib/dns/notify.c:722,1
    - Dst: dns_notify_find_address
      Src: /src/bind9/lib/dns/notify.c:723,1
    - Dst: dns__zone_lock
      Src: /src/bind9/lib/dns/notify.c:727,1
    - Dst: notify_send
      Src: /src/bind9/lib/dns/notify.c:728,1
    - Dst: dns__zone_unlock
      Src: /src/bind9/lib/dns/notify.c:729,1
    - Dst: dns_notify_destroy
      Src: /src/bind9/lib/dns/notify.c:736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 737
      start: 711
    functionDepth: 7
    functionLinenumber: 711
    functionLinenumberEnd: 737
    functionName: process_notify_adb_event
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_NOTIFY_VALID
    - dns_notify_find_address
    - dns__zone_lock
    - dns__zone_unlock
    - dns_notify_destroy
    - notify_send
    - dns_adb_destroyfind
    linkageType: ''
    returnType: void
    signature: void process_notify_adb_event(void *arg)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/notify.c:747,1
    - Dst: DNS_NOTIFY_VALID
      Src: /src/bind9/lib/dns/notify.c:747,1
    - Dst: isc_net_probeipv4
      Src: /src/bind9/lib/dns/notify.c:750,1
    - Dst: isc_net_probeipv6
      Src: /src/bind9/lib/dns/notify.c:753,1
    - Dst: dns_zone_getloop
      Src: /src/bind9/lib/dns/notify.c:757,1
    - Dst: dns_zone_getview
      Src: /src/bind9/lib/dns/notify.c:758,1
    - Dst: dns_view_getadb
      Src: /src/bind9/lib/dns/notify.c:759,1
    - Dst: dns_adb_createfind
      Src: /src/bind9/lib/dns/notify.c:764,1
    - Dst: dns_adb_detach
      Src: /src/bind9/lib/dns/notify.c:768,1
    - Dst: dns__zone_lock
      Src: /src/bind9/lib/dns/notify.c:781,1
    - Dst: notify_send
      Src: /src/bind9/lib/dns/notify.c:782,1
    - Dst: dns__zone_unlock
      Src: /src/bind9/lib/dns/notify.c:783,1
    - Dst: dns_notify_destroy
      Src: /src/bind9/lib/dns/notify.c:785,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 31
    argCount: 1
    argNames:
    - notify
    argTypes:
    - dns_notify_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 786
      start: 739
    functionDepth: 7
    functionLinenumber: 739
    functionLinenumberEnd: 786
    functionName: dns_notify_find_address
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dns__zone_unlock
    - dns__zone_lock
    - isc_net_probeipv6
    - dns_notify_destroy
    - isc_net_probeipv4
    - dns_adb_createfind
    - notify_send
    - dns_zone_getview
    - dns_view_getadb
    - dns_zone_getloop
    - dns_adb_detach
    - DNS_NOTIFY_VALID
    linkageType: ''
    returnType: void
    signature: void dns_notify_find_address(dns_notify_t *notify)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/notify.c:790,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/notify.c:791,1
    - Dst: dns__zone_locked
      Src: /src/bind9/lib/dns/notify.c:791,1
    - Dst: dns_adb_cancelfind
      Src: /src/bind9/lib/dns/notify.c:793,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/notify.c:796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - nctx
    argTypes:
    - dns_notifyctx_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 799
      start: 788
    functionDepth: 5
    functionLinenumber: 788
    functionLinenumberEnd: 799
    functionName: dns_notify_cancel
    functionSourceFile: /src/bind9/lib/dns/notify.c
    functionUses: 1
    functionsReached:
    - dns_request_cancel
    - INSIST
    - dns_adb_cancelfind
    - dns__zone_locked
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void dns_notify_cancel(dns_notifyctx_t *nctx)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ttl.c:47,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/ttl.c:50,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ttl.c:53,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/ttl.c:54,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/ttl.c:58,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/ttl.c:59,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: 62
      start: 39
    functionDepth: 2
    functionLinenumber: 39
    functionLinenumberEnd: 62
    functionName: ttlfmt
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 0
    functionsReached:
    - memmove
    - INSIST
    - snprintf
    - isc_buffer_add
    - isc_buffer_availableregion
    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:81,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:85,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:85,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:89,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:89,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:93,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:93,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:97,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:97,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/ttl.c:101,1
    - Dst: ttlfmt
      Src: /src/bind9/lib/dns/ttl.c:101,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ttl.c:104,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/ttl.c:116,1
    - Dst: isc_ascii_toupper
      Src: /src/bind9/lib/dns/ttl.c:118,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: 121
      start: 67
    functionDepth: 3
    functionLinenumber: 67
    functionLinenumberEnd: 121
    functionName: dns_ttl_totext
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 5
    functionsReached:
    - isc_ascii_toupper
    - ttlfmt
    - INSIST
    - POST
    - RETERR
    - 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:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - source
    - ttl
    argTypes:
    - isc_textregion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 126
    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:132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - source
    - ttl
    argTypes:
    - isc_textregion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    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:155,1
    - Dst: isdigit
      Src: /src/bind9/lib/dns/ttl.c:162,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/ttl.c:166,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/ttl.c:167,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 57
    argCount: 2
    argNames:
    - source
    - ttl
    argTypes:
    - isc_textregion_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 139
    functionDepth: 1
    functionLinenumber: 139
    functionLinenumberEnd: 215
    functionName: bind_ttl
    functionSourceFile: /src/bind9/lib/dns/ttl.c
    functionUses: 2
    functionsReached:
    - snprintf
    - isc_parse_uint32
    - isdigit
    - INSIST
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t bind_ttl(isc_textregion_t *source, uint32_t *ttl)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/bind9/lib/dns/tkey.c:65,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/tkey.c:66,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/tkey.c:67,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/tkey.c:68,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - fmt
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 69
      start: 61
    functionDepth: 2
    functionLinenumber: 61
    functionLinenumberEnd: 69
    functionName: tkey_log
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - va_start
    - ISC_LOG_DEBUG
    - 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:73,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:74,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tkey.c:76,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/tkey.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - mctx
    - tctxp
    argTypes:
    - isc_mem_t*
    - dns_tkeyctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 71
    functionDepth: 1
    functionLinenumber: 71
    functionLinenumberEnd: 83
    functionName: dns_tkeyctx_create
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    linkageType: ''
    returnType: void
    signature: void dns_tkeyctx_create(isc_mem_t *mctx, dns_tkeyctx_t **tctxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:90,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/tkey.c:97,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/tkey.c:99,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - tctxp
    argTypes:
    - dns_tkeyctx_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 85
    functionDepth: 1
    functionLinenumber: 85
    functionLinenumberEnd: 100
    functionName: dns_tkeyctx_destroy
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - isc_mem_free
    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:112,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/tkey.c:114,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/tkey.c:115,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/tkey.c:116,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tkey.c:117,1
    - Dst: dns_rdata_fromregion
      Src: /src/bind9/lib/dns/tkey.c:118,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/tkey.c:119,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tkey.c:121,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:122,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/tkey.c:124,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:128,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tkey.c:130,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/tkey.c:131,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/tkey.c:133,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:134,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:136,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: 137
      start: 102
    functionDepth: 5
    functionLinenumber: 102
    functionLinenumberEnd: 137
    functionName: add_rdata_to_list
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - dns_message_gettemprdata
    - memmove
    - dns_message_takebuffer
    - dns_rdata_fromregion
    - dns_message_gettemprdatalist
    - ISC_LIST_APPEND
    - dns_rdata_toregion
    - isc_buffer_availableregion
    - ISC_LIST_INIT
    - isc_buffer_allocate
    - dns_message_gettempname
    - dns_rdatalist_tordataset
    - dns_message_gettemprdataset
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/tkey.c:141,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tkey.c:142,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/tkey.c:143,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tkey.c:144,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/tkey.c:145,1
    - Dst: dns_message_puttemprdataset
      Src: /src/bind9/lib/dns/tkey.c:146,1
    - Dst: dns_message_puttempname
      Src: /src/bind9/lib/dns/tkey.c:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - msg
    - namelist
    argTypes:
    - dns_message_t*
    - dns_namelist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 139
    functionDepth: 4
    functionLinenumber: 139
    functionLinenumberEnd: 150
    functionName: free_namelist
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_message_puttemprdataset
    - dns_rdataset_cleanup
    - ISC_LIST_FOREACH
    - dns_message_puttempname
    linkageType: ''
    returnType: void
    signature: void free_namelist(dns_message_t *msg, dns_namelist_t *namelist)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tkey.c:160,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tkey.c:161,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:171,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:175,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:177,1
    - Dst: dst_gssapi_acceptctx
      Src: /src/bind9/lib/dns/tkey.c:182,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:186,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/tkey.c:187,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/tkey.c:195,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:197,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/tkey.c:199,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:206,1
    - Dst: dst_key_fromgssapi
      Src: /src/bind9/lib/dns/tkey.c:206,1
    - Dst: gss_context_time
      Src: /src/bind9/lib/dns/tkey.c:214,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:219,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tkey.c:219,1
    - Dst: dns__tsig_algfromname
      Src: /src/bind9/lib/dns/tkey.c:220,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:223,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/lib/dns/tkey.c:223,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:224,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tkey.c:233,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:234,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:235,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tkey.c:236,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/tkey.c:236,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:237,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tkey.c:238,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/tkey.c:240,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/tkey.c:242,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/tkey.c:252,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:254,1
    - Dst: dst_gssapi_deletectx
      Src: /src/bind9/lib/dns/tkey.c:266,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:269,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:272,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tkey.c:275,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:279,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/tkey.c:279,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    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: 282
      start: 152
    functionDepth: 6
    functionLinenumber: 152
    functionLinenumberEnd: 282
    functionName: process_gsstkey
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - memmove
    - isc_buffer_usedlength
    - dns_tsigkeyring_add
    - dst_key_fromgssapi
    - tkey_log
    - dns_tsigkey_detach
    - dst_key_free
    - isc_result_totext
    - dst_gssapi_acceptctx
    - dns_name_equal
    - isc_stdtime_now
    - gss_context_time
    - CHECK
    - dst_gssapi_deletectx
    - dns_name_countlabels
    - CLEANUP
    - isc_mem_get
    - dns_tsigkey_createfromkey
    - isc_buffer_base
    - dns_fixedname_initname
    - dns__tsig_algfromname
    - isc_buffer_free
    - dns_message_settsigkey
    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:292,1
    - Dst: dns_tsigkey_identity
      Src: /src/bind9/lib/dns/tkey.c:302,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:303,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:304,1
    - Dst: dns_tsigkey_delete
      Src: /src/bind9/lib/dns/tkey.c:313,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:316,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: 319
      start: 284
    functionDepth: 6
    functionLinenumber: 284
    functionLinenumberEnd: 319
    functionName: process_deletetkey
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_name_equal
    - dns_tsigkey_identity
    - dns_tsigkey_detach
    - 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:337,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:339,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/tkey.c:344,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/tkey.c:348,1
    - Dst: dns_message_findname
      Src: /src/bind9/lib/dns/tkey.c:352,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:355,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/tkey.c:357,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tkey.c:360,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/tkey.c:362,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tkey.c:365,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:366,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tkey.c:366,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/tkey.c:369,1
    - Dst: dns_message_signer
      Src: /src/bind9/lib/dns/tkey.c:377,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:383,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/tkey.c:385,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tkey.c:395,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:403,1
    - Dst: process_deletetkey
      Src: /src/bind9/lib/dns/tkey.c:403,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/tkey.c:407,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:409,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/tkey.c:410,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:411,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/tkey.c:412,1
    - Dst: isc_nonce_buf
      Src: /src/bind9/lib/dns/tkey.c:422,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:423,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:424,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/tkey.c:424,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:425,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/tkey.c:425,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:427,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/tkey.c:427,1
    - Dst: dns_tsigkey_find
      Src: /src/bind9/lib/dns/tkey.c:429,1
    - Dst: isc_stdtime_now
      Src: /src/bind9/lib/dns/tkey.c:439,1
    - Dst: dns_tsigkey_delete
      Src: /src/bind9/lib/dns/tkey.c:441,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:442,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:446,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:451,1
    - Dst: process_gsstkey
      Src: /src/bind9/lib/dns/tkey.c:451,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/tkey.c:468,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:469,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/tkey.c:470,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/tkey.c:474,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:476,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:478,1
    - Dst: dns_message_reply
      Src: /src/bind9/lib/dns/tkey.c:478,1
    - Dst: add_rdata_to_list
      Src: /src/bind9/lib/dns/tkey.c:479,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/tkey.c:482,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:483,1
    - Dst: free_namelist
      Src: /src/bind9/lib/dns/tkey.c:488,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 93
    argCount: 3
    argNames:
    - msg
    - tctx
    - ring
    argTypes:
    - dns_message_t*
    - dns_tkeyctx_t*
    - dns_tsigkeyring_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 490
      start: 321
    functionDepth: 7
    functionLinenumber: 321
    functionLinenumberEnd: 490
    functionName: dns_tkey_processquery
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_nonce_buf
    - dns_tsigkey_delete
    - tkey_log
    - dns_tsigkey_find
    - dns_name_fromtext
    - dns_name_concatenate
    - dns_message_findname
    - add_rdata_to_list
    - dns_message_signer
    - dns_tsigkey_detach
    - process_deletetkey
    - isc_hex_totext
    - dns_rdata_tostruct
    - isc_buffer_init
    - process_gsstkey
    - dns_message_reply
    - dns_name_equal
    - isc_stdtime_now
    - dns_rdataset_first
    - dns_rdata_init
    - ISC_LIST_HEAD
    - ISC_LIST_EMPTY
    - dns_name_getlabelsequence
    - dns_rdataset_current
    - dns_name_clone
    - CHECK
    - dns_name_countlabels
    - CLEANUP
    - dns_message_addname
    - free_namelist
    - dns_rdata_fromstruct
    - dns_fixedname_initname
    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:482,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:483,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 484
      start: 481
    functionDepth: 3
    functionLinenumber: 481
    functionLinenumberEnd: 484
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 316
    functionsReached:
    - ISC_LIST_UNLINK
    - dns_message_addname
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(namelist, name, link)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:502,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:503,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:504,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/tkey.c:507,1
    - Dst: dns_message_gettemprdata
      Src: /src/bind9/lib/dns/tkey.c:508,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/tkey.c:509,1
    - Dst: dns_message_puttemprdata
      Src: /src/bind9/lib/dns/tkey.c:512,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/tkey.c:513,1
    - Dst: dns_message_takebuffer
      Src: /src/bind9/lib/dns/tkey.c:516,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tkey.c:518,1
    - Dst: dns_message_gettempname
      Src: /src/bind9/lib/dns/tkey.c:519,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tkey.c:521,1
    - Dst: dns_rdataset_makequestion
      Src: /src/bind9/lib/dns/tkey.c:522,1
    - Dst: dns_message_gettemprdatalist
      Src: /src/bind9/lib/dns/tkey.c:525,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:528,1
    - Dst: dns_message_gettemprdataset
      Src: /src/bind9/lib/dns/tkey.c:530,1
    - Dst: dns_rdatalist_tordataset
      Src: /src/bind9/lib/dns/tkey.c:531,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:533,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/tkey.c:534,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:536,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/tkey.c:537,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:539,1
    - Dst: dns_message_addname
      Src: /src/bind9/lib/dns/tkey.c:540,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: 543
      start: 492
    functionDepth: 5
    functionLinenumber: 492
    functionLinenumberEnd: 543
    functionName: buildquery
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_message_gettemprdata
    - dns_rdataset_makequestion
    - dns_message_takebuffer
    - dns_message_gettemprdatalist
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - isc_buffer_allocate
    - isc_buffer_free
    - dns_rdatalist_tordataset
    - dns_message_gettempname
    - dns_message_puttemprdata
    - dns_message_gettemprdataset
    - dns_message_addname
    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:552,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:556,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:558,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:559,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:560,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:562,1
    - Dst: dst_gssapi_initctx
      Src: /src/bind9/lib/dns/tkey.c:563,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/tkey.c:576,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:577,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tkey.c:579,1
    - Dst: buildquery
      Src: /src/bind9/lib/dns/tkey.c:581,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: 582
      start: 545
    functionDepth: 6
    functionLinenumber: 545
    functionLinenumberEnd: 582
    functionName: dns_tkey_buildgssquery
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dst_gssapi_initctx
    - isc_stdtime_now
    - isc_buffer_usedlength
    - isc_buffer_base
    - dns_name_clone
    - isc_buffer_init
    - buildquery
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/tkey.c:591,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:594,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tkey.c:594,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tkey.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 4
    argNames:
    - msg
    - name
    - rdata
    - section
    argTypes:
    - dns_message_t*
    - dns_name_t**
    - dns_rdata_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 603
      start: 584
    functionDepth: 2
    functionLinenumber: 584
    functionLinenumberEnd: 603
    functionName: find_tkey
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 0
    functionsReached:
    - dns_rdataset_first
    - RETERR
    - dns_message_findtype
    - dns_rdataset_current
    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: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_message_findtype
      Src: /src/bind9/lib/dns/tkey.c:591,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/tkey.c:594,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/tkey.c:594,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/tkey.c:596,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 600
      start: 589
    functionDepth: 2
    functionLinenumber: 589
    functionLinenumberEnd: 600
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - dns_rdataset_first
    - RETERR
    - dns_message_findtype
    - dns_rdataset_current
    linkageType: ''
    returnType: void
    signature: void MSG_SECTION_FOREACH(msg, section, cur)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:619,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:620,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:621,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/tkey.c:622,1
    - Dst: dns_result_fromrcode
      Src: /src/bind9/lib/dns/tkey.c:625,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:628,1
    - Dst: find_tkey
      Src: /src/bind9/lib/dns/tkey.c:628,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:629,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tkey.c:629,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:631,1
    - Dst: find_tkey
      Src: /src/bind9/lib/dns/tkey.c:631,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:632,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/tkey.c:632,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/tkey.c:636,1
    - Dst: tkey_log
      Src: /src/bind9/lib/dns/tkey.c:638,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/tkey.c:640,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:643,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/tkey.c:644,1
    - Dst: dst_gssapi_initctx
      Src: /src/bind9/lib/dns/tkey.c:646,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/tkey.c:660,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/tkey.c:661,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/tkey.c:664,1
    - Dst: dns_message_reset
      Src: /src/bind9/lib/dns/tkey.c:666,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:667,1
    - Dst: buildquery
      Src: /src/bind9/lib/dns/tkey.c:667,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:671,1
    - Dst: dst_key_fromgssapi
      Src: /src/bind9/lib/dns/tkey.c:671,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:678,1
    - Dst: dns_tsigkey_createfromkey
      Src: /src/bind9/lib/dns/tkey.c:678,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/tkey.c:681,1
    - Dst: dns_tsigkeyring_add
      Src: /src/bind9/lib/dns/tkey.c:681,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:683,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:688,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/tkey.c:693,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/tkey.c:696,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 48
    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: 699
      start: 605
    functionDepth: 6
    functionLinenumber: 605
    functionLinenumberEnd: 699
    functionName: dns_tkey_gssnegotiate
    functionSourceFile: /src/bind9/lib/dns/tkey.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_buffer_usedlength
    - dns_result_fromrcode
    - dns_message_reset
    - dns_tsigkeyring_add
    - dst_key_fromgssapi
    - tkey_log
    - find_tkey
    - dns_tsigkey_detach
    - dst_key_free
    - isc_buffer_init
    - dns_rdata_tostruct
    - dns_name_equal
    - dns_name_clone
    - CHECK
    - CLEANUP
    - dst_gssapi_initctx
    - dns_tsigkey_createfromkey
    - isc_buffer_base
    - buildquery
    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: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mutex_init
    - isc_mem_get
    - isc_mem_strdup
    - isc_refcount_init
    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: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/kasp.c:61,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:63,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/kasp.c:64,1
    - Dst: dns_kasp_key_destroy
      Src: /src/bind9/lib/dns/kasp.c:65,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/kasp.c:67,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/kasp.c:67,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:69,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/kasp.c:70,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/kasp.c:71,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/kasp.c:73,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/kasp.c:73,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/kasp.c:75,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/kasp.c:76,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/kasp.c:77,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 59
    functionDepth: 1
    functionLinenumber: 59
    functionLinenumberEnd: 78
    functionName: destroy
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 524
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - isc_mem_put
    - INSIST
    - ISC_LINK_LINKED
    - ISC_LIST_EMPTY
    - isc_mem_free
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - isc_mutex_destroy
    - dns_kasp_key_destroy
    linkageType: ''
    returnType: void
    signature: void destroy(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:88,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 1
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: dns_kasp_getname
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 10
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:95,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:95,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 99
    functionName: dns_kasp_freeze
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 8
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:103,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:103,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 1
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: dns_kasp_thaw
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:111,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:111,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 115
    functionName: dns_kasp_signdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:119,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 123
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 123
    functionName: dns_kasp_sigjitter
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:127,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 125
    functionDepth: 1
    functionLinenumber: 125
    functionLinenumberEnd: 131
    functionName: dns_kasp_setsigjitter
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:135,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:136,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 133
    functionDepth: 1
    functionLinenumber: 133
    functionLinenumberEnd: 139
    functionName: dns_kasp_sigrefresh
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:143,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:143,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 141
    functionDepth: 1
    functionLinenumber: 141
    functionLinenumberEnd: 147
    functionName: dns_kasp_setsigrefresh
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:151,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:151,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 155
    functionName: dns_kasp_sigvalidity
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:159,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:159,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 163
    functionName: dns_kasp_setsigvalidity
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:167,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:167,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 171
    functionName: dns_kasp_sigvalidity_dnskey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:175,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 179
    functionName: dns_kasp_setsigvalidity_dnskey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:183,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: dns_kasp_dnskeyttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:191,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - ttl
    argTypes:
    - dns_kasp_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 195
    functionName: dns_kasp_setdnskeyttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:199,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 203
    functionName: dns_kasp_purgekeys
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:207,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 211
    functionName: dns_kasp_setpurgekeys
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:215,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 219
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 219
    functionName: dns_kasp_publishsafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:223,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:223,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 221
    functionDepth: 1
    functionLinenumber: 221
    functionLinenumberEnd: 227
    functionName: dns_kasp_setpublishsafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:231,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 229
    functionDepth: 1
    functionLinenumber: 229
    functionLinenumberEnd: 235
    functionName: dns_kasp_retiresafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:239,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:239,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:240,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 243
      start: 237
    functionDepth: 1
    functionLinenumber: 237
    functionLinenumberEnd: 243
    functionName: dns_kasp_setretiresafety
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:247,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:247,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:248,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 245
    functionDepth: 1
    functionLinenumber: 245
    functionLinenumberEnd: 251
    functionName: dns_kasp_inlinesigning
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:255,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 259
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 259
    functionName: dns_kasp_setinlinesigning
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setinlinesigning(dns_kasp_t *kasp, bool value)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:263,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 267
    functionName: dns_kasp_manualmode
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    linkageType: ''
    returnType: bool
    signature: bool dns_kasp_manualmode(dns_kasp_t *kasp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:271,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 275
    functionName: dns_kasp_setmanualmode
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    linkageType: ''
    returnType: void
    signature: void dns_kasp_setmanualmode(dns_kasp_t *kasp, bool value)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:279,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:279,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:280,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - kasp
    - fallback
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 286
    functionName: dns_kasp_zonemaxttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:290,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:290,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:291,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - ttl
    argTypes:
    - dns_kasp_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 294
      start: 288
    functionDepth: 1
    functionLinenumber: 288
    functionLinenumberEnd: 294
    functionName: dns_kasp_setzonemaxttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:298,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:298,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 296
    functionDepth: 1
    functionLinenumber: 296
    functionLinenumberEnd: 302
    functionName: dns_kasp_zonepropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:306,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:306,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 310
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 310
    functionName: dns_kasp_setzonepropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:314,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:314,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:315,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 312
    functionDepth: 1
    functionLinenumber: 312
    functionLinenumberEnd: 318
    functionName: dns_kasp_dsttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:322,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - ttl
    argTypes:
    - dns_kasp_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 326
    functionName: dns_kasp_setdsttl
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:330,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:330,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:331,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 334
    functionName: dns_kasp_parentpropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:338,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:338,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - value
    argTypes:
    - dns_kasp_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 336
    functionDepth: 1
    functionLinenumber: 336
    functionLinenumberEnd: 342
    functionName: dns_kasp_setparentpropagationdelay
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:346,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:352,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/kasp.c:353,1
    - Dst: dns_kasp_attach
      Src: /src/bind9/lib/dns/kasp.c:354,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: 360
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 360
    functionName: dns_kasplist_find
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - strcmp
    - ISC_LIST_FOREACH
    - dns_kasp_attach
    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:364,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:364,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 368
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 368
    functionName: dns_kasp_keys
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:372,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:372,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/kasp.c:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 375
    functionName: dns_kasp_keylist_empty
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    - ISC_LIST_EMPTY
    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:379,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:379,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:380,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:381,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/kasp.c:383,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: 384
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 384
    functionName: dns_kasp_addkey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    - ISC_LIST_APPEND
    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:391,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:391,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:392,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/kasp.c:394,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/kasp.c:398,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/kasp.c:400,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: 403
      start: 386
    functionDepth: 1
    functionLinenumber: 386
    functionLinenumberEnd: 403
    functionName: dns_kasp_key_create
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 4
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - DNS_KASP_VALID
    - ISC_LINK_INIT
    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:407,1
    - Dst: dns_keystore_detach
      Src: /src/bind9/lib/dns/kasp.c:410,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/kasp.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 405
    functionDepth: 1
    functionLinenumber: 405
    functionLinenumberEnd: 413
    functionName: dns_kasp_key_destroy
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - isc_mem_putanddetach
    - dns_keystore_detach
    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:417,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 415
    functionDepth: 1
    functionLinenumber: 415
    functionLinenumberEnd: 420
    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:427,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 422
    functionDepth: 1
    functionLinenumber: 422
    functionLinenumberEnd: 466
    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:470,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 473
      start: 468
    functionDepth: 1
    functionLinenumber: 468
    functionLinenumberEnd: 473
    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:477,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 480
      start: 475
    functionDepth: 1
    functionLinenumber: 475
    functionLinenumberEnd: 480
    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:484,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 482
    functionDepth: 1
    functionLinenumber: 482
    functionLinenumberEnd: 487
    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:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 494
      start: 489
    functionDepth: 1
    functionLinenumber: 489
    functionLinenumberEnd: 494
    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:498,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 500
      start: 496
    functionDepth: 1
    functionLinenumber: 496
    functionLinenumberEnd: 500
    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:504,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - key
    argTypes:
    - dns_kasp_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 506
      start: 502
    functionDepth: 1
    functionLinenumber: 502
    functionLinenumberEnd: 506
    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:513,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:514,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/kasp.c:517,1
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/dns/kasp.c:517,1
    - Dst: dst_key_size
      Src: /src/bind9/lib/dns/kasp.c:521,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/dns/kasp.c:521,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/kasp.c:525,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/kasp.c:526,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/kasp.c:529,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/kasp.c:530,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/kasp.c:534,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/kasp.c:535,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: 545
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 545
    functionName: dns_kasp_key_match
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 7
    functionsReached:
    - REQUIRE
    - dns_kasp_key_zsk
    - dns_kasp_key_ksk
    - dst_key_alg
    - dst_key_id
    - dst_key_getbool
    - dns_kasp_key_algorithm
    - dns_kasp_key_size
    - dst_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:549,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:550,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/kasp.c:553,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/kasp.c:553,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/kasp.c:555,1
    - Dst: dst_algorithm_format
      Src: /src/bind9/lib/dns/kasp.c:557,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/kasp.c:558,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/dns/kasp.c:559,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - key
    - cp
    - size
    argTypes:
    - dns_kasp_key_t*
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 547
    functionDepth: 3
    functionLinenumber: 547
    functionLinenumberEnd: 560
    functionName: dns_kasp_key_format
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_kasp_key_zsk
    - dns_kasp_key_ksk
    - snprintf
    - dns_kasp_key_size
    - dst_algorithm_format
    linkageType: ''
    returnType: void
    signature: void dns_kasp_key_format(dns_kasp_key_t *key, char *cp, unsigned int
      size)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:564,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:565,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 569
      start: 562
    functionDepth: 1
    functionLinenumber: 562
    functionLinenumberEnd: 569
    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:573,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:574,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:575,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 581
      start: 571
    functionDepth: 1
    functionLinenumber: 571
    functionLinenumberEnd: 581
    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:585,1
    - 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: 5
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 590
      start: 583
    functionDepth: 1
    functionLinenumber: 583
    functionLinenumberEnd: 590
    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:594,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:595,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 598
    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:602,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:603,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - nsec3
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 606
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 606
    functionName: dns_kasp_setnsec3
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    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:611,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:612,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:613,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: 618
      start: 608
    functionDepth: 1
    functionLinenumber: 608
    functionLinenumberEnd: 618
    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: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_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:630,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:631,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - offlineksk
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 634
      start: 628
    functionDepth: 1
    functionLinenumber: 628
    functionLinenumberEnd: 634
    functionName: dns_kasp_setofflineksk
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    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: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_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:646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:647,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - kasp
    - cdnskey
    argTypes:
    - dns_kasp_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 650
      start: 644
    functionDepth: 1
    functionLinenumber: 644
    functionLinenumberEnd: 650
    functionName: dns_kasp_setcdnskey
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    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:654,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:654,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:655,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - kasp
    argTypes:
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 658
      start: 652
    functionDepth: 1
    functionLinenumber: 652
    functionLinenumberEnd: 658
    functionName: dns_kasp_digests
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_KASP_VALID
    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:664,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/kasp.c:664,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/kasp.c:665,1
    - Dst: dst_ds_digest_supported
      Src: /src/bind9/lib/dns/kasp.c:668,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/kasp.c:673,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/kasp.c:679,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/kasp.c:681,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/kasp.c:682,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - kasp
    - alg
    argTypes:
    - dns_kasp_t*
    - dns_dsdigest_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 660
    functionDepth: 1
    functionLinenumber: 660
    functionLinenumberEnd: 683
    functionName: dns_kasp_adddigest
    functionSourceFile: /src/bind9/lib/dns/kasp.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - isc_mem_get
    - ISC_LIST_APPEND
    - dst_ds_digest_supported
    - DNS_KASP_VALID
    - ISC_LIST_FOREACH
    - ISC_LINK_INIT
    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: 11
    argNames:
    - (
    - key
    - ','
    - state
    - ','
    - timing
    - ','
    - target
    - ','
    - time
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 64
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 64
    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:86,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - key
    - what
    argTypes:
    - dst_key_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 83
    functionDepth: 4
    functionLinenumber: 83
    functionLinenumberEnd: 90
    functionName: log_key_overflow
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - isc_log_write
    - dst_key_format
    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:100,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:104,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 19
    argCount: 1
    argNames:
    - key
    argTypes:
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 116
    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:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:129,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:131,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:136,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:138,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:141,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:142,1
    - Dst: dns_kasp_signdelay
      Src: /src/bind9/lib/dns/keymgr.c:142,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:144,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/lib/dns/keymgr.c:147,1
    - Dst: dns_kasp_parentpropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:148,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:149,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/keymgr.c:152,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:153,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 2
    argNames:
    - key
    - kasp
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 154
    functionName: keymgr_settime_remove
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_kasp_zonepropagationdelay
    - dst_key_gettime
    - dns_kasp_parentpropagationdelay
    - ISC_MAX
    - dns_kasp_retiresafety
    - dst_key_getbool
    - dns_kasp_dsttl
    - dst_key_settime
    - dns_kasp_zonemaxttl
    - dns_kasp_signdelay
    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:166,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:168,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:173,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:178,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:179,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:180,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:184,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:186,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:191,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:194,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:196,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: 199
      start: 160
    functionDepth: 2
    functionLinenumber: 160
    functionLinenumberEnd: 199
    functionName: dns_keymgr_settime_syncpublish
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_kasp_zonepropagationdelay
    - dst_key_gettime
    - dst_key_getttl
    - dst_key_settime
    - dst_key_getbool
    - dst_key_getnum
    - dns_kasp_publishsafety
    - dns_kasp_zonemaxttl
    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:222,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:223,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:233,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:236,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_getnum
      Src: /src/bind9/lib/dns/keymgr.c:251,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:253,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:260,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:260,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:261,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:262,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:269,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:277,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:284,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:287,1
    - Dst: ISC_MAX
      Src: /src/bind9/lib/dns/keymgr.c:290,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:291,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:294,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:305,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:307,1
    - Dst: ckd_add
      Src: /src/bind9/lib/dns/keymgr.c:317,1
    - Dst: log_key_overflow
      Src: /src/bind9/lib/dns/keymgr.c:318,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:321,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:327,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: 337
      start: 215
    functionDepth: 5
    functionLinenumber: 215
    functionLinenumberEnd: 337
    functionName: keymgr_prepublication_time
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - dns_kasp_zonepropagationdelay
    - keymgr_settime_remove
    - dst_key_setnum
    - dst_key_getttl
    - dst_key_settime
    - ISC_MAX
    - dst_key_getbool
    - log_key_overflow
    - dst_key_getnum
    - dns_kasp_publishsafety
    - dns_kasp_zonemaxttl
    - ckd_add
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:348,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:349,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:351,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:353,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:354,1
    - Dst: dns_kasp_manualmode
      Src: /src/bind9/lib/dns/keymgr.c:356,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:359,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:363,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:367,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:369,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:371,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:378,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:380,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:382,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:384,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:385,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:386,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:389,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:391,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:394,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:395,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:397,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:399,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:400,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:403,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:405,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:408,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:409,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 40
    argCount: 4
    argNames:
    - key
    - kasp
    - opts
    - now
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    - uint8_t
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 412
    functionName: keymgr_key_retire
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - dst_key_getstate
    - INSIST
    - dst_key_format
    - dst_key_settime
    - dst_key_getbool
    - isc_log_write
    - keymgr_keyrole
    - dst_key_setstate
    - keymgr_settime_remove
    - dns_kasp_manualmode
    linkageType: ''
    returnType: void
    signature: "void keymgr_key_retire(dns_dnsseckey_t *key, dns_kasp_t *kasp, uint8_t
      opts,\n\t\t  isc_stdtime_t now)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:422,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:423,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:426,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:435,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:439,1
    - Dst: ckd_add
      Src: /src/bind9/lib/dns/keymgr.c:440,1
    - Dst: log_key_overflow
      Src: /src/bind9/lib/dns/keymgr.c:441,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:444,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:445,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/keymgr.c:447,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/keymgr.c:448,1
    - Dst: dst_key_unsettime
      Src: /src/bind9/lib/dns/keymgr.c:449,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: 452
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 452
    functionName: keymgr_key_update_lifetime
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - dst_key_getstate
    - keymgr_settime_remove
    - dst_key_setnum
    - dst_key_settime
    - log_key_overflow
    - dst_key_getnum
    - dst_key_unsettime
    - ckd_add
    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:457,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/keymgr.c:458,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:459,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:468,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:469,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:472,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/keymgr.c:473,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:474,1
    - Dst: dst_key_rid
      Src: /src/bind9/lib/dns/keymgr.c:475,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: 481
      start: 454
    functionDepth: 2
    functionLinenumber: 454
    functionLinenumberEnd: 481
    functionName: keymgr_keyid_conflict
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_FOREACH
    - dst_key_rid
    - dst_key_id
    - 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: 8
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_algorithm
      Src: /src/bind9/lib/dns/keymgr.c:499,1
    - Dst: dns_kasp_key_keystore
      Src: /src/bind9/lib/dns/keymgr.c:500,1
    - Dst: dns_kasp_key_size
      Src: /src/bind9/lib/dns/keymgr.c:502,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/keymgr.c:505,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/keymgr.c:507,1
    - Dst: dns_dnssec_findmatchingkeys
      Src: /src/bind9/lib/dns/keymgr.c:514,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:522,1
    - Dst: dst_key_generate
      Src: /src/bind9/lib/dns/keymgr.c:522,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:526,1
    - Dst: dns_keystore_keygen
      Src: /src/bind9/lib/dns/keymgr.c:526,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:527,1
    - Dst: keymgr_keyid_conflict
      Src: /src/bind9/lib/dns/keymgr.c:532,1
    - Dst: keymgr_keyid_conflict
      Src: /src/bind9/lib/dns/keymgr.c:535,1
    - Dst: keymgr_keyid_conflict
      Src: /src/bind9/lib/dns/keymgr.c:539,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:544,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:547,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/keymgr.c:548,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:552,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:553,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:553,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:554,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/keymgr.c:554,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:555,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/keymgr.c:555,1
    - Dst: dns_keystore_directory
      Src: /src/bind9/lib/dns/keymgr.c:557,1
    - Dst: dst_key_setdirectory
      Src: /src/bind9/lib/dns/keymgr.c:559,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/keymgr.c:565,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/keymgr.c:566,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/keymgr.c:567,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/keymgr.c:568,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 45
    argCount: 10
    argNames:
    - kkey
    - origin
    - kasp
    - rdclass
    - mctx
    - keydir
    - keylist
    - now
    - newkeys
    - dst_key
    argTypes:
    - dns_kasp_key_t*
    - dns_name_t*
    - dns_kasp_t*
    - dns_rdataclass_t
    - isc_mem_t*
    - char*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - dns_dnsseckeylist_t*
    - dst_key_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 489
    functionDepth: 6
    functionLinenumber: 489
    functionLinenumberEnd: 571
    functionName: keymgr_createkey
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dns_keystore_keygen
    - ISC_LIST_UNLINK
    - dns_kasp_key_ksk
    - INSIST
    - dns_dnsseckey_destroy
    - ISC_LIST_INIT
    - dns_kasp_key_size
    - dns_kasp_key_keystore
    - dns_keystore_directory
    - dst_key_free
    - dns_kasp_key_zsk
    - ISC_LIST_EMPTY
    - ISC_LIST_HEAD
    - isc_log_write
    - dns_kasp_getname
    - dst_key_generate
    - CHECK
    - dns_kasp_key_lifetime
    - dst_key_setnum
    - keymgr_keyid_conflict
    - dst_key_id
    - dns_dnssec_findmatchingkeys
    - dst_key_setdirectory
    - dns_kasp_key_algorithm
    - dst_key_setbool
    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 isc_stdtime_t now, dns_dnsseckeylist_t
      *newkeys,\n\t\t dst_key_t **dst_key)"
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:601,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: 632
      start: 597
    functionDepth: 2
    functionLinenumber: 597
    functionLinenumberEnd: 632
    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:646,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:654,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:654,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:655,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:655,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:659,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: 672
      start: 642
    functionDepth: 2
    functionLinenumber: 642
    functionLinenumberEnd: 672
    functionName: keymgr_key_match_state
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dst_key_getstate
    - dst_key_id
    - 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:681,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:684,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:687,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:687,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - d
    - k
    argTypes:
    - dst_key_t*
    - dst_key_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 677
    functionDepth: 2
    functionLinenumber: 677
    functionLinenumberEnd: 688
    functionName: keymgr_direct_dep
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_getnum
    - dst_key_id
    linkageType: ''
    returnType: bool
    signature: bool keymgr_direct_dep(dst_key_t *d, dst_key_t *k)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:695,1
    - Dst: keymgr_direct_dep
      Src: /src/bind9/lib/dns/keymgr.c:699,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:703,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/keymgr.c:707,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:707,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - k
    - keyring
    - dep
    argTypes:
    - dst_key_t*
    - dns_dnsseckeylist_t*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 712
      start: 693
    functionDepth: 3
    functionLinenumber: 693
    functionLinenumberEnd: 712
    functionName: keymgr_dep
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_direct_dep
    - SET_IF_NOT_NULL
    - dst_key_id
    - ISC_LIST_FOREACH
    - keymgr_key_match_state
    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:730,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:737,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:744,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:762,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:768,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:769,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:769,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:773,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:782,1
    - Dst: keymgr_key_is_successor
      Src: /src/bind9/lib/dns/keymgr.c:788,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: 794
      start: 718
    functionDepth: 4
    functionLinenumber: 718
    functionLinenumberEnd: 794
    functionName: keymgr_key_is_successor
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dst_key_getstate
    - keymgr_dep
    - dst_key_id
    - ISC_LIST_FOREACH
    - keymgr_key_is_successor
    - 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:811,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:813,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:813,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:818,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:833,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:838,1
    - Dst: keymgr_key_is_successor
      Src: /src/bind9/lib/dns/keymgr.c:847,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: 857
      start: 805
    functionDepth: 5
    functionLinenumber: 805
    functionLinenumberEnd: 857
    functionName: keymgr_key_exists_with_state
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_key_is_successor
    - keymgr_key_match_state
    - ISC_LIST_FOREACH
    - dst_key_alg
    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:865,1
    - Dst: keymgr_direct_dep
      Src: /src/bind9/lib/dns/keymgr.c:866,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - predecessor
    - keyring
    argTypes:
    - dns_dnsseckey_t*
    - dns_dnsseckeylist_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 871
      start: 862
    functionDepth: 3
    functionLinenumber: 862
    functionLinenumberEnd: 871
    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:893,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:895,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:895,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:900,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:916,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:927,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: 937
      start: 882
    functionDepth: 6
    functionLinenumber: 882
    functionLinenumberEnd: 937
    functionName: keymgr_ds_hidden_or_chained
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_key_exists_with_state
    - keymgr_key_match_state
    - ISC_LIST_FOREACH
    - dst_key_alg
    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:960,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:962,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:962,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:967,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:979,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:981,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: 991
      start: 948
    functionDepth: 6
    functionLinenumber: 948
    functionLinenumberEnd: 991
    functionName: keymgr_dnskey_hidden_or_chained
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_getstate
    - dst_key_alg
    - keymgr_key_exists_with_state
    - 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:1013,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1015,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1018,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 5
    argNames:
    - keyring
    - key
    - type
    - next_state
    - opts
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 997
    functionDepth: 6
    functionLinenumber: 997
    functionLinenumberEnd: 1020
    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, uint8_t opts)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - 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:1061,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1074,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1077,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1080,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1083,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1086,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1089,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1092,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1095,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1098,1
    - Dst: keymgr_ds_hidden_or_chained
      Src: /src/bind9/lib/dns/keymgr.c:1110,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: 1112
      start: 1027
    functionDepth: 7
    functionLinenumber: 1027
    functionLinenumberEnd: 1112
    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:1137,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1144,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1152,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1161,1
    - Dst: keymgr_dnskey_hidden_or_chained
      Src: /src/bind9/lib/dns/keymgr.c:1170,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: 1172
      start: 1119
    functionDepth: 7
    functionLinenumber: 1119
    functionLinenumberEnd: 1172
    functionName: keymgr_have_rrsig
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - keymgr_ds_hidden_or_chained
    - keymgr_key_exists_with_state
    - keymgr_dnskey_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:1218,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1227,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1230,1
    - Dst: keymgr_key_exists_with_state
      Src: /src/bind9/lib/dns/keymgr.c:1233,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1238,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1242,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: 1247
      start: 1185
    functionDepth: 6
    functionLinenumber: 1185
    functionLinenumberEnd: 1247
    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: 5
    BranchProfiles: []
    Callsites:
    - 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:1260,1
    - Dst: keymgr_have_dnskey
      Src: /src/bind9/lib/dns/keymgr.c:1261,1
    - Dst: keymgr_have_rrsig
      Src: /src/bind9/lib/dns/keymgr.c:1262,1
    - Dst: keymgr_have_rrsig
      Src: /src/bind9/lib/dns/keymgr.c:1263,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1266,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1266,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1268,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1269,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1271,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1275,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1289,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 22
    argCount: 5
    argNames:
    - keyring
    - key
    - type
    - next_state
    - opts
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_dnsseckey_t*
    - int
    - dst_key_state_t
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1315
      start: 1254
    functionDepth: 8
    functionLinenumber: 1254
    functionLinenumberEnd: 1315
    functionName: keymgr_transition_allowed
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_format
    - isc_log_write
    - keymgr_have_rrsig
    - keymgr_keyrole
    - ISC_LOG_DEBUG
    - isc_log_wouldlog
    - keymgr_have_dnskey
    - keymgr_have_ds
    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, uint8_t opts)"
  - BBCount: 23
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:1327,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1338,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1341,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1361,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1362,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:1363,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1370,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1371,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1385,1
    - Dst: dns_kasp_signdelay
      Src: /src/bind9/lib/dns/keymgr.c:1390,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1411,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1417,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1420,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:1425,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1458,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/lib/dns/keymgr.c:1464,1
    - Dst: dns_kasp_parentpropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1465,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1471,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/keymgr.c:1474,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:1479,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/keymgr.c:1489,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    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: 1494
      start: 1321
    functionDepth: 2
    functionLinenumber: 1321
    functionLinenumberEnd: 1494
    functionName: keymgr_transition_time
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - dns_kasp_zonepropagationdelay
    - dst_key_getttl
    - dns_kasp_parentpropagationdelay
    - dst_key_settime
    - dns_kasp_retiresafety
    - dns_kasp_dsttl
    - dst_key_getnum
    - dns_kasp_publishsafety
    - dns_kasp_zonemaxttl
    - dns_kasp_signdelay
    - UNREACHABLE
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:1513,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1515,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1527,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1537,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1538,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1541,1
    - Dst: keymgr_desiredstate
      Src: /src/bind9/lib/dns/keymgr.c:1545,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1552,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1554,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1557,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1563,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1564,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1567,1
    - Dst: keymgr_policy_approval
      Src: /src/bind9/lib/dns/keymgr.c:1572,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1576,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1578,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1582,1
    - Dst: keymgr_transition_allowed
      Src: /src/bind9/lib/dns/keymgr.c:1590,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1594,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1596,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1600,1
    - Dst: keymgr_transition_time
      Src: /src/bind9/lib/dns/keymgr.c:1608,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1612,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1614,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1618,1
    - Dst: dns_kasp_manualmode
      Src: /src/bind9/lib/dns/keymgr.c:1632,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1633,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1641,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1650,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1651,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1654,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:1658,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1659,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:1660,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/keymgr.c:1660,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 5
    argNames:
    - keyring
    - kasp
    - now
    - nexttime
    - opts
    argTypes:
    - dns_dnsseckeylist_t*
    - dns_kasp_t*
    - isc_stdtime_t
    - isc_stdtime_t*
    - uint8_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1674
      start: 1501
    functionDepth: 9
    functionLinenumber: 1501
    functionLinenumberEnd: 1674
    functionName: keymgr_update
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_getstate
    - INSIST
    - dst_key_format
    - dst_key_settime
    - keymgr_transition_allowed
    - keymgr_transition_time
    - isc_log_write
    - keymgr_keyrole
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    - dst_key_setstate
    - keymgr_desiredstate
    - dst_key_ismodified
    - keymgr_policy_approval
    - dns_kasp_manualmode
    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, uint8_t opts)"
  - BBCount: 16
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:1687,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:1688,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:1691,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/keymgr.c:1693,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:1694,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:1696,1
    - Dst: dst_key_flags
      Src: /src/bind9/lib/dns/keymgr.c:1698,1
    - Dst: dst_key_setbool
      Src: /src/bind9/lib/dns/keymgr.c:1699,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1703,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:1705,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1706,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1714,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1716,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1717,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1725,1
    - Dst: dns_kasp_dsttl
      Src: /src/bind9/lib/dns/keymgr.c:1727,1
    - Dst: dns_kasp_parentpropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1728,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1736,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:1738,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1739,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1748,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:1750,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:1751,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:1763,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:1766,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1770,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1773,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1775,1
    - Dst: INITIALIZE_STATE
      Src: /src/bind9/lib/dns/keymgr.c:1779,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: 1782
      start: 1676
    functionDepth: 2
    functionLinenumber: 1676
    functionLinenumberEnd: 1782
    functionName: dns_keymgr_key_init
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - dns_kasp_zonepropagationdelay
    - dst_key_flags
    - dst_key_getstate
    - dst_key_getttl
    - dns_kasp_parentpropagationdelay
    - dns_kasp_dsttl
    - dst_key_getbool
    - INITIALIZE_STATE
    - dst_key_setbool
    - dst_key_setstate
    - dns_kasp_zonemaxttl
    linkageType: ''
    returnType: void
    signature: "void dns_keymgr_key_init(dns_dnsseckey_t *key, dns_kasp_t *kasp, isc_stdtime_t
      now,\n\t\t    bool csk)"
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1800,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1800,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1801,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1802,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1804,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1806,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1807,1
    - Dst: keymgr_prepublication_time
      Src: /src/bind9/lib/dns/keymgr.c:1814,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1817,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1817,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1818,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1820,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1822,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1826,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1827,1
    - Dst: keymgr_key_has_successor
      Src: /src/bind9/lib/dns/keymgr.c:1840,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1842,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1842,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1843,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1845,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1847,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1850,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1851,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1856,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1856,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1857,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1858,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1859,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1862,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1863,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1870,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1871,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1875,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1876,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:1879,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1879,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:1880,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1881,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:1882,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1884,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:1893,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:1894,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:1895,1
    - Dst: dns_kasp_manualmode
      Src: /src/bind9/lib/dns/keymgr.c:1903,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1907,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1908,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:1909,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1910,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1915,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1916,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1918,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:1919,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1920,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1924,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1925,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:1927,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:1928,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1929,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:1933,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1934,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:1936,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:1937,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:1941,1
    - Dst: dns_kasp_key_ksk
      Src: /src/bind9/lib/dns/keymgr.c:1948,1
    - Dst: dns_kasp_key_zsk
      Src: /src/bind9/lib/dns/keymgr.c:1949,1
    - Dst: keymgr_createkey
      Src: /src/bind9/lib/dns/keymgr.c:1951,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/keymgr.c:1957,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/keymgr.c:1957,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1958,1
    - Dst: dns_dnsseckey_create
      Src: /src/bind9/lib/dns/keymgr.c:1959,1
    - Dst: dns_keymgr_key_init
      Src: /src/bind9/lib/dns/keymgr.c:1960,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:1963,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1971,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:1972,1
    - Dst: dns_keymgr_settime_syncpublish
      Src: /src/bind9/lib/dns/keymgr.c:1973,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1980,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:1982,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:1983,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/keymgr.c:1984,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:1985,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:1986,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2003,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2004,1
    - Dst: dns_keymgr_settime_syncpublish
      Src: /src/bind9/lib/dns/keymgr.c:2005,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2010,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2014,1
    - Dst: ckd_add
      Src: /src/bind9/lib/dns/keymgr.c:2020,1
    - Dst: log_key_overflow
      Src: /src/bind9/lib/dns/keymgr.c:2021,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2024,1
    - Dst: keymgr_settime_remove
      Src: /src/bind9/lib/dns/keymgr.c:2025,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2029,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:2031,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/keymgr.c:2033,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2037,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2038,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2040,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2042,1
    CyclomaticComplexity: 32
    EdgeCount: 32
    ICount: 122
    argCount: 13
    argNames:
    - kaspkey
    - active_key
    - keyring
    - newkeys
    - origin
    - rdclass
    - kasp
    - keydir
    - lifetime
    - opts
    - 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
    - uint8_t
    - isc_stdtime_t
    - isc_stdtime_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2044
      start: 1784
    functionDepth: 7
    functionLinenumber: 1784
    functionLinenumberEnd: 2044
    functionName: keymgr_key_rollover
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dns_keymgr_settime_syncpublish
    - dst_key_gettime
    - dns_kasp_key_ksk
    - INSIST
    - dst_key_setttl
    - ISC_LOG_DEBUG
    - dns_dnssec_get_hints
    - dst_key_setstate
    - keymgr_key_has_successor
    - dns_kasp_dnskeyttl
    - dst_key_is_unused
    - dns_name_format
    - dst_key_format
    - dns_kasp_key_match
    - ckd_add
    - dns_kasp_key_zsk
    - keymgr_createkey
    - dns_dnsseckey_create
    - log_key_overflow
    - isc_log_write
    - dns_kasp_getname
    - isc_log_wouldlog
    - keymgr_settime_remove
    - dns_kasp_manualmode
    - dst_key_setnum
    - ISC_LIST_APPEND
    - dst_key_settime
    - dns_keymgr_key_init
    - dst_key_id
    - keymgr_keyrole
    - keymgr_prepublication_time
    - ISC_LIST_FOREACH
    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    uint8_t opts, 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:2055,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2063,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:2068,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2073,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2074,1
    - Dst: keymgr_key_match_state
      Src: /src/bind9/lib/dns/keymgr.c:2082,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2092,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: 2099
      start: 2046
    functionDepth: 4
    functionLinenumber: 2046
    functionLinenumberEnd: 2099
    functionName: dns_keymgr_key_may_be_purged
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dst_key_gettime
    - dst_key_is_unused
    - dst_key_format
    - dst_key_getbool
    - dst_key_goal
    - 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:2110,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/keymgr.c:2111,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2111,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2115,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2116,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2120,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keymgr.c:2121,1
    - Dst: unlink
      Src: /src/bind9/lib/dns/keymgr.c:2125,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2127,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2128,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2132,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - key
    - type
    argTypes:
    - dst_key_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2101
    functionDepth: 4
    functionLinenumber: 2101
    functionLinenumberEnd: 2134
    functionName: keymgr_purge_keyfile
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_format
    - dst_key_buildfilename
    - unlink
    - isc_log_write
    - keymgr_keyrole
    - dst_key_directory
    - isc_buffer_init
    - isc_result_totext
    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:2141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - kasp
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2146
      start: 2136
    functionDepth: 3
    functionLinenumber: 2136
    functionLinenumberEnd: 2146
    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:2141,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2144
      start: 2140
    functionDepth: 3
    functionLinenumber: 2140
    functionLinenumberEnd: 2144
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 328
    functionsReached:
    - dns_kasp_key_match
    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/keymgr.c:2150,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2155,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2160,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2163,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2166,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 16
    argCount: 2
    argNames:
    - keyring
    - now
    argTypes:
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2171
      start: 2148
    functionDepth: 2
    functionLinenumber: 2148
    functionLinenumberEnd: 2171
    functionName: keymgr_zrrsig
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_settime
    - dst_key_getstate
    - ISC_LIST_FOREACH
    - dst_key_getbool
    linkageType: ''
    returnType: void
    signature: void keymgr_zrrsig(dns_dnsseckeylist_t *keyring, isc_stdtime_t now)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2189,1
    - Dst: dns_name_isvalid
      Src: /src/bind9/lib/dns/keymgr.c:2189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2192,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2192,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/keymgr.c:2194,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2199,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2199,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/keymgr.c:2200,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:2202,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2203,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2204,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2207,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2210,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2211,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2212,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2213,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2215,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2217,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2218,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2219,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2220,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2222,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2226,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2231,1
    - Dst: dns_keymgr_key_init
      Src: /src/bind9/lib/dns/keymgr.c:2234,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2237,1
    - Dst: keymgr_key_retire
      Src: /src/bind9/lib/dns/keymgr.c:2245,1
    - Dst: dns_keymgr_key_may_be_purged
      Src: /src/bind9/lib/dns/keymgr.c:2249,1
    - Dst: dns_kasp_purgekeys
      Src: /src/bind9/lib/dns/keymgr.c:2250,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2252,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2253,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2257,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2258,1
    - Dst: keymgr_purge_keyfile
      Src: /src/bind9/lib/dns/keymgr.c:2260,1
    - Dst: keymgr_purge_keyfile
      Src: /src/bind9/lib/dns/keymgr.c:2261,1
    - Dst: keymgr_purge_keyfile
      Src: /src/bind9/lib/dns/keymgr.c:2262,1
    - Dst: dns_kasp_key_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:2269,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2273,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2274,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2276,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2278,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2280,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2283,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2284,1
    - Dst: keymgr_key_update_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:2287,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:2294,1
    - Dst: dst_key_doublematch
      Src: /src/bind9/lib/dns/keymgr.c:2295,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2296,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2298,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2300,1
    - Dst: keymgr_key_retire
      Src: /src/bind9/lib/dns/keymgr.c:2308,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2318,1
    - Dst: dst_key_is_active
      Src: /src/bind9/lib/dns/keymgr.c:2319,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2333,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2334,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2336,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2338,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2341,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2345,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2346,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2355,1
    - Dst: keymgr_key_rollover
      Src: /src/bind9/lib/dns/keymgr.c:2355,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/keymgr.c:2363,1
    - Dst: ISC_LIST_APPENDLIST
      Src: /src/bind9/lib/dns/keymgr.c:2364,1
    - Dst: dns_kasp_keylist_empty
      Src: /src/bind9/lib/dns/keymgr.c:2371,1
    - Dst: keymgr_zrrsig
      Src: /src/bind9/lib/dns/keymgr.c:2377,1
    - Dst: keymgr_update
      Src: /src/bind9/lib/dns/keymgr.c:2381,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2384,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/keymgr.c:2385,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:2386,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/keymgr.c:2386,1
    - Dst: dst_key_setttl
      Src: /src/bind9/lib/dns/keymgr.c:2387,1
    - Dst: dns_kasp_dnskeyttl
      Src: /src/bind9/lib/dns/keymgr.c:2387,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2392,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2397,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2398,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:2398,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2399,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2401,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2401,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2404,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2405,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2406,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2409,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2410,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2412,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/keymgr.c:2420,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:2421,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/keymgr.c:2422,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/keymgr.c:2423,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2427,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2427,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:2429,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2430,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2431,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 118
    argCount: 10
    argNames:
    - origin
    - rdclass
    - mctx
    - keyring
    - dnskeys
    - keydir
    - kasp
    - opts
    - now
    - nexttime
    argTypes:
    - dns_name_t*
    - dns_rdataclass_t
    - isc_mem_t*
    - dns_dnsseckeylist_t*
    - dns_dnsseckeylist_t*
    - char*
    - dns_kasp_t*
    - uint8_t
    - isc_stdtime_t
    - isc_stdtime_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2434
      start: 2177
    functionDepth: 10
    functionLinenumber: 2177
    functionLinenumberEnd: 2434
    functionName: dns_keymgr_run
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LIST_UNLINK
    - INSIST
    - keymgr_purge_keyfile
    - dst_key_setttl
    - dns_dnsseckey_destroy
    - dst_key_doublematch
    - dns_keymgr_key_may_be_purged
    - ISC_LIST_INIT
    - DNS_KASP_VALID
    - ISC_LOG_DEBUG
    - dns_kasp_keylist_empty
    - keymgr_key_rollover
    - dst_key_directory
    - dns_dnssec_get_hints
    - keymgr_key_update_lifetime
    - dns_name_isvalid
    - dns_kasp_purgekeys
    - dns_kasp_dnskeyttl
    - dst_key_is_unused
    - keymgr_dep
    - dns_name_format
    - dst_key_tofile
    - dst_key_format
    - dns_kasp_key_match
    - keymgr_key_retire
    - dst_key_free
    - dst_key_getttl
    - ISC_LIST_EMPTY
    - isc_log_write
    - dns_kasp_getname
    - keymgr_zrrsig
    - dst_key_is_active
    - keymgr_update
    - isc_log_wouldlog
    - CHECK
    - dst_key_ismodified
    - dst_key_setmodified
    - dns_kasp_key_lifetime
    - ISC_LIST_APPENDLIST
    - dns_keymgr_key_init
    - keymgr_keyrole
    - ISC_LIST_FOREACH
    - dst_key_goal
    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, uint8_t opts, isc_stdtime_t
      now,\n\t       isc_stdtime_t *nexttime)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2237,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2241
      start: 2236
    functionDepth: 3
    functionLinenumber: 2236
    functionLinenumberEnd: 2241
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 330
    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:2269,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2273,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2274,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2276,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2278,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2280,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2283,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2284,1
    - Dst: keymgr_key_update_lifetime
      Src: /src/bind9/lib/dns/keymgr.c:2287,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:2294,1
    - Dst: dst_key_doublematch
      Src: /src/bind9/lib/dns/keymgr.c:2295,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2296,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2298,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2300,1
    - Dst: keymgr_key_retire
      Src: /src/bind9/lib/dns/keymgr.c:2308,1
    - Dst: dst_key_goal
      Src: /src/bind9/lib/dns/keymgr.c:2318,1
    - Dst: dst_key_is_active
      Src: /src/bind9/lib/dns/keymgr.c:2319,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2333,1
    - Dst: dns_kasp_key_match
      Src: /src/bind9/lib/dns/keymgr.c:2334,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2336,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2338,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:2341,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2345,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:2346,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2355,1
    - Dst: keymgr_key_rollover
      Src: /src/bind9/lib/dns/keymgr.c:2355,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2360
      start: 2268
    functionDepth: 8
    functionLinenumber: 2268
    functionLinenumberEnd: 2360
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 331
    functionsReached:
    - dns_kasp_key_lifetime
    - dst_key_is_unused
    - keymgr_dep
    - dst_key_format
    - dst_key_doublematch
    - isc_log_write
    - keymgr_keyrole
    - dns_kasp_getname
    - dns_kasp_key_match
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    - keymgr_key_retire
    - dst_key_is_active
    - keymgr_key_rollover
    - dst_key_goal
    - CHECK
    - keymgr_key_update_lifetime
    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:2420,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keymgr.c:2421,1
    - Dst: dst_key_free
      Src: /src/bind9/lib/dns/keymgr.c:2422,1
    - Dst: dns_dnsseckey_destroy
      Src: /src/bind9/lib/dns/keymgr.c:2423,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2424
      start: 2419
    functionDepth: 4
    functionLinenumber: 2419
    functionLinenumberEnd: 2424
    functionName: ISC_LIST_FOREACH
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 331
    functionsReached:
    - ISC_LIST_UNLINK
    - dst_key_free
    - INSIST
    - dns_dnsseckey_destroy
    linkageType: ''
    returnType: void
    signature: void ISC_LIST_FOREACH(newkeys, newkey, link)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2445,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2445,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2446,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2448,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2451,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2453,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:2456,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2477,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2478,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2480,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2484,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2485,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:2487,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:2491,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:2495,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2496,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:2497,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2505,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2510,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:2511,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2513,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: 2517
      start: 2436
    functionDepth: 4
    functionLinenumber: 2436
    functionLinenumberEnd: 2517
    functionName: keymgr_checkds
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dst_key_getstate
    - dst_key_alg
    - dst_key_tofile
    - dst_key_format
    - dst_key_settime
    - dst_key_id
    - dst_key_getbool
    - isc_log_write
    - isc_log_wouldlog
    - DNS_KASP_VALID
    - dns_dnssec_get_hints
    - ISC_LIST_FOREACH
    - dst_key_directory
    - dst_key_setstate
    - dst_key_setmodified
    - isc_stdtime_tostring
    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:2522,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: 2523
      start: 2519
    functionDepth: 5
    functionLinenumber: 2519
    functionLinenumberEnd: 2523
    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:2529,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: 2531
      start: 2525
    functionDepth: 5
    functionLinenumber: 2525
    functionLinenumberEnd: 2531
    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: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2541,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2541,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2542,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2543,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2545,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2545,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2547,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2547,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2549,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2552,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2553,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2553,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: 2558
      start: 2533
    functionDepth: 3
    functionLinenumber: 2533
    functionLinenumberEnd: 2558
    functionName: keytime_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - dst_key_getstate
    - isc_buffer_printf
    - CHECK
    - isc_stdtime_tostring
    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: 7
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2565,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2568,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2568,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2571,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2571,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2574,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2574,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2577,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2577,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: 2587
      start: 2560
    functionDepth: 3
    functionLinenumber: 2560
    functionLinenumberEnd: 2587
    functionName: keystate_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_getstate
    - isc_buffer_printf
    - CHECK
    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: 45
    BranchProfiles: []
    Callsites:
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2605,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2606,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2607,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:2608,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2611,1
    - Dst: keytime_status
      Src: /src/bind9/lib/dns/keymgr.c:2611,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2615,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2617,1
    - Dst: keytime_status
      Src: /src/bind9/lib/dns/keymgr.c:2617,1
    - Dst: dst_key_getbool
      Src: /src/bind9/lib/dns/keymgr.c:2620,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2622,1
    - Dst: keytime_status
      Src: /src/bind9/lib/dns/keymgr.c:2622,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2629,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2629,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2633,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2633,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2636,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2636,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2639,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2639,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2644,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2645,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2645,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2651,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2651,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2663,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2663,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2671,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2671,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2679,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2679,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2685,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2685,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2689,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2689,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2692,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2692,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2696,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2696,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2707,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2707,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2713,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2713,1
    - Dst: keymgr_dep
      Src: /src/bind9/lib/dns/keymgr.c:2718,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2719,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2719,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2724,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2724,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2732,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2735,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2735,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2740,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2740,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2747,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2747,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2754,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2757,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2757,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2767,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2767,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2775,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2775,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2781,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2784,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2784,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2789,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2789,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2796,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2796,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2804,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2807,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2807,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2813,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2813,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2818,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2818,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2824,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2824,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2830,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2830,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2843,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2844,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2849,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2849,1
    - Dst: keymgr_prepublication_time
      Src: /src/bind9/lib/dns/keymgr.c:2851,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2855,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2855,1
    - Dst: isc_stdtime_tostring
      Src: /src/bind9/lib/dns/keymgr.c:2858,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2860,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2860,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2862,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2862,1
    CyclomaticComplexity: 69
    EdgeCount: 69
    ICount: 160
    argCount: 7
    argNames:
    - dkey
    - kasp
    - keyring
    - now
    - buf
    - verbose
    - checkds
    argTypes:
    - dns_dnsseckey_t*
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_stdtime_t
    - isc_buffer_t*
    - bool*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2869
      start: 2589
    functionDepth: 6
    functionLinenumber: 2589
    functionLinenumberEnd: 2869
    functionName: rollover_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 0
    functionsReached:
    - dst_key_gettime
    - dst_key_getstate
    - keymgr_dep
    - isc_buffer_printf
    - keytime_status
    - dst_key_id
    - dst_key_getbool
    - keymgr_prepublication_time
    - CHECK
    - isc_stdtime_tostring
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t rollover_status(dns_dnsseckey_t *dkey, dns_kasp_t *kasp,\n\t\tdns_dnsseckeylist_t
      *keyring, isc_stdtime_t now,\n\t\tisc_buffer_t *buf, bool *verbose, bool checkds)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2877,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2877,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2878,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2879,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2881,1
    - Dst: dst_key_is_unused
      Src: /src/bind9/lib/dns/keymgr.c:2884,1
    - Dst: dst_key_is_hidden
      Src: /src/bind9/lib/dns/keymgr.c:2888,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/keymgr.c:2893,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:2893,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2895,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2895,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:2896,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2897,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2900,1
    - Dst: rollover_status
      Src: /src/bind9/lib/dns/keymgr.c:2900,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2905,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/keymgr.c:2905,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2907,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2907,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2910,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2910,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2913,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2913,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2915,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2915,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:2918,1
    - Dst: keystate_status
      Src: /src/bind9/lib/dns/keymgr.c:2918,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 26
    argCount: 6
    argNames:
    - kasp
    - keyring
    - buf
    - now
    - verbose
    - checkds
    argTypes:
    - dns_kasp_t*
    - dns_dnsseckeylist_t*
    - isc_buffer_t*
    - isc_stdtime_t
    - bool
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2926
      start: 2871
    functionDepth: 7
    functionLinenumber: 2871
    functionLinenumberEnd: 2926
    functionName: dns_keymgr_status
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - keystate_status
    - dst_key_is_unused
    - dns_secalg_format
    - dst_key_alg
    - isc_buffer_printf
    - rollover_status
    - dst_key_id
    - keymgr_keyrole
    - dst_key_is_hidden
    - DNS_KASP_VALID
    - ISC_LIST_FOREACH
    - CHECK
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_keymgr_status(dns_kasp_t *kasp, dns_dnsseckeylist_t
      *keyring,\n\t\t  isc_buffer_t *buf, isc_stdtime_t now, bool verbose,\n\t\t  bool
      checkds)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2938,1
    - Dst: DNS_KASP_VALID
      Src: /src/bind9/lib/dns/keymgr.c:2938,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keymgr.c:2939,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keymgr.c:2941,1
    - Dst: dst_key_id
      Src: /src/bind9/lib/dns/keymgr.c:2942,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/keymgr.c:2945,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2961,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:2966,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:2982,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:2982,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:2983,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:2986,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:2989,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:2994,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:2995,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:2997,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: 3001
      start: 2928
    functionDepth: 2
    functionLinenumber: 2928
    functionLinenumberEnd: 3001
    functionName: dns_keymgr_rollover
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - dns_kasp_zonepropagationdelay
    - dst_key_alg
    - dst_key_tofile
    - dst_key_getttl
    - dst_key_settime
    - dst_key_id
    - DNS_KASP_VALID
    - dns_dnssec_get_hints
    - ISC_LIST_FOREACH
    - dns_kasp_publishsafety
    - dst_key_directory
    - dst_key_setmodified
    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:3014,1
    - Dst: dst_key_role
      Src: /src/bind9/lib/dns/keymgr.c:3025,1
    - Dst: dns_keymgr_key_init
      Src: /src/bind9/lib/dns/keymgr.c:3030,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:3033,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:3033,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:3035,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:3035,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:3037,1
    - Dst: dst_key_getstate
      Src: /src/bind9/lib/dns/keymgr.c:3037,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:3038,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3038,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:3039,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3039,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3040,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3041,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:3045,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:3046,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3051,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:3055,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:3061,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:3062,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3067,1
    - Dst: dns_kasp_publishsafety
      Src: /src/bind9/lib/dns/keymgr.c:3071,1
    - Dst: dns_kasp_zonemaxttl
      Src: /src/bind9/lib/dns/keymgr.c:3077,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:3078,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3083,1
    - Dst: dns_kasp_retiresafety
      Src: /src/bind9/lib/dns/keymgr.c:3087,1
    - Dst: dst_key_getttl
      Src: /src/bind9/lib/dns/keymgr.c:3093,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:3094,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/keymgr.c:3099,1
    - Dst: dns_kasp_zonepropagationdelay
      Src: /src/bind9/lib/dns/keymgr.c:3104,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:3118,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:3121,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:3123,1
    - Dst: dst_key_setstate
      Src: /src/bind9/lib/dns/keymgr.c:3126,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/keymgr.c:3128,1
    - Dst: dst_key_ismodified
      Src: /src/bind9/lib/dns/keymgr.c:3133,1
    - Dst: dst_key_directory
      Src: /src/bind9/lib/dns/keymgr.c:3136,1
    - Dst: dns_dnssec_get_hints
      Src: /src/bind9/lib/dns/keymgr.c:3141,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/keymgr.c:3143,1
    - Dst: dst_key_tofile
      Src: /src/bind9/lib/dns/keymgr.c:3143,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:3144,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:3146,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:3146,1
    - Dst: dst_key_format
      Src: /src/bind9/lib/dns/keymgr.c:3149,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:3150,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:3151,1
    - Dst: keymgr_keyrole
      Src: /src/bind9/lib/dns/keymgr.c:3154,1
    - Dst: dns_kasp_getname
      Src: /src/bind9/lib/dns/keymgr.c:3155,1
    - Dst: dst_key_setmodified
      Src: /src/bind9/lib/dns/keymgr.c:3157,1
    - Dst: isc_log_wouldlog
      Src: /src/bind9/lib/dns/keymgr.c:3163,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:3163,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keymgr.c:3165,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/keymgr.c:3166,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/keymgr.c:3167,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: 3171
      start: 3003
    functionDepth: 4
    functionLinenumber: 3003
    functionLinenumberEnd: 3171
    functionName: dns_keymgr_offline
    functionSourceFile: /src/bind9/lib/dns/keymgr.c
    functionUses: 1
    functionsReached:
    - dst_key_gettime
    - dns_kasp_zonepropagationdelay
    - dns_dnssec_get_hints
    - ISC_LOG_DEBUG
    - dst_key_role
    - dst_key_setstate
    - dst_key_directory
    - dst_key_tofile
    - dns_name_format
    - dst_key_format
    - dns_kasp_retiresafety
    - dns_kasp_zonemaxttl
    - dst_key_getttl
    - isc_log_write
    - dns_kasp_getname
    - isc_log_wouldlog
    - CHECK
    - dst_key_ismodified
    - dst_key_setmodified
    - dst_key_getstate
    - dst_key_settime
    - dns_keymgr_key_init
    - keymgr_keyrole
    - ISC_LIST_FOREACH
    - 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: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rriterator.c:46,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/rriterator.c:46,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/rriterator.c:48,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rriterator.c:49,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/rriterator.c:50,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:51,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rriterator.c:51,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    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: 54
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 54
    functionName: dns_rriterator_init
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - dns_db_createiterator
    - dns_rdataset_isassociated
    - dns_rdata_init
    - INSIST
    - dns_rdataset_init
    - RETERR
    - dns_fixedname_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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:58,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:58,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/rriterator.c:60,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:62,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:65,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/rriterator.c:67,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rriterator.c:74,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:76,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rriterator.c:81,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/rriterator.c:87,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:92,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:93,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/rriterator.c:94,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/rriterator.c:97,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/rriterator.c:98,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:99,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rriterator.c:100,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 56
    functionDepth: 2
    functionLinenumber: 56
    functionLinenumberEnd: 104
    functionName: dns_rriterator_first
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - dns_dbiterator_next
    - REQUIRE
    - dns_db_detachnode
    - dns_rdatasetiter_first
    - dns_rdataset_getownercase
    - dns_rdataset_first
    - dns_rdataset_cleanup
    - dns_rdatasetiter_destroy
    - dns_dbiterator_first
    - dns_db_allrdatasets
    - dns_fixedname_name
    - dns_rdatasetiter_current
    - VALID_RRITERATOR
    - dns_dbiterator_current
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_rriterator_first(dns_rriterator_t *it)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:108,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:108,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/rriterator.c:109,1
    - Dst: dns_rdatasetiter_next
      Src: /src/bind9/lib/dns/rriterator.c:110,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:116,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:117,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/rriterator.c:118,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/rriterator.c:126,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:128,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/rriterator.c:132,1
    - Dst: dns_rdatasetiter_first
      Src: /src/bind9/lib/dns/rriterator.c:137,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/rriterator.c:142,1
    - Dst: dns_rdataset_getownercase
      Src: /src/bind9/lib/dns/rriterator.c:143,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:144,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rriterator.c:145,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 147
    functionName: dns_rriterator_nextrrset
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 2
    functionsReached:
    - dns_dbiterator_next
    - dns_rdatasetiter_next
    - REQUIRE
    - dns_db_detachnode
    - dns_rdatasetiter_first
    - dns_rdataset_getownercase
    - dns_rdataset_first
    - dns_rdataset_cleanup
    - dns_rdatasetiter_destroy
    - dns_db_allrdatasets
    - dns_fixedname_name
    - dns_rdatasetiter_current
    - VALID_RRITERATOR
    - dns_dbiterator_current
    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:151,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:151,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:156,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:157,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rriterator.c:158,1
    - Dst: dns_rdataset_next
      Src: /src/bind9/lib/dns/rriterator.c:160,1
    - Dst: dns_rriterator_nextrrset
      Src: /src/bind9/lib/dns/rriterator.c:162,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 149
    functionDepth: 3
    functionLinenumber: 149
    functionLinenumberEnd: 165
    functionName: dns_rriterator_next
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_rriterator_nextrrset
    - INSIST
    - dns_rdataset_next
    - 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:169,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:169,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rriterator.c:170,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/rriterator.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 171
    functionName: dns_rriterator_pause
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - VALID_RRITERATOR
    - dns_dbiterator_pause
    - RUNTIME_CHECK
    linkageType: ''
    returnType: void
    signature: void dns_rriterator_pause(dns_rriterator_t *it)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:175,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:175,1
    - Dst: dns_rdataset_cleanup
      Src: /src/bind9/lib/dns/rriterator.c:176,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/rriterator.c:178,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/rriterator.c:181,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/rriterator.c:183,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - it
    argTypes:
    - dns_rriterator_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 173
    functionDepth: 1
    functionLinenumber: 173
    functionLinenumberEnd: 184
    functionName: dns_rriterator_destroy
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - dns_rdataset_cleanup
    - dns_rdatasetiter_destroy
    - VALID_RRITERATOR
    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:189,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:190,1
    - Dst: VALID_RRITERATOR
      Src: /src/bind9/lib/dns/rriterator.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rriterator.c:193,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rriterator.c:195,1
    - Dst: dns_rdata_reset
      Src: /src/bind9/lib/dns/rriterator.c:198,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rriterator.c:199,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/rriterator.c:201,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/dns/rriterator.c:203,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: 204
      start: 186
    functionDepth: 2
    functionLinenumber: 186
    functionLinenumberEnd: 204
    functionName: dns_rriterator_current
    functionSourceFile: /src/bind9/lib/dns/rriterator.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - SET_IF_NOT_NULL
    - dns_rdata_reset
    - dns_rdataset_current
    - dns_fixedname_name
    - VALID_RRITERATOR
    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:93,1
    - Dst: dns_db_create
      Src: /src/bind9/lib/dns/cache.c:95,1
    - Dst: dns_db_setcachestats
      Src: /src/bind9/lib/dns/cache.c:100,1
    - Dst: dns_db_setservestalettl
      Src: /src/bind9/lib/dns/cache.c:105,1
    - Dst: dns_db_setservestalerefresh
      Src: /src/bind9/lib/dns/cache.c:106,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/cache.c:107,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/cache.c:108,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:116,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:118,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 3
    argNames:
    - cache
    - dbp
    - tmctxp
    argTypes:
    - dns_cache_t*
    - dns_db_t**
    - isc_mem_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 83
    functionDepth: 3
    functionLinenumber: 83
    functionLinenumberEnd: 121
    functionName: cache_create_db
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - dns_db_detach
    - dns_db_create
    - dns_db_setservestalerefresh
    - dns_db_setcachestats
    - dns_db_setmaxrrperset
    - dns_db_setservestalettl
    - dns_db_setmaxtypepername
    - isc_mem_detach
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t cache_create_db(dns_cache_t *cache, dns_db_t **dbp, isc_mem_t
      **tmctxp)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isc_stats_detach
      Src: /src/bind9/lib/dns/cache.c:125,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/cache.c:126,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/cache.c:127,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:129,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/cache.c:131,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 132
    functionName: cache_destroy
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 12
    functionsReached:
    - isc_mem_detach
    - isc_mem_free
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - isc_stats_detach
    linkageType: ''
    returnType: void
    signature: void cache_destroy(dns_cache_t *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:140,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:141,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/cache.c:143,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/cache.c:146,1
    - Dst: ISC_REFCOUNT_INITIALIZER
      Src: /src/bind9/lib/dns/cache.c:147,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/cache.c:151,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/cache.c:152,1
    - Dst: isc_stats_create
      Src: /src/bind9/lib/dns/cache.c:154,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/cache.c:159,1
    - Dst: cache_create_db
      Src: /src/bind9/lib/dns/cache.c:159,1
    - Dst: cache_destroy
      Src: /src/bind9/lib/dns/cache.c:165,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 4
    argNames:
    - rdclass
    - cachename
    - mctx
    - cachep
    argTypes:
    - dns_rdataclass_t
    - char*
    - isc_mem_t*
    - dns_cache_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 134
    functionDepth: 4
    functionLinenumber: 134
    functionLinenumberEnd: 167
    functionName: dns_cache_create
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 3
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - ISC_REFCOUNT_INITIALIZER
    - isc_mutex_init
    - cache_destroy
    - isc_mem_get
    - isc_mem_strdup
    - CHECK
    - isc_stats_create
    - cache_create_db
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_cache_create(dns_rdataclass_t rdclass, const char
      *cachename,\n\t\t isc_mem_t *mctx, dns_cache_t **cachep)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:171,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:171,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/cache.c:173,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/cache.c:176,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:177,1
    - Dst: cache_destroy
      Src: /src/bind9/lib/dns/cache.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 169
    functionDepth: 3
    functionLinenumber: 169
    functionLinenumberEnd: 180
    functionName: cache_cleanup
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - isc_mem_clearwater
    - REQUIRE
    - cache_destroy
    - dns_db_detach
    - 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:190,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/cache.c:192,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:194,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/cache.c:195,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - cache
    - dbp
    argTypes:
    - dns_cache_t*
    - dns_db_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: dns_cache_attachdb
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - LOCK
    - VALID_CACHE
    - UNLOCK
    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:201,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 199
    functionDepth: 1
    functionLinenumber: 199
    functionLinenumberEnd: 204
    functionName: dns_cache_getname
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 5
    functionsReached:
    - REQUIRE
    - VALID_CACHE
    linkageType: ''
    returnType: char
    signature: 'char *

      dns_cache_getname(dns_cache_t *cache)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_mem_setwater
      Src: /src/bind9/lib/dns/cache.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 211
      start: 206
    functionDepth: 2
    functionLinenumber: 206
    functionLinenumberEnd: 211
    functionName: updatewater
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - 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:215,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:215,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:225,1
    - Dst: updatewater
      Src: /src/bind9/lib/dns/cache.c:227,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:228,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 2
    argNames:
    - cache
    - size
    argTypes:
    - dns_cache_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 229
    functionName: dns_cache_setcachesize
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - updatewater
    - LOCK
    - VALID_CACHE
    - UNLOCK
    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:235,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:235,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:237,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 242
    functionName: dns_cache_getcachesize
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_CACHE
    - UNLOCK
    - LOCK
    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:246,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:246,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:248,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:250,1
    - Dst: dns_db_setservestalettl
      Src: /src/bind9/lib/dns/cache.c:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - ttl
    argTypes:
    - dns_cache_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 253
    functionName: dns_cache_setservestalettl
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - LOCK
    - dns_db_setservestalettl
    - VALID_CACHE
    - UNLOCK
    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:260,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:260,1
    - Dst: dns_db_getservestalettl
      Src: /src/bind9/lib/dns/cache.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 255
    functionDepth: 2
    functionLinenumber: 255
    functionLinenumberEnd: 268
    functionName: dns_cache_getservestalettl
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - dns_db_getservestalettl
    - REQUIRE
    - VALID_CACHE
    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:272,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:272,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:274,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:276,1
    - Dst: dns_db_setservestalerefresh
      Src: /src/bind9/lib/dns/cache.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - interval
    argTypes:
    - dns_cache_t*
    - dns_ttl_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 279
    functionName: dns_cache_setservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - LOCK
    - dns_db_setservestalerefresh
    - VALID_CACHE
    - UNLOCK
    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:286,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:286,1
    - Dst: dns_db_getservestalerefresh
      Src: /src/bind9/lib/dns/cache.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 290
      start: 281
    functionDepth: 2
    functionLinenumber: 281
    functionLinenumberEnd: 290
    functionName: dns_cache_getservestalerefresh
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - VALID_CACHE
    - dns_db_getservestalerefresh
    linkageType: ''
    returnType: dns_ttl_t
    signature: dns_ttl_t dns_cache_getservestalerefresh(dns_cache_t *cache)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/cache.c:297,1
    - Dst: cache_create_db
      Src: /src/bind9/lib/dns/cache.c:297,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:299,1
    - Dst: isc_mem_clearwater
      Src: /src/bind9/lib/dns/cache.c:300,1
    - Dst: updatewater
      Src: /src/bind9/lib/dns/cache.c:303,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:306,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:308,1
    - Dst: isc_mem_detach
      Src: /src/bind9/lib/dns/cache.c:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 312
    functionName: dns_cache_flush
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - isc_mem_clearwater
    - dns_db_detach
    - updatewater
    - UNLOCK
    - LOCK
    - isc_mem_detach
    - RETERR
    - cache_create_db
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t dns_cache_flush(dns_cache_t *cache)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/cache.c:318,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/cache.c:318,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/cache.c:325,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/cache.c:326,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/cache.c:328,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/cache.c:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 2
    argNames:
    - db
    - node
    argTypes:
    - dns_db_t*
    - dns_dbnode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 336
      start: 314
    functionDepth: 1
    functionLinenumber: 314
    functionLinenumberEnd: 336
    functionName: clearnode
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_db_allrdatasets
    - dns_rdatasetiter_destroy
    - RETERR
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - dns_db_deleterdataset
    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:325,1
    - Dst: dns_db_deleterdataset
      Src: /src/bind9/lib/dns/cache.c:326,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/cache.c:328,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 332
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 332
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_rdatasetiter_current
    - dns_db_deleterdataset
    - dns_rdataset_disassociate
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(iter)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/cache.c:350,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/cache.c:352,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/cache.c:354,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/cache.c:354,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/cache.c:356,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/cache.c:358,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/cache.c:365,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/cache.c:375,1
    - Dst: clearnode
      Src: /src/bind9/lib/dns/cache.c:382,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:386,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/cache.c:387,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:398,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/cache.c:401,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:404,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 50
    argCount: 2
    argNames:
    - db
    - name
    argTypes:
    - dns_db_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 338
    functionDepth: 4
    functionLinenumber: 338
    functionLinenumberEnd: 408
    functionName: cleartree
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - dns_db_createiterator
    - dns_dbiterator_next
    - dns_db_detachnode
    - dns_dbiterator_destroy
    - clearnode
    - dns_dbiterator_current
    - dns_fixedname_initname
    - dns_db_findnode
    - CHECK
    - dns_dbiterator_seek
    - dns_name_issubdomain
    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:412,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - cache
    - name
    argTypes:
    - dns_cache_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 413
      start: 410
    functionDepth: 1
    functionLinenumber: 410
    functionLinenumberEnd: 413
    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:421,1
    - Dst: dns_cache_flush
      Src: /src/bind9/lib/dns/cache.c:422,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/cache.c:425,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/cache.c:427,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/cache.c:429,1
    - Dst: cleartree
      Src: /src/bind9/lib/dns/cache.c:435,1
    - Dst: dns_db_findnode
      Src: /src/bind9/lib/dns/cache.c:437,1
    - Dst: clearnode
      Src: /src/bind9/lib/dns/cache.c:445,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/cache.c:446,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/cache.c:450,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: 452
      start: 415
    functionDepth: 5
    functionLinenumber: 415
    functionLinenumberEnd: 452
    functionName: dns_cache_flushnode
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - dns_db_detachnode
    - dns_db_attach
    - dns_db_detach
    - cleartree
    - dns_name_equal
    - dns_cache_flush
    - LOCK
    - clearnode
    - dns_db_findnode
    - UNLOCK
    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:456,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - cache
    argTypes:
    - dns_cache_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 454
    functionDepth: 1
    functionLinenumber: 454
    functionLinenumberEnd: 458
    functionName: dns_cache_getstats
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - VALID_CACHE
    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:462,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:462,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/cache.c:476,1
    - Dst: isc_stats_increment
      Src: /src/bind9/lib/dns/cache.c:480,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - cache
    - result
    argTypes:
    - dns_cache_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 460
    functionDepth: 2
    functionLinenumber: 460
    functionLinenumberEnd: 483
    functionName: dns_cache_updatestats
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - VALID_CACHE
    - isc_stats_increment
    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:487,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:487,1
    - Dst: dns_db_setmaxrrperset
      Src: /src/bind9/lib/dns/cache.c:491,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - value
    argTypes:
    - dns_cache_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 493
      start: 485
    functionDepth: 2
    functionLinenumber: 485
    functionLinenumberEnd: 493
    functionName: dns_cache_setmaxrrperset
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_setmaxrrperset
    - VALID_CACHE
    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:497,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:497,1
    - Dst: dns_db_setmaxtypepername
      Src: /src/bind9/lib/dns/cache.c:501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - cache
    - value
    argTypes:
    - dns_cache_t*
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 495
    functionDepth: 2
    functionLinenumber: 495
    functionLinenumberEnd: 503
    functionName: dns_cache_setmaxtypepername
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_db_setmaxtypepername
    - VALID_CACHE
    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:523,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: 525
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 525
    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:532,1
    - Dst: isc_stats_dump
      Src: /src/bind9/lib/dns/cache.c:539,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: 540
      start: 527
    functionDepth: 2
    functionLinenumber: 527
    functionLinenumberEnd: 540
    functionName: getcounters
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - memset
    - isc_stats_dump
    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:547,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:547,1
    - Dst: getcounters
      Src: /src/bind9/lib/dns/cache.c:549,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:552,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:554,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:556,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:559,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:562,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:565,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:568,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:568,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/cache.c:571,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:571,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 2
    argNames:
    - cache
    - fp
    argTypes:
    - dns_cache_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 573
      start: 542
    functionDepth: 3
    functionLinenumber: 542
    functionLinenumberEnd: 573
    functionName: dns_cache_dumpstats
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_nodecount
    - fprintf
    - isc_mem_inuse
    - getcounters
    - VALID_CACHE
    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: 582
      start: 576
    functionDepth: 0
    functionLinenumber: 576
    functionLinenumberEnd: 582
    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:586,1
    - Dst: xmlTextWriterStartElement
      Src: /src/bind9/lib/dns/cache.c:586,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:587,1
    - Dst: xmlTextWriterWriteAttribute
      Src: /src/bind9/lib/dns/cache.c:587,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:589,1
    - Dst: xmlTextWriterWriteFormatString
      Src: /src/bind9/lib/dns/cache.c:589,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:590,1
    - Dst: xmlTextWriterEndElement
      Src: /src/bind9/lib/dns/cache.c:590,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 3
    argNames:
    - name
    - value
    - writer
    argTypes:
    - char*
    - uint64_t
    - xmlTextWriterPtr
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 582
    functionDepth: 0
    functionLinenumber: 582
    functionLinenumberEnd: 594
    functionName: renderstat
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 0
    functionsReached:
    - TRY0
    - xmlTextWriterStartElement
    - xmlTextWriterWriteAttribute
    - xmlTextWriterEndElement
    - 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:603,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:603,1
    - Dst: getcounters
      Src: /src/bind9/lib/dns/cache.c:605,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:607,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:607,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:609,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:609,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:611,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:611,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:613,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:613,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:615,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:615,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:617,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:617,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:620,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:620,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:620,1
    - Dst: TRY0
      Src: /src/bind9/lib/dns/cache.c:622,1
    - Dst: renderstat
      Src: /src/bind9/lib/dns/cache.c:622,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 2
    argNames:
    - cache
    - writer0
    argTypes:
    - dns_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 625
      start: 596
    functionDepth: 3
    functionLinenumber: 596
    functionLinenumberEnd: 625
    functionName: dns_cache_renderxml
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - renderstat
    - dns_db_nodecount
    - TRY0
    - isc_mem_inuse
    - getcounters
    - VALID_CACHE
    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: 636
      start: 629
    functionDepth: 0
    functionLinenumber: 629
    functionLinenumberEnd: 636
    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:645,1
    - Dst: VALID_CACHE
      Src: /src/bind9/lib/dns/cache.c:645,1
    - Dst: getcounters
      Src: /src/bind9/lib/dns/cache.c:647,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:650,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:651,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:652,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:654,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:655,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:656,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:658,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:659,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:660,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:662,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:663,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:664,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:666,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:667,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:668,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:670,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:671,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:672,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:674,1
    - Dst: dns_db_nodecount
      Src: /src/bind9/lib/dns/cache.c:674,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:675,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:676,1
    - Dst: json_object_new_int64
      Src: /src/bind9/lib/dns/cache.c:678,1
    - Dst: isc_mem_inuse
      Src: /src/bind9/lib/dns/cache.c:678,1
    - Dst: CHECKMEM
      Src: /src/bind9/lib/dns/cache.c:679,1
    - Dst: json_object_object_add
      Src: /src/bind9/lib/dns/cache.c:680,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 2
    argNames:
    - cache
    - cstats0
    argTypes:
    - dns_cache_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 685
      start: 637
    functionDepth: 3
    functionLinenumber: 637
    functionLinenumberEnd: 685
    functionName: dns_cache_renderjson
    functionSourceFile: /src/bind9/lib/dns/cache.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_db_nodecount
    - isc_mem_inuse
    - getcounters
    - json_object_object_add
    - VALID_CACHE
    - CHECKMEM
    - json_object_new_int64
    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:105,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:107,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/keytable.c:108,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:109,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:111,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:114,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/keytable.c:117,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/keytable.c:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - knode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 103
    functionDepth: 2
    functionLinenumber: 103
    functionLinenumberEnd: 119
    functionName: destroy_keynode
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_UNLINK
    - isc_mem_put
    - isc_rwlock_destroy
    - isc_mem_putanddetach
    - ISC_LIST_FOREACH
    - dns_name_free
    linkageType: ''
    returnType: void
    signature: void destroy_keynode(dns_keynode_t *knode)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:131,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:133,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/keytable.c:138,1
    - Dst: dns_qpmulti_create
      Src: /src/bind9/lib/dns/keytable.c:139,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/keytable.c:140,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - view
    - keytablep
    argTypes:
    - dns_view_t*
    - dns_keytable_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 123
    functionDepth: 2
    functionLinenumber: 123
    functionLinenumberEnd: 142
    functionName: dns_keytable_create
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_get
    - dns_qpmulti_create
    - isc_refcount_init
    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:152,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/keytable.c:153,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/keytable.c:154,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/keytable.c:156,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:158,1
    - Dst: dns_qpmulti_destroy
      Src: /src/bind9/lib/dns/keytable.c:160,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/keytable.c:162,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 1
    argNames:
    - keytable
    argTypes:
    - dns_keytable_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 144
    functionDepth: 4
    functionLinenumber: 144
    functionLinenumberEnd: 163
    functionName: destroy_keytable
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - dns_qpiter_init
    - dns_qpiter_next
    - dns_qpread_destroy
    - dns_qpmulti_query
    - isc_mem_putanddetach
    - dns_keynode_detach
    - dns_qpmulti_destroy
    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:175,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/keytable.c:176,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:178,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keytable.c:179,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/keytable.c:181,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:183,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:185,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:188,1
    - Dst: dns_rdatalist_init
      Src: /src/bind9/lib/dns/keytable.c:189,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keytable.c:193,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:204,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/keytable.c:205,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:212,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/keytable.c:213,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/keytable.c:215,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:218,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: 219
      start: 167
    functionDepth: 3
    functionLinenumber: 167
    functionLinenumberEnd: 219
    functionName: add_ds
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - RWUNLOCK
    - RWLOCK
    - dns_rdata_init
    - isc_mem_get
    - INSIST
    - RUNTIME_CHECK
    - isc_mem_put
    - ISC_LIST_APPEND
    - dns_rdata_fromstruct
    - ISC_LIST_FOREACH
    - dns_rdatalist_init
    - dns_rdata_compare
    - isc_buffer_init
    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:232,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:234,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keytable.c:238,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/keytable.c:240,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:243,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:247,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/keytable.c:248,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:255,1
    - Dst: new_keynode
      Src: /src/bind9/lib/dns/keytable.c:266,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/keytable.c:268,1
    - Dst: dns_rdata_compare
      Src: /src/bind9/lib/dns/keytable.c:269,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/keytable.c:271,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:272,1
    - Dst: add_ds
      Src: /src/bind9/lib/dns/keytable.c:273,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/keytable.c:277,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keytable.c:279,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/keytable.c:280,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/keytable.c:282,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:283,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:285,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/keytable.c:287,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: 289
      start: 221
    functionDepth: 12
    functionLinenumber: 221
    functionLinenumberEnd: 289
    functionName: delete_ds
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - add_ds
    - RWUNLOCK
    - RWLOCK
    - INSIST
    - RUNTIME_CHECK
    - dns_rdata_fromstruct
    - dns_qp_deletename
    - ISC_LIST_FOREACH
    - new_keynode
    - dns_qp_insert
    - dns_rdata_tostruct
    - dns_rdata_compare
    - dns_keynode_detach
    - isc_buffer_init
    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:301,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:301,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:302,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/keytable.c:304,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/keytable.c:308,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/keytable.c:309,1
    - Dst: isc_rwlock_init
      Src: /src/bind9/lib/dns/keytable.c:310,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/keytable.c:312,1
    - Dst: add_ds
      Src: /src/bind9/lib/dns/keytable.c:318,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/keytable.c:321,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: 326
      start: 296
    functionDepth: 2
    functionLinenumber: 296
    functionLinenumberEnd: 326
    functionName: new_keynode
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 1
    functionsReached:
    - add_ds
    - REQUIRE
    - isc_mem_attach
    - isc_rwlock_init
    - isc_mem_get
    - dns_rdataset_init
    - VALID_KEYTABLE
    - dns_name_dup
    - isc_refcount_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:344,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:344,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/keytable.c:346,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/keytable.c:348,1
    - Dst: new_keynode
      Src: /src/bind9/lib/dns/keytable.c:357,1
    - Dst: dns_qp_insert
      Src: /src/bind9/lib/dns/keytable.c:358,1
    - Dst: add_ds
      Src: /src/bind9/lib/dns/keytable.c:368,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/keytable.c:373,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/keytable.c:374,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: 377
      start: 335
    functionDepth: 11
    functionLinenumber: 335
    functionLinenumberEnd: 377
    functionName: insert
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 37
    functionsReached:
    - add_ds
    - REQUIRE
    - dns_qpmulti_write
    - new_keynode
    - dns_qp_insert
    - dns_qp_compact
    - VALID_KEYTABLE
    - dns_qp_getname
    - dns_qpmulti_commit
    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:383,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:384,1
    - Dst: insert
      Src: /src/bind9/lib/dns/keytable.c:386,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: 388
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 388
    functionName: dns_keytable_add
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - insert
    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:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - keytable
    - name
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 390
    functionDepth: 0
    functionLinenumber: 390
    functionLinenumberEnd: 393
    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:402,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:402,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:403,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/keytable.c:405,1
    - Dst: dns_qp_deletename
      Src: /src/bind9/lib/dns/keytable.c:406,1
    - Dst: dns_keynode_detach
      Src: /src/bind9/lib/dns/keytable.c:413,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/keytable.c:415,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/keytable.c:416,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: 419
      start: 395
    functionDepth: 12
    functionLinenumber: 395
    functionLinenumberEnd: 419
    functionName: dns_keytable_delete
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_qp_deletename
    - dns_qpmulti_write
    - dns_keynode_detach
    - dns_qp_compact
    - VALID_KEYTABLE
    - dns_qpmulti_commit
    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:433,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:433,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:434,1
    - Dst: dns_qpmulti_write
      Src: /src/bind9/lib/dns/keytable.c:436,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/keytable.c:437,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:445,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:447,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:451,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/keytable.c:453,1
    - Dst: dns_rdata_fromstruct
      Src: /src/bind9/lib/dns/keytable.c:454,1
    - Dst: dns_ds_fromkeyrdata
      Src: /src/bind9/lib/dns/keytable.c:460,1
    - Dst: delete_ds
      Src: /src/bind9/lib/dns/keytable.c:466,1
    - Dst: dns_qp_compact
      Src: /src/bind9/lib/dns/keytable.c:469,1
    - Dst: dns_qpmulti_commit
      Src: /src/bind9/lib/dns/keytable.c:470,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: 473
      start: 421
    functionDepth: 13
    functionLinenumber: 421
    functionLinenumberEnd: 473
    functionName: dns_keytable_deletekey
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - delete_ds
    - dns_rdata_fromstruct
    - dns_qpmulti_commit
    - dns_qpmulti_write
    - dns_ds_fromkeyrdata
    - dns_qp_compact
    - VALID_KEYTABLE
    - dns_qp_getname
    - isc_buffer_init
    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:482,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:482,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:483,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:484,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:486,1
    - Dst: dns_qp_getname
      Src: /src/bind9/lib/dns/keytable.c:487,1
    - Dst: dns_keynode_attach
      Src: /src/bind9/lib/dns/keytable.c:491,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:493,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: 496
      start: 475
    functionDepth: 4
    functionLinenumber: 475
    functionLinenumberEnd: 496
    functionName: dns_keytable_find
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - dns_qpread_destroy
    - dns_qpmulti_query
    - dns_keynode_attach
    - VALID_KEYTABLE
    - 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:510,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:510,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:511,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/keytable.c:511,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:512,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:514,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/keytable.c:515,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/keytable.c:520,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:524,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: 526
      start: 498
    functionDepth: 7
    functionLinenumber: 498
    functionLinenumberEnd: 526
    functionName: dns_keytable_finddeepestmatch
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_qpread_destroy
    - dns_qpmulti_query
    - dns_qp_lookup
    - VALID_KEYTABLE
    - dns_name_isabsolute
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:541,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:541,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:542,1
    - Dst: dns_name_isabsolute
      Src: /src/bind9/lib/dns/keytable.c:542,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:544,1
    - Dst: dns_qp_lookup
      Src: /src/bind9/lib/dns/keytable.c:545,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/keytable.c:550,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:555,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - keytable
    - name
    - foundname
    argTypes:
    - dns_keytable_t*
    - dns_name_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 558
      start: 528
    functionDepth: 7
    functionLinenumber: 528
    functionLinenumberEnd: 558
    functionName: dns_keytable_issecuredomain
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_name_copy
    - REQUIRE
    - dns_qpread_destroy
    - dns_qpmulti_query
    - dns_qp_lookup
    - VALID_KEYTABLE
    - dns_name_isabsolute
    linkageType: ''
    returnType: bool
    signature: "bool dns_keytable_issecuredomain(dns_keytable_t *keytable, const dns_name_t
      *name,\n\t\t\t    dns_name_t *foundname)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/dns/keytable.c:562,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/keytable.c:562,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/keytable.c:562,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/keytable.c:564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - b
    - str
    argTypes:
    - isc_buffer_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 560
    functionDepth: 2
    functionLinenumber: 560
    functionLinenumberEnd: 566
    functionName: putstr
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 83
    functionsReached:
    - isc_buffer_reserve
    - strlen
    - RETERR
    - 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:573,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:573,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:574,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/keytable.c:576,1
    - Dst: dns_keytable_totext
      Src: /src/bind9/lib/dns/keytable.c:578,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/keytable.c:580,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:581,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:583,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:585,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:586,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/keytable.c:586,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/keytable.c:589,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/keytable.c:589,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/keytable.c:590,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/keytable.c:592,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - keytable
    - fp
    argTypes:
    - dns_keytable_t*
    - FILE*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 594
      start: 568
    functionDepth: 3
    functionLinenumber: 568
    functionLinenumberEnd: 594
    functionName: dns_keytable_dump
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_buffer_usedlength
    - fprintf
    - isc_buffer_free
    - isc_buffer_base
    - isc_buffer_allocate
    - dns_keytable_totext
    - putstr
    - VALID_KEYTABLE
    - isc_result_totext
    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:603,1
    - Dst: dns_keynode_dsset
      Src: /src/bind9/lib/dns/keytable.c:604,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/keytable.c:608,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/keytable.c:615,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/keytable.c:616,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:617,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/keytable.c:619,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:621,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/keytable.c:622,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:626,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:628,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/keytable.c:630,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/keytable.c:634,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 21
    argCount: 2
    argNames:
    - keynode
    - text
    argTypes:
    - dns_keynode_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 637
      start: 596
    functionDepth: 4
    functionLinenumber: 596
    functionLinenumberEnd: 637
    functionName: keynode_dslist_totext
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - dns_secalg_format
    - RWLOCK
    - dns_name_format
    - RUNTIME_CHECK
    - dns_keynode_dsset
    - dns_rdataset_init
    - snprintf
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - putstr
    - dns_rdata_tostruct
    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:615,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/keytable.c:616,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/keytable.c:617,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/keytable.c:619,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:621,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/keytable.c:622,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:626,1
    - Dst: putstr
      Src: /src/bind9/lib/dns/keytable.c:628,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/keytable.c:630,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 633
      start: 610
    functionDepth: 3
    functionLinenumber: 610
    functionLinenumberEnd: 633
    functionName: (&dsset)
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - dns_secalg_format
    - RWLOCK
    - RUNTIME_CHECK
    - snprintf
    - dns_rdataset_current
    - dns_rdataset_disassociate
    - putstr
    - dns_rdata_tostruct
    linkageType: ''
    returnType: DNS_RDATASET_FOREACH
    signature: DNS_RDATASET_FOREACH (&dsset)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:646,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:646,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:647,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:649,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/keytable.c:650,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/keytable.c:652,1
    - Dst: keynode_dslist_totext
      Src: /src/bind9/lib/dns/keytable.c:655,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 2
    argNames:
    - keytable
    - text
    argTypes:
    - dns_keytable_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 664
      start: 639
    functionDepth: 5
    functionLinenumber: 639
    functionLinenumberEnd: 664
    functionName: dns_keytable_totext
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - dns_qpiter_next
    - dns_qpread_destroy
    - dns_qpmulti_query
    - keynode_dslist_totext
    - VALID_KEYTABLE
    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:675,1
    - Dst: VALID_KEYTABLE
      Src: /src/bind9/lib/dns/keytable.c:675,1
    - Dst: dns_qpmulti_query
      Src: /src/bind9/lib/dns/keytable.c:677,1
    - Dst: dns_qpiter_init
      Src: /src/bind9/lib/dns/keytable.c:678,1
    - Dst: dns_qpiter_next
      Src: /src/bind9/lib/dns/keytable.c:680,1
    - Dst: dns_qpread_destroy
      Src: /src/bind9/lib/dns/keytable.c:685,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 2
    argNames:
    - keytable
    - arg
    argTypes:
    - dns_keytable_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 686
      start: 666
    functionDepth: 4
    functionLinenumber: 666
    functionLinenumberEnd: 686
    functionName: dns_keytable_forall
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - dns_qpiter_init
    - REQUIRE
    - dns_qpiter_next
    - dns_qpread_destroy
    - dns_qpmulti_query
    - VALID_KEYTABLE
    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:692,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:692,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/keytable.c:693,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/keytable.c:693,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:695,1
    - Dst: keynode_clone
      Src: /src/bind9/lib/dns/keytable.c:698,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:705,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - keynode
    - rdataset
    argTypes:
    - dns_keynode_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 707
      start: 688
    functionDepth: 1
    functionLinenumber: 688
    functionLinenumberEnd: 707
    functionName: dns_keynode_dsset
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 9
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - RWLOCK
    - DNS_RDATASET_VALID
    - keynode_clone
    - VALID_KEYNODE
    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:713,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:713,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:715,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:717,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - keynode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 720
      start: 709
    functionDepth: 1
    functionLinenumber: 709
    functionLinenumberEnd: 720
    functionName: dns_keynode_managed
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - VALID_KEYNODE
    - RWLOCK
    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:726,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:726,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:728,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:730,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - keynode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 733
      start: 722
    functionDepth: 1
    functionLinenumber: 722
    functionLinenumberEnd: 733
    functionName: dns_keynode_initial
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - VALID_KEYNODE
    - RWLOCK
    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:737,1
    - Dst: VALID_KEYNODE
      Src: /src/bind9/lib/dns/keytable.c:737,1
    - Dst: RWLOCK
      Src: /src/bind9/lib/dns/keytable.c:739,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:741,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - keynode
    argTypes:
    - dns_keynode_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 742
      start: 735
    functionDepth: 1
    functionLinenumber: 735
    functionLinenumberEnd: 742
    functionName: dns_keynode_trust
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - RWUNLOCK
    - VALID_KEYNODE
    - RWLOCK
    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:760,1
    - Dst: ISC_LIST_HEAD
      Src: /src/bind9/lib/dns/keytable.c:761,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 769
      start: 755
    functionDepth: 1
    functionLinenumber: 755
    functionLinenumberEnd: 769
    functionName: keynode_first
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - RWUNLOCK
    - ISC_LIST_HEAD
    - RWLOCK
    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:782,1
    - Dst: ISC_LIST_NEXT
      Src: /src/bind9/lib/dns/keytable.c:783,1
    - Dst: RWUNLOCK
      Src: /src/bind9/lib/dns/keytable.c:784,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - rdataset
    argTypes:
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 791
      start: 771
    functionDepth: 1
    functionLinenumber: 771
    functionLinenumberEnd: 791
    functionName: keynode_next
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 0
    functionsReached:
    - ISC_LIST_NEXT
    - RWUNLOCK
    - RWLOCK
    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:798,1
    - Dst: dns_rdata_clone
      Src: /src/bind9/lib/dns/keytable.c:800,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - rdataset
    - rdata
    argTypes:
    - dns_rdataset_t*
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 801
      start: 793
    functionDepth: 2
    functionLinenumber: 793
    functionLinenumberEnd: 801
    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:809,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: 813
      start: 803
    functionDepth: 1
    functionLinenumber: 803
    functionLinenumberEnd: 813
    functionName: keynode_clone
    functionSourceFile: /src/bind9/lib/dns/keytable.c
    functionUses: 1
    functionsReached:
    - isc_refcount_increment
    linkageType: ''
    returnType: void
    signature: "void keynode_clone(const dns_rdataset_t *source,\n\t      dns_rdataset_t
      *target DNS__DB_FLARG)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_keynode_ref
      Src: /src/bind9/lib/dns/keytable.c:819,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: 820
      start: 815
    functionDepth: 0
    functionLinenumber: 815
    functionLinenumberEnd: 820
    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: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_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:833,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: 834
      start: 829
    functionDepth: 2
    functionLinenumber: 829
    functionLinenumberEnd: 834
    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:839,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - uctx
    - buf
    - size
    argTypes:
    - void*
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 840
      start: 836
    functionDepth: 0
    functionLinenumber: 836
    functionLinenumberEnd: 840
    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:151,1
    - Dst: dns_ipkeylist_init
      Src: /src/bind9/lib/dns/catz.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - options
    argTypes:
    - dns_catz_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 164
    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:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:169,1
    - Dst: dns_ipkeylist_clear
      Src: /src/bind9/lib/dns/catz.c:172,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/catz.c:175,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:178,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:181,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: 183
      start: 166
    functionDepth: 3
    functionLinenumber: 166
    functionLinenumberEnd: 183
    functionName: dns_catz_options_free
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_free
    - dns_ipkeylist_clear
    - 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:188,1
    - 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: dns_ipkeylist_copy
      Src: /src/bind9/lib/dns/catz.c:196,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/catz.c:200,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/catz.c:204,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:208,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:212,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: 214
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 214
    functionName: dns_catz_options_copy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_dup
    - isc_mem_strdup
    - isc_mem_free
    - 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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:220,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:221,1
    - Dst: dns_ipkeylist_copy
      Src: /src/bind9/lib/dns/catz.c:224,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/catz.c:229,1
    - Dst: isc_mem_strdup
      Src: /src/bind9/lib/dns/catz.c:231,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:235,1
    - Dst: isc_buffer_dup
      Src: /src/bind9/lib/dns/catz.c:238,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 20
    argCount: 3
    argNames:
    - mctx
    - defaults
    - opts
    argTypes:
    - isc_mem_t*
    - dns_catz_options_t*
    - dns_catz_options_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 4
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: dns_catz_options_setdefault
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_dup
    - isc_mem_strdup
    - isc_mem_free
    - dns_ipkeylist_copy
    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:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:249,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:251,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:255,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:256,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/catz.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 2
    argNames:
    - mctx
    - domain
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 246
    functionDepth: 2
    functionLinenumber: 246
    functionLinenumberEnd: 260
    functionName: catz_coo_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - isc_mem_get
    - dns_name_dup
    - isc_refcount_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:266,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:266,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:267,1
    - Dst: DNS_CATZ_COO_VALID
      Src: /src/bind9/lib/dns/catz.c:267,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/catz.c:271,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/catz.c:274,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/catz.c:275,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/catz.c:276,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:278,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: 280
      start: 262
    functionDepth: 2
    functionLinenumber: 262
    functionLinenumberEnd: 280
    functionName: catz_coo_detach
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_dynamic
    - isc_mem_put
    - DNS_CATZ_ZONE_VALID
    - isc_refcount_decrement
    - DNS_CATZ_COO_VALID
    - dns_name_free
    - isc_refcount_destroy
    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:285,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:286,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:287,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:291,1
    - Dst: catz_coo_new
      Src: /src/bind9/lib/dns/catz.c:294,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:295,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:298,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: 299
      start: 282
    functionDepth: 4
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: catz_coo_add
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - DNS_CATZ_ENTRY_VALID
    - catz_coo_new
    - DNS_CATZ_ZONE_VALID
    - isc_ht_add
    - isc_ht_find
    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:303,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:305,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:310,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:312,1
    - Dst: dns_catz_options_init
      Src: /src/bind9/lib/dns/catz.c:315,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/catz.c:316,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - mctx
    - domain
    argTypes:
    - isc_mem_t*
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 301
    functionDepth: 2
    functionLinenumber: 301
    functionLinenumberEnd: 319
    functionName: dns_catz_entry_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_catz_options_init
    - dns_name_init
    - isc_mem_get
    - dns_name_dup
    - isc_refcount_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:323,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - entry
    argTypes:
    - dns_catz_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 321
    functionDepth: 1
    functionLinenumber: 321
    functionLinenumberEnd: 325
    functionName: dns_catz_entry_getname
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_CATZ_ENTRY_VALID
    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:329,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:329,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:330,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:330,1
    - Dst: dns_catz_entry_new
      Src: /src/bind9/lib/dns/catz.c:332,1
    - Dst: dns_catz_options_copy
      Src: /src/bind9/lib/dns/catz.c:335,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: 338
      start: 327
    functionDepth: 5
    functionLinenumber: 327
    functionLinenumberEnd: 338
    functionName: dns_catz_entry_copy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_catz_options_copy
    - DNS_CATZ_ENTRY_VALID
    - DNS_CATZ_ZONE_VALID
    - 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:342,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:343,1
    - Dst: isc_refcount_increment
      Src: /src/bind9/lib/dns/catz.c:345,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: 347
      start: 340
    functionDepth: 1
    functionLinenumber: 340
    functionLinenumberEnd: 347
    functionName: dns_catz_entry_attach
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_refcount_increment
    - DNS_CATZ_ENTRY_VALID
    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:353,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:353,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:354,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:354,1
    - Dst: isc_refcount_decrement
      Src: /src/bind9/lib/dns/catz.c:358,1
    - Dst: isc_refcount_destroy
      Src: /src/bind9/lib/dns/catz.c:361,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:362,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/catz.c:363,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/catz.c:364,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:366,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: 368
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 368
    functionName: dns_catz_entry_detach
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_name_free
    - dns_name_dynamic
    - isc_mem_put
    - DNS_CATZ_ENTRY_VALID
    - DNS_CATZ_ZONE_VALID
    - isc_refcount_decrement
    - dns_catz_options_free
    - 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:372,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:372,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/catz.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - entry
    argTypes:
    - dns_catz_entry_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 376
    functionName: dns_catz_entry_validate
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - DNS_CATZ_ENTRY_VALID
    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:382,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:382,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:383,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:383,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/catz.c:393,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/catz.c:408,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/catz.c:424,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:438,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:439,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/catz.c:440,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:453,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:454,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/catz.c:455,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: 461
      start: 378
    functionDepth: 3
    functionLinenumber: 378
    functionLinenumberEnd: 461
    functionName: dns_catz_entry_cmp
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_equal
    - DNS_CATZ_ENTRY_VALID
    - isc_region_compare
    - memcmp
    - 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:465,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 463
    functionDepth: 1
    functionLinenumber: 463
    functionLinenumberEnd: 468
    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:472,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:472,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 475
      start: 470
    functionDepth: 1
    functionLinenumber: 470
    functionLinenumberEnd: 475
    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:479,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:479,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:481,1
    - Dst: dns_catz_options_init
      Src: /src/bind9/lib/dns/catz.c:482,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 483
      start: 477
    functionDepth: 4
    functionLinenumber: 477
    functionLinenumberEnd: 483
    functionName: dns_catz_zone_resetdefoptions
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - dns_catz_options_free
    - REQUIRE
    - DNS_CATZ_ZONE_VALID
    - dns_catz_options_init
    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:505,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:505,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:506,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:506,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:508,1
    - Dst: dns_catz_options_free
      Src: /src/bind9/lib/dns/catz.c:518,1
    - Dst: dns_catz_options_copy
      Src: /src/bind9/lib/dns/catz.c:519,1
    - Dst: dns_catz_options_setdefault
      Src: /src/bind9/lib/dns/catz.c:521,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:524,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:526,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:527,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:528,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:529,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:535,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:536,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:542,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:543,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:544,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:555,1
    - Dst: isc_ht_iter_currentkey
      Src: /src/bind9/lib/dns/catz.c:556,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:564,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:569,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:571,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:572,1
    - Dst: dns_catz_options_setdefault
      Src: /src/bind9/lib/dns/catz.c:575,1
    - Dst: dns_view_findzone
      Src: /src/bind9/lib/dns/catz.c:579,1
    - Dst: dns_catz_entry_getname
      Src: /src/bind9/lib/dns/catz.c:580,1
    - Dst: dns_zone_get_parentcatz
      Src: /src/bind9/lib/dns/catz.c:590,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:592,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:593,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:597,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/catz.c:600,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:602,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:604,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:606,1
    - Dst: delzone
      Src: /src/bind9/lib/dns/catz.c:611,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:614,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:619,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:622,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:623,1
    - Dst: dns_zone_detach
      Src: /src/bind9/lib/dns/catz.c:625,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:629,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:646,1
    - Dst: catz_entry_add_or_mod
      Src: /src/bind9/lib/dns/catz.c:653,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:659,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:660,1
    - Dst: catz_entry_add_or_mod
      Src: /src/bind9/lib/dns/catz.c:664,1
    - Dst: dns_catz_entry_cmp
      Src: /src/bind9/lib/dns/catz.c:669,1
    - Dst: catz_entry_add_or_mod
      Src: /src/bind9/lib/dns/catz.c:670,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:680,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/dns/catz.c:681,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:682,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:684,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:685,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:690,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:691,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:694,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:696,1
    - Dst: delzone
      Src: /src/bind9/lib/dns/catz.c:697,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:699,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:702,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:703,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:705,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:706,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:708,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:708,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:709,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:711,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:712,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:715,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:717,1
    - Dst: addzone
      Src: /src/bind9/lib/dns/catz.c:718,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:720,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:724,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:727,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:728,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:731,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:733,1
    - Dst: modzone
      Src: /src/bind9/lib/dns/catz.c:734,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:736,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:740,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:753,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:754,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:755,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:759,1
    - Dst: catz_coo_detach
      Src: /src/bind9/lib/dns/catz.c:760,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:762,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:763,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:766,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:766,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:767,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:775,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:776,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:777,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:778,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:780,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: 783
      start: 494
    functionDepth: 5
    functionLinenumber: 494
    functionLinenumberEnd: 783
    functionName: dns__catz_zones_merge
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_zone_detach
    - dns_catz_options_copy
    - INSIST
    - modzone
    - isc_ht_destroy
    - DNS_CATZ_ZONE_VALID
    - ISC_LOG_DEBUG
    - isc_ht_iter_current
    - isc_ht_init
    - isc_ht_count
    - UNLOCK
    - dns_name_format
    - isc_ht_iter_next
    - RUNTIME_CHECK
    - isc_ht_iter_first
    - isc_ht_iter_destroy
    - isc_ht_iter_currentkey
    - dns_zone_get_parentcatz
    - isc_ht_find
    - isc_result_totext
    - isc_ht_iter_delcurrent_next
    - dns_view_findzone
    - dns_name_equal
    - delzone
    - LOCK
    - isc_log_write
    - addzone
    - dns_catz_entry_detach
    - catz_entry_add_or_mod
    - dns_catz_options_free
    - isc_ht_iter_create
    - dns_catz_entry_getname
    - dns_catz_entry_cmp
    - catz_coo_detach
    - isc_ht_delete
    - dns_catz_options_setdefault
    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: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:796,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/catz.c:797,1
    - Dst: isc_ht_init
      Src: /src/bind9/lib/dns/catz.c:798,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/catz.c:799,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 2
    argNames:
    - mctx
    - zmm
    argTypes:
    - isc_mem_t*
    - dns_catz_zonemodmethods_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 802
      start: 785
    functionDepth: 3
    functionLinenumber: 785
    functionLinenumberEnd: 802
    functionName: dns_catz_zones_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mutex_init
    - isc_mem_get
    - isc_ht_init
    - isc_refcount_init
    linkageType: ''
    returnType: dns_catz_zones_t
    signature: 'dns_catz_zones_t *

      dns_catz_zones_new(isc_mem_t *mctx, dns_catz_zonemodmethods_t *zmm)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:806,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:806,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 809
      start: 804
    functionDepth: 1
    functionLinenumber: 804
    functionLinenumberEnd: 809
    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:813,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:813,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:814,1
    - Dst: DNS_VIEW_VALID
      Src: /src/bind9/lib/dns/catz.c:814,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:816,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/catz.c:816,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/catz.c:819,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/catz.c:821,1
    - Dst: dns_view_weakattach
      Src: /src/bind9/lib/dns/catz.c:822,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: 824
      start: 811
    functionDepth: 2
    functionLinenumber: 811
    functionLinenumberEnd: 824
    functionName: dns_catz_catzs_set_view
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - strcmp
    - dns_view_weakattach
    - dns_view_weakdetach
    - DNS_CATZ_ZONES_VALID
    - DNS_VIEW_VALID
    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:828,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:828,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:829,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:829,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:831,1
    - Dst: dns_catz_zones_attach
      Src: /src/bind9/lib/dns/catz.c:836,1
    - Dst: isc_mutex_init
      Src: /src/bind9/lib/dns/catz.c:837,1
    - Dst: isc_refcount_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_ht_init
      Src: /src/bind9/lib/dns/catz.c:840,1
    - Dst: isc_time_settoepoch
      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_catz_options_init
      Src: /src/bind9/lib/dns/catz.c:843,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:844,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:845,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: 848
      start: 826
    functionDepth: 3
    functionLinenumber: 826
    functionLinenumberEnd: 848
    functionName: dns_catz_zone_new
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mutex_init
    - dns_catz_options_init
    - dns_name_init
    - isc_mem_get
    - DNS_CATZ_ZONES_VALID
    - isc_time_settoepoch
    - dns_catz_zones_attach
    - ISC_MAGIC_VALID
    - isc_ht_init
    - dns_name_dup
    - isc_refcount_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:856,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:856,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/catz.c:858,1
    - Dst: isc_time_microdiff
      Src: /src/bind9/lib/dns/catz.c:859,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:864,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:865,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/catz.c:871,1
    - Dst: isc_interval_set
      Src: /src/bind9/lib/dns/catz.c:873,1
    - Dst: isc_loop
      Src: /src/bind9/lib/dns/catz.c:876,1
    - Dst: isc_timer_create
      Src: /src/bind9/lib/dns/catz.c:878,1
    - Dst: isc_timer_start
      Src: /src/bind9/lib/dns/catz.c:880,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 881
      start: 850
    functionDepth: 4
    functionLinenumber: 850
    functionLinenumberEnd: 881
    functionName: dns__catz_timer_start
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_time_now
    - isc_time_microdiff
    - isc_timer_create
    - isc_timer_start
    - dns_name_format
    - DNS_CATZ_ZONE_VALID
    - isc_log_write
    - isc_loop
    - isc_interval_set
    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:886,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:886,1
    - Dst: isc_timer_stop
      Src: /src/bind9/lib/dns/catz.c:888,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/catz.c:889,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:892,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 893
      start: 883
    functionDepth: 2
    functionLinenumber: 883
    functionLinenumberEnd: 893
    functionName: dns__catz_timer_stop
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_timer_destroy
    - dns_catz_zone_detach
    - DNS_CATZ_ZONE_VALID
    - isc_timer_stop
    linkageType: ''
    returnType: void
    signature: void dns__catz_timer_stop(void *arg)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:898,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:898,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:899,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:899,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:900,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:906,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:907,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:908,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:910,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:916,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:917,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:917,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:919,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:923,1
    - Dst: dns_catz_zone_new
      Src: /src/bind9/lib/dns/catz.c:928,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:930,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:932,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/catz.c:935,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:938,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: 943
      start: 895
    functionDepth: 4
    functionLinenumber: 895
    functionLinenumberEnd: 943
    functionName: dns_catz_zone_add
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - INSIST
    - dns_name_format
    - DNS_CATZ_ZONES_VALID
    - dns_catz_zone_new
    - LOCK
    - isc_log_write
    - ISC_LOG_DEBUG
    - isc_ht_add
    - ISC_MAGIC_VALID
    - atomic_load
    - isc_ht_find
    - UNREACHABLE
    - UNLOCK
    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:950,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:950,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:951,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:951,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:953,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:955,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:958,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:960,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: 966
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 966
    functionName: dns_catz_zone_get
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_CATZ_ZONES_VALID
    - LOCK
    - ISC_MAGIC_VALID
    - isc_ht_find
    - UNLOCK
    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:973,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/catz.c:975,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:977,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 979
      start: 968
    functionDepth: 2
    functionLinenumber: 968
    functionLinenumberEnd: 979
    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:988,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:989,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:990,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:994,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:995,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:997,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:998,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1001,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:1001,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:1002,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:1007,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:1008,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:1009,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:1013,1
    - Dst: catz_coo_detach
      Src: /src/bind9/lib/dns/catz.c:1014,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1016,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:1017,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1020,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:1020,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:1021,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/catz.c:1024,1
    - Dst: isc_timer_async_destroy
      Src: /src/bind9/lib/dns/catz.c:1027,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:1032,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/catz.c:1034,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/catz.c:1036,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1039,1
    - Dst: dns_name_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_options_free
      Src: /src/bind9/lib/dns/catz.c:1043,1
    - Dst: dns_catz_zones_detach
      Src: /src/bind9/lib/dns/catz.c:1045,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:1047,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 41
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1048
      start: 981
    functionDepth: 5
    functionLinenumber: 981
    functionLinenumberEnd: 1048
    functionName: dns__catz_zone_destroy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - isc_mem_put
    - INSIST
    - isc_ht_destroy
    - isc_mutex_destroy
    - dns_db_updatenotify_unregister
    - isc_ht_iter_current
    - isc_ht_count
    - isc_ht_iter_first
    - isc_ht_iter_destroy
    - isc_timer_async_destroy
    - isc_ht_iter_delcurrent_next
    - dns_db_detach
    - dns_catz_entry_detach
    - dns_db_closeversion
    - dns_catz_options_free
    - isc_ht_iter_create
    - catz_coo_detach
    - dns_catz_zones_detach
    - dns_name_free
    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:1052,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:1052,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1053,1
    - Dst: isc_mutex_destroy
      Src: /src/bind9/lib/dns/catz.c:1056,1
    - Dst: dns_view_weakdetach
      Src: /src/bind9/lib/dns/catz.c:1058,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/catz.c:1060,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1050
    functionDepth: 2
    functionLinenumber: 1050
    functionLinenumberEnd: 1061
    functionName: dns__catz_zones_destroy
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_view_weakdetach
    - isc_mem_putanddetach
    - isc_mutex_destroy
    - atomic_load
    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:1065,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:1065,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/catz.c:1067,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:1073,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:1077,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:1078,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:1081,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:1082,1
    - Dst: dns__catz_zone_shutdown
      Src: /src/bind9/lib/dns/catz.c:1083,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1085,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:1086,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1087,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:1087,1
    - Dst: isc_ht_destroy
      Src: /src/bind9/lib/dns/catz.c:1088,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:1090,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1091
      start: 1063
    functionDepth: 4
    functionLinenumber: 1063
    functionLinenumberEnd: 1091
    functionName: dns_catz_zones_shutdown
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 2
    functionsReached:
    - isc_ht_iter_delcurrent_next
    - REQUIRE
    - isc_ht_iter_create
    - isc_ht_count
    - INSIST
    - dns__catz_zone_shutdown
    - DNS_CATZ_ZONES_VALID
    - isc_ht_destroy
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_destroy
    - isc_ht_iter_current
    - atomic_compare_exchange_strong
    - UNLOCK
    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:1115,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/catz.c:1118,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - option
    - opt
    argTypes:
    - dns_label_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1124
      start: 1113
    functionDepth: 0
    functionLinenumber: 1113
    functionLinenumberEnd: 1124
    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:1128,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1130,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:1133,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1136,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1138,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1140,1
    - Dst: catz_opt_cmp
      Src: /src/bind9/lib/dns/catz.c:1142,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 24
    argCount: 1
    argNames:
    - option
    argTypes:
    - dns_label_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1126
    functionDepth: 1
    functionLinenumber: 1126
    functionLinenumberEnd: 1147
    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:1155,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1155,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1156,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1156,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1157,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1157,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1159,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1165,1
    - Dst: catz_process_zones_entry
      Src: /src/bind9/lib/dns/catz.c:1168,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1170,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1171,1
    - Dst: catz_process_zones_suboption
      Src: /src/bind9/lib/dns/catz.c:1172,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: 1174
      start: 1149
    functionDepth: 2
    functionLinenumber: 1149
    functionLinenumberEnd: 1174
    functionName: catz_process_zones
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_split
    - DNS_RDATASET_VALID
    - DNS_CATZ_ZONE_VALID
    - dns_name_getlabel
    - catz_process_zones_suboption
    - ISC_MAGIC_VALID
    - catz_process_zones_entry
    - dns_name_countlabels
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1184,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1186,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1186,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1197,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1198,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1206,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1206,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1208,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1209,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1211,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1211,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1213,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/catz.c:1214,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1217,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:1217,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1220,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/catz.c:1221,1
    - Dst: catz_coo_add
      Src: /src/bind9/lib/dns/catz.c:1224,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1227,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - catz
    - mhash
    - value
    argTypes:
    - dns_catz_zone_t*
    - dns_label_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1176
    functionDepth: 5
    functionLinenumber: 1176
    functionLinenumberEnd: 1230
    functionName: catz_process_coo
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CLEANUP
    - dns_rdata_init
    - dns_rdataset_first
    - DNS_RDATASET_VALID
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - isc_log_write
    - RETERR
    - dns_rdataset_current
    - CHECK
    - catz_coo_add
    - dns_rdataset_count
    - isc_ht_find
    - dns_name_countlabels
    - dns_rdata_tostruct
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1244,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1245,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1253,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1253,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1255,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1256,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1258,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1258,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:1260,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1263,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1265,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:1268,1
    - Dst: dns_catz_entry_new
      Src: /src/bind9/lib/dns/catz.c:1271,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:1273,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1276,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1278,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 3
    argNames:
    - catz
    - value
    - mhash
    argTypes:
    - dns_catz_zone_t*
    - dns_rdataset_t*
    - dns_label_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1281
      start: 1232
    functionDepth: 4
    functionLinenumber: 1232
    functionLinenumberEnd: 1281
    functionName: catz_process_zones_entry
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - dns_rdata_init
    - INSIST
    - dns_rdataset_first
    - dns_rdata_freestruct
    - isc_log_write
    - RETERR
    - dns_catz_entry_new
    - isc_ht_add
    - dns_rdataset_current
    - dns_rdataset_count
    - isc_ht_find
    - dns_name_dup
    - dns_name_countlabels
    - dns_rdata_tostruct
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1292,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1293,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1293,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1299,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1300,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1308,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1308,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1310,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1311,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1313,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1313,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1315,1
    - Dst: dns_rdata_txt_first
      Src: /src/bind9/lib/dns/catz.c:1315,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1317,1
    - Dst: dns_rdata_txt_current
      Src: /src/bind9/lib/dns/catz.c:1317,1
    - Dst: dns_rdata_txt_next
      Src: /src/bind9/lib/dns/catz.c:1319,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/catz.c:1321,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/catz.c:1324,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1326,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1328,1
    - Dst: isc_parse_uint32
      Src: /src/bind9/lib/dns/catz.c:1328,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1333,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1335,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 37
    argCount: 2
    argNames:
    - catz
    - value
    argTypes:
    - dns_catz_zone_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1342
      start: 1283
    functionDepth: 2
    functionLinenumber: 1283
    functionLinenumberEnd: 1342
    functionName: catz_process_version
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - CLEANUP
    - memmove
    - dns_rdata_init
    - dns_rdataset_first
    - isc_parse_uint32
    - DNS_RDATASET_VALID
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_txt_next
    - dns_rdata_freestruct
    - isc_log_write
    - RETERR
    - dns_rdata_txt_current
    - dns_rdataset_current
    - CHECK
    - dns_rdata_txt_first
    - dns_rdataset_count
    - dns_rdata_tostruct
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t catz_process_version(dns_catz_zone_t *catz, dns_rdataset_t
      *value)
  - BBCount: 18
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1358,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1358,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1359,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1360,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1360,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1361,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/catz.c:1361,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1362,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1362,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1365,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1366,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1367,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/catz.c:1368,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1385,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1386,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1387,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1390,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1391,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1392,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1393,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1396,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1397,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1398,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1400,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1403,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1404,1
    - Dst: dns_rdata_txt_first
      Src: /src/bind9/lib/dns/catz.c:1406,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1408,1
    - Dst: dns_rdata_txt_current
      Src: /src/bind9/lib/dns/catz.c:1412,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1414,1
    - Dst: dns_rdata_txt_next
      Src: /src/bind9/lib/dns/catz.c:1418,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1420,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:1425,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1426,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1427,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1429,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/catz.c:1430,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:1433,1
    - Dst: dns_name_compare
      Src: /src/bind9/lib/dns/catz.c:1448,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/catz.c:1457,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/catz.c:1458,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/catz.c:1461,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1466,1
    - Dst: dns_ipkeylist_resize
      Src: /src/bind9/lib/dns/catz.c:1470,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/catz.c:1472,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1474,1
    - Dst: dns_name_dup
      Src: /src/bind9/lib/dns/catz.c:1475,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1480,1
    - Dst: dns_rdatatype_isaddr
      Src: /src/bind9/lib/dns/catz.c:1489,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1493,1
    - Dst: dns_ipkeylist_resize
      Src: /src/bind9/lib/dns/catz.c:1495,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1499,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1504,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1505,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1506,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1508,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1510,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1511,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1512,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1514,1
    CyclomaticComplexity: 20
    EdgeCount: 20
    ICount: 113
    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: 1521
      start: 1344
    functionDepth: 5
    functionLinenumber: 1344
    functionLinenumberEnd: 1521
    functionName: catz_process_primaries
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - isc_mem_put
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - dns_name_compare
    - memset
    - dns_ipkeylist_resize
    - dns_name_dup
    - isc_sockaddr_fromin6
    - dns_name_init
    - dns_rdataset_isassociated
    - RUNTIME_CHECK
    - dns_rdata_txt_first
    - dns_rdata_tostruct
    - isc_buffer_init
    - dns_name_dynamic
    - dns_rdataset_first
    - dns_rdataset_current
    - ISC_MAGIC_VALID
    - dns_name_fromstring
    - isc_sockaddr_fromin
    - isc_mem_get
    - DNS_RDATASET_VALID
    - dns_rdata_txt_next
    - dns_rdata_txt_current
    - dns_name_free
    - dns_rdataset_count
    - dns_rdatatype_isaddr
    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:1499,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1504,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1505,1
    - Dst: isc_sockaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1506,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1508,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1510,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1511,1
    - Dst: isc_sockaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1512,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1514,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1519
      start: 1497
    functionDepth: 2
    functionLinenumber: 1497
    functionLinenumberEnd: 1519
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 8
    functionsReached:
    - isc_sockaddr_fromin
    - RUNTIME_CHECK
    - dns_rdata_freestruct
    - dns_rdataset_current
    - isc_sockaddr_fromin6
    - dns_rdata_tostruct
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASET_FOREACH(value)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1526,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1526,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1527,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/catz.c:1527,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1533,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1533,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1534,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1535,1
    - Dst: dns_rdataset_count
      Src: /src/bind9/lib/dns/catz.c:1545,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1546,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1551,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1552,1
    - Dst: dns_rdata_init
      Src: /src/bind9/lib/dns/catz.c:1553,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1554,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1555,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1555,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/catz.c:1556,1
    - Dst: dns_rdata_apl_first
      Src: /src/bind9/lib/dns/catz.c:1557,1
    - Dst: dns_rdata_apl_next
      Src: /src/bind9/lib/dns/catz.c:1558,1
    - Dst: dns_rdata_apl_current
      Src: /src/bind9/lib/dns/catz.c:1560,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1561,1
    - Dst: memset
      Src: /src/bind9/lib/dns/catz.c:1562,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/catz.c:1564,1
    - Dst: isc_netaddr_fromin
      Src: /src/bind9/lib/dns/catz.c:1567,1
    - Dst: isc_netaddr_fromin6
      Src: /src/bind9/lib/dns/catz.c:1569,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/catz.c:1574,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/catz.c:1576,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/dns/catz.c:1577,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1578,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/catz.c:1582,1
    - Dst: isc_buffer_printf
      Src: /src/bind9/lib/dns/catz.c:1583,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1585,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:1596,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1598,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 60
    argCount: 3
    argNames:
    - catz
    - aclbp
    - value
    argTypes:
    - dns_catz_zone_t*
    - isc_buffer_t**
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1523
    functionDepth: 3
    functionLinenumber: 1523
    functionLinenumberEnd: 1600
    functionName: catz_process_apl
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - memmove
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - dns_rdata_apl_first
    - isc_netaddr_totext
    - RETERR
    - dns_rdata_apl_next
    - memset
    - isc_netaddr_fromin
    - dns_rdataset_isassociated
    - isc_buffer_printf
    - RUNTIME_CHECK
    - isc_buffer_putuint8
    - dns_rdata_tostruct
    - dns_rdata_init
    - dns_rdataset_first
    - isc_netaddr_fromin6
    - isc_log_write
    - dns_rdataset_current
    - isc_buffer_putstr
    - isc_buffer_reserve
    - DNS_RDATASET_VALID
    - isc_buffer_allocate
    - isc_buffer_free
    - dns_rdata_apl_current
    - 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:1612,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1612,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1613,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1614,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1614,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1615,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1615,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1617,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1622,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1623,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1634,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1635,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:1642,1
    - Dst: dns_catz_entry_new
      Src: /src/bind9/lib/dns/catz.c:1645,1
    - Dst: isc_ht_add
      Src: /src/bind9/lib/dns/catz.c:1646,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:1649,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1651,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1652,1
    - Dst: catz_process_coo
      Src: /src/bind9/lib/dns/catz.c:1655,1
    - Dst: catz_process_primaries
      Src: /src/bind9/lib/dns/catz.c:1657,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1663,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1668,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: 1675
      start: 1602
    functionDepth: 6
    functionLinenumber: 1602
    functionLinenumberEnd: 1675
    functionName: catz_process_zones_suboption
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - catz_process_primaries
    - dns_name_init
    - INSIST
    - dns_name_split
    - catz_process_apl
    - DNS_RDATASET_VALID
    - DNS_CATZ_ZONE_VALID
    - dns_name_getlabel
    - catz_get_option
    - dns_catz_entry_new
    - isc_ht_add
    - ISC_MAGIC_VALID
    - catz_process_coo
    - isc_ht_find
    - dns_name_countlabels
    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:1682,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1685,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:1688,1
    - Dst: dns_catz_entry_detach
      Src: /src/bind9/lib/dns/catz.c:1691,1
    - Dst: isc_ht_delete
      Src: /src/bind9/lib/dns/catz.c:1692,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1693,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: 1695
      start: 1677
    functionDepth: 5
    functionLinenumber: 1677
    functionLinenumberEnd: 1695
    functionName: catz_entry_add_or_mod
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - RUNTIME_CHECK
    - isc_log_write
    - isc_ht_add
    - dns_catz_entry_detach
    - isc_ht_delete
    - isc_result_totext
    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:1705,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1705,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1706,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1706,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1707,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/catz.c:1707,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1709,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1714,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1715,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/catz.c:1726,1
    - Dst: catz_get_option
      Src: /src/bind9/lib/dns/catz.c:1727,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1730,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1731,1
    - Dst: catz_process_zones
      Src: /src/bind9/lib/dns/catz.c:1735,1
    - Dst: catz_process_primaries
      Src: /src/bind9/lib/dns/catz.c:1737,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1743,1
    - Dst: catz_process_apl
      Src: /src/bind9/lib/dns/catz.c:1749,1
    - Dst: catz_process_version
      Src: /src/bind9/lib/dns/catz.c:1755,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: 1759
      start: 1697
    functionDepth: 6
    functionLinenumber: 1697
    functionLinenumberEnd: 1759
    functionName: catz_process_value
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - catz_process_version
    - REQUIRE
    - catz_process_primaries
    - dns_name_init
    - dns_name_split
    - catz_process_apl
    - DNS_RDATASET_VALID
    - DNS_CATZ_ZONE_VALID
    - dns_name_getlabel
    - catz_get_option
    - ISC_MAGIC_VALID
    - catz_process_zones
    - dns_name_countlabels
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1781,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1781,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1782,1
    - Dst: ISC_MAGIC_VALID
      Src: /src/bind9/lib/dns/catz.c:1782,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1785,1
    - Dst: dns_name_fullcompare
      Src: /src/bind9/lib/dns/catz.c:1792,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/catz.c:1795,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/catz.c:1795,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/catz.c:1797,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/catz.c:1798,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1799,1
    - Dst: dns_rdata_freestruct
      Src: /src/bind9/lib/dns/catz.c:1804,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/catz.c:1815,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/catz.c:1816,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/catz.c:1817,1
    - Dst: catz_process_value
      Src: /src/bind9/lib/dns/catz.c:1818,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 31
    argCount: 3
    argNames:
    - catz
    - src_name
    - rdataset
    argTypes:
    - dns_catz_zone_t*
    - dns_name_t*
    - dns_rdataset_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1821
      start: 1770
    functionDepth: 7
    functionLinenumber: 1770
    functionLinenumberEnd: 1821
    functionName: dns__catz_update_process
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_fullcompare
    - dns_name_init
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_name_split
    - DNS_CATZ_ZONE_VALID
    - dns_rdata_freestruct
    - isc_log_write
    - RETERR
    - dns_rdataset_current
    - ISC_MAGIC_VALID
    - catz_process_value
    - dns_name_countlabels
    - dns_rdata_tostruct
    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:1829,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: 1835
      start: 1823
    functionDepth: 0
    functionLinenumber: 1823
    functionLinenumberEnd: 1835
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1846,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1846,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1847,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:1847,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1848,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/catz.c:1850,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/catz.c:1851,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1854,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1855,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1856,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/catz.c:1856,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1858,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1859,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/catz.c:1859,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/dns/catz.c:1866,1
    - Dst: strpbrk
      Src: /src/bind9/lib/dns/catz.c:1867,1
    - Dst: isc_buffer_base
      Src: /src/bind9/lib/dns/catz.c:1867,1
    - Dst: isc_buffer_subtract
      Src: /src/bind9/lib/dns/catz.c:1870,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/catz.c:1877,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1880,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/catz.c:1880,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1883,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1884,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:1887,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1888,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1894,1
    - Dst: isc_md
      Src: /src/bind9/lib/dns/catz.c:1894,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:1896,1
    - Dst: digest2hex
      Src: /src/bind9/lib/dns/catz.c:1896,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1898,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/catz.c:1900,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1903,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:1907,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 3
    argNames:
    - catz
    - entry
    - buffer
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1909
      start: 1837
    functionDepth: 3
    functionLinenumber: 1837
    functionLinenumberEnd: 1909
    functionName: dns_catz_generate_masterfilename
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_buffer_subtract
    - DNS_CATZ_ENTRY_VALID
    - isc_buffer_reserve
    - dns_name_totext
    - digest2hex
    - isc_buffer_free
    - DNS_CATZ_ZONE_VALID
    - isc_buffer_copyregion
    - strlen
    - isc_buffer_base
    - isc_buffer_allocate
    - strpbrk
    - isc_buffer_usedregion
    - CHECK
    - isc_md
    - isc_buffer_putuint8
    - isc_buffer_putstr
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1929,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:1929,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1930,1
    - Dst: DNS_CATZ_ENTRY_VALID
      Src: /src/bind9/lib/dns/catz.c:1930,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:1931,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/catz.c:1937,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1939,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:1940,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1941,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1942,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1944,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:1954,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:1955,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/catz.c:1960,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/catz.c:1962,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/dns/catz.c:1964,1
    - Dst: isc_netaddr_totext
      Src: /src/bind9/lib/dns/catz.c:1965,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:1966,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1968,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/catz.c:1969,1
    - Dst: isc_sockaddr_getport
      Src: /src/bind9/lib/dns/catz.c:1970,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1971,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1974,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:1975,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1977,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1981,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:1982,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1984,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1986,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: CHECK
      Src: /src/bind9/lib/dns/catz.c:1991,1
    - Dst: dns_catz_generate_masterfilename
      Src: /src/bind9/lib/dns/catz.c:1991,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1992,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1995,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:1996,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/catz.c:1997,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:1998,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2001,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/catz.c:2002,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/catz.c:2003,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2004,1
    - Dst: isc_buffer_putstr
      Src: /src/bind9/lib/dns/catz.c:2007,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/catz.c:2013,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 64
    argCount: 3
    argNames:
    - catz
    - entry
    - buf
    argTypes:
    - dns_catz_zone_t*
    - dns_catz_entry_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2015
      start: 1918
    functionDepth: 4
    functionLinenumber: 1918
    functionLinenumberEnd: 2015
    functionName: dns_catz_generate_zonecfg
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_CATZ_ENTRY_VALID
    - DNS_CATZ_ZONE_VALID
    - isc_netaddr_totext
    - dns_name_format
    - isc_sockaddr_getport
    - RUNTIME_CHECK
    - snprintf
    - isc_netaddr_fromsockaddr
    - isc_log_write
    - CHECK
    - CLEANUP
    - isc_buffer_putstr
    - isc_buffer_reserve
    - dns_catz_generate_masterfilename
    - isc_buffer_copyregion
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - isc_buffer_free
    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:2022,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2022,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2024,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2028,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2030,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2030,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2031,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2032,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2033,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2039,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2042,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/catz.c:2051,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2055,1
    - Dst: dns_catz_zone_ref
      Src: /src/bind9/lib/dns/catz.c:2058,1
    - Dst: isc_work_enqueue
      Src: /src/bind9/lib/dns/catz.c:2059,1
    - Dst: isc_timer_destroy
      Src: /src/bind9/lib/dns/catz.c:2063,1
    - Dst: isc_time_now
      Src: /src/bind9/lib/dns/catz.c:2066,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2068,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 33
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2069
      start: 2017
    functionDepth: 4
    functionLinenumber: 2017
    functionLinenumberEnd: 2069
    functionName: dns__catz_timer_cb
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_attach
    - isc_timer_destroy
    - isc_time_now
    - INSIST
    - dns_name_format
    - UNLOCK
    - DNS_CATZ_ZONE_VALID
    - LOCK
    - isc_log_write
    - isc_work_enqueue
    - atomic_load
    - dns_catz_zone_ref
    - DNS_DB_VALID
    linkageType: ''
    returnType: void
    signature: void dns__catz_timer_cb(void *arg)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2078,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2078,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2079,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2079,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2082,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/catz.c:2086,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2088,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/catz.c:2090,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/catz.c:2092,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:2092,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:2098,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/catz.c:2100,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/catz.c:2102,1
    - Dst: dns_db_attach
      Src: /src/bind9/lib/dns/catz.c:2106,1
    - Dst: dns_db_updatenotify_register
      Src: /src/bind9/lib/dns/catz.c:2107,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/catz.c:2113,1
    - Dst: dns__catz_timer_start
      Src: /src/bind9/lib/dns/catz.c:2114,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2119,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2120,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:2121,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:2125,1
    - Dst: dns_db_currentversion
      Src: /src/bind9/lib/dns/catz.c:2127,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2131,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 41
    argCount: 2
    argNames:
    - db
    - fn_arg
    argTypes:
    - dns_db_t*
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2134
      start: 2071
    functionDepth: 5
    functionLinenumber: 2071
    functionLinenumberEnd: 2134
    functionName: dns_catz_dbupdate_callback
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - ISC_LOG_DEBUG
    - dns_db_updatenotify_unregister
    - dns_db_currentversion
    - dns__catz_timer_start
    - UNLOCK
    - DNS_DB_VALID
    - dns_name_format
    - DNS_CATZ_ZONES_VALID
    - dns_name_toregion
    - dns_db_updatenotify_register
    - isc_ht_find
    - dns_db_detach
    - LOCK
    - isc_log_write
    - dns_db_closeversion
    - CHECK
    - atomic_load
    - CLEANUP
    - dns_db_attach
    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:2138,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2138,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2139,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2139,1
    - Dst: dns_db_updatenotify_unregister
      Src: /src/bind9/lib/dns/catz.c:2141,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: 2142
      start: 2136
    functionDepth: 4
    functionLinenumber: 2136
    functionLinenumberEnd: 2142
    functionName: dns_catz_dbupdate_unregister
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - REQUIRE
    - dns_db_updatenotify_unregister
    - DNS_DB_VALID
    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:2146,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2147,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2147,1
    - Dst: dns_db_updatenotify_register
      Src: /src/bind9/lib/dns/catz.c:2149,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: 2150
      start: 2144
    functionDepth: 4
    functionLinenumber: 2144
    functionLinenumberEnd: 2150
    functionName: dns_catz_dbupdate_register
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - DNS_CATZ_ZONES_VALID
    - REQUIRE
    - dns_db_updatenotify_register
    - DNS_DB_VALID
    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:2154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2156
      start: 2152
    functionDepth: 1
    functionLinenumber: 2152
    functionLinenumberEnd: 2156
    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:2185,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2186,1
    - Dst: DNS_DB_VALID
      Src: /src/bind9/lib/dns/catz.c:2186,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2187,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2187,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2192,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2197,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/catz.c:2202,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2203,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2205,1
    - Dst: isc_ht_find
      Src: /src/bind9/lib/dns/catz.c:2209,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2211,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2214,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2222,1
    - Dst: dns_db_getsoaserial
      Src: /src/bind9/lib/dns/catz.c:2229,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2232,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2235,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2239,1
    - Dst: dns_db_createiterator
      Src: /src/bind9/lib/dns/catz.c:2243,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2245,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2248,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/catz.c:2252,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/catz.c:2259,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/catz.c:2261,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2262,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2265,1
    - Dst: dns_dbiterator_seek
      Src: /src/bind9/lib/dns/catz.c:2269,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/catz.c:2271,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2272,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2276,1
    - Dst: dns_catz_zone_new
      Src: /src/bind9/lib/dns/catz.c:2280,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/catz.c:2281,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2287,1
    - Dst: dns_dbiterator_current
      Src: /src/bind9/lib/dns/catz.c:2292,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2294,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2297,1
    - Dst: dns_dbiterator_pause
      Src: /src/bind9/lib/dns/catz.c:2301,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:2302,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/catz.c:2309,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/catz.c:2310,1
    - Dst: dns_db_allrdatasets
      Src: /src/bind9/lib/dns/catz.c:2314,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2317,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2320,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/catz.c:2321,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/catz.c:2325,1
    - Dst: dns_rdatasetiter_current
      Src: /src/bind9/lib/dns/catz.c:2327,1
    - Dst: catz_rdatatype_is_processable
      Src: /src/bind9/lib/dns/catz.c:2335,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2336,1
    - Dst: dns__catz_update_process
      Src: /src/bind9/lib/dns/catz.c:2348,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2354,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/catz.c:2356,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/catz.c:2359,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2361,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2367,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2370,1
    - Dst: dns_rdatasetiter_destroy
      Src: /src/bind9/lib/dns/catz.c:2373,1
    - Dst: dns_db_detachnode
      Src: /src/bind9/lib/dns/catz.c:2375,1
    - Dst: dns_dbiterator_first
      Src: /src/bind9/lib/dns/catz.c:2379,1
    - Dst: dns_dbiterator_next
      Src: /src/bind9/lib/dns/catz.c:2381,1
    - Dst: dns_dbiterator_destroy
      Src: /src/bind9/lib/dns/catz.c:2385,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2386,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:2387,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2389,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2398,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2403,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2414,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2415,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2420,1
    - Dst: dns__catz_zones_merge
      Src: /src/bind9/lib/dns/catz.c:2428,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2429,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2431,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2433,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2438,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/catz.c:2439,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 146
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2444
      start: 2163
    functionDepth: 8
    functionLinenumber: 2163
    functionLinenumberEnd: 2444
    functionName: dns__catz_update_cb
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_dbiterator_destroy
    - dns_db_allrdatasets
    - dns_rdataset_init
    - DNS_CATZ_ZONE_VALID
    - ISC_LOG_DEBUG
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - dns_dbiterator_current
    - UNLOCK
    - DNS_DB_VALID
    - dns_catz_zone_new
    - dns_name_format
    - DNS_CATZ_ZONES_VALID
    - RUNTIME_CHECK
    - dns_name_toregion
    - isc_ht_find
    - dns__catz_zones_merge
    - dns_db_getsoaserial
    - isc_result_totext
    - dns_db_createiterator
    - dns_dbiterator_next
    - dns_rdatatype_format
    - dns_rdatasetiter_destroy
    - LOCK
    - isc_log_write
    - dns_rdataclass_format
    - dns_name_fromstring
    - atomic_load
    - dns_dbiterator_seek
    - dns_db_detachnode
    - dns_catz_zone_detach
    - dns_dbiterator_first
    - dns_fixedname_initname
    - dns__catz_update_process
    - dns_dbiterator_pause
    - catz_rdatatype_is_processable
    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:2327,1
    - Dst: catz_rdatatype_is_processable
      Src: /src/bind9/lib/dns/catz.c:2335,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2336,1
    - Dst: dns__catz_update_process
      Src: /src/bind9/lib/dns/catz.c:2348,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2354,1
    - Dst: dns_rdataclass_format
      Src: /src/bind9/lib/dns/catz.c:2356,1
    - Dst: dns_rdatatype_format
      Src: /src/bind9/lib/dns/catz.c:2359,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2361,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2367,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/catz.c:2370,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2371
      start: 2326
    functionDepth: 8
    functionLinenumber: 2326
    functionLinenumberEnd: 2371
    functionName: DNS_RDATASETITER_FOREACH
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - dns_name_format
    - dns_rdatatype_format
    - isc_result_totext
    - isc_log_write
    - dns_rdataclass_format
    - dns__catz_update_process
    - dns_rdataset_disassociate
    - dns_rdatasetiter_current
    - catz_rdatatype_is_processable
    linkageType: ''
    returnType: void
    signature: void DNS_RDATASETITER_FOREACH(rdsiter)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2451,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2451,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2453,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2456,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/catz.c:2458,1
    - Dst: dns__catz_timer_start
      Src: /src/bind9/lib/dns/catz.c:2460,1
    - Dst: dns_db_closeversion
      Src: /src/bind9/lib/dns/catz.c:2463,1
    - Dst: dns_db_detach
      Src: /src/bind9/lib/dns/catz.c:2464,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2466,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2468,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/catz.c:2470,1
    - Dst: dns_catz_zone_unref
      Src: /src/bind9/lib/dns/catz.c:2472,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - data
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2473
      start: 2446
    functionDepth: 5
    functionLinenumber: 2446
    functionLinenumberEnd: 2473
    functionName: dns__catz_done_cb
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_db_detach
    - dns_name_format
    - dns_catz_zone_unref
    - DNS_CATZ_ZONE_VALID
    - LOCK
    - isc_log_write
    - dns_db_closeversion
    - atomic_load
    - dns__catz_timer_start
    - UNLOCK
    - isc_result_totext
    linkageType: ''
    returnType: void
    signature: void dns__catz_done_cb(void *data)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2480,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2480,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2482,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:2483,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:2484,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:2485,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:2488,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2491,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2492,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:2493,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2494
      start: 2475
    functionDepth: 3
    functionLinenumber: 2475
    functionLinenumberEnd: 2494
    functionName: dns_catz_prereconfig
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_ht_iter_create
    - INSIST
    - isc_ht_iter_next
    - DNS_CATZ_ZONES_VALID
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_destroy
    - isc_ht_iter_current
    - UNLOCK
    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:2502,1
    - Dst: DNS_CATZ_ZONES_VALID
      Src: /src/bind9/lib/dns/catz.c:2502,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2504,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:2505,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:2506,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:2509,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/catz.c:2512,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/catz.c:2514,1
    - Dst: dns_catz_zone_new
      Src: /src/bind9/lib/dns/catz.c:2522,1
    - Dst: dns__catz_zones_merge
      Src: /src/bind9/lib/dns/catz.c:2523,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2524,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/catz.c:2527,1
    - Dst: isc_ht_count
      Src: /src/bind9/lib/dns/catz.c:2527,1
    - Dst: isc_ht_iter_delcurrent_next
      Src: /src/bind9/lib/dns/catz.c:2528,1
    - Dst: dns_catz_zone_detach
      Src: /src/bind9/lib/dns/catz.c:2529,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:2531,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2534,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/catz.c:2535,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:2536,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 22
    argCount: 1
    argNames:
    - catzs
    argTypes:
    - dns_catz_zones_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2537
      start: 2496
    functionDepth: 6
    functionLinenumber: 2496
    functionLinenumberEnd: 2537
    functionName: dns_catz_postreconfig
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - isc_ht_iter_delcurrent_next
    - REQUIRE
    - isc_ht_iter_create
    - dns_catz_zone_new
    - dns_name_format
    - DNS_CATZ_ZONES_VALID
    - INSIST
    - dns_catz_zone_detach
    - isc_ht_iter_next
    - RUNTIME_CHECK
    - isc_ht_iter_first
    - LOCK
    - isc_log_write
    - isc_ht_iter_destroy
    - isc_ht_iter_current
    - dns__catz_zones_merge
    - isc_ht_count
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void dns_catz_postreconfig(dns_catz_zones_t *catzs)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2542
      start: 2539
    functionDepth: 1
    functionLinenumber: 2539
    functionLinenumberEnd: 2542
    functionName: dns_catz_zone_prereconfig
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - LOCK
    linkageType: ''
    returnType: void
    signature: void dns_catz_zone_prereconfig(dns_catz_zone_t *catz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2546,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - catz
    argTypes:
    - dns_catz_zone_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 2547
      start: 2544
    functionDepth: 1
    functionLinenumber: 2544
    functionLinenumberEnd: 2547
    functionName: dns_catz_zone_postreconfig
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - UNLOCK
    linkageType: ''
    returnType: void
    signature: void dns_catz_zone_postreconfig(dns_catz_zone_t *catz)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/catz.c:2552,1
    - Dst: DNS_CATZ_ZONE_VALID
      Src: /src/bind9/lib/dns/catz.c:2552,1
    - Dst: LOCK
      Src: /src/bind9/lib/dns/catz.c:2557,1
    - Dst: isc_ht_iter_create
      Src: /src/bind9/lib/dns/catz.c:2558,1
    - Dst: isc_ht_iter_first
      Src: /src/bind9/lib/dns/catz.c:2559,1
    - Dst: isc_ht_iter_next
      Src: /src/bind9/lib/dns/catz.c:2560,1
    - Dst: isc_ht_iter_current
      Src: /src/bind9/lib/dns/catz.c:2564,1
    - Dst: cb
      Src: /src/bind9/lib/dns/catz.c:2565,1
    - Dst: isc_ht_iter_destroy
      Src: /src/bind9/lib/dns/catz.c:2567,1
    - Dst: UNLOCK
      Src: /src/bind9/lib/dns/catz.c:2568,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: 2569
      start: 2549
    functionDepth: 3
    functionLinenumber: 2549
    functionLinenumberEnd: 2569
    functionName: dns_catz_zone_for_each_entry2
    functionSourceFile: /src/bind9/lib/dns/catz.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - isc_ht_iter_create
    - isc_ht_iter_next
    - DNS_CATZ_ZONE_VALID
    - isc_ht_iter_first
    - LOCK
    - isc_ht_iter_destroy
    - cb
    - isc_ht_iter_current
    - UNLOCK
    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:134,1
    - Dst: TAG_ALG
      Src: /src/bind9/lib/dns/dst_parse.c:135,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 2
    argNames:
    - s
    - alg
    argTypes:
    - char*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 141
    functionName: find_value
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG_ALG
    - strcasecmp
    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: 154
      start: 143
    functionDepth: 0
    functionLinenumber: 143
    functionLinenumberEnd: 154
    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:161,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 7
    argCount: 3
    argNames:
    - s
    - tags
    - ntags
    argTypes:
    - char*
    - char*[]
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 156
    functionDepth: 0
    functionLinenumber: 156
    functionLinenumberEnd: 167
    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:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    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:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - s
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    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:197,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 25
    argCount: 2
    argNames:
    - priv
    - external
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 179
    functionDepth: 1
    functionLinenumber: 179
    functionLinenumberEnd: 223
    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:242,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - priv
    - external
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 257
    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:276,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 21
    argCount: 2
    argNames:
    - priv
    - external
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 291
    functionName: check_eddsa
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_eddsa(const dst_private_t *priv, bool external)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: TAG
      Src: /src/bind9/lib/dns/dst_parse.c:314,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 18
    argCount: 2
    argNames:
    - priv
    - old
    argTypes:
    - dst_private_t*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 323
    functionName: check_hmac_md5
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t check_hmac_md5(const dst_private_t *priv, bool old)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: TAG
      Src: /src/bind9/lib/dns/dst_parse.c:334,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: 343
      start: 325
    functionDepth: 1
    functionLinenumber: 325
    functionLinenumberEnd: 343
    functionName: check_hmac_sha
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - TAG
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t 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:356,1
    - Dst: check_ecdsa
      Src: /src/bind9/lib/dns/dst_parse.c:359,1
    - Dst: check_eddsa
      Src: /src/bind9/lib/dns/dst_parse.c:362,1
    - Dst: check_hmac_md5
      Src: /src/bind9/lib/dns/dst_parse.c:364,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:366,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:368,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:370,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:372,1
    - Dst: check_hmac_sha
      Src: /src/bind9/lib/dns/dst_parse.c:374,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: 378
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 378
    functionName: check_data
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 0
    functionsReached:
    - check_eddsa
    - check_hmac_md5
    - check_rsa
    - check_ecdsa
    - check_hmac_sha
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t 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:391,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_parse.c:392,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - priv
    - mctx
    argTypes:
    - dst_private_t*
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 395
      start: 380
    functionDepth: 1
    functionLinenumber: 380
    functionLinenumberEnd: 395
    functionName: dst__privstruct_free
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 4
    functionsReached:
    - memset
    - isc_mem_put
    linkageType: ''
    returnType: void
    signature: void dst__privstruct_free(dst_private_t *priv, isc_mem_t *mctx)
  - BBCount: 19
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_parse.c:409,1
    - Dst: memset
      Src: /src/bind9/lib/dns/dst_parse.c:412,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:432,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_parse.c:434,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:434,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:440,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:441,1
    - Dst: sscanf
      Src: /src/bind9/lib/dns/dst_parse.c:446,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:446,1
    - Dst: dst_key_setprivateformat
      Src: /src/bind9/lib/dns/dst_parse.c:459,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_parse.c:461,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:466,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_parse.c:468,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:468,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:474,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:476,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_parse.c:482,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/lib/dns/dst_parse.c:491,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/dst_parse.c:505,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:505,1
    - Dst: find_numericdata
      Src: /src/bind9/lib/dns/dst_parse.c:511,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:511,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_parse.c:513,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:515,1
    - Dst: dst_key_setnum
      Src: /src/bind9/lib/dns/dst_parse.c:521,1
    - Dst: find_timedata
      Src: /src/bind9/lib/dns/dst_parse.c:526,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:526,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/dst_parse.c:528,1
    - Dst: NEXTTOKEN
      Src: /src/bind9/lib/dns/dst_parse.c:530,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_parse.c:536,1
    - Dst: dns_time32_fromtext
      Src: /src/bind9/lib/dns/dst_parse.c:536,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:536,1
    - Dst: dst_key_settime
      Src: /src/bind9/lib/dns/dst_parse.c:538,1
    - Dst: find_value
      Src: /src/bind9/lib/dns/dst_parse.c:544,1
    - Dst: DST_AS_STR
      Src: /src/bind9/lib/dns/dst_parse.c:544,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/dst_parse.c:554,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:556,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_parse.c:557,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/dst_parse.c:557,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_parse.c:559,1
    - Dst: READLINE
      Src: /src/bind9/lib/dns/dst_parse.c:565,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/dst_parse.c:575,1
    - Dst: check_data
      Src: /src/bind9/lib/dns/dst_parse.c:575,1
    - Dst: dst__privstruct_free
      Src: /src/bind9/lib/dns/dst_parse.c:582,1
    - Dst: isc_mem_put
      Src: /src/bind9/lib/dns/dst_parse.c:584,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 130
    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: 588
      start: 397
    functionDepth: 3
    functionLinenumber: 397
    functionLinenumberEnd: 588
    functionName: dst__privstruct_parse
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - find_value
    - isc_mem_put
    - INSIST
    - isc_lex_gettoken
    - dst__privstruct_free
    - READLINE
    - check_data
    - memset
    - dns_time32_fromtext
    - isc_buffer_init
    - strcmp
    - sscanf
    - dst_key_alg
    - DST_AS_STR
    - find_numericdata
    - CHECK
    - find_timedata
    - NEXTTOKEN
    - isc_base64_tobuffer
    - isc_mem_get
    - dst_key_setnum
    - dst_key_settime
    - isc_buffer_usedregion
    - dst_key_setprivateformat
    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: 418
      start: 414
    functionDepth: 0
    functionLinenumber: 414
    functionLinenumberEnd: 418
    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: 428
      start: 419
    functionDepth: 0
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: READLINE
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: READLINE(lex, opt, token)
  - BBCount: 31
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/dst_parse.c:608,1
    - Dst: check_data
      Src: /src/bind9/lib/dns/dst_parse.c:610,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:610,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:617,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_parse.c:618,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_parse.c:618,1
    - Dst: isc_file_mode
      Src: /src/bind9/lib/dns/dst_parse.c:620,1
    - Dst: isc_log_write
      Src: /src/bind9/lib/dns/dst_parse.c:626,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:634,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/dst_parse.c:635,1
    - Dst: dst_key_buildfilename
      Src: /src/bind9/lib/dns/dst_parse.c:635,1
    - Dst: dst_key_open
      Src: /src/bind9/lib/dns/dst_parse.c:637,1
    - Dst: dst_key_getprivateformat
      Src: /src/bind9/lib/dns/dst_parse.c:642,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:649,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:651,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:651,1
    - Dst: dst_key_alg
      Src: /src/bind9/lib/dns/dst_parse.c:653,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:655,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: find_tag
      Src: /src/bind9/lib/dns/dst_parse.c:710,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:714,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/dst_parse.c:715,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_parse.c:717,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_parse.c:719,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:721,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:725,1
    - Dst: dst_key_getnum
      Src: /src/bind9/lib/dns/dst_parse.c:731,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:736,1
    - Dst: dst_key_gettime
      Src: /src/bind9/lib/dns/dst_parse.c:740,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/dst_parse.c:745,1
    - Dst: dns_time32_totext
      Src: /src/bind9/lib/dns/dst_parse.c:746,1
    - Dst: dst_key_cleanup
      Src: /src/bind9/lib/dns/dst_parse.c:748,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/dst_parse.c:751,1
    - Dst: fprintf
      Src: /src/bind9/lib/dns/dst_parse.c:754,1
    - Dst: dst_key_close
      Src: /src/bind9/lib/dns/dst_parse.c:760,1
    CyclomaticComplexity: 40
    EdgeCount: 40
    ICount: 125
    argCount: 3
    argNames:
    - key
    - priv
    - directory
    argTypes:
    - dst_key_t*
    - dst_private_t*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 590
    functionDepth: 4
    functionLinenumber: 590
    functionLinenumberEnd: 762
    functionName: dst__privstruct_writefile
    functionSourceFile: /src/bind9/lib/dns/dst_parse.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - dst_key_gettime
    - fprintf
    - RETERR
    - check_data
    - dst_key_close
    - dns_time32_totext
    - dst_key_open
    - dst_key_buildfilename
    - isc_buffer_init
    - dst_key_getprivateformat
    - dst_key_alg
    - isc_base64_totext
    - isc_log_write
    - dst_key_getnum
    - isc_file_mode
    - dst_key_cleanup
    - find_tag
    - isc_buffer_usedregion
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 95
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 95
    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: 96
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 96
    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:127,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:128,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:130,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:130,1
    - Dst: isc_mem_get
      Src: /src/bind9/lib/dns/request.c:132,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/request.c:136,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:138,1
    - Dst: isc_mem_cget
      Src: /src/bind9/lib/dns/request.c:139,1
    - Dst: ISC_LIST_INIT
      Src: /src/bind9/lib/dns/request.c:142,1
    - Dst: isc_loop_ref
      Src: /src/bind9/lib/dns/request.c:145,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/request.c:145,1
    - Dst: dns_dispatchmgr_attach
      Src: /src/bind9/lib/dns/request.c:148,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/request.c:151,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:153,1
    - Dst: dns_dispatchset_create
      Src: /src/bind9/lib/dns/request.c:156,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:158,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/request.c:161,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:163,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:163,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 5
    argNames:
    - mctx
    - dispatchmgr
    - dispatchv4
    - dispatchv6
    - requestmgrp
    argTypes:
    - isc_mem_t*
    - dns_dispatchmgr_t*
    - dns_dispatch_t*
    - dns_dispatch_t*
    - dns_requestmgr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 167
      start: 123
    functionDepth: 5
    functionLinenumber: 123
    functionLinenumberEnd: 167
    functionName: dns_requestmgr_create
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - isc_mem_attach
    - REQUIRE
    - isc_mem_cget
    - req_log
    - isc_mem_get
    - isc_loopmgr_nloops
    - isc_loop_ref
    - isc_loop_get
    - ISC_LIST_INIT
    - ISC_LOG_DEBUG
    - dns_dispatchset_create
    - dns_dispatchmgr_attach
    - isc_refcount_init
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t dns_requestmgr_create(isc_mem_t *mctx, 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:172,1
    - Dst: ISC_LIST_FOREACH
      Src: /src/bind9/lib/dns/request.c:174,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:175,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:175,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:177,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:181,1
    - Dst: isc_loop_unref
      Src: /src/bind9/lib/dns/request.c:184,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/request.c:184,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/lib/dns/request.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 169
    functionDepth: 2
    functionLinenumber: 169
    functionLinenumberEnd: 186
    functionName: requests_cancel
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_requestmgr_detach
    - req_log
    - DNS_REQUEST_COMPLETE
    - req_sendevent
    - isc_loop_get
    - isc_loop_unref
    - isc_tid
    - ISC_LOG_DEBUG
    - ISC_LIST_FOREACH
    linkageType: ''
    returnType: void
    signature: void requests_cancel(void *arg)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:191,1
    - Dst: VALID_REQUESTMGR
      Src: /src/bind9/lib/dns/request.c:191,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:193,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:193,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/request.c:195,1
    - Dst: atomic_compare_exchange_strong
      Src: /src/bind9/lib/dns/request.c:196,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/request.c:198,1
    - Dst: synchronize_rcu
      Src: /src/bind9/lib/dns/request.c:208,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:210,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:211,1
    - Dst: dns_requestmgr_ref
      Src: /src/bind9/lib/dns/request.c:213,1
    - Dst: requests_cancel
      Src: /src/bind9/lib/dns/request.c:217,1
    - Dst: isc_loop_get
      Src: /src/bind9/lib/dns/request.c:221,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/request.c:222,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - requestmgr
    argTypes:
    - dns_requestmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 224
    functionName: dns_requestmgr_shutdown
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - dns_requestmgr_ref
    - REQUIRE
    - req_log
    - rcu_read_unlock
    - isc_loopmgr_nloops
    - isc_loop_get
    - isc_tid
    - rcu_read_lock
    - isc_async_run
    - ISC_LOG_DEBUG
    - VALID_REQUESTMGR
    - synchronize_rcu
    - atomic_compare_exchange_strong
    - requests_cancel
    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:228,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:228,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:230,1
    - Dst: atomic_load
      Src: /src/bind9/lib/dns/request.c:230,1
    - Dst: isc_loopmgr_nloops
      Src: /src/bind9/lib/dns/request.c:232,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:234,1
    - Dst: ISC_LIST_EMPTY
      Src: /src/bind9/lib/dns/request.c:234,1
    - Dst: isc_mem_cput
      Src: /src/bind9/lib/dns/request.c:236,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/request.c:240,1
    - Dst: dns_dispatchset_destroy
      Src: /src/bind9/lib/dns/request.c:243,1
    - Dst: dns_dispatchmgr_detach
      Src: /src/bind9/lib/dns/request.c:246,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/request.c:249,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 18
    argCount: 1
    argNames:
    - requestmgr
    argTypes:
    - dns_requestmgr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 251
    functionName: requestmgr_destroy
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - isc_mem_cput
    - req_log
    - INSIST
    - isc_loopmgr_nloops
    - ISC_LIST_EMPTY
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - dns_dispatchmgr_detach
    - atomic_load
    - 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:263,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:265,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:265,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:267,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:272,1
    - Dst: dns_dispatch_send
      Src: /src/bind9/lib/dns/request.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 259
    functionDepth: 7
    functionLinenumber: 259
    functionLinenumberEnd: 274
    functionName: req_send
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_log
    - dns_request_ref
    - dns_dispatch_send
    - ISC_LOG_DEBUG
    - 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:280,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:284,1
    - Dst: isc_refcount_init
      Src: /src/bind9/lib/dns/request.c:292,1
    - Dst: isc_mem_attach
      Src: /src/bind9/lib/dns/request.c:293,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: 309
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 309
    functionName: new_request
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - isc_tid
    - isc_mem_attach
    - isc_refcount_init
    - isc_mem_get
    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:319,1
    - Dst: isc_netaddr_fromsockaddr
      Src: /src/bind9/lib/dns/request.c:324,1
    - Dst: dns_acl_match
      Src: /src/bind9/lib/dns/request.c:325,1
    - Dst: isc_netaddr_format
      Src: /src/bind9/lib/dns/request.c:330,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:331,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 2
    argNames:
    - dispatchmgr
    - destaddr
    argTypes:
    - dns_dispatchmgr_t*
    - isc_sockaddr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 334
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 334
    functionName: isblackholed
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_dispatchmgr_getblackhole
    - req_log
    - isc_netaddr_format
    - isc_netaddr_fromsockaddr
    - ISC_LOG_DEBUG
    - dns_acl_match
    linkageType: ''
    returnType: bool
    signature: bool isblackholed(dns_dispatchmgr_t *dispatchmgr, const isc_sockaddr_t
      *destaddr)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: dns_dispatch_createtcp
      Src: /src/bind9/lib/dns/request.c:340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 6
    argNames:
    - requestmgr
    - srcaddr
    - destaddr
    - transport
    - dispopt
    - dispatchp
    argTypes:
    - dns_requestmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - unsigned int
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 336
    functionDepth: 5
    functionLinenumber: 336
    functionLinenumberEnd: 343
    functionName: tcp_dispatch
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_createtcp
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t tcp_dispatch(dns_requestmgr_t *requestmgr, const isc_sockaddr_t
      *srcaddr,\n\t     const isc_sockaddr_t *destaddr, dns_transport_t *transport,\n\t
      \    unsigned int dispopt, dns_dispatch_t **dispatchp)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:351,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/request.c:353,1
    - Dst: dns_dispatchset_get
      Src: /src/bind9/lib/dns/request.c:357,1
    - Dst: dns_dispatch_attach
      Src: /src/bind9/lib/dns/request.c:366,1
    - Dst: dns_dispatch_createudp
      Src: /src/bind9/lib/dns/request.c:370,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: 372
      start: 345
    functionDepth: 2
    functionLinenumber: 345
    functionLinenumberEnd: 372
    functionName: udp_dispatch
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_dispatch_createudp
    - dns_dispatch_attach
    - dns_dispatchset_get
    - isc_sockaddr_pf
    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:382,1
    - Dst: udp_dispatch
      Src: /src/bind9/lib/dns/request.c:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 7
    argNames:
    - tcp
    - requestmgr
    - srcaddr
    - destaddr
    - transport
    - dispopt
    - dispatchp
    argTypes:
    - bool
    - dns_requestmgr_t*
    - isc_sockaddr_t*
    - isc_sockaddr_t*
    - dns_transport_t*
    - unsigned int
    - dns_dispatch_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 388
      start: 374
    functionDepth: 6
    functionLinenumber: 374
    functionLinenumberEnd: 388
    functionName: get_dispatch
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - udp_dispatch
    - tcp_dispatch
    linkageType: ''
    returnType: isc_result_t
    signature: "isc_result_t get_dispatch(bool tcp, dns_requestmgr_t *requestmgr,\n\t
      \    const isc_sockaddr_t *srcaddr, const isc_sockaddr_t *destaddr,\n\t     dns_transport_t
      *transport, unsigned int dispopt,\n\t     dns_dispatch_t **dispatchp)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:408,1
    - Dst: VALID_REQUESTMGR
      Src: /src/bind9/lib/dns/request.c:408,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:409,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:410,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:411,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:412,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:413,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:414,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:415,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:418,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:418,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:418,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:423,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:423,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/request.c:425,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/request.c:427,1
    - Dst: isblackholed
      Src: /src/bind9/lib/dns/request.c:432,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:437,1
    - Dst: new_request
      Src: /src/bind9/lib/dns/request.c:447,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:450,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:451,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/request.c:451,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:458,1
    - Dst: get_dispatch
      Src: /src/bind9/lib/dns/request.c:458,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:461,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/request.c:461,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:468,1
    - Dst: dns_requestmgr_attach
      Src: /src/bind9/lib/dns/request.c:478,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/request.c:479,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:481,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/request.c:482,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:484,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:488,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:488,1
    - Dst: req_cleanup
      Src: /src/bind9/lib/dns/request.c:493,1
    - Dst: dns_request_detach
      Src: /src/bind9/lib/dns/request.c:494,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:495,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:495,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:496,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/request.c:500,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 73
    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: 502
      start: 390
    functionDepth: 11
    functionLinenumber: 390
    functionLinenumberEnd: 502
    functionName: dns_request_createraw
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - req_log
    - dns_dispatch_add
    - dns_request_ref
    - new_request
    - dns_requestmgr_attach
    - ISC_LOG_DEBUG
    - rcu_read_unlock
    - VALID_REQUESTMGR
    - isc_sockaddr_pf
    - dns_dispatch_connect
    - isc_result_totext
    - req_cleanup
    - atomic_load_acquire
    - rcu_read_lock
    - get_dispatch
    - CHECK
    - dns_request_detach
    - isblackholed
    - ISC_LIST_APPEND
    - isc_buffer_copyregion
    - isc_buffer_usedregion
    - isc_buffer_allocate
    - dns_request_unref
    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: 11
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:519,1
    - Dst: VALID_REQUESTMGR
      Src: /src/bind9/lib/dns/request.c:519,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:520,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:521,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:522,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:523,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:524,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:525,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:526,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:529,1
    - Dst: isc_sockaddr_pf
      Src: /src/bind9/lib/dns/request.c:529,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:536,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:536,1
    - Dst: rcu_read_lock
      Src: /src/bind9/lib/dns/request.c:538,1
    - Dst: atomic_load_acquire
      Src: /src/bind9/lib/dns/request.c:540,1
    - Dst: isblackholed
      Src: /src/bind9/lib/dns/request.c:545,1
    - Dst: new_request
      Src: /src/bind9/lib/dns/request.c:554,1
    - Dst: dns_tsigkey_attach
      Src: /src/bind9/lib/dns/request.c:558,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:561,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/request.c:561,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:564,1
    - Dst: get_dispatch
      Src: /src/bind9/lib/dns/request.c:564,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:567,1
    - Dst: dns_dispatch_add
      Src: /src/bind9/lib/dns/request.c:567,1
    - Dst: req_render
      Src: /src/bind9/lib/dns/request.c:574,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/lib/dns/request.c:577,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/request.c:578,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/request.c:579,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:587,1
    - Dst: dns_message_getquerytsig
      Src: /src/bind9/lib/dns/request.c:587,1
    - Dst: dns_requestmgr_attach
      Src: /src/bind9/lib/dns/request.c:595,1
    - Dst: ISC_LIST_APPEND
      Src: /src/bind9/lib/dns/request.c:596,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:598,1
    - Dst: dns_dispatch_connect
      Src: /src/bind9/lib/dns/request.c:599,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:601,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:605,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:605,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/request.c:610,1
    - Dst: req_cleanup
      Src: /src/bind9/lib/dns/request.c:611,1
    - Dst: dns_request_detach
      Src: /src/bind9/lib/dns/request.c:612,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:613,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:613,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:614,1
    - Dst: rcu_read_unlock
      Src: /src/bind9/lib/dns/request.c:617,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 81
    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: 620
      start: 504
    functionDepth: 11
    functionLinenumber: 504
    functionLinenumberEnd: 620
    functionName: dns_request_create
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 12
    functionsReached:
    - REQUIRE
    - req_log
    - dns_message_getquerytsig
    - dns_dispatch_add
    - dns_request_ref
    - new_request
    - req_render
    - dns_requestmgr_attach
    - ISC_LOG_DEBUG
    - dns_dispatch_detach
    - rcu_read_unlock
    - VALID_REQUESTMGR
    - isc_sockaddr_pf
    - dns_dispatch_connect
    - dns_tsigkey_attach
    - isc_result_totext
    - req_cleanup
    - atomic_load_acquire
    - rcu_read_lock
    - dns_message_renderreset
    - get_dispatch
    - CHECK
    - dns_request_detach
    - isblackholed
    - ISC_LIST_APPEND
    - dns_request_unref
    - dns_dispatch_done
    - dns_message_settsigkey
    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: 6
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:632,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:634,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:634,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:639,1
    - Dst: dns_compress_init
      Src: /src/bind9/lib/dns/request.c:648,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:653,1
    - Dst: dns_message_renderbegin
      Src: /src/bind9/lib/dns/request.c:653,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:654,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:654,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:655,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:655,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:656,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:656,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:657,1
    - Dst: dns_message_rendersection
      Src: /src/bind9/lib/dns/request.c:657,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:658,1
    - Dst: dns_message_renderend
      Src: /src/bind9/lib/dns/request.c:658,1
    - Dst: isc_buffer_usedregion
      Src: /src/bind9/lib/dns/request.c:663,1
    - Dst: CLEANUP
      Src: /src/bind9/lib/dns/request.c:665,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:667,1
    - Dst: CHECK
      Src: /src/bind9/lib/dns/request.c:668,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/request.c:668,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/request.c:673,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:674,1
    - Dst: dns_message_renderreset
      Src: /src/bind9/lib/dns/request.c:679,1
    - Dst: dns_compress_invalidate
      Src: /src/bind9/lib/dns/request.c:680,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:682,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:685,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 39
    argCount: 4
    argNames:
    - message
    - bufferp
    - options
    - mctx
    argTypes:
    - dns_message_t*
    - isc_buffer_t**
    - unsigned int
    - isc_mem_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 688
      start: 622
    functionDepth: 5
    functionLinenumber: 622
    functionLinenumberEnd: 688
    functionName: req_render
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 1
    functionsReached:
    - dns_compress_invalidate
    - REQUIRE
    - req_log
    - dns_message_renderend
    - dns_message_renderbegin
    - isc_buffer_free
    - dns_message_rendersection
    - isc_buffer_copyregion
    - dns_message_renderreset
    - ISC_LOG_DEBUG
    - isc_buffer_allocate
    - isc_buffer_usedregion
    - CHECK
    - CLEANUP
    - dns_compress_init
    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:692,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:692,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:693,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:693,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:695,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:700,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:700,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 702
      start: 690
    functionDepth: 1
    functionLinenumber: 690
    functionLinenumberEnd: 702
    functionName: request_cancel
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_log
    - DNS_REQUEST_COMPLETE
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    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:708,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:709,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 710
      start: 704
    functionDepth: 2
    functionLinenumber: 704
    functionLinenumberEnd: 710
    functionName: req_cancel_cb
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_request_unref
    - request_cancel
    linkageType: ''
    returnType: void
    signature: void req_cancel_cb(void *arg)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:714,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:714,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:716,1
    - Dst: request_cancel
      Src: /src/bind9/lib/dns/request.c:717,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:719,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/request.c:720,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 722
      start: 712
    functionDepth: 2
    functionLinenumber: 712
    functionLinenumberEnd: 722
    functionName: dns_request_cancel
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - dns_request_ref
    - isc_tid
    - isc_async_run
    - request_cancel
    linkageType: ''
    returnType: void
    signature: void dns_request_cancel(dns_request_t *request)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:727,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:727,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:728,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:728,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:729,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:731,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:731,1
    - Dst: dns_message_setquerytsig
      Src: /src/bind9/lib/dns/request.c:733,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/request.c:734,1
    - Dst: dns_message_settsigkey
      Src: /src/bind9/lib/dns/request.c:734,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/request.c:735,1
    - Dst: dns_message_parse
      Src: /src/bind9/lib/dns/request.c:735,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/request.c:737,1
    - Dst: dns_tsig_verify
      Src: /src/bind9/lib/dns/request.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 3
    argNames:
    - request
    - message
    - options
    argTypes:
    - dns_request_t*
    - dns_message_t*
    - unsigned int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 724
    functionDepth: 7
    functionLinenumber: 724
    functionLinenumberEnd: 740
    functionName: dns_request_getresponse
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 12
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_log
    - dns_message_setquerytsig
    - dns_message_parse
    - isc_tid
    - ISC_LOG_DEBUG
    - RETERR
    - dns_tsig_verify
    - dns_message_settsigkey
    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:744,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:744,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:745,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:745,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 1
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: dns_request_getanswer
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 1
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - isc_tid
    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:752,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:752,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:753,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:753,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 756
      start: 750
    functionDepth: 1
    functionLinenumber: 750
    functionLinenumberEnd: 756
    functionName: dns_request_usedtcp
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 3
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - isc_tid
    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:760,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:760,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:765,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:765,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:767,1
    - Dst: dns_request_cancel
      Src: /src/bind9/lib/dns/request.c:768,1
    - Dst: dns_request_detach
      Src: /src/bind9/lib/dns/request.c:772,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - requestp
    argTypes:
    - dns_request_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 758
    functionDepth: 3
    functionLinenumber: 758
    functionLinenumberEnd: 773
    functionName: dns_request_destroy
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 15
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_log
    - dns_request_cancel
    - DNS_REQUEST_COMPLETE
    - ISC_LOG_DEBUG
    - 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:780,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:780,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:781,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:781,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:782,1
    - Dst: DNS_REQUEST_CONNECTING
      Src: /src/bind9/lib/dns/request.c:782,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:784,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:784,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:785,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:789,1
    - Dst: req_send
      Src: /src/bind9/lib/dns/request.c:795,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:797,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:802,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: 803
      start: 775
    functionDepth: 8
    functionLinenumber: 775
    functionLinenumberEnd: 803
    functionName: req_connected
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_log
    - DNS_REQUEST_CONNECTING
    - DNS_REQUEST_COMPLETE
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    - dns_request_unref
    - req_send
    - isc_result_totext
    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:810,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:810,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:811,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:811,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:812,1
    - Dst: DNS_REQUEST_SENDING
      Src: /src/bind9/lib/dns/request.c:812,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:814,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:814,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:818,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:824,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:829,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: 830
      start: 805
    functionDepth: 1
    functionLinenumber: 805
    functionLinenumberEnd: 830
    functionName: req_senddone
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_log
    - DNS_REQUEST_COMPLETE
    - DNS_REQUEST_SENDING
    - req_sendevent
    - isc_tid
    - ISC_LOG_DEBUG
    - dns_request_unref
    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:840,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:840,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:841,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:841,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:843,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:843,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:844,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:846,1
    - Dst: dns_request_usedtcp
      Src: /src/bind9/lib/dns/request.c:853,1
    - Dst: dns_dispatch_resume
      Src: /src/bind9/lib/dns/request.c:855,1
    - Dst: DNS_REQUEST_SENDING
      Src: /src/bind9/lib/dns/request.c:857,1
    - Dst: req_send
      Src: /src/bind9/lib/dns/request.c:858,1
    - Dst: isc_buffer_allocate
      Src: /src/bind9/lib/dns/request.c:865,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/request.c:867,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:869,1
    - Dst: req_sendevent
      Src: /src/bind9/lib/dns/request.c:876,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: 877
      start: 832
    functionDepth: 10
    functionLinenumber: 832
    functionLinenumberEnd: 877
    functionName: req_response
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_log
    - DNS_REQUEST_COMPLETE
    - DNS_REQUEST_SENDING
    - req_sendevent
    - dns_request_usedtcp
    - isc_tid
    - isc_buffer_copyregion
    - ISC_LOG_DEBUG
    - isc_buffer_allocate
    - isc_buffer_free
    - req_send
    - dns_dispatch_resume
    - isc_result_totext
    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:883,1
    - Dst: dns_request_unref
      Src: /src/bind9/lib/dns/request.c:884,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - arg
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 885
      start: 879
    functionDepth: 1
    functionLinenumber: 879
    functionLinenumberEnd: 885
    functionName: req_sendevent_cb
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - dns_request_unref
    - dns_request_t*::cb
    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:889,1
    - Dst: ISC_LIST_UNLINK
      Src: /src/bind9/lib/dns/request.c:890,1
    - Dst: dns_dispatch_done
      Src: /src/bind9/lib/dns/request.c:894,1
    - Dst: dns_dispatch_detach
      Src: /src/bind9/lib/dns/request.c:897,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 899
      start: 887
    functionDepth: 8
    functionLinenumber: 887
    functionLinenumberEnd: 899
    functionName: req_cleanup
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 2
    functionsReached:
    - dns_dispatch_done
    - ISC_LIST_UNLINK
    - ISC_LINK_LINKED
    - dns_dispatch_detach
    linkageType: ''
    returnType: void
    signature: void req_cleanup(dns_request_t *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:903,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:903,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:904,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:904,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:905,1
    - Dst: DNS_REQUEST_COMPLETE
      Src: /src/bind9/lib/dns/request.c:905,1
    - Dst: req_cleanup
      Src: /src/bind9/lib/dns/request.c:909,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:911,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:911,1
    - Dst: isc_result_totext
      Src: /src/bind9/lib/dns/request.c:912,1
    - Dst: dns_request_ref
      Src: /src/bind9/lib/dns/request.c:921,1
    - Dst: isc_async_run
      Src: /src/bind9/lib/dns/request.c:922,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 2
    argNames:
    - request
    - result
    argTypes:
    - dns_request_t*
    - isc_result_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 923
      start: 901
    functionDepth: 9
    functionLinenumber: 901
    functionLinenumberEnd: 923
    functionName: req_sendevent
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 5
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - req_cleanup
    - req_log
    - DNS_REQUEST_COMPLETE
    - dns_request_ref
    - isc_tid
    - isc_async_run
    - ISC_LOG_DEBUG
    - isc_result_totext
    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:927,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:927,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:928,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:928,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:929,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/request.c:929,1
    - Dst: req_log
      Src: /src/bind9/lib/dns/request.c:931,1
    - Dst: ISC_LOG_DEBUG
      Src: /src/bind9/lib/dns/request.c:931,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:937,1
    - Dst: ISC_LINK_LINKED
      Src: /src/bind9/lib/dns/request.c:937,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:938,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/request.c:939,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:943,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:946,1
    - Dst: isc_buffer_free
      Src: /src/bind9/lib/dns/request.c:949,1
    - Dst: dns_tsigkey_detach
      Src: /src/bind9/lib/dns/request.c:952,1
    - Dst: dns_requestmgr_detach
      Src: /src/bind9/lib/dns/request.c:955,1
    - Dst: isc_mem_putanddetach
      Src: /src/bind9/lib/dns/request.c:957,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 958
      start: 925
    functionDepth: 3
    functionLinenumber: 925
    functionLinenumberEnd: 958
    functionName: req_destroy
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 0
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - dns_requestmgr_detach
    - req_log
    - INSIST
    - ISC_LINK_LINKED
    - isc_tid
    - dns_tsigkey_detach
    - isc_mem_putanddetach
    - ISC_LOG_DEBUG
    - isc_buffer_free
    linkageType: ''
    returnType: void
    signature: void req_destroy(dns_request_t *request)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:962,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:962,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:963,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 966
      start: 960
    functionDepth: 1
    functionLinenumber: 960
    functionLinenumberEnd: 966
    functionName: dns_request_getarg
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 11
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - isc_tid
    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:970,1
    - Dst: VALID_REQUEST
      Src: /src/bind9/lib/dns/request.c:970,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/request.c:971,1
    - Dst: isc_tid
      Src: /src/bind9/lib/dns/request.c:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - request
    argTypes:
    - dns_request_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 974
      start: 968
    functionDepth: 1
    functionLinenumber: 968
    functionLinenumberEnd: 974
    functionName: dns_request_getresult
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 12
    functionsReached:
    - VALID_REQUEST
    - REQUIRE
    - isc_tid
    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:986,1
    - Dst: isc_log_vwrite
      Src: /src/bind9/lib/dns/request.c:987,1
    - Dst: va_end
      Src: /src/bind9/lib/dns/request.c:989,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - level
    - fmt
    argTypes:
    - int
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 990
      start: 982
    functionDepth: 2
    functionLinenumber: 982
    functionLinenumberEnd: 990
    functionName: req_log
    functionSourceFile: /src/bind9/lib/dns/request.c
    functionUses: 17
    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:
    - UNUSED
    - fprintf
    - va_start
    - va_end
    - 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
    - UNUSED
    - isc_log_vwrite
    - va_end
    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
    - UNUSED
    - isc_log_vwrite
    - va_end
    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: 15
    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: 31
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 31
    functionName: DNS_RDATACOMMON_INIT
    functionSourceFile: /src/bind9/lib/dns/rdata/rdatastructpre.h
    functionUses: 3
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - memmove
    - inet_pton
    - RETTOK
    - isc_lex_getmastertoken
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    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:
    - REQUIRE
    - UNUSED
    - inet_totext
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_buffer_forward
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    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:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_buffer_add
    - isc_buffer_availableregion
    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:
    - REQUIRE
    - memcmp
    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
    - REQUIRE
    - UNUSED
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:161,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:163,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:164,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 168
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 168
    functionName: tostruct_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - htonl
    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:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 175
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 175
    functionName: freestruct_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:180,1
    - Dst: UNUSED
      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:183,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 188
    functionName: additionaldata_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:194,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:195,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:197,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: digest_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:204,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:205,1
    - Dst: UNUSED
      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:208,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 202
    functionDepth: 1
    functionLinenumber: 202
    functionLinenumberEnd: 213
    functionName: checkowner_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:218,1
    - Dst: UNUSED
      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:221,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/hs_4/a_1.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: checknames_hs_a
    functionSourceFile: /src/bind9/lib/dns/rdata/hs_4/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:229,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 230
    functionName: 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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getoctaltoken
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - memmove
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - memmove
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    - dns_compress_setpermitted
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:229,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:231,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:233,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:234,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:235,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:235,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:237,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:238,1
    - Dst: htons
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:239,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 242
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 242
    functionName: tostruct_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - htons
    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:248,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:249,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 244
    functionDepth: 2
    functionLinenumber: 244
    functionLinenumberEnd: 257
    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:261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:262,1
    - Dst: UNUSED
      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:265,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 270
    functionName: additionaldata_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:277,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:278,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:280,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:281,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:282,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:283,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:283,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:284,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 286
    functionName: digest_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:290,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:291,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:293,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 288
    functionDepth: 2
    functionLinenumber: 288
    functionLinenumberEnd: 296
    functionName: checkowner_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    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:303,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:304,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:306,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:308,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:309,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:310,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:311,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/ch_3/a_1.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 319
    functionName: checknames_ch_a
    functionSourceFile: /src/bind9/lib/dns/rdata/ch_3/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    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: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_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:
    - REQUIRE
    - UNUSED
    - strtoull
    - DNS_AS_STR
    - isc_base64_tobuffer
    - uint16_tobuffer
    - RETTOK
    - dns_tsigrcode_fromtext
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - uint32_tobuffer
    - strtol
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - name_length
    - isc_base64_totext
    - dns_tsigrcode_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - uint16_fromregion
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - isc_region_consume
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - isc_buffer_availableregion
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - name_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:454,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:456,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:461,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:462,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:463,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:464,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:466,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:466,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:471,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:477,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:482,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:483,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:488,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:489,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:494,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:495,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:496,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:501,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:502,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:507,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:508,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:513,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:514,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:519,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 524
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 524
    functionName: tostruct_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - uint16_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - mem_maybedup
    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:530,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:531,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:532,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:538,1
    - Dst: isc_mem_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:543,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 546
      start: 526
    functionDepth: 2
    functionLinenumber: 526
    functionLinenumberEnd: 546
    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:550,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:551,1
    - Dst: UNUSED
      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:554,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 559
    functionName: additionaldata_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:563,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:564,1
    - Dst: UNUSED
      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:567,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 561
    functionDepth: 1
    functionLinenumber: 561
    functionLinenumberEnd: 571
    functionName: digest_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:575,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:576,1
    - Dst: UNUSED
      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:579,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 584
      start: 573
    functionDepth: 1
    functionLinenumber: 573
    functionLinenumberEnd: 584
    functionName: checkowner_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:588,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:589,1
    - Dst: UNUSED
      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:592,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/any_255/tsig_250.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 586
    functionDepth: 1
    functionLinenumber: 586
    functionLinenumberEnd: 596
    functionName: checknames_any_tsig
    functionSourceFile: /src/bind9/lib/dns/rdata/any_255/tsig_250.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 601
      start: 598
    functionDepth: 4
    functionLinenumber: 598
    functionLinenumberEnd: 601
    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:
    - REQUIRE
    - generic_fromtext_in_svcb
    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:
    - REQUIRE
    - generic_totext_in_svcb
    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:
    - REQUIRE
    - generic_fromwire_in_svcb
    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:
    - REQUIRE
    - generic_towire_in_svcb
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_in_svcb
    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:
    - REQUIRE
    - generic_tostruct_in_svcb
    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:
    - REQUIRE
    - generic_freestruct_in_svcb
    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:
    - REQUIRE
    - generic_additionaldata_in_svcb
    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:
    - REQUIRE
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - generic_checknames_in_svcb
    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:
    - REQUIRE
    - generic_rdata_in_svcb_current
    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:
    - qsort
    - isc_region_consume
    - isc_buffer_usedregion
    - INSIST
    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:
    - isc_region_consume
    - validate_dohpath
    - ARRAY_SIZE
    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:
    - strncasecmp
    - isc_textregion_consume
    - uint16_tobuffer
    - strtoul
    - SET_IF_NOT_NULL
    - strlen
    - RETERR
    - strncmp
    - ARRAY_SIZE
    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:
    - strtoul
    - isc_buffer_usedlength
    - svcsortkeylist
    - strlen
    - RETERR
    - strchr
    - mem_tobuffer
    - isc_buffer_used
    - alpn_fromtxt
    - svcb_validate
    - isc_textregion_consume
    - multitxt_fromtext
    - inet_pton
    - snprintf
    - uint16_tobuffer
    - isc_base64_decodestring
    - svc_keyfromregion
    - strncmp
    - UNREACHABLE
    - isdigit
    - ARRAY_SIZE
    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
    - uint16_fromregion
    - isc_buffer_usedlength
    - isc_buffer_usedregion
    - isc_region_consume
    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:
    - dns_name_ishostname
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_buffer_usedlength
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - dns_name_towire
    - svcsortkeys
    - dns_fixedname_initname
    - RETERR
    - svc_fromtext
    - buffer_fromregion
    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:
    - REQUIRE
    - UNUSED
    - generic_fromtext_in_svcb
    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:
    - REQUIRE
    - inet_ntop
    - INSIST
    - name_length
    - dns_rdata_toregion
    - commatxt_totext
    - RETERR
    - isc_region_consume
    - dns_name_init
    - uint16_fromregion
    - multitxt_totext
    - snprintf
    - name_prefix
    - svcparamkey
    - isc_base64_totext
    - str_totext
    - UNREACHABLE
    - dns_name_fromregion
    - dns_name_totext
    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:
    - REQUIRE
    - generic_totext_in_svcb
    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:
    - svcb_validate
    - UNUSED
    - dns_name_init
    - uint16_fromregion
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - isc_region_consume
    - dns_name_fromwire
    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:
    - REQUIRE
    - generic_fromwire_in_svcb
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - generic_towire_in_svcb
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - mem_tobuffer
    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:
    - REQUIRE
    - generic_fromstruct_in_svcb
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1022,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1024,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1026,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1027,1
    - Dst: dns_name_init
      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:1030,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1031,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1032,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1032,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1034,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1036,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1042
      start: 1013
    functionDepth: 3
    functionLinenumber: 1013
    functionLinenumberEnd: 1042
    functionName: generic_tostruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - mem_maybedup
    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:1048,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1049,1
    - 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: generic_tostruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1053,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1054
      start: 1044
    functionDepth: 4
    functionLinenumber: 1044
    functionLinenumberEnd: 1054
    functionName: tostruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_tostruct_in_svcb
    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:1060,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1066,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1067,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1069
      start: 1056
    functionDepth: 2
    functionLinenumber: 1056
    functionLinenumberEnd: 1069
    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:1075,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1076,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1077,1
    - Dst: generic_freestruct_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1079,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1080
      start: 1071
    functionDepth: 3
    functionLinenumber: 1071
    functionLinenumberEnd: 1080
    functionName: freestruct_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_freestruct_in_svcb
    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:1091,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1092,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1093,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1094,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1096,1
    - Dst: dns_name_equal
      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:1102,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1103,1
    - Dst: dns_rdataset_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1115,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1116,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1118,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1120,1
    - Dst: dns_rdataset_first
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1122,1
    - Dst: dns_rdataset_current
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1127,1
    - Dst: dns_rdata_tostruct
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1129,1
    - Dst: RUNTIME_CHECK
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1131,1
    - Dst: dns_name_copy
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1132,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1133,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1137,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1153,1
    - Dst: dns_rdataset_isassociated
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1159,1
    - Dst: dns_rdataset_disassociate
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1160,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1165
      start: 1082
    functionDepth: 4
    functionLinenumber: 1082
    functionLinenumberEnd: 1165
    functionName: generic_additionaldata_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_ishostname
    - dns_name_copy
    - dns_name_init
    - dns_name_fromregion
    - dns_rdataset_isassociated
    - uint16_fromregion
    - dns_name_equal
    - dns_rdataset_first
    - RUNTIME_CHECK
    - dns_rdataset_init
    - dns_rdata_toregion
    - dns_fixedname_initname
    - RETERR
    - dns_rdataset_disassociate
    - dns_rdataset_current
    - dns_name_clone
    - isc_region_consume
    - dns_rdata_tostruct
    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:1169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1170,1
    - Dst: generic_additionaldata_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1172,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1173
      start: 1167
    functionDepth: 5
    functionLinenumber: 1167
    functionLinenumberEnd: 1173
    functionName: additionaldata_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_additionaldata_in_svcb
    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:1179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1180,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1184
      start: 1175
    functionDepth: 2
    functionLinenumber: 1175
    functionLinenumberEnd: 1184
    functionName: digest_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:1188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1189,1
    - Dst: UNUSED
      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:1192,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1197
      start: 1186
    functionDepth: 1
    functionLinenumber: 1186
    functionLinenumberEnd: 1197
    functionName: checkowner_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:1205,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1207,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1208,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1209,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1210,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1211,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1212,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1213,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1215,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1220
      start: 1199
    functionDepth: 3
    functionLinenumber: 1199
    functionLinenumberEnd: 1220
    functionName: generic_checknames_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - dns_name_ishostname
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - INSIST
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    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:1224,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1225,1
    - Dst: generic_checknames_in_svcb
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1227,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1228
      start: 1222
    functionDepth: 4
    functionLinenumber: 1222
    functionLinenumberEnd: 1228
    functionName: checknames_in_svcb
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_checknames_in_svcb
    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:1232,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1233
      start: 1230
    functionDepth: 3
    functionLinenumber: 1230
    functionLinenumberEnd: 1233
    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: 1242
      start: 1235
    functionDepth: 0
    functionLinenumber: 1235
    functionLinenumberEnd: 1242
    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:1255,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1256,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1257,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 1
    argNames:
    - svcb
    argTypes:
    - dns_rdata_in_svcb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1261
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1261
    functionName: generic_rdata_in_svcb_next
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - isc_region_consume
    - uint16_fromregion
    - INSIST
    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:1267,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1271,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1272,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1273,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1274,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: 1277
      start: 1263
    functionDepth: 2
    functionLinenumber: 1263
    functionLinenumberEnd: 1277
    functionName: generic_rdata_in_svcb_current
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - isc_region_consume
    - uint16_fromregion
    - INSIST
    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:1281,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1283,1
    - Dst: generic_rdata_in_svcb_first
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - svcb
    argTypes:
    - dns_rdata_in_svcb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1286
      start: 1279
    functionDepth: 1
    functionLinenumber: 1279
    functionLinenumberEnd: 1286
    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:1290,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1291,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1292,1
    - Dst: generic_rdata_in_svcb_next
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - svcb
    argTypes:
    - dns_rdata_in_svcb_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1295
      start: 1288
    functionDepth: 3
    functionLinenumber: 1288
    functionLinenumberEnd: 1295
    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:1299,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1300,1
    - 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: generic_rdata_in_svcb_current
      Src: /src/bind9/lib/dns/rdata/in_1/svcb_64.c:1304,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: 1305
      start: 1297
    functionDepth: 3
    functionLinenumber: 1297
    functionLinenumberEnd: 1305
    functionName: dns_rdata_in_svcb_current
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/svcb_64.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_rdata_in_svcb_current
    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:
    - REQUIRE
    - UNUSED
    - isc_hex_tobuffer
    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:
    - REQUIRE
    - dns_rdata_toregion
    - RETERR
    - isc_hex_totext
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:136,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:138,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: tostruct_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:151,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 161
    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:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:166,1
    - Dst: UNUSED
      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:169,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: additionaldata_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:180,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:181,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: digest_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:191,1
    - Dst: UNUSED
      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:194,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: checkowner_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c:204,1
    - Dst: UNUSED
      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:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nimloc_32.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: checknames_in_nimloc
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nimloc_32.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 216
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:154,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:156,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:157,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:158,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:159,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 143
    functionDepth: 3
    functionLinenumber: 143
    functionLinenumberEnd: 163
    functionName: tostruct_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:169,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:171,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 179
    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:183,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:184,1
    - Dst: UNUSED
      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:187,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 192
    functionName: additionaldata_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:200,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:202,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:203,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:204,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 207
    functionName: digest_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:212,1
    - Dst: UNUSED
      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:215,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 220
    functionName: checkowner_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:224,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c:225,1
    - Dst: UNUSED
      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:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.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: checknames_in_nsap_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap-ptr_23.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:236,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 234
    functionDepth: 4
    functionLinenumber: 234
    functionLinenumberEnd: 237
    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
    - UNLOCK
    - LOCK
    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:
    - getservbyname
    - ntohs
    - UNLOCK
    - LOCK
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - memmove
    - isc_ascii_strtolower
    - isc_buffer_add
    - strtol
    - mygetservbyname
    - uint8_tobuffer
    - memset
    - mem_tobuffer
    - inet_pton
    - mygetprotobyname
    - isc_lex_getmastertoken
    - isc_buffer_availableregion
    - strlcpy
    - isc_lex_ungettoken
    - CHECKTOK
    - isc_once_do
    - CHECK
    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:
    - REQUIRE
    - UNUSED
    - INSIST
    - inet_totext
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - RETERR
    - isc_region_consume
    - uint8_fromregion
    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:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_buffer_forward
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:308,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:310,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:311,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:312,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:313,1
    - Dst: uint8_fromregion
      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: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:317,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 320
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 320
    functionName: tostruct_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - htonl
    - mem_maybedup
    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:326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:327,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:328,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:335,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 338
      start: 322
    functionDepth: 1
    functionLinenumber: 322
    functionLinenumberEnd: 338
    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:342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:343,1
    - Dst: UNUSED
      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:346,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
    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: additionaldata_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:357,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:358,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:360,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 353
    functionDepth: 2
    functionLinenumber: 353
    functionLinenumberEnd: 363
    functionName: digest_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:367,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:368,1
    - Dst: UNUSED
      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:371,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:373,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 365
    functionDepth: 2
    functionLinenumber: 365
    functionLinenumberEnd: 374
    functionName: checkowner_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    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:378,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:379,1
    - Dst: UNUSED
      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:382,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/wks_11.c:383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 386
      start: 376
    functionDepth: 1
    functionLinenumber: 376
    functionLinenumberEnd: 386
    functionName: checknames_in_wks
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/wks_11.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 391
      start: 388
    functionDepth: 3
    functionLinenumber: 388
    functionLinenumberEnd: 391
    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:
    - REQUIRE
    - UNUSED
    - isc_textregion_consume
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - mem_tobuffer
    - hexvalue
    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:
    - REQUIRE
    - UNUSED
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:171,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:173,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 161
    functionDepth: 2
    functionLinenumber: 161
    functionLinenumberEnd: 178
    functionName: tostruct_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:186,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 196
    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:200,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:201,1
    - Dst: UNUSED
      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:204,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 209
    functionName: additionaldata_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:216,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: digest_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:226,1
    - Dst: UNUSED
      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:229,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 223
    functionDepth: 1
    functionLinenumber: 223
    functionLinenumberEnd: 234
    functionName: checkowner_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:238,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:239,1
    - Dst: UNUSED
      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:242,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/nsap_22.c:243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 246
    functionName: checknames_in_nsap
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/nsap_22.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 251
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:189,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:191,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:192,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:194,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:195,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:197,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:198,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 178
    functionDepth: 3
    functionLinenumber: 178
    functionLinenumberEnd: 202
    functionName: tostruct_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:208,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:209,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:210,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 218
    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:225,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:226,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:228,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:230,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:231,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:232,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 220
    functionDepth: 3
    functionLinenumber: 220
    functionLinenumberEnd: 236
    functionName: additionaldata_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - isc_region_consume
    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:243,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:244,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:246,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:248,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:250,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:251,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:252,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 254
    functionName: digest_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:259,1
    - Dst: UNUSED
      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:262,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: checkowner_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:272,1
    - Dst: UNUSED
      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:275,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/kx_36.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 1
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: checknames_in_kx
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/kx_36.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 284
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - inet_pton
    - uint16_tobuffer
    - strtoul
    - RETTOK
    - isc_parse_uint8
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - RETERR
    - strchr
    - mem_tobuffer
    - 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:
    - REQUIRE
    - UNUSED
    - memmove
    - uint16_fromregion
    - INSIST
    - inet_totext
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - memset
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - isc_buffer_forward
    - isc_buffer_activeregion
    - isc_buffer_availableregion
    - mem_tobuffer
    - 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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - fromwire_in_apl
    - isc_buffer_setactive
    - isc_buffer_add
    - isc_buffer_init
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:291,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:293,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:295,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 282
    functionDepth: 2
    functionLinenumber: 282
    functionLinenumberEnd: 299
    functionName: tostruct_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:305,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:306,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:307,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:313,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 316
      start: 301
    functionDepth: 1
    functionLinenumber: 301
    functionLinenumberEnd: 316
    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:322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:323,1
    - 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: 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: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - apl
    argTypes:
    - dns_rdata_in_apl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 318
    functionDepth: 1
    functionLinenumber: 318
    functionLinenumberEnd: 344
    functionName: dns_rdata_apl_first
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 2
    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:350,1
    - 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: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:365,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:373,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 1
    argNames:
    - apl
    argTypes:
    - dns_rdata_in_apl_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 377
    functionName: dns_rdata_apl_next
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 2
    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:383,1
    - 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: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:397,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:404,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: 416
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 416
    functionName: dns_rdata_apl_current
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 2
    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: 421
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 421
    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:425,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:426,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:428,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 434
      start: 423
    functionDepth: 1
    functionLinenumber: 423
    functionLinenumberEnd: 434
    functionName: additionaldata_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:440,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:441,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 436
    functionDepth: 2
    functionLinenumber: 436
    functionLinenumberEnd: 446
    functionName: digest_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:451,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:453,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 459
    functionName: checkowner_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:463,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:464,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/apl_42.c:466,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 471
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 471
    functionName: checknames_in_apl
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/apl_42.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:475,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 476
      start: 473
    functionDepth: 3
    functionLinenumber: 473
    functionLinenumberEnd: 476
    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:
    - REQUIRE
    - UNUSED
    - isc_textregion_consume
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - mem_tobuffer
    - isdigit
    - hexvalue
    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:
    - REQUIRE
    - UNUSED
    - INSIST
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - mem_tobuffer
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - 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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:227,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:229,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:231,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 217
    functionDepth: 2
    functionLinenumber: 217
    functionLinenumberEnd: 236
    functionName: tostruct_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - mem_maybedup
    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:242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:243,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:244,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 254
    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:258,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:259,1
    - Dst: UNUSED
      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:262,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 267
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 267
    functionName: additionaldata_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:273,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:274,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 269
    functionDepth: 2
    functionLinenumber: 269
    functionLinenumberEnd: 279
    functionName: digest_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:284,1
    - Dst: UNUSED
      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:287,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 292
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 292
    functionName: checkowner_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:296,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:297,1
    - Dst: UNUSED
      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:300,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/atma_34.c:301,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 294
    functionDepth: 1
    functionLinenumber: 294
    functionLinenumberEnd: 304
    functionName: checknames_in_atma
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/atma_34.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 306
    functionDepth: 3
    functionLinenumber: 306
    functionLinenumberEnd: 309
    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_ishostname
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - inet_pton
    - dns_name_fromtext
    - warn_badname
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - mem_tobuffer
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - memmove
    - dns_name_fromregion
    - INSIST
    - dns_name_totext
    - inet_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - memset
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - isc_region_consume
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:352,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:354,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:356,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:357,1
    - Dst: memset
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:358,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:365,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:366,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:367,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:373,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:375,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:376,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:377,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 381
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 381
    functionName: tostruct_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - memmove
    - dns_name_fromregion
    - INSIST
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - memset
    - isc_region_consume
    - uint8_fromregion
    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:387,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:388,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:389,1
    - Dst: dns_name_dynamic
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:395,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:396,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 383
    functionDepth: 2
    functionLinenumber: 383
    functionLinenumberEnd: 399
    functionName: freestruct_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    - dns_name_dynamic
    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:403,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:404,1
    - Dst: UNUSED
      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:407,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 412
      start: 401
    functionDepth: 1
    functionLinenumber: 401
    functionLinenumberEnd: 412
    functionName: additionaldata_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_a6(ARGS_ADDLDATA)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:420,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:421,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:423,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:429,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:434,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:435,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:436,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:437,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 438
      start: 414
    functionDepth: 3
    functionLinenumber: 414
    functionLinenumberEnd: 438
    functionName: digest_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:442,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:443,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:445,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:446,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:448,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 449
      start: 440
    functionDepth: 2
    functionLinenumber: 440
    functionLinenumberEnd: 449
    functionName: checkowner_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    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:457,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:458,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:460,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:462,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:463,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:467,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:468,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:469,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:470,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/a6_38.c:472,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 477
      start: 451
    functionDepth: 3
    functionLinenumber: 451
    functionLinenumberEnd: 477
    functionName: checknames_in_a6
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a6_38.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    - uint8_fromregion
    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:481,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 479
    functionDepth: 4
    functionLinenumber: 479
    functionLinenumberEnd: 482
    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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:273,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:275,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:276,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:277,1
    - Dst: isc_region_consume
      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: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:283,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:284,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 262
    functionDepth: 3
    functionLinenumber: 262
    functionLinenumberEnd: 288
    functionName: tostruct_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:294,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:295,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:296,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 290
    functionDepth: 2
    functionLinenumber: 290
    functionLinenumberEnd: 304
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:315,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:316,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:318,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:320,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:321,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:322,1
    - Dst: uint16_fromregion
      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: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:325,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:327,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:331,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:333,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:334,1
    - Dst: dns_name_fromstring
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:335,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:335,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:341,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:341,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:342,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 349
      start: 306
    functionDepth: 5
    functionLinenumber: 306
    functionLinenumberEnd: 349
    functionName: additionaldata_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_equal
    - dns_name_concatenate
    - dns_name_fromstring
    - dns_rdata_toregion
    - snprintf
    - dns_fixedname_name
    - RETERR
    - dns_fixedname_init
    - isc_region_consume
    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:356,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:357,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:359,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:361,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:363,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:364,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:365,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 351
    functionDepth: 3
    functionLinenumber: 351
    functionLinenumberEnd: 367
    functionName: digest_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:371,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:372,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:374,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:375,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:376,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:377,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 380
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 380
    functionName: checkowner_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:387,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:388,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:390,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:392,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:393,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:394,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:395,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:396,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/in_1/srv_33.c:398,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 403
      start: 382
    functionDepth: 3
    functionLinenumber: 382
    functionLinenumberEnd: 403
    functionName: checknames_in_srv
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/srv_33.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    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:407,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 405
    functionDepth: 4
    functionLinenumber: 405
    functionLinenumberEnd: 408
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:257,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:259,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:260,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:262,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:263,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:265,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:267,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:268,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:269,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:269,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:271,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 246
    functionDepth: 3
    functionLinenumber: 246
    functionLinenumberEnd: 276
    functionName: tostruct_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:282,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:283,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:284,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:290,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:291,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 293
      start: 278
    functionDepth: 2
    functionLinenumber: 278
    functionLinenumberEnd: 293
    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:297,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:298,1
    - Dst: UNUSED
      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:301,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 295
    functionDepth: 1
    functionLinenumber: 295
    functionLinenumberEnd: 306
    functionName: additionaldata_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_in_px(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:313,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:314,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:316,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:318,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:320,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:321,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:322,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:323,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:323,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:324,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:324,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:325,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:326,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:328,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 308
    functionDepth: 3
    functionLinenumber: 308
    functionLinenumberEnd: 329
    functionName: digest_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:333,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:334,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:336,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:337,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:338,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 331
    functionDepth: 1
    functionLinenumber: 331
    functionLinenumberEnd: 342
    functionName: checkowner_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:346,1
    - Dst: REQUIRE
      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:349,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.c:350,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/px_26.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: checknames_in_px
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/px_26.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:358,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 359
      start: 356
    functionDepth: 4
    functionLinenumber: 356
    functionLinenumberEnd: 359
    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:
    - REQUIRE
    - UNUSED
    - isc_hex_tobuffer
    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:
    - REQUIRE
    - dns_rdata_toregion
    - RETERR
    - isc_hex_totext
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:136,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:138,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 143
    functionName: tostruct_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:150,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:151,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:158,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 161
    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:165,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:166,1
    - Dst: UNUSED
      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:169,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 174
    functionName: additionaldata_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:180,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:181,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 2
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: digest_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:190,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:191,1
    - Dst: UNUSED
      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:194,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 199
    functionName: checkowner_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:203,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.c:204,1
    - Dst: UNUSED
      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:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/eid_31.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: checknames_in_eid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/eid_31.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 216
      start: 213
    functionDepth: 3
    functionLinenumber: 213
    functionLinenumberEnd: 216
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - memmove
    - inet_pton
    - RETTOK
    - isc_lex_getmastertoken
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    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:
    - REQUIRE
    - UNUSED
    - inet_totext
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_buffer_forward
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    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:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_buffer_add
    - isc_buffer_availableregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:162,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:164,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:165,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 149
    functionDepth: 2
    functionLinenumber: 149
    functionLinenumberEnd: 169
    functionName: tostruct_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - htonl
    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:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:176,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 180
    functionName: freestruct_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:185,1
    - Dst: UNUSED
      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:188,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 182
    functionDepth: 1
    functionLinenumber: 182
    functionLinenumberEnd: 193
    functionName: additionaldata_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:199,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:200,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 205
    functionName: digest_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:212,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:213,1
    - Dst: UNUSED
      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:216,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:218,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:223,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:224,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:225,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:226,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:227,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:240,1
    - Dst: strncasecmp
      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:245,1
    - Dst: strncasecmp
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:248,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:256,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 257
    functionName: checkowner_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - strncasecmp
    - dns_name_equal
    - dns_name_split
    - dns_name_getlabel
    - dns_name_countlabels
    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:261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:262,1
    - Dst: UNUSED
      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:265,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/a_1.c:266,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 1
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: checknames_in_a
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/a_1.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 271
    functionDepth: 3
    functionLinenumber: 271
    functionLinenumberEnd: 274
    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: 3
    functionLinenumber: 21
    functionLinenumberEnd: 33
    functionName: fromtext_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - 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:
    - REQUIRE
    - isc_base64_totext
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:147,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:149,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 137
    functionDepth: 2
    functionLinenumber: 137
    functionLinenumberEnd: 155
    functionName: tostruct_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:161,1
    - 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: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 157
    functionDepth: 1
    functionLinenumber: 157
    functionLinenumberEnd: 173
    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:177,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:180,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 175
    functionDepth: 1
    functionLinenumber: 175
    functionLinenumberEnd: 186
    functionName: additionaldata_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:193,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 198
    functionName: digest_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:202,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:205,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
    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: checkowner_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c:218,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
    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_in_dhcid
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/dhcid_49.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - memmove
    - inet_pton
    - RETTOK
    - isc_lex_getmastertoken
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    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:
    - REQUIRE
    - INSIST
    - inet_totext
    - dns_rdata_toregion
    - snprintf
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_buffer_forward
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    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:
    - REQUIRE
    - UNUSED
    - memmove
    - isc_buffer_add
    - isc_buffer_availableregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:174,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:176,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:177,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 181
    functionName: tostruct_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - memmove
    - INSIST
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    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:187,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:188,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:191,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 192
    functionName: freestruct_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:196,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:197,1
    - Dst: UNUSED
      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:200,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 194
    functionDepth: 1
    functionLinenumber: 194
    functionLinenumberEnd: 205
    functionName: additionaldata_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:211,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:212,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 217
    functionName: digest_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:223,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:224,1
    - Dst: UNUSED
      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:227,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:232,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:233,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:234,1
    - Dst: dns_name_split
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:235,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:235,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:237,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:238,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:244,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 219
    functionDepth: 3
    functionLinenumber: 219
    functionLinenumberEnd: 245
    functionName: checkowner_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_equal
    - dns_name_split
    - dns_name_countlabels
    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:249,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:250,1
    - Dst: UNUSED
      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:253,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 247
    functionDepth: 1
    functionLinenumber: 247
    functionLinenumberEnd: 257
    functionName: checknames_in_aaaa
    functionSourceFile: /src/bind9/lib/dns/rdata/in_1/aaaa_28.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 262
    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: 2
    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:
    - REQUIRE
    - UNUSED
    - txt_valid_regex
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    - isc_buffer_used
    - txt_fromtext
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - txt_totext
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - txt_valid_regex
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_used
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - txt_fromwire
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - ISC_MIN
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:502,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:508,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:510,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:511,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:513,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:514,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:516,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:517,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:518,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:519,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:520,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:522,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:523,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:524,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:525,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:526,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:528,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:529,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:530,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:531,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:532,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:534,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:535,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:536,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:537,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 540
      start: 492
    functionDepth: 3
    functionLinenumber: 492
    functionLinenumberEnd: 540
    functionName: tostruct_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - INSIST
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:546,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:547,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:554,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:557,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:560,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:562,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 564
      start: 542
    functionDepth: 2
    functionLinenumber: 542
    functionLinenumberEnd: 564
    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:574,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:576,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:581,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:582,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:600,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:605,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:610,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:615,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:616,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 566
    functionDepth: 3
    functionLinenumber: 566
    functionLinenumberEnd: 623
    functionName: additionaldata_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_naptr(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:631,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:633,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:641,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:648,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:655,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:662,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:668,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:674,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:675,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 625
    functionDepth: 3
    functionLinenumber: 625
    functionLinenumberEnd: 678
    functionName: digest_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:682,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:684,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:685,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:686,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:687,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 680
    functionDepth: 1
    functionLinenumber: 680
    functionLinenumberEnd: 690
    functionName: checkowner_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:694,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:696,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:697,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/naptr_35.c:698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 701
      start: 692
    functionDepth: 1
    functionLinenumber: 692
    functionLinenumberEnd: 701
    functionName: checknames_naptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/naptr_35.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:705,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 706
      start: 703
    functionDepth: 4
    functionLinenumber: 703
    functionLinenumberEnd: 706
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_txt
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:78,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:80,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: tostruct_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_txt
    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:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:88,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: freestruct_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_txt
    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:95,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:98,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: additionaldata_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:109,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: digest_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:121,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
    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: checkowner_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: checknames_wallet
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:147,1
    - Dst: generic_txt_first
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - dns_rdata_wallet_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    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:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:155,1
    - Dst: generic_txt_next
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - wallet
    argTypes:
    - dns_rdata_wallet_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: dns_rdata_wallet_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_txt_next
    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:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:164,1
    - Dst: generic_txt_current
      Src: /src/bind9/lib/dns/rdata/generic/wallet_262.c:166,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: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: dns_rdata_wallet_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/wallet_262.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_txt_current
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:146,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:148,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:149,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:150,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:151,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: tostruct_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:161,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    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:176,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:178,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:180,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:181,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: additionaldata_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    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:192,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:194,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:195,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:196,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.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_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:207,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 201
    functionDepth: 2
    functionLinenumber: 201
    functionLinenumberEnd: 210
    functionName: checkowner_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_ismailbox
    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:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mb_7.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_mb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mb_7.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:164,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:166,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:167,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:168,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:169,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 173
    functionName: tostruct_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:179,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:180,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:186,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 175
    functionDepth: 2
    functionLinenumber: 175
    functionLinenumberEnd: 188
    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:192,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:194,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:195,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 200
    functionName: additionaldata_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:207,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:209,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:210,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:211,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 214
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 214
    functionName: digest_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:221,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 226
    functionName: checkowner_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:233,1
    - Dst: dns_name_isdnssd
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:239,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:243,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:244,1
    - Dst: dns_name_issubdomain
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:245,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:247,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:248,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:249,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:250,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/ptr_12.c:252,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 228
    functionDepth: 4
    functionLinenumber: 228
    functionLinenumberEnd: 258
    functionName: checknames_ptr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ptr_12.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_isdnssd
    - dns_name_clone
    - dns_name_issubdomain
    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:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 260
    functionDepth: 4
    functionLinenumber: 260
    functionLinenumberEnd: 263
    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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - RETTOK
    - dns_counter_fromtext
    - dns_name_ismailbox
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - uint32_tobuffer
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_ttl_totext
    - name_length
    - dns_name_totext
    - uint32_fromregion
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - memmove
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - memmove
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    - dns_compress_setpermitted
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - uint32_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:315,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:317,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:319,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:320,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:321,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:321,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:322,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:323,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:325,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:326,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:326,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:327,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:328,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:330,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:331,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:333,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:334,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:336,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:337,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:339,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:340,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:342,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 346
      start: 305
    functionDepth: 3
    functionLinenumber: 305
    functionLinenumberEnd: 346
    functionName: tostruct_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:352,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:353,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:359,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:360,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 362
      start: 348
    functionDepth: 2
    functionLinenumber: 348
    functionLinenumberEnd: 362
    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:366,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:368,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:369,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 374
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 374
    functionName: additionaldata_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:381,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:383,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:385,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:386,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:387,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:387,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:388,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:388,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:390,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:391,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:392,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:392,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:393,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 396
      start: 376
    functionDepth: 3
    functionLinenumber: 376
    functionLinenumberEnd: 396
    functionName: digest_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:400,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:402,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:403,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 408
      start: 398
    functionDepth: 1
    functionLinenumber: 398
    functionLinenumberEnd: 408
    functionName: checkowner_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:415,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:417,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:419,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:420,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:421,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:422,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:424,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:428,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:428,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:429,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:430,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/soa_6.c:432,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 437
      start: 410
    functionDepth: 3
    functionLinenumber: 410
    functionLinenumberEnd: 437
    functionName: checknames_soa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/soa_6.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_ismailbox
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    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:441,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 439
    functionDepth: 4
    functionLinenumber: 439
    functionLinenumberEnd: 442
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:146,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:148,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:149,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:150,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:151,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: tostruct_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:162,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    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:176,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:178,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:180,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:181,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 171
    functionDepth: 3
    functionLinenumber: 171
    functionLinenumberEnd: 185
    functionName: additionaldata_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    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:192,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:194,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:195,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:196,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.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_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:205,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:206,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
    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_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mf_4.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_mf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mf_4.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - mem_tobuffer
    - locator_pton
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:152,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:153,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: tostruct_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - memmove
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    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:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    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:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:171,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:174,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: additionaldata_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:186,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: digest_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:195,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:198,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: checkowner_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nid_104.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: checknames_nid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nid_104.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 220
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:146,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:148,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:149,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:150,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:151,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: tostruct_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:162,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    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:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:176,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: additionaldata_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:188,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:190,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:191,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:192,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: digest_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:203,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:205,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 206
      start: 197
    functionDepth: 2
    functionLinenumber: 197
    functionLinenumberEnd: 206
    functionName: checkowner_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_ismailbox
    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:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mg_8.c:214,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 208
    functionDepth: 1
    functionLinenumber: 208
    functionLinenumberEnd: 217
    functionName: checknames_mg
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mg_8.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 222
      start: 219
    functionDepth: 4
    functionLinenumber: 219
    functionLinenumberEnd: 222
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_txt
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:78,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:80,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: tostruct_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_txt
    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:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:88,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: freestruct_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_txt
    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:95,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:98,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: additionaldata_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:109,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: digest_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:121,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
    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: checkowner_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: checknames_ninfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:146,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:147,1
    - Dst: generic_txt_first
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ninfo
    argTypes:
    - dns_rdata_ninfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 150
    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:154,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:155,1
    - Dst: generic_txt_next
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - ninfo
    argTypes:
    - dns_rdata_ninfo_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 158
    functionName: dns_rdata_ninfo_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_txt_next
    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:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:164,1
    - Dst: generic_txt_current
      Src: /src/bind9/lib/dns/rdata/generic/ninfo_56.c:166,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: 167
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 167
    functionName: dns_rdata_ninfo_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ninfo_56.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_txt_current
    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:
    - REQUIRE
    - generic_fromtext_ds
    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:
    - REQUIRE
    - generic_fromwire_ds
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_ds
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:88,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 81
    functionDepth: 1
    functionLinenumber: 81
    functionLinenumberEnd: 91
    functionName: tostruct_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_ds
    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:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:98,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    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:112,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:114,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:115,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: additionaldata_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:126,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: digest_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:138,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
    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_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:147,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dlv_32769.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: checknames_dlv
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dlv_32769.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 159
    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:
    - UNUSED
    - RETTOK
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - RETERR
    - UNCONST
    - txt_fromtext
    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:
    - UNUSED
    - dns_rdata_toregion
    - RETERR
    - txt_totext
    - str_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_totext_txt(ARGS_TOTEXT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:74,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:75,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:76,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:79,1
    - Dst: txt_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:79,1
    - Dst: buffer_empty
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:80,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 72
    functionDepth: 3
    functionLinenumber: 72
    functionLinenumberEnd: 82
    functionName: generic_fromwire_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - txt_fromwire
    - UNUSED
    - RETERR
    - 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:86,1
    - Dst: generic_fromtext_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 5
    functionLinenumber: 84
    functionLinenumberEnd: 89
    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:93,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:94,1
    - Dst: generic_totext_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 91
    functionDepth: 5
    functionLinenumber: 91
    functionLinenumberEnd: 97
    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:101,1
    - Dst: generic_fromwire_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 99
    functionDepth: 4
    functionLinenumber: 99
    functionLinenumberEnd: 104
    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:108,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:110,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 113
    functionName: towire_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:120,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:121,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:122,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:124,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:125,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 127
    functionName: compare_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:135,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:136,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:137,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:138,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:141,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:146,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:147,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:151,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:154,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 155
    functionName: generic_fromstruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - 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:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:163,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:164,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:166,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 172
    functionName: generic_tostruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - 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:178,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:185,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 188
    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:192,1
    - Dst: generic_fromstruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 190
    functionDepth: 3
    functionLinenumber: 190
    functionLinenumberEnd: 195
    functionName: fromstruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - generic_fromstruct_txt
    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:201,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:202,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:204,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 197
    functionDepth: 3
    functionLinenumber: 197
    functionLinenumberEnd: 207
    functionName: tostruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_txt
    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:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:214,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:216,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 217
    functionName: freestruct_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - generic_freestruct_txt
    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:221,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:223,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:224,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:225,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:226,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 229
    functionName: additionaldata_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:235,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 2
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: digest_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:244,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:246,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:247,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:248,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:249,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: checkowner_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:256,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:258,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:259,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 254
    functionDepth: 1
    functionLinenumber: 254
    functionLinenumberEnd: 263
    functionName: checknames_txt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 268
    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:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:273,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 1
    argNames:
    - txt
    argTypes:
    - dns_rdata_txt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 281
      start: 270
    functionDepth: 1
    functionLinenumber: 270
    functionLinenumberEnd: 281
    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:288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:289,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:291,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:294,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:295,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - txt
    argTypes:
    - dns_rdata_txt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 301
      start: 283
    functionDepth: 2
    functionLinenumber: 283
    functionLinenumberEnd: 301
    functionName: generic_txt_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - uint8_fromregion
    - 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:307,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:308,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:309,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:310,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:312,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:316,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:317,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:319,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: 322
      start: 303
    functionDepth: 2
    functionLinenumber: 303
    functionLinenumberEnd: 322
    functionName: generic_txt_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - isc_region_consume
    - uint8_fromregion
    - INSIST
    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:326,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:327,1
    - Dst: generic_txt_first
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - txt
    argTypes:
    - dns_rdata_txt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 324
    functionDepth: 2
    functionLinenumber: 324
    functionLinenumberEnd: 330
    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:334,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:335,1
    - Dst: generic_txt_next
      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: 3
    functionLinenumber: 332
    functionLinenumberEnd: 338
    functionName: dns_rdata_txt_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_txt_next
    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:342,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:343,1
    - Dst: generic_txt_current
      Src: /src/bind9/lib/dns/rdata/generic/txt_16.c:345,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: 346
      start: 340
    functionDepth: 3
    functionLinenumber: 340
    functionLinenumberEnd: 346
    functionName: dns_rdata_txt_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/txt_16.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - generic_txt_current
    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:
    - REQUIRE
    - UNUSED
    - strcmp
    - DNS_AS_STR
    - isc_base64_tobuffer
    - RETTOK
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - RETERR
    - uint32_tobuffer
    - uint8_tobuffer
    - txt_fromtext
    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:
    - REQUIRE
    - UNUSED
    - uint32_fromregion
    - isc_base64_totext
    - uint8_fromregion
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - txt_totext
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:217,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:219,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:224,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:225,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:230,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:231,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:236,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:237,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:242,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:243,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:244,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:245,1
    - Dst: isc_region_consume
      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:254,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:255,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 261
      start: 207
    functionDepth: 2
    functionLinenumber: 207
    functionLinenumberEnd: 261
    functionName: tostruct_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:267,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:268,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:275,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:278,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 282
    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:286,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:288,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:289,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
    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_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:300,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.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_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:309,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:310,1
    - 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: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.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_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:321,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:322,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.c:323,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/doa_259.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_doa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/doa_259.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - txt_fromtext
    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:
    - REQUIRE
    - UNUSED
    - dns_rdata_toregion
    - RETERR
    - txt_totext
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - txt_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:119,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:121,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:122,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:123,1
    - Dst: mem_maybedup
      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: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:127,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:128,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 132
    functionName: tostruct_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:138,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:145,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:148,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 151
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 151
    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:155,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:157,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:158,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 163
    functionName: additionaldata_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:169,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 2
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: digest_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:178,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:180,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:181,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 186
    functionName: checkowner_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:192,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:193,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hinfo_13.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 188
    functionDepth: 1
    functionLinenumber: 188
    functionLinenumberEnd: 197
    functionName: checknames_hinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hinfo_13.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 202
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:23,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:29,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: fromtext_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_base64_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_hhit(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:38,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:39,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:45,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:49,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:51,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:56,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: totext_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_base64_totext
    - dns_rdata_toregion
    - RETERR
    - str_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_hhit(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:69,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:70,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:72,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:77,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:77,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: fromwire_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_hhit(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:87,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: towire_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_hhit(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:101,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:103,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:104,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: compare_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    linkageType: ''
    returnType: int
    signature: int compare_hhit(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:115,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:117,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:118,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: fromstruct_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_hhit(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:131,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:133,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:135,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: tostruct_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_hhit(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:149,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: freestruct_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_hhit(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:165,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:166,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:167,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: additionaldata_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_hhit(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:177,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: digest_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_hhit(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:186,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:188,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.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: checkowner_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool checkowner_hhit(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:198,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: checknames_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool checknames_hhit(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_hhit
      Src: /src/bind9/lib/dns/rdata/generic/hhit_67.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: casecompare_hhit
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hhit_67.c
    functionUses: 0
    functionsReached:
    - compare_hhit
    linkageType: ''
    returnType: int
    signature: int casecompare_hhit(ARGS_COMPARE)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: dns_fixedname_initname
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:31,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:37,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:39,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:40,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:46,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:46,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:48,1
    - Dst: strtol
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:51,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:51,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:53,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:60,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:60,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:65,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:65,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:67,1
    - Dst: dns_dsyncscheme_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:67,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:68,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:68,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:73,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:73,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:76,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:78,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:78,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:83,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:83,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:86,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:90,1
    - Dst: dns_name_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:90,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:91,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:91,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:93,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:96,1
    - Dst: warn_badname
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:99,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 26
    functionDepth: 6
    functionLinenumber: 26
    functionLinenumberEnd: 102
    functionName: fromtext_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - warn_badname
    - dns_name_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_towire
    - buffer_fromregion
    - dns_rdatatype_fromtext
    - dns_fixedname_initname
    - RETERR
    - strtol
    - uint8_tobuffer
    - dns_dsyncscheme_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_dsync(ARGS_FROMTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:115,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:116,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:118,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:119,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:121,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:126,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:127,1
    - Dst: dns_rdatatype_isknown
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:132,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:133,1
    - Dst: dns_rdatatype_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:133,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:135,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:136,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:136,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:138,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:138,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:143,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:144,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:145,1
    - Dst: dns_dsyncscheme_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:145,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:147,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:147,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:152,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:153,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:154,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:155,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:155,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:157,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:157,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:162,1
    - Dst: name_prefix
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:163,1
    - Dst: dns_name_totext
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 104
    functionDepth: 3
    functionLinenumber: 104
    functionLinenumberEnd: 166
    functionName: totext_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdatatype_isknown
    - uint8_fromregion
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - dns_dsyncscheme_totext
    - isc_region_consume
    - str_totext
    - dns_rdatatype_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_dsync(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:176,1
    - Dst: dns_decompress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:178,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:180,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:182,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:186,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:186,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:187,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:188,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 189
      start: 168
    functionDepth: 3
    functionLinenumber: 168
    functionLinenumberEnd: 189
    functionName: fromwire_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_dsync(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:196,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:197,1
    - Dst: dns_compress_setpermitted
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:199,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:201,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:202,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:202,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:203,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:205,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:206,1
    - Dst: dns_name_towire
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 191
    functionDepth: 6
    functionLinenumber: 191
    functionLinenumberEnd: 209
    functionName: towire_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_dsync(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:216,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:217,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:218,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:219,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:220,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:222,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:223,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 211
    functionDepth: 2
    functionLinenumber: 211
    functionLinenumberEnd: 225
    functionName: compare_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    linkageType: ''
    returnType: int
    signature: int compare_dsync(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:233,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:234,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:235,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:237,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:238,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:240,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:240,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:241,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:241,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:242,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:242,1
    - Dst: dns_name_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:243,1
    - Dst: isc_buffer_copyregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 245
    functionName: fromstruct_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - uint8_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_dsync(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:253,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:255,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:257,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:259,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:260,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:261,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:262,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:263,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:264,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:265,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:266,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:267,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:268,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 247
    functionDepth: 3
    functionLinenumber: 247
    functionLinenumberEnd: 272
    functionName: tostruct_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - uint8_fromregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_dsync(ARGS_TOSTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:279,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:285,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 274
    functionDepth: 2
    functionLinenumber: 274
    functionLinenumberEnd: 287
    functionName: freestruct_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - dns_name_free
    - REQUIRE
    linkageType: ''
    returnType: void
    signature: void freestruct_dsync(ARGS_FREESTRUCT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:294,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:296,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:298,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:299,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:300,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:301,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 308
    functionName: additionaldata_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_name_equal
    - dns_rdata_toregion
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_dsync(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:314,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:316,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 318
      start: 310
    functionDepth: 2
    functionLinenumber: 310
    functionLinenumberEnd: 318
    functionName: digest_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_dsync(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:322,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:324,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:325,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:326,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 320
    functionDepth: 1
    functionLinenumber: 320
    functionLinenumberEnd: 330
    functionName: checkowner_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool checkowner_dsync(ARGS_CHECKOWNER)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:337,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:338,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:340,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:342,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:343,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:344,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:345,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:346,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:348,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 332
    functionDepth: 3
    functionLinenumber: 332
    functionLinenumberEnd: 353
    functionName: checknames_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    linkageType: ''
    returnType: bool
    signature: bool checknames_dsync(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_dsync
      Src: /src/bind9/lib/dns/rdata/generic/dsync_66.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 358
      start: 355
    functionDepth: 3
    functionLinenumber: 355
    functionLinenumberEnd: 358
    functionName: casecompare_dsync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dsync_66.c
    functionUses: 0
    functionsReached:
    - compare_dsync
    linkageType: ''
    returnType: int
    signature: int casecompare_dsync(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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - isc_base64_tobuffer
    - uint16_tobuffer
    - RETTOK
    - dns_tsigrcode_fromtext
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - uint32_tobuffer
    - strtol
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - name_length
    - uint32_fromregion
    - dns_tsigrcode_totext
    - isc_base64_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - uint16_fromregion
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - isc_region_consume
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - name_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:426,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:428,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:433,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:434,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:435,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:436,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:437,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:437,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:442,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:443,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:448,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:449,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:454,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:455,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:460,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:461,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:466,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:467,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:472,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:473,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:474,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:479,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:480,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:485,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:486,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 489
      start: 416
    functionDepth: 3
    functionLinenumber: 416
    functionLinenumberEnd: 489
    functionName: tostruct_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - INSIST
    - name_length
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - mem_maybedup
    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:495,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:501,1
    - Dst: isc_mem_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:506,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 509
    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:513,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:515,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:516,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 521
      start: 511
    functionDepth: 1
    functionLinenumber: 511
    functionLinenumberEnd: 521
    functionName: additionaldata_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:525,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:526,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:527,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:529,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 523
    functionDepth: 1
    functionLinenumber: 523
    functionLinenumberEnd: 532
    functionName: digest_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:536,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:538,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:539,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 544
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 544
    functionName: checkowner_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:548,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:550,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:551,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tkey_249.c:552,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 555
      start: 546
    functionDepth: 1
    functionLinenumber: 546
    functionLinenumberEnd: 555
    functionName: checknames_tkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tkey_249.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 557
    functionDepth: 4
    functionLinenumber: 557
    functionLinenumberEnd: 560
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - uint32_tobuffer
    - typemap_fromtext
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - uint32_fromregion
    - dns_rdata_toregion
    - snprintf
    - typemap_totext
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - typemap_test
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - uint32_tobuffer
    - typemap_test
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:171,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:173,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:175,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:176,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:178,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:179,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 162
    functionDepth: 2
    functionLinenumber: 162
    functionLinenumberEnd: 185
    functionName: tostruct_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - mem_maybedup
    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:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:192,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:199,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 202
    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:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:209,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
    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: additionaldata_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:220,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: digest_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:231,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: checkowner_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:240,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:242,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:243,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: checknames_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:255,1
    - 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: dns_rdata_toregion
      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:261,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/csync_62.c:262,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 263
      start: 249
    functionDepth: 2
    functionLinenumber: 249
    functionLinenumberEnd: 263
    functionName: casecompare_csync
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/csync_62.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - uint8_tobuffer
    - isc_hex_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:
    - REQUIRE
    - UNUSED
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - RETERR
    - isc_hex_totext
    - isc_region_consume
    - uint8_fromregion
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:207,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:209,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:211,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:212,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: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 198
    functionDepth: 2
    functionLinenumber: 198
    functionLinenumberEnd: 220
    functionName: tostruct_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:226,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:227,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:234,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 222
    functionDepth: 1
    functionLinenumber: 222
    functionLinenumberEnd: 237
    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:241,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:243,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:244,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 239
    functionDepth: 1
    functionLinenumber: 239
    functionLinenumberEnd: 249
    functionName: additionaldata_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:255,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 260
    functionName: digest_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:264,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:266,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:267,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 272
    functionName: checkowner_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:276,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:278,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:279,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sshfp_44.c:280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 283
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 283
    functionName: checknames_sshfp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sshfp_44.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:287,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 288
      start: 285
    functionDepth: 3
    functionLinenumber: 285
    functionLinenumberEnd: 288
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_key
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:92,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 95
    functionName: tostruct_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_key
    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:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:102,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:104,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 105
    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:109,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:111,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:112,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 117
    functionName: additionaldata_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:123,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:124,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 119
    functionDepth: 2
    functionLinenumber: 119
    functionLinenumberEnd: 129
    functionName: digest_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:136,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
    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: checkowner_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:145,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:146,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dnskey_48.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 153
    functionName: checknames_dnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dnskey_48.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 161
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - txt_fromtext
    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:
    - REQUIRE
    - UNUSED
    - dns_rdata_toregion
    - RETERR
    - txt_totext
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - txt_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:135,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:137,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:138,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:139,1
    - Dst: mem_maybedup
      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: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:143,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:144,1
    - Dst: mem_maybedup
      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: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:148,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:149,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:151,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 158
    functionName: tostruct_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:165,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:172,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:175,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:178,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 181
    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:185,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:188,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: additionaldata_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:199,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:201,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 204
    functionName: digest_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:211,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
    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: checkowner_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:223,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/gpos_27.c:224,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 227
      start: 218
    functionDepth: 1
    functionLinenumber: 218
    functionLinenumberEnd: 227
    functionName: checknames_gpos
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/gpos_27.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 229
    functionDepth: 3
    functionLinenumber: 229
    functionLinenumberEnd: 232
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - mem_tobuffer
    - locator_pton
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:150,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:152,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:153,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:154,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: tostruct_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - memmove
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    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:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 166
    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:170,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:171,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:174,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 168
    functionDepth: 1
    functionLinenumber: 168
    functionLinenumberEnd: 179
    functionName: additionaldata_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:185,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:186,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:188,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 191
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 191
    functionName: digest_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:195,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:198,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 193
    functionDepth: 1
    functionLinenumber: 193
    functionLinenumberEnd: 203
    functionName: checkowner_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:207,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:210,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l64_106.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: checknames_l64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l64_106.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:219,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 220
      start: 217
    functionDepth: 3
    functionLinenumber: 217
    functionLinenumberEnd: 220
    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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - memmove
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - memmove
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - dns_compress_setpermitted
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:209,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:211,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:212,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:213,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:214,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:215,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:216,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 199
    functionDepth: 3
    functionLinenumber: 199
    functionLinenumberEnd: 221
    functionName: tostruct_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:227,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:228,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 236
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:243,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:245,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:247,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:248,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:249,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:250,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:252,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 255
      start: 238
    functionDepth: 3
    functionLinenumber: 238
    functionLinenumberEnd: 255
    functionName: additionaldata_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - isc_region_consume
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_rt(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:262,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:264,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:266,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:268,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:269,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:270,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 257
    functionDepth: 3
    functionLinenumber: 257
    functionLinenumberEnd: 272
    functionName: digest_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:276,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:278,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:279,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:280,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:281,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 284
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 284
    functionName: checkowner_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:291,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:293,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:295,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:296,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:297,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:298,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:299,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/rt_21.c:301,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 306
      start: 286
    functionDepth: 3
    functionLinenumber: 286
    functionLinenumberEnd: 306
    functionName: checknames_rt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rt_21.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    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:310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 308
    functionDepth: 4
    functionLinenumber: 308
    functionLinenumberEnd: 311
    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:
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - RETTOK
    - dns_name_ismailbox
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - RETERR
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:210,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:212,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:213,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:214,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:215,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:216,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:217,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:217,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:219,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:220,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:221,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 224
    functionName: tostruct_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:231,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:237,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 226
    functionDepth: 2
    functionLinenumber: 226
    functionLinenumberEnd: 240
    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:244,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:246,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:247,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 252
    functionName: additionaldata_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_minfo(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:259,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:261,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:262,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:263,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:264,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:264,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:265,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:265,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:266,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:267,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:269,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 254
    functionDepth: 3
    functionLinenumber: 254
    functionLinenumberEnd: 270
    functionName: digest_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:274,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:276,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:277,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:278,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:279,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 282
      start: 272
    functionDepth: 1
    functionLinenumber: 272
    functionLinenumberEnd: 282
    functionName: checkowner_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:289,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:291,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:293,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:294,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:295,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:296,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:298,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:302,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:302,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:303,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:304,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/minfo_14.c:306,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 311
      start: 284
    functionDepth: 3
    functionLinenumber: 284
    functionLinenumberEnd: 311
    functionName: checknames_minfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/minfo_14.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_ismailbox
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    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: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_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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:158,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:160,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:161,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:162,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:163,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:164,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:165,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 148
    functionDepth: 3
    functionLinenumber: 148
    functionLinenumberEnd: 169
    functionName: tostruct_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:176,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 184
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 184
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:191,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:193,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:195,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:196,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:197,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:198,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 186
    functionDepth: 3
    functionLinenumber: 186
    functionLinenumberEnd: 202
    functionName: additionaldata_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - isc_region_consume
    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:208,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 212
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 212
    functionName: digest_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:220,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.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: checkowner_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 234
    functionName: checknames_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:244,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:245,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:246,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:247,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:248,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:250,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:255,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:256,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:258,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:259,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:261,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:262,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:264,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:265,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/lp_107.c:267,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 236
    functionDepth: 3
    functionLinenumber: 236
    functionLinenumberEnd: 268
    functionName: casecompare_lp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/lp_107.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - memmove
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - memmove
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - dns_compress_setpermitted
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:210,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:212,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:214,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:216,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:217,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:219,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:220,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 200
    functionDepth: 3
    functionLinenumber: 200
    functionLinenumberEnd: 225
    functionName: tostruct_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:231,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:232,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:238,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 227
    functionDepth: 2
    functionLinenumber: 227
    functionLinenumberEnd: 240
    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:247,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:249,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:251,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:252,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:253,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 242
    functionDepth: 3
    functionLinenumber: 242
    functionLinenumberEnd: 257
    functionName: additionaldata_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - isc_region_consume
    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:264,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:266,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:268,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:270,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:271,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:272,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 275
    functionName: digest_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:279,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:281,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:282,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: checkowner_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:294,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:296,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:298,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:299,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:300,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:301,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:302,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/afsdb_18.c:304,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 309
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 309
    functionName: checknames_afsdb
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/afsdb_18.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    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: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_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:
    - REQUIRE
    - UNUSED
    - isc_base64_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - 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:
    - REQUIRE
    - isc_base64_totext
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - RETERR
    - isc_region_consume
    - uint8_fromregion
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:186,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:188,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:191,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:192,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:195,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:196,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:199,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:200,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 207
    functionName: tostruct_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:214,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:221,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 224
    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:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:231,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: additionaldata_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:242,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 238
    functionDepth: 2
    functionLinenumber: 238
    functionLinenumberEnd: 247
    functionName: digest_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:251,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:253,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:254,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
    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: checkowner_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:263,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:265,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:266,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sink_40.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 270
      start: 261
    functionDepth: 1
    functionLinenumber: 261
    functionLinenumberEnd: 270
    functionName: checknames_sink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sink_40.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:274,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 272
    functionDepth: 3
    functionLinenumber: 272
    functionLinenumberEnd: 275
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:147,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:149,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:150,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:151,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:152,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: tostruct_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:162,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 170
    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:174,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:175,1
    - 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: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 172
    functionDepth: 1
    functionLinenumber: 172
    functionLinenumberEnd: 182
    functionName: additionaldata_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:189,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:191,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:192,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:193,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 184
    functionDepth: 3
    functionLinenumber: 184
    functionLinenumberEnd: 196
    functionName: digest_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:203,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: checkowner_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cname_5.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_cname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cname_5.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:23,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:25,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:26,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:27,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:28,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:29,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:31,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 32
      start: 21
    functionDepth: 3
    functionLinenumber: 21
    functionLinenumberEnd: 32
    functionName: fromtext_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_base64_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromtext_brid(ARGS_FROMTEXT)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:38,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:39,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:45,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:45,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:49,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:51,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:51,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:56,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:56,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 34
    functionDepth: 2
    functionLinenumber: 34
    functionLinenumberEnd: 60
    functionName: totext_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_base64_totext
    - dns_rdata_toregion
    - RETERR
    - str_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_brid(ARGS_TOTEXT)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:66,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:68,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:69,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:70,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:72,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:77,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:77,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:78,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 80
    functionName: fromwire_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromwire_brid(ARGS_FROMWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:84,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:85,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:87,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 82
    functionDepth: 1
    functionLinenumber: 82
    functionLinenumberEnd: 90
    functionName: towire_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t towire_brid(ARGS_TOWIRE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:98,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:99,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:101,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:103,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:104,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 92
    functionDepth: 2
    functionLinenumber: 92
    functionLinenumberEnd: 106
    functionName: compare_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    linkageType: ''
    returnType: int
    signature: int compare_brid(ARGS_COMPARE)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:112,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:113,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:114,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:115,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:117,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:118,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 122
    functionName: fromstruct_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t fromstruct_brid(ARGS_FROMSTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:129,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:130,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:131,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:133,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:135,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:139,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 124
    functionDepth: 2
    functionLinenumber: 124
    functionLinenumberEnd: 142
    functionName: tostruct_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - mem_maybedup
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t tostruct_brid(ARGS_TOSTRUCT)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:148,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:149,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:156,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 159
    functionName: freestruct_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_mem_free
    linkageType: ''
    returnType: void
    signature: void freestruct_brid(ARGS_FREESTRUCT)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:165,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:166,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:167,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:168,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 161
    functionDepth: 1
    functionLinenumber: 161
    functionLinenumberEnd: 171
    functionName: additionaldata_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_brid(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:177,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:179,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 173
    functionDepth: 2
    functionLinenumber: 173
    functionLinenumberEnd: 182
    functionName: digest_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t digest_brid(ARGS_DIGEST)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:186,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:188,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:189,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.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: checkowner_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool checkowner_brid(ARGS_CHECKOWNER)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:198,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:202,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 205
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 205
    functionName: checknames_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: bool
    signature: bool checknames_brid(ARGS_CHECKNAMES)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: compare_brid
      Src: /src/bind9/lib/dns/rdata/generic/brid_68.c:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    functionName: casecompare_brid
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/brid_68.c
    functionUses: 0
    functionsReached:
    - compare_brid
    linkageType: ''
    returnType: int
    signature: int casecompare_brid(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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:146,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:148,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:149,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:150,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:151,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: tostruct_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:162,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:168,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 170
    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:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:179,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:181,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:182,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 172
    functionDepth: 3
    functionLinenumber: 172
    functionLinenumberEnd: 186
    functionName: additionaldata_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    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:193,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:195,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:196,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:197,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:199,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 200
      start: 188
    functionDepth: 3
    functionLinenumber: 188
    functionLinenumberEnd: 200
    functionName: digest_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:207,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
    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_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:218,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/md_3.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_md
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/md_3.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_key
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:88,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 91
    functionName: tostruct_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_key
    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:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:98,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:100,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 101
    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:105,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:107,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:108,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 103
    functionDepth: 1
    functionLinenumber: 103
    functionLinenumberEnd: 113
    functionName: additionaldata_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:119,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:120,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:122,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 115
    functionDepth: 2
    functionLinenumber: 115
    functionLinenumberEnd: 125
    functionName: digest_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:129,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:132,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 137
    functionName: checkowner_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:141,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:142,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:144,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.c:145,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rkey_57.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: checknames_rkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rkey_57.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:156,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 151
    functionDepth: 3
    functionLinenumber: 151
    functionLinenumberEnd: 157
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    - typemap_fromtext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_totext
    - dns_rdata_toregion
    - typemap_totext
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - typemap_test
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - typemap_test
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:165,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:167,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:168,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:169,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:170,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:170,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:171,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:172,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 155
    functionDepth: 3
    functionLinenumber: 155
    functionLinenumberEnd: 178
    functionName: tostruct_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - mem_maybedup
    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:184,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:185,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:191,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:193,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 180
    functionDepth: 2
    functionLinenumber: 180
    functionLinenumberEnd: 196
    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:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:203,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: additionaldata_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:214,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.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_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:224,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:225,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
    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_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:234,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:236,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:237,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 241
      start: 232
    functionDepth: 1
    functionLinenumber: 232
    functionLinenumberEnd: 241
    functionName: checknames_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:252,1
    - 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: dns_name_init
      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:258,1
    - Dst: dns_rdata_toregion
      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:261,1
    - Dst: dns_name_fromregion
      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:264,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:266,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:271,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:271,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:272,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:272,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nsec_47.c:274,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 243
    functionDepth: 3
    functionLinenumber: 243
    functionLinenumberEnd: 275
    functionName: casecompare_nsec
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec_47.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_key
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:91,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 94
      start: 83
    functionDepth: 1
    functionLinenumber: 83
    functionLinenumberEnd: 94
    functionName: tostruct_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_key
    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:100,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:101,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 104
    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:108,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:110,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:111,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 116
      start: 106
    functionDepth: 1
    functionLinenumber: 106
    functionLinenumberEnd: 116
    functionName: additionaldata_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:122,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:123,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 128
    functionName: digest_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:135,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 140
      start: 130
    functionDepth: 1
    functionLinenumber: 130
    functionLinenumberEnd: 140
    functionName: checkowner_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:144,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:145,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:147,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:148,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c:149,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 142
    functionDepth: 1
    functionLinenumber: 142
    functionLinenumberEnd: 152
    functionName: checknames_cdnskey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cdnskey_60.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 160
      start: 154
    functionDepth: 3
    functionLinenumber: 154
    functionLinenumberEnd: 160
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - sscanf
    - isc_lex_getmastertoken
    - RETERR
    - mem_tobuffer
    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
    - REQUIRE
    - UNUSED
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:142,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 146
    functionName: tostruct_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - DNS_RDATACOMMON_INIT
    - memmove
    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:152,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 148
    functionDepth: 1
    functionLinenumber: 148
    functionLinenumberEnd: 156
    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:160,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:161,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:163,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:164,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 169
    functionName: additionaldata_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:175,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:176,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:178,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: digest_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:185,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:187,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:188,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 183
    functionDepth: 1
    functionLinenumber: 183
    functionLinenumberEnd: 193
    functionName: checkowner_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:197,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:198,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui64_109.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: checknames_eui64
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui64_109.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 210
      start: 207
    functionDepth: 3
    functionLinenumber: 207
    functionLinenumberEnd: 210
    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:
    - UNUSED
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - dns_secalg_fromtext
    - mem_tobuffer
    - dns_dsdigest_fromtext
    - isc_hex_tobuffer
    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:
    - REQUIRE
    - generic_fromtext_ds
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - uint8_fromregion
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_hex_totext
    - isc_region_consume
    - str_totext
    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:
    - isc_buffer_activeregion
    - isc_buffer_forward
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - generic_fromwire_ds
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    - 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:
    - REQUIRE
    - generic_fromstruct_ds
    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: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:283,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:285,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:286,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:287,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:288,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:289,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:290,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 296
    functionName: generic_tostruct_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - dns_rdata_toregion
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:302,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:303,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:305,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 308
    functionName: tostruct_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_ds
    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:314,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:315,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:322,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 310
    functionDepth: 1
    functionLinenumber: 310
    functionLinenumberEnd: 325
    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:329,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:331,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:332,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:333,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 327
    functionDepth: 1
    functionLinenumber: 327
    functionLinenumberEnd: 337
    functionName: additionaldata_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:343,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 339
    functionDepth: 2
    functionLinenumber: 339
    functionLinenumberEnd: 348
    functionName: digest_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:352,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:354,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:355,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:356,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 350
    functionDepth: 1
    functionLinenumber: 350
    functionLinenumberEnd: 360
    functionName: checkowner_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:364,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:366,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:367,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ds_43.c:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 371
      start: 362
    functionDepth: 1
    functionLinenumber: 362
    functionLinenumberEnd: 371
    functionName: checknames_ds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ds_43.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 373
    functionDepth: 3
    functionLinenumber: 373
    functionLinenumberEnd: 376
    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:
    - DNS_AS_STR
    - strlen
    - strlcpy
    - inet_pton
    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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - uint16_tobuffer
    - RETTOK
    - check_mx
    - isc_lex_getmastertoken
    - dns_name_towire
    - warn_badmx
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:234,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:236,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:237,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:238,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:239,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:240,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:241,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:242,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 224
    functionDepth: 3
    functionLinenumber: 224
    functionLinenumberEnd: 245
    functionName: tostruct_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:251,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:252,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:258,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 247
    functionDepth: 2
    functionLinenumber: 247
    functionLinenumberEnd: 260
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:272,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:274,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:276,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:277,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:278,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:279,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:281,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:285,1
    - Dst: dns_fixedname_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:287,1
    - Dst: dns_name_concatenate
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:288,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:289,1
    - Dst: dns_fixedname_name
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:294,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 296
      start: 265
    functionDepth: 3
    functionLinenumber: 265
    functionLinenumberEnd: 296
    functionName: additionaldata_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_name_equal
    - dns_name_concatenate
    - dns_rdata_toregion
    - dns_fixedname_name
    - RETERR
    - dns_fixedname_init
    - isc_region_consume
    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:303,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:305,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:307,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:309,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:310,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:311,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 313
      start: 298
    functionDepth: 3
    functionLinenumber: 298
    functionLinenumberEnd: 313
    functionName: digest_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:317,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:319,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:320,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 323
      start: 315
    functionDepth: 2
    functionLinenumber: 315
    functionLinenumberEnd: 323
    functionName: checkowner_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    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:330,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:332,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:334,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:335,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:336,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:337,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:338,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/mx_15.c:340,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 345
      start: 325
    functionDepth: 3
    functionLinenumber: 325
    functionLinenumberEnd: 345
    functionName: checknames_mx
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mx_15.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    - isc_region_consume
    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:349,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 350
      start: 347
    functionDepth: 4
    functionLinenumber: 347
    functionLinenumberEnd: 350
    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:
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - uint8_tobuffer
    - isc_hex_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:
    - REQUIRE
    - UNUSED
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - RETERR
    - isc_hex_totext
    - isc_region_consume
    - uint8_fromregion
    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:
    - isc_buffer_activeregion
    - isc_buffer_forward
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - generic_fromtext_tlsa
    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:
    - REQUIRE
    - generic_totext_tlsa
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - mem_tobuffer
    - 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: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:221,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:223,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:224,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:225,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:226,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:227,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:228,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:231,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 234
      start: 209
    functionDepth: 2
    functionLinenumber: 209
    functionLinenumberEnd: 234
    functionName: generic_tostruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:240,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:247,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 236
    functionDepth: 1
    functionLinenumber: 236
    functionLinenumberEnd: 250
    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:254,1
    - Dst: generic_fromstruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 252
    functionDepth: 4
    functionLinenumber: 252
    functionLinenumberEnd: 257
    functionName: fromstruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_fromstruct_tlsa
    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:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:264,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:266,1
    - Dst: generic_tostruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 269
      start: 259
    functionDepth: 3
    functionLinenumber: 259
    functionLinenumberEnd: 269
    functionName: tostruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_tlsa
    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:275,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:276,1
    - Dst: generic_freestruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 271
    functionDepth: 2
    functionLinenumber: 271
    functionLinenumberEnd: 279
    functionName: freestruct_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - generic_freestruct_tlsa
    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:283,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:285,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:286,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:287,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 281
    functionDepth: 1
    functionLinenumber: 281
    functionLinenumberEnd: 291
    functionName: additionaldata_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:297,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:299,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 2
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: digest_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:306,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:308,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:309,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:310,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 304
    functionDepth: 1
    functionLinenumber: 304
    functionLinenumberEnd: 314
    functionName: checkowner_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:318,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:320,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:321,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/tlsa_52.c:322,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 325
    functionName: checknames_tlsa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/tlsa_52.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 330
      start: 327
    functionDepth: 3
    functionLinenumber: 327
    functionLinenumberEnd: 330
    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:
    - UNUSED
    - isc_buffer_usedlength
    - isc_lex_getmastertoken
    - RETERR
    - uint32_tobuffer
    - uint8_tobuffer
    - isc_hex_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:
    - REQUIRE
    - UNUSED
    - uint32_fromregion
    - uint8_fromregion
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_hex_totext
    - isc_region_consume
    - str_totext
    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:
    - isc_buffer_activeregion
    - isc_buffer_forward
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:259,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:261,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:263,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:264,1
    - Dst: uint8_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: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 250
    functionDepth: 2
    functionLinenumber: 250
    functionLinenumberEnd: 274
    functionName: tostruct_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:280,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:281,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:288,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 291
    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:295,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:297,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:298,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 303
    functionName: additionaldata_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:309,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 305
    functionDepth: 2
    functionLinenumber: 305
    functionLinenumberEnd: 314
    functionName: digest_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:318,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:320,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:321,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 316
    functionDepth: 1
    functionLinenumber: 316
    functionLinenumberEnd: 326
    functionName: checkowner_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:330,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:332,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:333,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/zonemd_63.c:334,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 328
    functionDepth: 1
    functionLinenumber: 328
    functionLinenumberEnd: 337
    functionName: checknames_zonemd
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/zonemd_63.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:341,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 342
      start: 339
    functionDepth: 3
    functionLinenumber: 339
    functionLinenumberEnd: 342
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - memmove
    - inet_pton
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - inet_totext
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - uint32_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:155,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:157,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:158,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:159,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:160,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 143
    functionDepth: 2
    functionLinenumber: 143
    functionLinenumberEnd: 162
    functionName: tostruct_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - htonl
    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:168,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 172
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 172
    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:176,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:180,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 174
    functionDepth: 1
    functionLinenumber: 174
    functionLinenumberEnd: 185
    functionName: additionaldata_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:191,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:192,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 197
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 197
    functionName: digest_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:204,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
    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_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:213,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/l32_105.c:218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 221
      start: 211
    functionDepth: 1
    functionLinenumber: 211
    functionLinenumberEnd: 221
    functionName: checknames_l32
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/l32_105.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_txt
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:79,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: tostruct_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_txt
    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:88,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:89,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: freestruct_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_txt
    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:96,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:98,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:99,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: additionaldata_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: digest_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:119,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:121,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:122,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: checkowner_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/resinfo_261.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: checknames_resinfo
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/resinfo_261.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 143
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - unknown_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:103,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:105,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:107,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 110
    functionName: tostruct_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:116,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:117,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:124,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 127
    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:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:134,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
    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: additionaldata_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:145,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 150
    functionName: digest_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:154,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:156,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:157,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 162
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 162
    functionName: checkowner_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:166,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:168,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:169,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/null_10.c:170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 164
    functionDepth: 1
    functionLinenumber: 164
    functionLinenumberEnd: 173
    functionName: checknames_null
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/null_10.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:177,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 175
    functionDepth: 3
    functionLinenumber: 175
    functionLinenumberEnd: 178
    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:
    - REQUIRE
    - RETERR
    - isc_lex_getmastertoken
    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:
    - REQUIRE
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_txt
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:79,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 82
    functionName: tostruct_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_txt
    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:88,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:89,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 92
      start: 84
    functionDepth: 2
    functionLinenumber: 84
    functionLinenumberEnd: 92
    functionName: freestruct_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_txt
    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:96,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:98,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:99,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 94
    functionDepth: 1
    functionLinenumber: 94
    functionLinenumberEnd: 104
    functionName: additionaldata_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:110,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 106
    functionDepth: 2
    functionLinenumber: 106
    functionLinenumberEnd: 115
    functionName: digest_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:119,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:121,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:122,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 127
    functionName: checkowner_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:131,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:134,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/spf_99.c:135,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 138
    functionName: checknames_spf
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/spf_99.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:142,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 140
    functionDepth: 3
    functionLinenumber: 140
    functionLinenumberEnd: 143
    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: 9
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:50,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: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:55,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:56,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:59,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:59,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:61,1
    - Dst: dns_hashalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:61,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:62,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:62,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:65,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:65,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:69,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:71,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:71,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:74,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:74,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:77,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:79,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:79,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:82,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:82,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:85,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:87,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:87,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: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:90,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:90,1
    - Dst: strlen
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:90,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:90,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:91,1
    - Dst: isc_hex_decodestring
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:91,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:91,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:97,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:97,1
    - Dst: isc_buffer_init
      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: isc_base32hexnp_decodestring
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:100,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:100,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:103,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:104,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:108,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:109,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:113,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:113,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:113,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:114,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:114,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:114,1
    - Dst: typemap_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:116,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 42
    functionDepth: 5
    functionLinenumber: 42
    functionLinenumberEnd: 117
    functionName: fromtext_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - strcmp
    - DNS_AS_STR
    - isc_hex_decodestring
    - dns_hashalg_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_buffer_usedlength
    - isc_lex_getmastertoken
    - isc_base32hexnp_decodestring
    - strlen
    - RETERR
    - mem_tobuffer
    - uint8_tobuffer
    - typemap_fromtext
    - isc_buffer_init
    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:128,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:129,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:131,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:134,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:135,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:136,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:137,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:137,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:140,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:141,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:142,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:143,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:143,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:146,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:147,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:148,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:149,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:149,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:152,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:153,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:154,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:159,1
    - Dst: isc_hex_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:159,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:162,1
    - Dst: str_totext
      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: str_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:168,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:168,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:171,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:172,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:173,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:177,1
    - Dst: isc_base32hexnp_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:177,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:184,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:184,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:186,1
    - Dst: typemap_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:186,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:189,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:189,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 46
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 193
      start: 119
    functionDepth: 3
    functionLinenumber: 119
    functionLinenumberEnd: 193
    functionName: totext_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - INSIST
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - typemap_totext
    - RETERR
    - isc_hex_totext
    - isc_region_consume
    - uint8_fromregion
    - isc_base32hexnp_totext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t totext_nsec3(ARGS_TOTEXT)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:204,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:206,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:215,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:218,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:220,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:223,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:226,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:231,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:238,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:242,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:244,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:244,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:246,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:246,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:247,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 249
      start: 195
    functionDepth: 2
    functionLinenumber: 195
    functionLinenumberEnd: 249
    functionName: fromwire_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - typemap_test
    - mem_tobuffer
    - isc_region_consume
    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:255,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:256,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:258,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:260,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 251
    functionDepth: 2
    functionLinenumber: 251
    functionLinenumberEnd: 262
    functionName: towire_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:269,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:270,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:271,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:272,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:273,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:275,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:276,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 264
    functionDepth: 2
    functionLinenumber: 264
    functionLinenumberEnd: 278
    functionName: compare_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:285,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:286,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:287,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:288,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:289,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:291,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:292,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:294,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:294,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:295,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:295,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:296,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:296,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:297,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:297,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:298,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:298,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:299,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:299,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:300,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:300,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:304,1
    - Dst: typemap_test
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:304,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 280
    functionDepth: 3
    functionLinenumber: 280
    functionLinenumberEnd: 307
    functionName: fromstruct_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    - 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:316,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:317,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:318,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:320,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:324,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:325,1
    - Dst: uint16_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:326,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:328,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:329,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:330,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:331,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:333,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:334,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:335,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:336,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:339,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 344
      start: 311
    functionDepth: 3
    functionLinenumber: 311
    functionLinenumberEnd: 344
    functionName: tostruct_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - uint16_consume_fromregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_consume_fromregion
    - mem_maybedup
    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:350,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:351,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:358,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:362,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:366,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 346
    functionDepth: 1
    functionLinenumber: 346
    functionLinenumberEnd: 370
    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:374,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:376,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:377,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:378,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:379,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 372
    functionDepth: 1
    functionLinenumber: 372
    functionLinenumberEnd: 382
    functionName: additionaldata_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:388,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 384
    functionDepth: 2
    functionLinenumber: 384
    functionLinenumberEnd: 392
    functionName: digest_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:400,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:402,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:403,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:404,1
    - Dst: dns_name_getlabel
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:409,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:410,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:411,1
    - Dst: isc_base32hexnp_decoderegion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:412,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 417
      start: 394
    functionDepth: 5
    functionLinenumber: 394
    functionLinenumberEnd: 417
    functionName: checkowner_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_getlabel
    - isc_base32hexnp_decoderegion
    - isc_region_consume
    - isc_buffer_init
    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:421,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:423,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:424,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nsec3_50.c:425,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 428
      start: 419
    functionDepth: 1
    functionLinenumber: 419
    functionLinenumberEnd: 428
    functionName: checknames_nsec3
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3_50.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 433
      start: 430
    functionDepth: 3
    functionLinenumber: 430
    functionLinenumberEnd: 433
    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:
    - REQUIRE
    - UNUSED
    - isc_hex_decodestring
    - DNS_AS_STR
    - uint16_tobuffer
    - RETTOK
    - isc_base64_decodestring
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - buffer_fromregion
    - dns_name_wirefromtext
    - RETERR
    - uint8_tobuffer
    - isc_buffer_used
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - INSIST
    - dns_name_totext
    - isc_base64_totext
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - RETERR
    - isc_hex_totext
    - isc_region_consume
    - uint8_fromregion
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_activelength
    - uint16_fromregion
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - isc_region_consume
    - uint8_fromregion
    - dns_name_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - dns_rdata_hip_next
    - RETERR
    - mem_tobuffer
    - dns_rdata_hip_first
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:306,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:308,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:310,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:311,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:313,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:314,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:316,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:317,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:321,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:322,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:324,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:326,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:327,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:331,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 337
      start: 297
    functionDepth: 2
    functionLinenumber: 297
    functionLinenumberEnd: 337
    functionName: tostruct_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - INSIST
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:343,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:349,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:350,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:352,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 355
      start: 339
    functionDepth: 1
    functionLinenumber: 339
    functionLinenumberEnd: 355
    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:359,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:361,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:362,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 367
      start: 357
    functionDepth: 1
    functionLinenumber: 357
    functionLinenumberEnd: 367
    functionName: additionaldata_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:373,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 369
    functionDepth: 2
    functionLinenumber: 369
    functionLinenumberEnd: 377
    functionName: digest_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:381,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:383,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:384,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 389
      start: 379
    functionDepth: 1
    functionLinenumber: 379
    functionLinenumberEnd: 389
    functionName: checkowner_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:393,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:395,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:396,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.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_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: 409
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 409
    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:422,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:423,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:425,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - hip
    argTypes:
    - dns_rdata_hip_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 411
    functionDepth: 3
    functionLinenumber: 411
    functionLinenumberEnd: 427
    functionName: dns_rdata_hip_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 2
    functionsReached:
    - dns_name_init
    - INSIST
    - dns_name_fromregion
    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:433,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:437,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:439,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: 440
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 440
    functionName: dns_rdata_hip_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - dns_name_fromregion
    - 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:452,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:453,1
    - 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: dns_rdata_toregion
      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:459,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:461,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:462,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:463,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:468,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:469,1
    - Dst: uint16_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: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:472,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:474,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:475,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:476,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:480,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:481,1
    - Dst: dns_name_init
      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:484,1
    - Dst: dns_name_fromregion
      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:487,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:488,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:493,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:493,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:494,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:494,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/hip_55.c:496,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 497
      start: 442
    functionDepth: 3
    functionLinenumber: 442
    functionLinenumberEnd: 497
    functionName: casecompare_hip
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/hip_55.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - uint16_fromregion
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    - uint8_fromregion
    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:
    - REQUIRE
    - UNUSED
    - strcmp
    - DNS_AS_STR
    - inet_pton
    - memmove
    - isc_base64_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - buffer_fromregion
    - dns_name_wirefromtext
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    - 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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - name_length
    - inet_totext
    - isc_base64_totext
    - uint8_fromregion
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:353,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:355,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:356,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:358,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:359,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:361,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:362,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:364,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:365,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:372,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:373,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:374,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:378,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:379,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:380,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:384,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:385,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:386,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:387,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:387,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:393,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 401
      start: 342
    functionDepth: 3
    functionLinenumber: 342
    functionLinenumberEnd: 401
    functionName: tostruct_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - memmove
    - dns_name_fromregion
    - INSIST
    - name_length
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - uint8_fromregion
    - htonl
    - mem_maybedup
    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:407,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:408,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:415,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:419,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 403
    functionDepth: 2
    functionLinenumber: 403
    functionLinenumberEnd: 423
    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:427,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:429,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:430,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 435
      start: 425
    functionDepth: 1
    functionLinenumber: 425
    functionLinenumberEnd: 435
    functionName: additionaldata_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:441,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 445
      start: 437
    functionDepth: 2
    functionLinenumber: 437
    functionLinenumberEnd: 445
    functionName: digest_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:449,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:451,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:452,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 457
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 457
    functionName: checkowner_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:461,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:463,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:464,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:465,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 468
      start: 459
    functionDepth: 1
    functionLinenumber: 459
    functionLinenumberEnd: 468
    functionName: checknames_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:478,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:479,1
    - 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: dns_rdata_toregion
      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:485,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:487,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:489,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:492,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:493,1
    - Dst: isc_region_consume
      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:496,1
    - Dst: dns_name_fromregion
      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:499,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:501,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:506,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:506,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:507,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:507,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c:509,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 470
    functionDepth: 3
    functionLinenumber: 470
    functionLinenumberEnd: 510
    functionName: casecompare_ipseckey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ipseckey_45.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:147,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:149,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:150,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:151,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:152,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 137
    functionDepth: 3
    functionLinenumber: 137
    functionLinenumberEnd: 156
    functionName: tostruct_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:163,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:169,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 171
      start: 158
    functionDepth: 2
    functionLinenumber: 158
    functionLinenumberEnd: 171
    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:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:178,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
    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_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:190,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:192,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:193,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:194,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.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_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:203,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:204,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
    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_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/dname_39.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_dname
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/dname_39.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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: 3
    functionLinenumber: 19
    functionLinenumberEnd: 33
    functionName: fromtext_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - 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:
    - REQUIRE
    - isc_base64_totext
    - dns_rdata_toregion
    - RETERR
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:147,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:149,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 158
    functionName: tostruct_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:164,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:165,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.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_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:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:181,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:182,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
    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_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:193,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.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_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:204,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:205,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
    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_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:216,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.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_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:229,1
    - 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: dns_rdata_toregion
      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:235,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 238
      start: 223
    functionDepth: 2
    functionLinenumber: 223
    functionLinenumberEnd: 238
    functionName: casecompare_openpgpkey
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/openpgpkey_61.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromtext_ds
    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:
    - REQUIRE
    - generic_fromwire_ds
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_ds
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:88,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 78
    functionDepth: 3
    functionLinenumber: 78
    functionLinenumberEnd: 91
    functionName: tostruct_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_ds
    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:97,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:98,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:105,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 108
    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:112,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:114,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:115,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 120
      start: 110
    functionDepth: 1
    functionLinenumber: 110
    functionLinenumberEnd: 120
    functionName: additionaldata_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:126,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 131
      start: 122
    functionDepth: 2
    functionLinenumber: 122
    functionLinenumberEnd: 131
    functionName: digest_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:135,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:138,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
    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_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:147,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:149,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.c:150,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ta_32768.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: checknames_ta
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ta_32768.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:158,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 159
      start: 156
    functionDepth: 3
    functionLinenumber: 156
    functionLinenumberEnd: 159
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - RETERR
    - txt_fromtext
    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:
    - REQUIRE
    - UNUSED
    - dns_rdata_toregion
    - RETERR
    - txt_totext
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - buffer_empty
    - RETERR
    - txt_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:140,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:142,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:144,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:145,1
    - Dst: mem_maybedup
      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: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:153,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:154,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 161
      start: 131
    functionDepth: 2
    functionLinenumber: 131
    functionLinenumberEnd: 161
    functionName: tostruct_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:167,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:174,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:177,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 163
    functionDepth: 1
    functionLinenumber: 163
    functionLinenumberEnd: 180
    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:184,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:186,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:187,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
    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: additionaldata_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:198,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:200,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 203
      start: 194
    functionDepth: 2
    functionLinenumber: 194
    functionLinenumberEnd: 203
    functionName: digest_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:207,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:209,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:210,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 215
      start: 205
    functionDepth: 1
    functionLinenumber: 205
    functionLinenumberEnd: 215
    functionName: checkowner_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:221,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:222,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/isdn_20.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 226
    functionName: checknames_isdn
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/isdn_20.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 228
    functionDepth: 3
    functionLinenumber: 228
    functionLinenumberEnd: 231
    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: 16
    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:73,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:73,1
    - Dst: strcmp
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:82,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:82,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:83,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:87,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:87,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:88,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:90,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:94,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:95,1
    - Dst: inet_pton
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:99,1
    - Dst: DNS_AS_STR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:99,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:100,1
    - Dst: isc_buffer_availableregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:102,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:106,1
    - Dst: isc_buffer_add
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:107,1
    - Dst: buffer_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:111,1
    - Dst: dns_name_wirefromtext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:115,1
    - Dst: UNREACHABLE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:117,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 119
    functionName: fromtext_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - strcmp
    - DNS_AS_STR
    - inet_pton
    - memmove
    - RETTOK
    - isc_lex_getmastertoken
    - buffer_fromregion
    - dns_name_wirefromtext
    - isc_buffer_add
    - isc_buffer_availableregion
    - RETERR
    - uint8_tobuffer
    - UNREACHABLE
    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:154,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:155,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:156,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:156,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:163,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: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 180
      start: 121
    functionDepth: 3
    functionLinenumber: 121
    functionLinenumberEnd: 180
    functionName: totext_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - inet_totext
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - RETERR
    - isc_region_consume
    - uint8_fromregion
    - UNREACHABLE
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:314,1
    - Dst: dns_name_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:319,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:320,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:322,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:323,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:325,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:328,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:335,1
    - Dst: htonl
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:336,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:337,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:341,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:342,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:346,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:347,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:348,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:348,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:353,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 360
      start: 303
    functionDepth: 3
    functionLinenumber: 303
    functionLinenumberEnd: 360
    functionName: tostruct_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - memmove
    - dns_name_fromregion
    - name_length
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - uint8_fromregion
    - htonl
    - mem_maybedup
    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:366,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:367,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:374,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:378,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 382
      start: 362
    functionDepth: 2
    functionLinenumber: 362
    functionLinenumberEnd: 382
    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:386,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:388,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:389,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 394
      start: 384
    functionDepth: 1
    functionLinenumber: 384
    functionLinenumberEnd: 394
    functionName: additionaldata_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:400,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 396
    functionDepth: 2
    functionLinenumber: 396
    functionLinenumberEnd: 404
    functionName: digest_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:408,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:410,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:411,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 416
    functionName: checkowner_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:420,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:422,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:423,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:424,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 427
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 427
    functionName: checknames_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:436,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:437,1
    - 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: dns_rdata_toregion
      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:443,1
    - Dst: memcmp
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:445,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:448,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:451,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:452,1
    - Dst: isc_region_consume
      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:455,1
    - Dst: dns_name_fromregion
      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:458,1
    - Dst: dns_name_rdatacompare
      Src: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c:460,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 461
      start: 429
    functionDepth: 3
    functionLinenumber: 429
    functionLinenumberEnd: 461
    functionName: casecompare_amtrelay
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/amtrelay_260.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - isc_region_compare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - RETERR
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - isc_region_consume
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:169,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:171,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:173,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:174,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:175,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:175,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:176,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:177,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:179,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:180,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:180,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:181,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 186
      start: 159
    functionDepth: 3
    functionLinenumber: 159
    functionLinenumberEnd: 186
    functionName: tostruct_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:192,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:193,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:199,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 202
      start: 188
    functionDepth: 2
    functionLinenumber: 188
    functionLinenumberEnd: 202
    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:206,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:208,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:209,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
    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: additionaldata_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:220,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 216
    functionDepth: 2
    functionLinenumber: 216
    functionLinenumberEnd: 224
    functionName: digest_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:228,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:231,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 226
    functionDepth: 1
    functionLinenumber: 226
    functionLinenumberEnd: 236
    functionName: checkowner_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:240,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:242,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/talink_58.c:243,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: checknames_talink
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/talink_58.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 3
    functionLinenumber: 248
    functionLinenumberEnd: 251
    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
    - UNUSED
    - DNS_AS_STR
    - check_private
    - strtoul
    - isc_buffer_usedlength
    - strlen
    - RETERR
    - strtol
    - mem_tobuffer
    - dns_time32_fromtext
    - isc_lex_getmastertoken
    - dns_rdatatype_fromtext
    - uint16_tobuffer
    - dns_secalg_fromtext
    - uint32_tobuffer
    - buffer_fromregion
    - isc_base64_tobuffer
    - RETTOK
    - dns_name_wirefromtext
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - dns_name_totext
    - uint32_fromregion
    - dns_rdatatype_isknown
    - isc_base64_totext
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    - dns_time32_totext
    - dns_rdatatype_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - check_private
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - uint8_tobuffer
    - name_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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:500,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:502,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:507,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:508,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:513,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:514,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:519,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:520,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:525,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:526,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:531,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:532,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:537,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:538,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:543,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:544,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:546,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:547,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:548,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:549,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:550,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:550,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:556,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 559
      start: 490
    functionDepth: 3
    functionLinenumber: 490
    functionLinenumberEnd: 559
    functionName: tostruct_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:565,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:566,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:572,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:574,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 577
      start: 561
    functionDepth: 2
    functionLinenumber: 561
    functionLinenumberEnd: 577
    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:581,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:583,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:584,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 589
      start: 579
    functionDepth: 1
    functionLinenumber: 579
    functionLinenumberEnd: 589
    functionName: additionaldata_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:596,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:598,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:607,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:609,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:612,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:613,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:614,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:614,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:615,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:615,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 591
    functionDepth: 3
    functionLinenumber: 591
    functionLinenumberEnd: 619
    functionName: digest_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:626,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:628,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 632
      start: 621
    functionDepth: 2
    functionLinenumber: 621
    functionLinenumberEnd: 632
    functionName: covers_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - dns_rdata_toregion
    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:636,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:638,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:639,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 644
      start: 634
    functionDepth: 1
    functionLinenumber: 634
    functionLinenumberEnd: 644
    functionName: checkowner_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:648,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:650,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:651,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rrsig_46.c:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 655
      start: 646
    functionDepth: 1
    functionLinenumber: 646
    functionLinenumberEnd: 655
    functionName: checknames_rrsig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rrsig_46.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 660
      start: 657
    functionDepth: 4
    functionLinenumber: 657
    functionLinenumberEnd: 660
    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:
    - REQUIRE
    - UNUSED
    - isc_base64_tobuffer
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - dns_cert_fromtext
    - RETERR
    - dns_secalg_fromtext
    - mem_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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - isc_base64_totext
    - dns_secalg_totext
    - dns_rdata_toregion
    - dns_cert_totext
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:196,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:198,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:199,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: uint8_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: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 209
      start: 185
    functionDepth: 2
    functionLinenumber: 185
    functionLinenumberEnd: 209
    functionName: tostruct_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:215,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:216,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.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_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:230,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:233,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
    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_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:244,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.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_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:253,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:255,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:256,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
    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_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:265,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:267,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.c:268,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cert_37.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_cert
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cert_37.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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: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_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:
    - REQUIRE
    - generic_fromtext_tlsa
    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:
    - REQUIRE
    - generic_totext_tlsa
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_tlsa
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:85,1
    - Dst: generic_tostruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:87,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 77
    functionDepth: 3
    functionLinenumber: 77
    functionLinenumberEnd: 88
    functionName: tostruct_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_tlsa
    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:94,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:95,1
    - Dst: generic_freestruct_tlsa
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 90
    functionDepth: 2
    functionLinenumber: 90
    functionLinenumberEnd: 98
    functionName: freestruct_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_tlsa
    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:102,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:104,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:105,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 110
    functionName: additionaldata_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:116,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 112
    functionDepth: 2
    functionLinenumber: 112
    functionLinenumberEnd: 121
    functionName: digest_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:125,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:127,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:128,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 133
    functionName: checkowner_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:137,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:139,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:140,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/smimea_53.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 144
    functionName: checknames_smimea
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/smimea_53.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 149
      start: 146
    functionDepth: 3
    functionLinenumber: 146
    functionLinenumberEnd: 149
    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:
    - REQUIRE
    - generic_fromtext_ds
    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:
    - REQUIRE
    - generic_fromwire_ds
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_ds
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:92,1
    - Dst: generic_tostruct_ds
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 95
      start: 81
    functionDepth: 3
    functionLinenumber: 81
    functionLinenumberEnd: 95
    functionName: tostruct_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_ds
    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:101,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:102,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:109,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 112
      start: 97
    functionDepth: 1
    functionLinenumber: 97
    functionLinenumberEnd: 112
    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:116,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:119,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 114
    functionDepth: 1
    functionLinenumber: 114
    functionLinenumberEnd: 124
    functionName: additionaldata_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:130,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 126
    functionDepth: 2
    functionLinenumber: 126
    functionLinenumberEnd: 135
    functionName: digest_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:139,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:141,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:142,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 147
      start: 137
    functionDepth: 1
    functionLinenumber: 137
    functionLinenumberEnd: 147
    functionName: checkowner_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:151,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:153,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:154,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/cds_59.c:155,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 158
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 158
    functionName: checknames_cds
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/cds_59.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 160
    functionDepth: 3
    functionLinenumber: 160
    functionLinenumberEnd: 163
    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:
    - strtoul
    - decvalue
    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:
    - strtoul
    - decvalue
    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:
    - loc_getdecimal
    - DNS_AS_STR
    - RETERR
    - isc_lex_getmastertoken
    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:
    - isc_lex_ungettoken
    - DNS_AS_STR
    - RETERR
    - isc_lex_getmastertoken
    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_direction
    - check_coordinate
    - RETTOK
    - RETERR
    - get_seconds
    - get_minutes
    - get_degrees
    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
    - loc_getcoordinate
    - UNREACHABLE
    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
    - loc_getcoordinate
    - UNREACHABLE
    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:
    - DNS_AS_STR
    - RETTOK
    - loc_getdecimal
    - isc_lex_getmastertoken
    - RETERR
    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:
    - DNS_AS_STR
    - isc_lex_ungettoken
    - RETTOK
    - isc_lex_getmastertoken
    - loc_getprecision
    - RETERR
    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:
    - REQUIRE
    - UNUSED
    - loc_getlatitude
    - loc_getlongitude
    - loc_gethorizontalprecision
    - loc_getverticalprecision
    - RETERR
    - uint32_tobuffer
    - loc_getaltitude
    - mem_tobuffer
    - 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:
    - REQUIRE
    - UNUSED
    - INSIST
    - uint32_fromregion
    - dns_rdata_toregion
    - snprintf
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - uint32_fromregion
    - "latitude < (0x80000000UL - 90 * 3600000) ||\n\t    latitude >"
    - "longitude < (0x80000000UL - 180 * 3600000) ||\n\t    longitude >"
    - isc_buffer_activeregion
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - uint32_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:755,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:758,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:759,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: uint32_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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 737
    functionDepth: 2
    functionLinenumber: 737
    functionLinenumberEnd: 772
    functionName: tostruct_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    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:778,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:779,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:781,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:782,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 783
      start: 774
    functionDepth: 1
    functionLinenumber: 774
    functionLinenumberEnd: 783
    functionName: freestruct_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:787,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:789,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:790,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 795
      start: 785
    functionDepth: 1
    functionLinenumber: 785
    functionLinenumberEnd: 795
    functionName: additionaldata_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:801,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 806
      start: 797
    functionDepth: 2
    functionLinenumber: 797
    functionLinenumberEnd: 806
    functionName: digest_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:810,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:812,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:813,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 818
      start: 808
    functionDepth: 1
    functionLinenumber: 808
    functionLinenumberEnd: 818
    functionName: checkowner_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:822,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:824,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:825,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/loc_29.c:826,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 829
      start: 820
    functionDepth: 1
    functionLinenumber: 820
    functionLinenumberEnd: 829
    functionName: checknames_loc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/loc_29.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 834
      start: 831
    functionDepth: 3
    functionLinenumber: 831
    functionLinenumberEnd: 834
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - RETTOK
    - isc_lex_ungettoken
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - dns_rdatatype_fromtext
    - RETERR
    - strtol
    - mem_tobuffer
    - buffer_fromregion
    - memset
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_totext
    - dns_rdatatype_isknown
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    - dns_rdatatype_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:244,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:246,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:247,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:248,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:249,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:249,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:250,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:251,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:254,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 257
      start: 234
    functionDepth: 3
    functionLinenumber: 234
    functionLinenumberEnd: 257
    functionName: tostruct_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - mem_maybedup
    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:263,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:264,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:270,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:272,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 275
      start: 259
    functionDepth: 2
    functionLinenumber: 259
    functionLinenumberEnd: 275
    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:279,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:281,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:282,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 287
      start: 277
    functionDepth: 1
    functionLinenumber: 277
    functionLinenumberEnd: 287
    functionName: additionaldata_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t additionaldata_nxt(ARGS_ADDLDATA)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:294,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:296,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:297,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:298,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:299,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:299,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:300,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 289
    functionDepth: 3
    functionLinenumber: 289
    functionLinenumberEnd: 303
    functionName: digest_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:307,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:309,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:310,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:311,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:312,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 315
      start: 305
    functionDepth: 1
    functionLinenumber: 305
    functionLinenumberEnd: 315
    functionName: checkowner_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:319,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:321,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:322,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/nxt_30.c:323,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 326
      start: 317
    functionDepth: 1
    functionLinenumber: 317
    functionLinenumberEnd: 326
    functionName: checknames_nxt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nxt_30.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:330,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 331
      start: 328
    functionDepth: 4
    functionLinenumber: 328
    functionLinenumberEnd: 331
    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:
    - REQUIRE
    - UNUSED
    - multitxt_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - multitxt_totext
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    - memcmp
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:213,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:215,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:220,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:221,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:226,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:227,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 236
      start: 204
    functionDepth: 2
    functionLinenumber: 204
    functionLinenumberEnd: 236
    functionName: tostruct_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - mem_maybedup
    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:242,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:243,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:250,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 253
      start: 238
    functionDepth: 1
    functionLinenumber: 238
    functionLinenumberEnd: 253
    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:257,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:259,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:260,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 265
      start: 255
    functionDepth: 1
    functionLinenumber: 255
    functionLinenumberEnd: 265
    functionName: additionaldata_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:271,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 267
    functionDepth: 2
    functionLinenumber: 267
    functionLinenumberEnd: 276
    functionName: digest_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:280,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:282,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:283,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
    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_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:292,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:294,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:295,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/uri_256.c:296,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 299
      start: 290
    functionDepth: 1
    functionLinenumber: 290
    functionLinenumberEnd: 299
    functionName: checknames_uri
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/uri_256.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 304
      start: 301
    functionDepth: 3
    functionLinenumber: 301
    functionLinenumberEnd: 304
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - generic_fromstruct_txt
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:78,1
    - Dst: generic_tostruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 3
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: tostruct_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_txt
    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:87,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:88,1
    - Dst: generic_freestruct_txt
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 83
    functionDepth: 2
    functionLinenumber: 83
    functionLinenumberEnd: 91
    functionName: freestruct_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - generic_freestruct_txt
    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:95,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:97,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:98,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 93
    functionDepth: 1
    functionLinenumber: 93
    functionLinenumberEnd: 103
    functionName: additionaldata_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:109,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 105
    functionDepth: 2
    functionLinenumber: 105
    functionLinenumberEnd: 114
    functionName: digest_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:118,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:120,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:121,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
    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: checkowner_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:130,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:132,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:133,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/avc_258.c:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 128
    functionDepth: 1
    functionLinenumber: 128
    functionLinenumberEnd: 137
    functionName: checknames_avc
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/avc_258.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 139
    functionDepth: 3
    functionLinenumber: 139
    functionLinenumberEnd: 142
    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:
    - REQUIRE
    - UNUSED
    - strcmp
    - DNS_AS_STR
    - isc_hex_decodestring
    - dns_hashalg_fromtext
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - strlen
    - RETERR
    - 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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - INSIST
    - dns_rdata_toregion
    - str_totext
    - snprintf
    - RETERR
    - isc_hex_totext
    - isc_region_consume
    - uint8_fromregion
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - 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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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: 221
      start: 202
    functionDepth: 3
    functionLinenumber: 202
    functionLinenumberEnd: 221
    functionName: fromstruct_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    - 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:228,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:229,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:230,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:232,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:236,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:237,1
    - Dst: uint16_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:238,1
    - Dst: uint8_consume_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:240,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:241,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:242,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 248
      start: 223
    functionDepth: 3
    functionLinenumber: 223
    functionLinenumberEnd: 248
    functionName: tostruct_nsec3param
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - uint16_consume_fromregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_consume_fromregion
    - mem_maybedup
    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:254,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:255,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/nsec3param_51.c:262,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 250
    functionDepth: 1
    functionLinenumber: 250
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - isdigit
    - txt_fromtext
    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:
    - REQUIRE
    - UNUSED
    - txt_totext
    - dns_rdata_toregion
    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:
    - isc_buffer_activeregion
    - REQUIRE
    - UNUSED
    - txt_fromwire
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - RETERR
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:148,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:150,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:151,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:152,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 156
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 156
    functionName: tostruct_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:162,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:163,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:170,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 158
    functionDepth: 1
    functionLinenumber: 158
    functionLinenumberEnd: 173
    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:177,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:179,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:180,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
    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_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:191,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: digest_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:202,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:203,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 208
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 208
    functionName: checkowner_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:212,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.c:215,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/x25_19.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_x25
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/x25_19.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 224
      start: 221
    functionDepth: 3
    functionLinenumber: 221
    functionLinenumberEnd: 224
    functionName: 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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - isc_base64_tobuffer
    - uint16_tobuffer
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - dns_secalg_fromtext
    - uint32_tobuffer
    - mem_tobuffer
    - dns_secproto_fromtext
    - dns_keyflags_fromtext
    - dns_time32_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:
    - REQUIRE
    - dns_secalg_format
    - uint16_fromregion
    - unknown_totext
    - isc_stdtime_now
    - uint32_fromregion
    - isc_base64_totext
    - isc_time_formathttptimestamp
    - dns_rdata_toregion
    - isc_time_set
    - snprintf
    - dst_region_computeid
    - RETERR
    - isc_region_consume
    - str_totext
    - dns_time32_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:333,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:335,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:342,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:343,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:350,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:351,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:358,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:359,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:366,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:367,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:374,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:375,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:382,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:383,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:387,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 325
    functionDepth: 2
    functionLinenumber: 325
    functionLinenumberEnd: 390
    functionName: tostruct_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:396,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:397,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:404,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 392
    functionDepth: 1
    functionLinenumber: 392
    functionLinenumberEnd: 407
    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:411,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:413,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:414,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 409
    functionDepth: 1
    functionLinenumber: 409
    functionLinenumberEnd: 419
    functionName: additionaldata_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:425,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 2
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: digest_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:434,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:436,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:437,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: checkowner_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:446,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:448,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:449,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/keydata_65533.c:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 453
      start: 444
    functionDepth: 1
    functionLinenumber: 444
    functionLinenumberEnd: 453
    functionName: checknames_keydata
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/keydata_65533.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 458
      start: 455
    functionDepth: 3
    functionLinenumber: 455
    functionLinenumberEnd: 458
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - sscanf
    - isc_lex_getmastertoken
    - RETERR
    - mem_tobuffer
    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
    - REQUIRE
    - UNUSED
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - mem_tobuffer
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:139,1
    - Dst: memmove
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:141,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 143
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 143
    functionName: tostruct_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - DNS_RDATACOMMON_INIT
    - memmove
    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:149,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 153
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 153
    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:157,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:158,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:160,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:161,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 166
      start: 155
    functionDepth: 1
    functionLinenumber: 155
    functionLinenumberEnd: 166
    functionName: additionaldata_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:172,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:173,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 168
    functionDepth: 2
    functionLinenumber: 168
    functionLinenumberEnd: 178
    functionName: digest_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:182,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:184,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:185,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 180
    functionDepth: 1
    functionLinenumber: 180
    functionLinenumberEnd: 190
    functionName: checkowner_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:194,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:195,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:197,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.c:198,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/eui48_108.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: checknames_eui48
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/eui48_108.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 204
    functionDepth: 3
    functionLinenumber: 204
    functionLinenumberEnd: 207
    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:
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - RETTOK
    - dns_name_ismailbox
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - RETERR
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - name_length
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    - isc_buffer_copyregion
    - RETERR
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:213,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:215,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:216,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:217,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:218,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:219,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:220,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:220,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:221,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:222,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 226
      start: 203
    functionDepth: 3
    functionLinenumber: 203
    functionLinenumberEnd: 226
    functionName: tostruct_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    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:232,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:233,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:239,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.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_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:246,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:248,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:249,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
    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_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:261,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:263,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:264,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:266,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:267,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:267,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:268,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:268,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:270,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:271,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 274
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 274
    functionName: digest_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:278,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:280,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:281,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 276
    functionDepth: 1
    functionLinenumber: 276
    functionLinenumberEnd: 286
    functionName: checkowner_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:293,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:295,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:297,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:298,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:299,1
    - Dst: dns_name_ismailbox
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:300,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/rp_17.c:302,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 307
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 307
    functionName: checknames_rp
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/rp_17.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_name_ismailbox
    - dns_rdata_toregion
    - dns_name_clone
    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:311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 309
    functionDepth: 4
    functionLinenumber: 309
    functionLinenumberEnd: 312
    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:
    - REQUIRE
    - UNUSED
    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:
    - REQUIRE
    - uint16_fromregion
    - INSIST
    - isc_base64_totext
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - isc_region_consume
    - str_totext
    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:
    - REQUIRE
    - UNUSED
    - isc_utf8_bom
    - memmove
    - uint16_fromregion
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - isc_buffer_add
    - isc_buffer_availableregion
    - dns_fixedname_initname
    - isc_utf8_valid
    - isc_region_consume
    - uint8_fromregion
    - dns_name_fromwire
    - dns_name_isabsolute
    - isc_buffer_init
    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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - uint16_fromregion
    - mem_tobuffer
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:367,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:369,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 375
      start: 359
    functionDepth: 2
    functionLinenumber: 359
    functionLinenumberEnd: 375
    functionName: tostruct_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - dns_rdata_toregion
    - 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:381,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:382,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:389,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 392
      start: 377
    functionDepth: 1
    functionLinenumber: 377
    functionLinenumberEnd: 392
    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:396,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:398,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:399,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 1
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: additionaldata_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:412,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:414,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:415,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:416,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 419
      start: 406
    functionDepth: 1
    functionLinenumber: 406
    functionLinenumberEnd: 419
    functionName: digest_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:423,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:425,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:426,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:427,1
    - Dst: dns_name_equal
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:429,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 421
    functionDepth: 3
    functionLinenumber: 421
    functionLinenumberEnd: 430
    functionName: checkowner_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_equal
    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:434,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:436,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:437,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 441
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 441
    functionName: checknames_opt
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 446
      start: 443
    functionDepth: 3
    functionLinenumber: 443
    functionLinenumberEnd: 446
    functionName: 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:450,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:451,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:452,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - opt
    argTypes:
    - dns_rdata_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 448
    functionDepth: 1
    functionLinenumber: 448
    functionLinenumberEnd: 460
    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:467,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:468,1
    - 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: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:472,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:475,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:476,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - opt
    argTypes:
    - dns_rdata_opt_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 482
      start: 462
    functionDepth: 2
    functionLinenumber: 462
    functionLinenumberEnd: 482
    functionName: dns_rdata_opt_next
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - 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:488,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:489,1
    - 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: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:494,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:498,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:499,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: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/opt_41.c:503,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: 506
      start: 484
    functionDepth: 2
    functionLinenumber: 484
    functionLinenumberEnd: 506
    functionName: dns_rdata_opt_current
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/opt_41.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_consume
    - uint16_fromregion
    - INSIST
    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:
    - REQUIRE
    - UNUSED
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:146,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:148,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:149,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:150,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:151,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 136
    functionDepth: 3
    functionLinenumber: 136
    functionLinenumberEnd: 155
    functionName: tostruct_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:161,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:162,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:167,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 157
    functionDepth: 2
    functionLinenumber: 157
    functionLinenumberEnd: 169
    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:173,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:175,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:176,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 181
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 181
    functionName: additionaldata_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:188,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:190,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:191,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:192,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:194,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 195
      start: 183
    functionDepth: 3
    functionLinenumber: 183
    functionLinenumberEnd: 195
    functionName: digest_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:199,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:201,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:202,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
    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: checkowner_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:211,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:213,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:214,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/mr_9.c:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: checknames_mr
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/mr_9.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:222,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 223
      start: 220
    functionDepth: 4
    functionLinenumber: 220
    functionLinenumberEnd: 223
    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_ishostname
    - REQUIRE
    - UNUSED
    - warn_badname
    - dns_name_fromtext
    - RETTOK
    - isc_lex_getmastertoken
    - dns_name_towire
    - dns_fixedname_initname
    - RETERR
    - buffer_fromregion
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_totext
    - dns_rdata_toregion
    - name_prefix
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_decompress_setpermitted
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_towire
    - dns_rdata_toregion
    - dns_compress_setpermitted
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_name_rdatacompare
    - dns_rdata_toregion
    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
    - REQUIRE
    - UNUSED
    - dns_name_toregion
    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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:160,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:162,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:163,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:164,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:165,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:166,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 150
    functionDepth: 3
    functionLinenumber: 150
    functionLinenumberEnd: 169
    functionName: tostruct_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    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:175,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 183
      start: 171
    functionDepth: 2
    functionLinenumber: 171
    functionLinenumberEnd: 183
    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:190,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:192,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:194,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:195,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 199
      start: 185
    functionDepth: 3
    functionLinenumber: 185
    functionLinenumberEnd: 199
    functionName: additionaldata_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    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:206,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:208,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:209,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:210,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:212,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 201
    functionDepth: 3
    functionLinenumber: 201
    functionLinenumberEnd: 213
    functionName: digest_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_digest
    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:217,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:219,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:220,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 215
    functionDepth: 1
    functionLinenumber: 215
    functionLinenumberEnd: 225
    functionName: checkowner_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:232,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:234,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:236,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:237,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:238,1
    - Dst: dns_name_ishostname
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:239,1
    - Dst: dns_name_clone
      Src: /src/bind9/lib/dns/rdata/generic/ns_2.c:241,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 246
      start: 227
    functionDepth: 3
    functionLinenumber: 227
    functionLinenumberEnd: 246
    functionName: checknames_ns
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/ns_2.c
    functionUses: 0
    functionsReached:
    - dns_name_ishostname
    - REQUIRE
    - UNUSED
    - dns_name_init
    - dns_name_fromregion
    - dns_rdata_toregion
    - dns_name_clone
    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:250,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 251
      start: 248
    functionDepth: 4
    functionLinenumber: 248
    functionLinenumberEnd: 251
    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: 3
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:31,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:32,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:33,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:34,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:37,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:37,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:39,1
    - Dst: dns_keyflags_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:39,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:41,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:43,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:43,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:46,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:46,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:48,1
    - Dst: dns_secproto_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:48,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:49,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:49,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:52,1
    - Dst: isc_lex_getmastertoken
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:52,1
    - Dst: RETTOK
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:54,1
    - Dst: dns_secalg_fromtext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:54,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:55,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:55,1
    - Dst: isc_buffer_usedlength
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:61,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:63,1
    - Dst: isc_base64_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:63,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:75,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:75,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 23
    functionDepth: 4
    functionLinenumber: 23
    functionLinenumberEnd: 79
    functionName: generic_fromtext_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - UNUSED
    - check_private
    - isc_base64_tobuffer
    - uint16_tobuffer
    - RETTOK
    - isc_buffer_usedlength
    - isc_lex_getmastertoken
    - RETERR
    - dns_secalg_fromtext
    - mem_tobuffer
    - dns_secproto_fromtext
    - dns_keyflags_fromtext
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_fromtext_key(ARGS_FROMTEXT)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:91,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:93,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:96,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:97,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:98,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:99,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:99,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:100,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:100,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:112,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:113,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:114,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:114,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:115,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:115,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:119,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:120,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:121,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:121,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:127,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:128,1
    - Dst: dns_name_format
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:129,1
    - Dst: d2i_ASN1_OBJECT
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:134,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:135,1
    - Dst: i2t_ASN1_OBJECT
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:136,1
    - Dst: ASN1_OBJECT_free
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:137,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:139,1
    - Dst: dns_secalg_format
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:143,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:149,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:149,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:151,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:151,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:155,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:155,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:157,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:157,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:161,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:162,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:163,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:164,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:164,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:168,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:168,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:170,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:170,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:174,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:174,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:181,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:181,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:182,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:182,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:184,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:184,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:186,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:186,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:187,1
    - Dst: snprintf
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:188,1
    - Dst: dst_region_computeid
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:188,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:189,1
    - Dst: str_totext
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:189,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 76
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 192
      start: 81
    functionDepth: 4
    functionLinenumber: 81
    functionLinenumberEnd: 192
    functionName: generic_totext_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - dns_secalg_format
    - uint16_fromregion
    - dns_name_format
    - INSIST
    - i2t_ASN1_OBJECT
    - isc_base64_totext
    - dns_rdata_toregion
    - snprintf
    - d2i_ASN1_OBJECT
    - dst_region_computeid
    - RETERR
    - isc_region_consume
    - str_totext
    - ASN1_OBJECT_free
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t generic_totext_key(ARGS_TOTEXT)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:200,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:201,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:203,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:214,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:214,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:215,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:216,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:226,1
    - Dst: check_private
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:226,1
    - Dst: isc_buffer_activeregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:229,1
    - Dst: isc_buffer_forward
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:230,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:231,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 232
      start: 194
    functionDepth: 3
    functionLinenumber: 194
    functionLinenumberEnd: 232
    functionName: generic_fromwire_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - UNUSED
    - check_private
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - 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:236,1
    - Dst: generic_fromtext_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:238,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 234
    functionDepth: 5
    functionLinenumber: 234
    functionLinenumberEnd: 239
    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:243,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:244,1
    - Dst: generic_totext_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:246,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 241
    functionDepth: 5
    functionLinenumber: 241
    functionLinenumberEnd: 247
    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:251,1
    - Dst: generic_fromwire_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:253,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 4
    functionLinenumber: 249
    functionLinenumberEnd: 254
    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:260,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:261,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:262,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:264,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:266,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 268
      start: 256
    functionDepth: 2
    functionLinenumber: 256
    functionLinenumberEnd: 268
    functionName: towire_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:275,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:276,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:277,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:278,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:279,1
    - 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: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:283,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:284,1
    - Dst: isc_region_compare
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 286
      start: 270
    functionDepth: 2
    functionLinenumber: 270
    functionLinenumberEnd: 286
    functionName: compare_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:292,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:293,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:294,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:296,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:297,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:300,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:304,1
    - Dst: uint16_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:304,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:307,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:307,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:310,1
    - Dst: uint8_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:310,1
    - Dst: mem_tobuffer
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:313,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 288
    functionDepth: 3
    functionLinenumber: 288
    functionLinenumberEnd: 314
    functionName: generic_fromstruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - UNUSED
    - INSIST
    - uint16_tobuffer
    - RETERR
    - mem_tobuffer
    - 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:321,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:322,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:324,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:325,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:326,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:328,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:331,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:332,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:335,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:336,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:339,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:340,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:344,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 316
    functionDepth: 2
    functionLinenumber: 316
    functionLinenumberEnd: 347
    functionName: generic_tostruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 3
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - dns_rdata_toregion
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:353,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:360,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 1
    functionLinenumber: 349
    functionLinenumberEnd: 363
    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:367,1
    - Dst: generic_fromstruct_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:369,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 370
      start: 365
    functionDepth: 4
    functionLinenumber: 365
    functionLinenumberEnd: 370
    functionName: fromstruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - generic_fromstruct_key
    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:376,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:377,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:378,1
    - Dst: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:380,1
    - Dst: generic_tostruct_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:382,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 383
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 383
    functionName: tostruct_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 4
    functionsReached:
    - REQUIRE
    - DNS_RDATACOMMON_INIT
    - generic_tostruct_key
    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:389,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:390,1
    - Dst: generic_freestruct_key
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:392,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 393
      start: 385
    functionDepth: 2
    functionLinenumber: 385
    functionLinenumberEnd: 393
    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:397,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:398,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:400,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:401,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:402,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:403,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 395
    functionDepth: 1
    functionLinenumber: 395
    functionLinenumberEnd: 406
    functionName: additionaldata_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:412,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:413,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 418
      start: 408
    functionDepth: 2
    functionLinenumber: 408
    functionLinenumberEnd: 418
    functionName: digest_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:422,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:424,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:425,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:426,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 430
      start: 420
    functionDepth: 1
    functionLinenumber: 420
    functionLinenumberEnd: 430
    functionName: checkowner_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:434,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:435,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:437,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:438,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/key_25.c:439,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 442
      start: 432
    functionDepth: 1
    functionLinenumber: 432
    functionLinenumberEnd: 442
    functionName: checknames_key
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/key_25.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:446,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 447
      start: 444
    functionDepth: 3
    functionLinenumber: 444
    functionLinenumberEnd: 447
    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:
    - REQUIRE
    - UNUSED
    - multitxt_fromtext
    - RETTOK
    - isc_lex_getmastertoken
    - RETERR
    - mem_tobuffer
    - 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:
    - REQUIRE
    - UNUSED
    - multitxt_totext
    - dns_rdata_toregion
    - snprintf
    - RETERR
    - txt_totext
    - str_totext
    - uint8_consume_fromregion
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_forward
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - 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:
    - REQUIRE
    - UNUSED
    - mem_tobuffer
    - dns_rdata_toregion
    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:
    - REQUIRE
    - isc_region_compare
    - dns_rdata_toregion
    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:
    - REQUIRE
    - UNUSED
    - isc_buffer_copyregion
    - RETERR
    - 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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:501,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:503,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:508,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:509,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:514,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:515,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:520,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:521,1
    - Dst: isc_region_consume
      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:528,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 532
      start: 491
    functionDepth: 2
    functionLinenumber: 491
    functionLinenumberEnd: 532
    functionName: tostruct_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - INSIST
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:538,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:539,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:546,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:549,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 552
      start: 534
    functionDepth: 1
    functionLinenumber: 534
    functionLinenumberEnd: 552
    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:556,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:557,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:558,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:560,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:561,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 566
      start: 554
    functionDepth: 1
    functionLinenumber: 554
    functionLinenumberEnd: 566
    functionName: additionaldata_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:572,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:573,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:574,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:576,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 579
      start: 568
    functionDepth: 2
    functionLinenumber: 568
    functionLinenumberEnd: 579
    functionName: digest_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_rdata_toregion
    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:583,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:585,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:586,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
    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: checkowner_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:595,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:596,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:597,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:599,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:600,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/caa_257.c:601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 604
      start: 593
    functionDepth: 1
    functionLinenumber: 593
    functionLinenumberEnd: 604
    functionName: checknames_caa
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/caa_257.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:608,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 606
    functionDepth: 3
    functionLinenumber: 606
    functionLinenumberEnd: 609
    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:
    - REQUIRE
    - UNUSED
    - DNS_AS_STR
    - check_private
    - isc_base64_tobuffer
    - uint16_tobuffer
    - RETTOK
    - isc_buffer_usedlength
    - isc_lex_getmastertoken
    - dns_name_wirefromtext
    - dns_rdatatype_fromtext
    - RETERR
    - dns_secalg_fromtext
    - uint32_tobuffer
    - strtol
    - mem_tobuffer
    - buffer_fromregion
    - dns_time32_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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - dns_name_totext
    - uint32_fromregion
    - dns_rdatatype_isknown
    - isc_base64_totext
    - dns_rdata_toregion
    - snprintf
    - name_prefix
    - RETERR
    - isc_region_consume
    - str_totext
    - dns_time32_totext
    - dns_rdatatype_totext
    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:
    - REQUIRE
    - UNUSED
    - dns_name_init
    - check_private
    - isc_buffer_forward
    - dns_decompress_setpermitted
    - isc_buffer_activeregion
    - RETERR
    - mem_tobuffer
    - dns_name_fromwire
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_name_towire
    - dns_rdata_toregion
    - RETERR
    - dns_compress_setpermitted
    - mem_tobuffer
    - isc_region_consume
    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:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - INSIST
    - dns_name_rdatacompare
    - name_length
    - isc_region_compare
    - dns_rdata_toregion
    - isc_region_consume
    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:
    - REQUIRE
    - UNUSED
    - uint16_tobuffer
    - RETERR
    - uint32_tobuffer
    - mem_tobuffer
    - uint8_tobuffer
    - name_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: DNS_RDATACOMMON_INIT
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:464,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:466,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:471,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:472,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:477,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:478,1
    - Dst: uint8_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:483,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:484,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:489,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:490,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:495,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:496,1
    - Dst: uint32_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:501,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:502,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:507,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:508,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:510,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:511,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:512,1
    - Dst: name_duporclone
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:513,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:514,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:514,1
    - Dst: mem_maybedup
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:520,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 523
      start: 454
    functionDepth: 3
    functionLinenumber: 454
    functionLinenumberEnd: 523
    functionName: tostruct_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - uint16_fromregion
    - name_length
    - uint32_fromregion
    - dns_rdata_toregion
    - DNS_RDATACOMMON_INIT
    - name_duporclone
    - isc_region_consume
    - uint8_fromregion
    - mem_maybedup
    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:529,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:530,1
    - Dst: dns_name_free
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:536,1
    - Dst: isc_mem_free
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:538,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 541
      start: 525
    functionDepth: 2
    functionLinenumber: 525
    functionLinenumberEnd: 541
    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:545,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:547,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:548,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 553
      start: 543
    functionDepth: 1
    functionLinenumber: 543
    functionLinenumberEnd: 553
    functionName: additionaldata_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:560,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:562,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:571,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:573,1
    - Dst: dns_name_init
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:576,1
    - Dst: dns_name_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:577,1
    - Dst: RETERR
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:578,1
    - Dst: dns_name_digest
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:578,1
    - Dst: isc_region_consume
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:579,1
    - Dst: name_length
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 555
    functionDepth: 3
    functionLinenumber: 555
    functionLinenumberEnd: 583
    functionName: digest_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 2
    functionsReached:
    - REQUIRE
    - dns_name_init
    - dns_name_fromregion
    - name_length
    - dns_rdata_toregion
    - RETERR
    - dns_name_digest
    - isc_region_consume
    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:590,1
    - Dst: dns_rdata_toregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:592,1
    - Dst: uint16_fromregion
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:593,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - rdata
    argTypes:
    - dns_rdata_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 596
      start: 585
    functionDepth: 2
    functionLinenumber: 585
    functionLinenumberEnd: 596
    functionName: covers_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 1
    functionsReached:
    - REQUIRE
    - uint16_fromregion
    - dns_rdata_toregion
    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:600,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:602,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:603,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
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 598
    functionDepth: 1
    functionLinenumber: 598
    functionLinenumberEnd: 608
    functionName: checkowner_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:612,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:614,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:615,1
    - Dst: UNUSED
      Src: /src/bind9/lib/dns/rdata/generic/sig_24.c:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 619
      start: 610
    functionDepth: 1
    functionLinenumber: 610
    functionLinenumberEnd: 619
    functionName: checknames_sig
    functionSourceFile: /src/bind9/lib/dns/rdata/generic/sig_24.c
    functionUses: 0
    functionsReached:
    - REQUIRE
    - UNUSED
    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:623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 624
      start: 621
    functionDepth: 4
    functionLinenumber: 621
    functionLinenumberEnd: 624
    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: 149
      start: 148
    functionDepth: 0
    functionLinenumber: 148
    functionLinenumberEnd: 149
    functionName: DNS_MESSAGE_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 56
    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: 231
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 231
    functionName: MSG_SECTION_FOREACH
    functionSourceFile: /src/bind9/lib/dns/include/dns/message.h
    functionUses: 1
    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: 398
      start: 397
    functionDepth: 0
    functionLinenumber: 397
    functionLinenumberEnd: 398
    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: 400
      start: 398
    functionDepth: 0
    functionLinenumber: 398
    functionLinenumberEnd: 400
    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: 402
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 402
    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: 404
      start: 402
    functionDepth: 0
    functionLinenumber: 402
    functionLinenumberEnd: 404
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    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: 104
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 104
    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: 405
      start: 403
    functionDepth: 0
    functionLinenumber: 403
    functionLinenumberEnd: 405
    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: 407
      start: 405
    functionDepth: 0
    functionLinenumber: 405
    functionLinenumberEnd: 407
    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: 409
      start: 407
    functionDepth: 0
    functionLinenumber: 407
    functionLinenumberEnd: 409
    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: 411
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 411
    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:
    - (
    - header
    - ','
    - attribute
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 141
    functionName: DNS_VECHEADER_GETATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatavec.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_VECHEADER_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: 144
      start: 142
    functionDepth: 0
    functionLinenumber: 142
    functionLinenumberEnd: 144
    functionName: DNS_VECHEADER_SETATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatavec.h
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_VECHEADER_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: 146
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 146
    functionName: DNS_VECHEADER_CLRATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatavec.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_VECHEADER_CLRATTR(header, attribute)
  - 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: 43
    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: 71
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdatasetiter_current(iterator, rdataset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - pos
    - ','
    - head
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 70
    functionName: DNS_SLABTOP_FOREACH
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SLABTOP_FOREACH(pos, head)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - pos
    - ','
    - head
    - ','
    - first
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 71
    functionDepth: 0
    functionLinenumber: 71
    functionLinenumberEnd: 74
    functionName: DNS_SLABTOP_FOREACH_FROM
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SLABTOP_FOREACH_FROM(pos, head, first)
  - 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: 163
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 163
    functionName: DNS_SLABHEADER_GETATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 0
    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: 166
      start: 164
    functionDepth: 0
    functionLinenumber: 164
    functionLinenumberEnd: 166
    functionName: DNS_SLABHEADER_SETATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 3
    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: 168
      start: 166
    functionDepth: 0
    functionLinenumber: 166
    functionLinenumberEnd: 168
    functionName: DNS_SLABHEADER_CLRATTR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataslab.h
    functionUses: 2
    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: 94
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 94
    functionName: DNS_RDATASET_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 42
    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: 247
      start: 246
    functionDepth: 0
    functionLinenumber: 246
    functionLinenumberEnd: 247
    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: 248
      start: 247
    functionDepth: 0
    functionLinenumber: 247
    functionLinenumberEnd: 248
    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: 251
      start: 248
    functionDepth: 0
    functionLinenumber: 248
    functionLinenumberEnd: 251
    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: 253
      start: 251
    functionDepth: 0
    functionLinenumber: 251
    functionLinenumberEnd: 253
    functionName: DNS_RDATASET_FOREACH
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 8
    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: 290
      start: 286
    functionDepth: 0
    functionLinenumber: 286
    functionLinenumberEnd: 290
    functionName: dns_rdataset_cleanup
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 127
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_rdataset_cleanup(rdataset)
  - 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: 192
    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: 32
    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: 518
      start: 516
    functionDepth: 0
    functionLinenumber: 516
    functionLinenumberEnd: 518
    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: 547
      start: 545
    functionDepth: 0
    functionLinenumber: 545
    functionLinenumberEnd: 547
    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: 582
      start: 580
    functionDepth: 0
    functionLinenumber: 580
    functionLinenumberEnd: 582
    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:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/rdataset.h:660,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/include/dns/rdataset.h:660,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 3
    argCount: 2
    argNames:
    - rdataset
    - type
    argTypes:
    - dns_rdataset_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 665
      start: 657
    functionDepth: 1
    functionLinenumber: 657
    functionLinenumberEnd: 665
    functionName: dns_rdataset_matchestype
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 3
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: bool
    signature: "bool dns_rdataset_matchestype(const dns_rdataset_t *rdataset,\n\t\t\t
      const dns_rdatatype_t type)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/rdataset.h:674,1
    - Dst: DNS_RDATASET_VALID
      Src: /src/bind9/lib/dns/include/dns/rdataset.h:674,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - rdataset
    - type
    argTypes:
    - dns_rdataset_t*
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 671
    functionDepth: 1
    functionLinenumber: 671
    functionLinenumberEnd: 678
    functionName: dns_rdataset_issigtype
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdataset.h
    functionUses: 2
    functionsReached:
    - REQUIRE
    - DNS_RDATASET_VALID
    linkageType: ''
    returnType: bool
    signature: "bool dns_rdataset_issigtype(const dns_rdataset_t *rdataset,\n\t\t
      \      const dns_rdatatype_t type)"
  - 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: 47
    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: 171
      start: 162
    functionDepth: 0
    functionLinenumber: 162
    functionLinenumberEnd: 171
    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: 181
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 181
    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: 215
      start: 208
    functionDepth: 0
    functionLinenumber: 208
    functionLinenumberEnd: 215
    functionName: dns_name_init
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 342
    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:230,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:230,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:231,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/include/dns/name.h:231,1
    - Dst: isc_buffer_clear
      Src: /src/bind9/lib/dns/include/dns/name.h:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 228
    functionDepth: 2
    functionLinenumber: 228
    functionLinenumberEnd: 239
    functionName: dns_name_reset
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 5
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - isc_buffer_clear
    - DNS_NAME_BINDABLE
    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:265,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:265,1
    - Dst: ISC_LINK_INIT
      Src: /src/bind9/lib/dns/include/dns/name.h:272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 263
    functionDepth: 1
    functionLinenumber: 263
    functionLinenumberEnd: 273
    functionName: dns_name_invalidate
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 6
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - ISC_LINK_INIT
    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:299,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:299,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:300,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 2
    argNames:
    - name
    - buffer
    argTypes:
    - dns_name_t*
    - isc_buffer_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 303
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 303
    functionName: dns_name_setbuffer
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 9
    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:596,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:596,1
    - Dst: dns_name_offsets
      Src: /src/bind9/lib/dns/include/dns/name.h:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - name
    argTypes:
    - dns_name_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 599
      start: 594
    functionDepth: 2
    functionLinenumber: 594
    functionLinenumberEnd: 599
    functionName: dns_name_countlabels
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 101
    functionsReached:
    - DNS_NAME_VALID
    - REQUIRE
    - dns_name_offsets
    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:706,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:706,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - name
    - r
    argTypes:
    - dns_name_t*
    - isc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 704
    functionDepth: 1
    functionLinenumber: 704
    functionLinenumberEnd: 711
    functionName: dns_name_toregion
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 53
    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:1025,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:1025,1
    - Dst: REQUIRE
      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: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:1028,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:1029,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/include/dns/name.h:1029,1
    - Dst: REQUIRE
      Src: /src/bind9/lib/dns/include/dns/name.h:1030,1
    - Dst: DNS_NAME_VALID
      Src: /src/bind9/lib/dns/include/dns/name.h:1031,1
    - Dst: DNS_NAME_BINDABLE
      Src: /src/bind9/lib/dns/include/dns/name.h:1031,1
    - Dst: dns_name_countlabels
      Src: /src/bind9/lib/dns/include/dns/name.h:1033,1
    - Dst: INSIST
      Src: /src/bind9/lib/dns/include/dns/name.h:1034,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/include/dns/name.h:1037,1
    - Dst: dns_name_getlabelsequence
      Src: /src/bind9/lib/dns/include/dns/name.h:1041,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: 1044
      start: 1022
    functionDepth: 3
    functionLinenumber: 1022
    functionLinenumberEnd: 1044
    functionName: dns_name_split
    functionSourceFile: /src/bind9/lib/dns/include/dns/name.h
    functionUses: 26
    functionsReached:
    - REQUIRE
    - INSIST
    - dns_name_getlabelsequence
    - DNS_NAME_VALID
    - dns_name_countlabels
    - DNS_NAME_BINDABLE
    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: 1023
      start: 1022
    functionDepth: 0
    functionLinenumber: 1022
    functionLinenumberEnd: 1023
    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: 1024
      start: 1023
    functionDepth: 0
    functionLinenumber: 1023
    functionLinenumberEnd: 1024
    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: 1026
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1026
    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: 1028
      start: 1026
    functionDepth: 0
    functionLinenumber: 1026
    functionLinenumberEnd: 1028
    functionName: dns_zone_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/zone.h
    functionUses: 86
    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: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    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: 88
      start: 87
    functionDepth: 0
    functionLinenumber: 87
    functionLinenumberEnd: 88
    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: 0
    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: 35
    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: 10
    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: 97
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 97
    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: 99
      start: 97
    functionDepth: 0
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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: 101
      start: 99
    functionDepth: 0
    functionLinenumber: 99
    functionLinenumberEnd: 101
    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: 103
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 103
    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: 299
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 299
    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: 301
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 301
    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: 303
      start: 301
    functionDepth: 0
    functionLinenumber: 301
    functionLinenumberEnd: 303
    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: 305
      start: 303
    functionDepth: 0
    functionLinenumber: 303
    functionLinenumberEnd: 305
    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:
    - (
    - notify
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 24
    functionDepth: 0
    functionLinenumber: 24
    functionLinenumberEnd: 25
    functionName: DNS_NOTIFY_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/notify.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_NOTIFY_VALID(notify)
  - 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: 264
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 264
    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: 265
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 265
    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: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    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: 268
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 268
    functionName: dns_adb_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/adb.h
    functionUses: 19
    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: 263
      start: 261
    functionDepth: 0
    functionLinenumber: 261
    functionLinenumberEnd: 263
    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: 265
      start: 263
    functionDepth: 0
    functionLinenumber: 263
    functionLinenumberEnd: 265
    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: 267
      start: 265
    functionDepth: 0
    functionLinenumber: 265
    functionLinenumberEnd: 267
    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: 269
      start: 267
    functionDepth: 0
    functionLinenumber: 267
    functionLinenumberEnd: 269
    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: 67
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 67
    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: 68
      start: 67
    functionDepth: 0
    functionLinenumber: 67
    functionLinenumberEnd: 68
    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: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    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: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    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: 8
    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: 66
      start: 64
    functionDepth: 0
    functionLinenumber: 64
    functionLinenumberEnd: 66
    functionName: dns_ntatable_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 2
    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: 68
      start: 66
    functionDepth: 0
    functionLinenumber: 66
    functionLinenumberEnd: 68
    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: 70
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 70
    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: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: dns_ntatable_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/nta.h
    functionUses: 11
    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: 170
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 170
    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: 171
      start: 170
    functionDepth: 0
    functionLinenumber: 170
    functionLinenumberEnd: 171
    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: 173
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 173
    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: 175
      start: 173
    functionDepth: 0
    functionLinenumber: 173
    functionLinenumberEnd: 175
    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: 188
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 188
    functionName: DNS_DB_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 51
    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: 334
      start: 333
    functionDepth: 0
    functionLinenumber: 333
    functionLinenumberEnd: 334
    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: 335
      start: 334
    functionDepth: 0
    functionLinenumber: 334
    functionLinenumberEnd: 335
    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: 337
      start: 335
    functionDepth: 0
    functionLinenumber: 335
    functionLinenumberEnd: 337
    functionName: dns_db_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 61
    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: 338
      start: 337
    functionDepth: 0
    functionLinenumber: 337
    functionLinenumberEnd: 338
    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: 732
      start: 730
    functionDepth: 0
    functionLinenumber: 730
    functionLinenumberEnd: 732
    functionName: dns_db_closeversion
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 79
    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: 769
      start: 767
    functionDepth: 0
    functionLinenumber: 767
    functionLinenumberEnd: 769
    functionName: dns_db_findnode
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 70
    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: 772
      start: 769
    functionDepth: 0
    functionLinenumber: 769
    functionLinenumberEnd: 772
    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: 818
      start: 814
    functionDepth: 0
    functionLinenumber: 814
    functionLinenumberEnd: 818
    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: 823
      start: 818
    functionDepth: 0
    functionLinenumber: 818
    functionLinenumberEnd: 823
    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: 5
    argNames:
    - (
    - source
    - ','
    - targetp
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1006
      start: 1004
    functionDepth: 0
    functionLinenumber: 1004
    functionLinenumberEnd: 1006
    functionName: dns_db_attachnode
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_attachnode(source, targetp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - nodep
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1025
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1025
    functionName: dns_db_detachnode
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 171
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_db_detachnode(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: 1127
      start: 1123
    functionDepth: 0
    functionLinenumber: 1123
    functionLinenumberEnd: 1127
    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: 1180
      start: 1177
    functionDepth: 0
    functionLinenumber: 1177
    functionLinenumberEnd: 1180
    functionName: dns_db_allrdatasets
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 41
    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: 1229
      start: 1225
    functionDepth: 0
    functionLinenumber: 1225
    functionLinenumberEnd: 1229
    functionName: dns_db_addrdataset
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 31
    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: 1299
      start: 1295
    functionDepth: 0
    functionLinenumber: 1295
    functionLinenumberEnd: 1299
    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: 1347
      start: 1345
    functionDepth: 0
    functionLinenumber: 1345
    functionLinenumberEnd: 1347
    functionName: dns_db_deleterdataset
    functionSourceFile: /src/bind9/lib/dns/include/dns/db.h
    functionUses: 23
    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: 1484
      start: 1482
    functionDepth: 0
    functionLinenumber: 1482
    functionLinenumberEnd: 1484
    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: 1545
      start: 1543
    functionDepth: 0
    functionLinenumber: 1543
    functionLinenumberEnd: 1545
    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: 59
    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: 1
    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: 4
    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: 44
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 44
    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: 10
    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: 11
    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: 4
    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: 6
    functionsReached:
    - dns_rdatatype_attributes
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_isknown(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: 728
      start: 725
    functionDepth: 0
    functionLinenumber: 725
    functionLinenumberEnd: 728
    functionName: dns_rdatatype_ismulti
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_ismulti(dns_rdatatype_t type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - type
    argTypes:
    - dns_rdatatype_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 736
      start: 733
    functionDepth: 0
    functionLinenumber: 733
    functionLinenumberEnd: 736
    functionName: dns_rdatatype_issig
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 24
    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: 744
      start: 741
    functionDepth: 0
    functionLinenumber: 741
    functionLinenumberEnd: 744
    functionName: dns_rdatatype_isnsec
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 26
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool dns_rdatatype_isnsec(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: 752
      start: 749
    functionDepth: 0
    functionLinenumber: 749
    functionLinenumberEnd: 752
    functionName: dns_rdatatype_isaddr
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 13
    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: 760
      start: 757
    functionDepth: 0
    functionLinenumber: 757
    functionLinenumberEnd: 760
    functionName: dns_rdatatype_isalias
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdata.h
    functionUses: 4
    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: 770
      start: 766
    functionDepth: 0
    functionLinenumber: 766
    functionLinenumberEnd: 770
    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:37,1
    - Dst: dns__lib_initialize
      Src: /src/bind9/lib/dns/include/dns/lib.h:38,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 35
    functionDepth: 4
    functionLinenumber: 35
    functionLinenumberEnd: 39
    functionName: dns_lib_initialize
    functionSourceFile: /src/bind9/lib/dns/include/dns/lib.h
    functionUses: 0
    functionsReached:
    - dns__lib_initialize
    - isc__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:42,1
    - Dst: isc__lib_shutdown
      Src: /src/bind9/lib/dns/include/dns/lib.h:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 44
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 44
    functionName: dns_lib_shutdown
    functionSourceFile: /src/bind9/lib/dns/include/dns/lib.h
    functionUses: 0
    functionsReached:
    - isc__lib_shutdown
    - dns__lib_shutdown
    linkageType: ''
    returnType: void
    signature: void dns_lib_shutdown(void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - delegset
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 98
    functionDepth: 0
    functionLinenumber: 98
    functionLinenumberEnd: 100
    functionName: DNS_DELEGSET_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/deleg.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_DELEGSET_VALID(delegset)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 0
    functionLinenumber: 102
    functionLinenumberEnd: 104
    functionName: dns_dispatchmgr_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 2
    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: 106
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 106
    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: 108
      start: 106
    functionDepth: 0
    functionLinenumber: 106
    functionLinenumberEnd: 108
    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: 110
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 110
    functionName: dns_dispatchmgr_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 18
    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: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    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: 222
      start: 220
    functionDepth: 0
    functionLinenumber: 220
    functionLinenumberEnd: 222
    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: 224
      start: 222
    functionDepth: 0
    functionLinenumber: 222
    functionLinenumberEnd: 224
    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: 226
      start: 224
    functionDepth: 0
    functionLinenumber: 224
    functionLinenumberEnd: 226
    functionName: dns_dispatch_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dispatch.h
    functionUses: 21
    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: 38
    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: 385
      start: 383
    functionDepth: 0
    functionLinenumber: 383
    functionLinenumberEnd: 385
    functionName: DNS_TRUST_PENDING
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 10
    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: 387
      start: 385
    functionDepth: 0
    functionLinenumber: 385
    functionLinenumberEnd: 387
    functionName: DNS_TRUST_ADDITIONAL
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 1
    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: 388
      start: 387
    functionDepth: 0
    functionLinenumber: 387
    functionLinenumberEnd: 388
    functionName: DNS_TRUST_GLUE
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 3
    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: 389
      start: 388
    functionDepth: 0
    functionLinenumber: 388
    functionLinenumberEnd: 389
    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:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 389
    functionDepth: 0
    functionLinenumber: 389
    functionLinenumberEnd: 390
    functionName: DNS_TRUST_SECURE
    functionSourceFile: /src/bind9/lib/dns/include/dns/types.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TRUST_SECURE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - dbi
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: DNS_DBITERATOR_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 5
    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: 112
      start: 111
    functionDepth: 0
    functionLinenumber: 111
    functionLinenumberEnd: 112
    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: 113
      start: 112
    functionDepth: 0
    functionLinenumber: 112
    functionLinenumberEnd: 113
    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: 116
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 116
    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: 118
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 118
    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: 122
      start: 120
    functionDepth: 0
    functionLinenumber: 120
    functionLinenumberEnd: 122
    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: 140
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 140
    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: 157
      start: 155
    functionDepth: 0
    functionLinenumber: 155
    functionLinenumberEnd: 157
    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: 174
      start: 172
    functionDepth: 0
    functionLinenumber: 172
    functionLinenumberEnd: 174
    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: 5
    argNames:
    - (
    - iterator
    - ','
    - name
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 194
    functionDepth: 0
    functionLinenumber: 194
    functionLinenumberEnd: 196
    functionName: dns_dbiterator_seek3
    functionSourceFile: /src/bind9/lib/dns/include/dns/dbiterator.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dbiterator_seek3(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: 220
      start: 218
    functionDepth: 0
    functionLinenumber: 218
    functionLinenumberEnd: 220
    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: 238
      start: 236
    functionDepth: 0
    functionLinenumber: 236
    functionLinenumberEnd: 238
    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: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    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: 123
      start: 122
    functionDepth: 0
    functionLinenumber: 122
    functionLinenumberEnd: 123
    functionName: dns_dtenv_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/dnstap.h
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dtenv_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: 124
      start: 123
    functionDepth: 0
    functionLinenumber: 123
    functionLinenumberEnd: 124
    functionName: dns_dtenv_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/dnstap.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dtenv_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: 126
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: dns_dtenv_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dnstap.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dtenv_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: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: dns_dtenv_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/dnstap.h
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_dtenv_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: 254
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 254
    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: 256
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 256
    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: 258
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 258
    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: 260
      start: 258
    functionDepth: 0
    functionLinenumber: 258
    functionLinenumberEnd: 260
    functionName: dns_resolver_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/resolver.h
    functionUses: 11
    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: 18
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_REMOTE_VALID(remote)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - covers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 25
      start: 21
    functionDepth: 0
    functionLinenumber: 21
    functionLinenumberEnd: 25
    functionName: DNS__TYPEPAIR_CHECK
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__TYPEPAIR_CHECK(base, covers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - covers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 26
    functionDepth: 0
    functionLinenumber: 26
    functionLinenumberEnd: 27
    functionName: DNS__TYPEPAIR_CHECK
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__TYPEPAIR_CHECK(base, covers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 36
    functionName: DNS_TYPEPAIR_TYPE
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 12
    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: 43
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 43
    functionName: DNS_TYPEPAIR_COVERS
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TYPEPAIR_COVERS(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - covers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 43
    functionDepth: 0
    functionLinenumber: 43
    functionLinenumberEnd: 46
    functionName: DNS__TYPEPAIR_VALUE
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS__TYPEPAIR_VALUE(base, covers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - base
    - ','
    - covers
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 51
      start: 46
    functionDepth: 0
    functionLinenumber: 46
    functionLinenumberEnd: 51
    functionName: DNS_TYPEPAIR_VALUE
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TYPEPAIR_VALUE(base, covers)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 53
    functionName: DNS_TYPEPAIR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_TYPEPAIR(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - type
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 54
    functionName: DNS_SIGTYPEPAIR
    functionSourceFile: /src/bind9/lib/dns/include/dns/rdatatype.h
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DNS_SIGTYPEPAIR(type)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - size
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 180
    functionDepth: 0
    functionLinenumber: 180
    functionLinenumberEnd: 182
    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: 185
      start: 183
    functionDepth: 0
    functionLinenumber: 183
    functionLinenumberEnd: 185
    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: 253
      start: 252
    functionDepth: 0
    functionLinenumber: 252
    functionLinenumberEnd: 253
    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: 254
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 254
    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: 255
      start: 254
    functionDepth: 0
    functionLinenumber: 254
    functionLinenumberEnd: 255
    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: 257
      start: 256
    functionDepth: 0
    functionLinenumber: 256
    functionLinenumberEnd: 257
    functionName: DNS_VIEW_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/view.h
    functionUses: 64
    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: 439
      start: 437
    functionDepth: 0
    functionLinenumber: 437
    functionLinenumberEnd: 439
    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: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    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: 443
      start: 441
    functionDepth: 0
    functionLinenumber: 441
    functionLinenumberEnd: 443
    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: 445
      start: 443
    functionDepth: 0
    functionLinenumber: 443
    functionLinenumberEnd: 445
    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: 448
      start: 446
    functionDepth: 0
    functionLinenumber: 446
    functionLinenumberEnd: 448
    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: 450
      start: 448
    functionDepth: 0
    functionLinenumber: 448
    functionLinenumberEnd: 450
    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: 452
      start: 450
    functionDepth: 0
    functionLinenumber: 450
    functionLinenumberEnd: 452
    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: 454
      start: 452
    functionDepth: 0
    functionLinenumber: 452
    functionLinenumberEnd: 454
    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:
    - (
    - ptr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 41
    functionName: dns_kasp_ref
    functionSourceFile: /src/bind9/lib/dns/include/dns/kasp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_kasp_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: 42
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 42
    functionName: dns_kasp_unref
    functionSourceFile: /src/bind9/lib/dns/include/dns/kasp.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_kasp_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: 44
      start: 42
    functionDepth: 0
    functionLinenumber: 42
    functionLinenumberEnd: 44
    functionName: dns_kasp_attach
    functionSourceFile: /src/bind9/lib/dns/include/dns/kasp.h
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_kasp_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: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: dns_kasp_detach
    functionSourceFile: /src/bind9/lib/dns/include/dns/kasp.h
    functionUses: 21
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: dns_kasp_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: 135
      start: 134
    functionDepth: 0
    functionLinenumber: 134
    functionLinenumberEnd: 135
    functionName: DNS_KASP_VALID
    functionSourceFile: /src/bind9/lib/dns/include/dns/kasp.h
    functionUses: 45
    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_remaininglength
    - REQUIRE
    - isc_buffer_forward
    - isc_buffer_peekuint32
    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:
    - REQUIRE
    - isccc_ccmsg_t*::recv_cb
    - isc_nm_read_stop
    - VALID_CCMSG
    - isc_buffer_copyregion
    - try_parse_message
    - isc_region_consume
    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:
    - REQUIRE
    - isc_buffer_allocate
    - isc_nmhandle_attach
    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:
    - REQUIRE
    - VALID_CCMSG
    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:
    - REQUIRE
    - isc_nm_read
    - isccc_ccmsg_t*::recv_cb
    - isc_buffer_forward
    - isc_buffer_trycompact
    - VALID_CCMSG
    - try_parse_message
    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:
    - REQUIRE
    - isc_nmhandle_detach
    - send_cb
    - VALID_CCMSG
    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_nmhandle_ref
    - REQUIRE
    - isc_nm_send
    - VALID_CCMSG
    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:
    - REQUIRE
    - isc_nm_read_stop
    - isc_nmhandle_detach
    - VALID_CCMSG
    - isc_nmhandle_close
    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:
    - REQUIRE
    - isc_buffer_free
    - VALID_CCMSG
    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:
    - isc_buffer_remaininglength
    - REQUIRE
    - isc_buffer_current
    - VALID_CCMSG
    linkageType: ''
    returnType: void
    signature: void isccc_ccmsg_toregion(isccc_ccmsg_t *ccmsg, isccc_region_t *ccregion)
  - BBCount: 8
    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: RETERR
      Src: /src/bind9/lib/isccc/cc.c:149,1
    - Dst: table_towire
      Src: /src/bind9/lib/isccc/cc.c:149,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:157,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/cc.c:160,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:161,1
    - Dst: isccc_sexpr_listp
      Src: /src/bind9/lib/isccc/cc.c:162,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:166,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isccc/cc.c:170,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:175,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:180,1
    - Dst: list_towire
      Src: /src/bind9/lib/isccc/cc.c:180,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:188,1
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/cc.c:191,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:192,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 47
    argCount: 2
    argNames:
    - elt
    - buffer
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 196
    functionName: value_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - isc_buffer_putmem
    - INSIST
    - isc_buffer_reserve
    - isc_buffer_putuint32
    - isccc_alist_alistp
    - isccc_sexpr_listp
    - isccc_sexpr_binaryp
    - list_towire
    - isccc_sexpr_tobinary
    - table_towire
    - RETERR
    - REGION_SIZE
    - isc_buffer_putuint8
    - isc_buffer_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t value_towire(isccc_sexpr_t *elt, isc_buffer_t **buffer)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_first
      Src: /src/bind9/lib/isccc/cc.c:205,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:206,1
    - Dst: ISCCC_SEXPR_CAR
      Src: /src/bind9/lib/isccc/cc.c:208,1
    - Dst: ISCCC_SEXPR_CAR
      Src: /src/bind9/lib/isccc/cc.c:209,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/cc.c:210,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:211,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:212,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:213,1
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:217,1
    - Dst: isc_buffer_putuint8
      Src: /src/bind9/lib/isccc/cc.c:221,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isccc/cc.c:222,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:226,1
    - Dst: value_towire
      Src: /src/bind9/lib/isccc/cc.c:226,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - alist
    - buffer
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 230
      start: 198
    functionDepth: 3
    functionLinenumber: 198
    functionLinenumberEnd: 230
    functionName: table_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - ISCCC_SEXPR_CAR
    - INSIST
    - isc_buffer_putmem
    - ISCCC_SEXPR_CDR
    - isccc_alist_first
    - isc_buffer_reserve
    - strlen
    - RETERR
    - value_towire
    - isccc_sexpr_tostring
    - isc_buffer_putuint8
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t table_towire(isccc_sexpr_t *alist, isc_buffer_t **buffer)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:235,1
    - Dst: value_towire
      Src: /src/bind9/lib/isccc/cc.c:235,1
    - Dst: ISCCC_SEXPR_CAR
      Src: /src/bind9/lib/isccc/cc.c:235,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - list
    - buffer
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 232
    functionDepth: 3
    functionLinenumber: 232
    functionLinenumberEnd: 240
    functionName: list_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - ISCCC_SEXPR_CDR
    - RETERR
    - value_towire
    - ISCCC_SEXPR_CAR
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t list_towire(isccc_sexpr_t *list, isc_buffer_t **buffer)
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:276,1
    - Dst: isc_hmac
      Src: /src/bind9/lib/isccc/cc.c:276,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:276,1
    - Dst: memset
      Src: /src/bind9/lib/isccc/cc.c:280,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:283,1
    - Dst: isccc_base64_encode
      Src: /src/bind9/lib/isccc/cc.c:283,1
    - Dst: PUT_MEM
      Src: /src/bind9/lib/isccc/cc.c:285,1
    - Dst: PUT_MEM
      Src: /src/bind9/lib/isccc/cc.c:287,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 36
    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: 290
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 290
    functionName: sign
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 21
    functionsReached:
    - PUT_MEM
    - isc_hmac
    - isccc_base64_encode
    - RETERR
    - memset
    - REGION_SIZE
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_reserve
      Src: /src/bind9/lib/isccc/cc.c:298,1
    - Dst: isc_buffer_putuint32
      Src: /src/bind9/lib/isccc/cc.c:309,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isccc/cc.c:319,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isccc/cc.c:325,1
    - Dst: isc_buffer_putmem
      Src: /src/bind9/lib/isccc/cc.c:327,1
    - Dst: isccc_alist_delete
      Src: /src/bind9/lib/isccc/cc.c:339,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:343,1
    - Dst: table_towire
      Src: /src/bind9/lib/isccc/cc.c:343,1
    - Dst: sign
      Src: /src/bind9/lib/isccc/cc.c:345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 26
    argCount: 4
    argNames:
    - alist
    - buffer
    - algorithm
    - secret
    argTypes:
    - isccc_sexpr_t*
    - isc_buffer_t**
    - uint32_t
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 351
      start: 292
    functionDepth: 4
    functionLinenumber: 292
    functionLinenumberEnd: 351
    functionName: isccc_cc_towire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 2
    functionsReached:
    - isc_buffer_putmem
    - isc_buffer_reserve
    - isc_buffer_putuint32
    - isccc_alist_delete
    - table_towire
    - sign
    - RETERR
    - 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: 16
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:367,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:368,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:372,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:374,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/cc.c:376,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:407,1
    - Dst: isc_hmac
      Src: /src/bind9/lib/isccc/cc.c:407,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:407,1
    - Dst: memset
      Src: /src/bind9/lib/isccc/cc.c:413,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:414,1
    - Dst: isccc_base64_encode
      Src: /src/bind9/lib/isccc/cc.c:414,1
    - Dst: isccc_sexpr_tobinary
      Src: /src/bind9/lib/isccc/cc.c:423,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/isccc/cc.c:428,1
    - Dst: isccc_sexpr_tobinary
      Src: /src/bind9/lib/isccc/cc.c:436,1
    - Dst: GET8
      Src: /src/bind9/lib/isccc/cc.c:446,1
    - Dst: isc_safe_memequal
      Src: /src/bind9/lib/isccc/cc.c:448,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 63
    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: 455
      start: 353
    functionDepth: 1
    functionLinenumber: 353
    functionLinenumberEnd: 455
    functionName: verify
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 41
    functionsReached:
    - GET8
    - isc_safe_memequal
    - isccc_alist_alistp
    - isccc_sexpr_binaryp
    - isccc_sexpr_tobinary
    - isc_hmac
    - isccc_base64_encode
    - RETERR
    - isccc_alist_lookup
    - memset
    - REGION_SIZE
    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:478,1
    - Dst: GET8
      Src: /src/bind9/lib/isccc/cc.c:481,1
    - Dst: GET32
      Src: /src/bind9/lib/isccc/cc.c:482,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:483,1
    - Dst: isccc_sexpr_frombinary
      Src: /src/bind9/lib/isccc/cc.c:490,1
    - Dst: table_fromwire
      Src: /src/bind9/lib/isccc/cc.c:498,1
    - Dst: list_fromwire
      Src: /src/bind9/lib/isccc/cc.c:500,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: 506
      start: 465
    functionDepth: 1
    functionLinenumber: 465
    functionLinenumberEnd: 506
    functionName: value_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - GET8
    - list_fromwire
    - GET32
    - table_fromwire
    - REGION_SIZE
    - isccc_sexpr_frombinary
    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:518,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:526,1
    - Dst: REGION_EMPTY
      Src: /src/bind9/lib/isccc/cc.c:531,1
    - Dst: GET8
      Src: /src/bind9/lib/isccc/cc.c:532,1
    - Dst: REGION_SIZE
      Src: /src/bind9/lib/isccc/cc.c:533,1
    - Dst: GET_MEM
      Src: /src/bind9/lib/isccc/cc.c:537,1
    - Dst: value_fromwire
      Src: /src/bind9/lib/isccc/cc.c:540,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/cc.c:544,1
    - Dst: strcmp
      Src: /src/bind9/lib/isccc/cc.c:548,1
    - Dst: verify
      Src: /src/bind9/lib/isccc/cc.c:556,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:571,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: 575
      start: 508
    functionDepth: 2
    functionLinenumber: 508
    functionLinenumberEnd: 575
    functionName: table_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - GET8
    - REQUIRE
    - strcmp
    - verify
    - value_fromwire
    - isccc_sexpr_free
    - REGION_EMPTY
    - isccc_alist_define
    - isccc_alist_create
    - GET_MEM
    - REGION_SIZE
    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:588,1
    - Dst: value_fromwire
      Src: /src/bind9/lib/isccc/cc.c:590,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:592,1
    - Dst: isccc_sexpr_addtolist
      Src: /src/bind9/lib/isccc/cc.c:595,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:596,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:597,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: 605
      start: 577
    functionDepth: 2
    functionLinenumber: 577
    functionLinenumberEnd: 605
    functionName: list_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - isccc_sexpr_addtolist
    - value_fromwire
    - isccc_sexpr_free
    - REGION_EMPTY
    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:613,1
    - Dst: GET32
      Src: /src/bind9/lib/isccc/cc.c:617,1
    - Dst: table_fromwire
      Src: /src/bind9/lib/isccc/cc.c:622,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: 623
      start: 607
    functionDepth: 3
    functionLinenumber: 607
    functionLinenumberEnd: 623
    functionName: isccc_cc_fromwire
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - table_fromwire
    - REGION_SIZE
    - GET32
    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:632,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:638,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:645,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/cc.c:649,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:650,1
    - Dst: isccc_alist_create
      Src: /src/bind9/lib/isccc/cc.c:654,1
    - Dst: isccc_alist_define
      Src: /src/bind9/lib/isccc/cc.c:658,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:659,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/lib/isccc/cc.c:663,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/lib/isccc/cc.c:664,1
    - Dst: isccc_cc_defineuint32
      Src: /src/bind9/lib/isccc/cc.c:666,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:670,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:674,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:683,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: 686
      start: 625
    functionDepth: 1
    functionLinenumber: 625
    functionLinenumberEnd: 686
    functionName: createmessage
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 3
    functionsReached:
    - isccc_cc_definestring
    - REQUIRE
    - isccc_sexpr_free
    - isccc_alist_define
    - isccc_cc_defineuint32
    - isccc_alist_create
    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:692,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: 694
      start: 688
    functionDepth: 2
    functionLinenumber: 688
    functionLinenumberEnd: 694
    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: 4
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:704,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:706,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:707,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/lib/isccc/cc.c:708,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/lib/isccc/cc.c:709,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:717,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:719,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:724,1
    - Dst: createmessage
      Src: /src/bind9/lib/isccc/cc.c:724,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:726,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:731,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:741,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 29
    argCount: 3
    argNames:
    - message
    - ok
    - ackp
    argTypes:
    - isccc_sexpr_t*
    - bool
    - isccc_sexpr_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 696
    functionDepth: 2
    functionLinenumber: 696
    functionLinenumberEnd: 744
    functionName: isccc_cc_createack
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - isccc_cc_definestring
    - REQUIRE
    - isccc_sexpr_free
    - createmessage
    - isccc_alist_alistp
    - isccc_cc_lookupstring
    - RETERR
    - isccc_alist_lookup
    - isccc_cc_lookupuint32
    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:750,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:751,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:754,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - message
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 758
      start: 746
    functionDepth: 1
    functionLinenumber: 746
    functionLinenumberEnd: 758
    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:764,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:765,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:768,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 1
    argNames:
    - message
    argTypes:
    - isccc_sexpr_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 772
      start: 760
    functionDepth: 1
    functionLinenumber: 760
    functionLinenumberEnd: 772
    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: 5
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:782,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:784,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:785,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:786,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:786,1
    - Dst: isccc_cc_lookupuint32
      Src: /src/bind9/lib/isccc/cc.c:787,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:788,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:796,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:798,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/cc.c:803,1
    - Dst: isccc_cc_createmessage
      Src: /src/bind9/lib/isccc/cc.c:803,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:806,1
    - Dst: isccc_alist_lookup
      Src: /src/bind9/lib/isccc/cc.c:812,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:818,1
    - Dst: isccc_cc_definestring
      Src: /src/bind9/lib/isccc/cc.c:819,1
    - Dst: isccc_sexpr_free
      Src: /src/bind9/lib/isccc/cc.c:830,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 36
    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: 832
      start: 774
    functionDepth: 3
    functionLinenumber: 774
    functionLinenumberEnd: 832
    functionName: isccc_cc_createresponse
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 1
    functionsReached:
    - isccc_cc_definestring
    - REQUIRE
    - isccc_sexpr_free
    - isccc_alist_alistp
    - isccc_cc_lookupstring
    - RETERR
    - isccc_cc_createmessage
    - isccc_alist_lookup
    - isccc_cc_lookupuint32
    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:839,1
    - Dst: UNCONST
      Src: /src/bind9/lib/isccc/cc.c:840,1
    - Dst: isccc_alist_definebinary
      Src: /src/bind9/lib/isccc/cc.c:843,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - alist
    - key
    - str
    argTypes:
    - isccc_sexpr_t*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 844
      start: 834
    functionDepth: 1
    functionLinenumber: 834
    functionLinenumberEnd: 844
    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:852,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:853,1
    - Dst: isccc_alist_definebinary
      Src: /src/bind9/lib/isccc/cc.c:857,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: 858
      start: 846
    functionDepth: 1
    functionLinenumber: 846
    functionLinenumberEnd: 858
    functionName: isccc_cc_defineuint32
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 2
    functionsReached:
    - snprintf
    - strlen
    - 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: 3
    BranchProfiles: []
    Callsites:
    - Dst: REQUIRE
      Src: /src/bind9/lib/isccc/cc.c:864,1
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/cc.c:866,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:868,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/cc.c:869,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccc/cc.c:870,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/cc.c:870,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 3
    argNames:
    - alist
    - key
    - strp
    argTypes:
    - isccc_sexpr_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 878
      start: 860
    functionDepth: 1
    functionLinenumber: 860
    functionLinenumberEnd: 878
    functionName: isccc_cc_lookupstring
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 6
    functionsReached:
    - REQUIRE
    - ISCCC_SEXPR_CDR
    - SET_IF_NOT_NULL
    - isccc_sexpr_binaryp
    - isccc_sexpr_tostring
    - isccc_alist_assq
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccc_cc_lookupstring(isccc_sexpr_t *alist, const char
      *key, char **strp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/cc.c:884,1
    - Dst: ISCCC_SEXPR_CDR
      Src: /src/bind9/lib/isccc/cc.c:886,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/cc.c:887,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccc/cc.c:888,1
    - Dst: strtoul
      Src: /src/bind9/lib/isccc/cc.c:888,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/cc.c:889,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - alist
    - key
    - uintp
    argTypes:
    - isccc_sexpr_t*
    - char*
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 898
      start: 880
    functionDepth: 1
    functionLinenumber: 880
    functionLinenumberEnd: 898
    functionName: isccc_cc_lookupuint32
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 3
    functionsReached:
    - ISCCC_SEXPR_CDR
    - SET_IF_NOT_NULL
    - strtoul
    - isccc_sexpr_binaryp
    - isccc_sexpr_tostring
    - isccc_alist_assq
    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:902,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:903,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:904,1
    - Dst: free
      Src: /src/bind9/lib/isccc/cc.c:906,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: 907
      start: 900
    functionDepth: 0
    functionLinenumber: 900
    functionLinenumberEnd: 907
    functionName: symtab_undefine
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 4
    functionsReached:
    - free
    - UNUSED
    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:913,1
    - Dst: UNUSED
      Src: /src/bind9/lib/isccc/cc.c:914,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: 925
      start: 909
    functionDepth: 0
    functionLinenumber: 909
    functionLinenumberEnd: 925
    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:929,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - mctx
    - symtabp
    argTypes:
    - isc_mem_t*
    - isc_symtab_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 927
    functionDepth: 4
    functionLinenumber: 927
    functionLinenumberEnd: 930
    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:934,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - symtab
    - now
    argTypes:
    - isc_symtab_t*
    - isccc_time_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 935
      start: 932
    functionDepth: 4
    functionLinenumber: 932
    functionLinenumberEnd: 935
    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: 950
      start: 937
    functionDepth: 0
    functionLinenumber: 937
    functionLinenumberEnd: 950
    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:964,1
    - Dst: isccc_alist_alistp
      Src: /src/bind9/lib/isccc/cc.c:965,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:966,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:967,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:972,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:973,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:979,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:983,1
    - Dst: isccc_cc_lookupstring
      Src: /src/bind9/lib/isccc/cc.c:986,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/cc.c:990,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:996,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:996,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:997,1
    - Dst: has_whitespace
      Src: /src/bind9/lib/isccc/cc.c:997,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1001,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1001,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1001,1
    - Dst: strlen
      Src: /src/bind9/lib/isccc/cc.c:1001,1
    - Dst: malloc
      Src: /src/bind9/lib/isccc/cc.c:1002,1
    - Dst: snprintf
      Src: /src/bind9/lib/isccc/cc.c:1006,1
    - Dst: isc_symtab_define
      Src: /src/bind9/lib/isccc/cc.c:1008,1
    - Dst: free
      Src: /src/bind9/lib/isccc/cc.c:1011,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: 1016
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 1016
    functionName: isccc_cc_checkdup
    functionSourceFile: /src/bind9/lib/isccc/cc.c
    functionUses: 0
    functionsReached:
    - has_whitespace
    - isc_symtab_define
    - INSIST
    - isccc_alist_alistp
    - isccc_cc_lookupstring
    - snprintf
    - strlen
    - isccc_alist_lookup
    - free
    - malloc
    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:
    - CDR
    - malloc
    - CAR
    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
    - free
    - malloc
    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:
    - free
    - malloc
    - memmove
    - REGION_SIZE
    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:
    - CDR
    - free
    - CAR
    - isccc_sexpr_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:
    - printable
    - CDR
    - CAR
    - fprintf
    - isccc_sexpr_print
    - REGION_SIZE
    - UNREACHABLE
    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:
    - REQUIRE
    - CAR
    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:
    - REQUIRE
    - CAR
    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:
    - REQUIRE
    - CDR
    - isccc_sexpr_cons
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/base64.c:48,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/base64.c:51,1
    - Dst: isc_base64_totext
      Src: /src/bind9/lib/isccc/base64.c:51,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isccc/base64.c:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 4
    argNames:
    - source
    - wordlength
    - wordbreak
    - target
    argTypes:
    - isccc_region_t*
    - int
    - char*
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 40
    functionDepth: 2
    functionLinenumber: 40
    functionLinenumberEnd: 55
    functionName: isccc_base64_encode
    functionSourceFile: /src/bind9/lib/isccc/base64.c
    functionUses: 2
    functionsReached:
    - isc_buffer_used
    - isc_base64_totext
    - RETERR
    - isc_buffer_init
    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: 1
    BranchProfiles: []
    Callsites:
    - Dst: isc_buffer_init
      Src: /src/bind9/lib/isccc/base64.c:61,1
    - Dst: RETERR
      Src: /src/bind9/lib/isccc/base64.c:63,1
    - Dst: isc_base64_decodestring
      Src: /src/bind9/lib/isccc/base64.c:63,1
    - Dst: isc_buffer_used
      Src: /src/bind9/lib/isccc/base64.c:64,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - cstr
    - target
    argTypes:
    - char*
    - isccc_region_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 57
    functionDepth: 3
    functionLinenumber: 57
    functionLinenumberEnd: 66
    functionName: isccc_base64_decode
    functionSourceFile: /src/bind9/lib/isccc/base64.c
    functionUses: 1
    functionsReached:
    - isc_base64_decodestring
    - isc_buffer_used
    - RETERR
    - isc_buffer_init
    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_free
    - isccc_sexpr_fromstring
    - isccc_sexpr_cons
    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:
    - REQUIRE
    - CDR
    - CAR
    - strcmp
    - INSIST
    - isccc_alist_alistp
    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:
    - REQUIRE
    - CDR
    - CAR
    - strcmp
    - isccc_sexpr_free
    - INSIST
    - isccc_alist_alistp
    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:
    - CDR
    - isccc_sexpr_free
    - isccc_sexpr_addtolist
    - isccc_sexpr_fromstring
    - isccc_sexpr_cons
    - isccc_alist_assq
    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_sexpr_free
    - isccc_alist_define
    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_free
    - isccc_sexpr_frombinary
    - isccc_alist_define
    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:
    - CDR
    - isccc_alist_assq
    linkageType: ''
    returnType: isccc_sexpr_t
    signature: 'isccc_sexpr_t *

      isccc_alist_lookup(isccc_sexpr_t *alist, const char *key)'
  - BBCount: 3
    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: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccc/alist.c:244,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/alist.c:244,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - alist
    - key
    - strp
    argTypes:
    - isccc_sexpr_t*
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 252
      start: 236
    functionDepth: 2
    functionLinenumber: 236
    functionLinenumberEnd: 252
    functionName: isccc_alist_lookupstring
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 0
    functionsReached:
    - CDR
    - isccc_sexpr_stringp
    - SET_IF_NOT_NULL
    - isccc_sexpr_tostring
    - isccc_alist_assq
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t isccc_alist_lookupstring(isccc_sexpr_t *alist, const char
      *key, char **strp)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: isccc_alist_assq
      Src: /src/bind9/lib/isccc/alist.c:259,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:261,1
    - Dst: isccc_sexpr_binaryp
      Src: /src/bind9/lib/isccc/alist.c:262,1
    - Dst: SET_IF_NOT_NULL
      Src: /src/bind9/lib/isccc/alist.c:263,1
    - Dst: isccc_sexpr_tobinary
      Src: /src/bind9/lib/isccc/alist.c:263,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 3
    argNames:
    - alist
    - key
    - r
    argTypes:
    - isccc_sexpr_t*
    - char*
    - isccc_region_t**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 254
    functionDepth: 2
    functionLinenumber: 254
    functionLinenumberEnd: 271
    functionName: isccc_alist_lookupbinary
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 0
    functionsReached:
    - CDR
    - SET_IF_NOT_NULL
    - isccc_sexpr_binaryp
    - isccc_sexpr_tobinary
    - isccc_alist_assq
    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:278,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:279,1
    - Dst: isccc_alist_first
      Src: /src/bind9/lib/isccc/alist.c:281,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:282,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:284,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:285,1
    - Dst: isccc_sexpr_listp
      Src: /src/bind9/lib/isccc/alist.c:285,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:286,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:287,1
    - Dst: INSIST
      Src: /src/bind9/lib/isccc/alist.c:288,1
    - Dst: isccc_sexpr_stringp
      Src: /src/bind9/lib/isccc/alist.c:288,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:289,1
    - Dst: isccc_sexpr_tostring
      Src: /src/bind9/lib/isccc/alist.c:290,1
    - Dst: isccc_alist_prettyprint
      Src: /src/bind9/lib/isccc/alist.c:291,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:292,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:293,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:295,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:298,1
    - Dst: isccc_sexpr_listp
      Src: /src/bind9/lib/isccc/alist.c:299,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:300,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:302,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:303,1
    - Dst: isccc_alist_prettyprint
      Src: /src/bind9/lib/isccc/alist.c:304,1
    - Dst: CAR
      Src: /src/bind9/lib/isccc/alist.c:304,1
    - Dst: CDR
      Src: /src/bind9/lib/isccc/alist.c:305,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:306,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:308,1
    - Dst: fprintf
      Src: /src/bind9/lib/isccc/alist.c:311,1
    - Dst: isccc_sexpr_print
      Src: /src/bind9/lib/isccc/alist.c:313,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: 315
      start: 273
    functionDepth: 2
    functionLinenumber: 273
    functionLinenumberEnd: 315
    functionName: isccc_alist_prettyprint
    functionSourceFile: /src/bind9/lib/isccc/alist.c
    functionUses: 1
    functionsReached:
    - CDR
    - isccc_sexpr_stringp
    - CAR
    - INSIST
    - isccc_alist_alistp
    - fprintf
    - isccc_alist_first
    - isccc_sexpr_listp
    - isccc_sexpr_print
    - isccc_alist_prettyprint
    - isccc_sexpr_tostring
    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: 162
    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: 9
    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: 9
    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: 0
    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: 3
    functionLinenumber: 100
    functionLinenumberEnd: 117
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_qp.c
    functionUses: 0
    functionsReached:
    - UNUSED
    - qp_test_keytoascii
    - memmove
    - isc_random_uniform
    - random_byte
    - ARRAY_SIZE
    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].exists == (item[i].refcount != 0))
      pos:
        line_end: 210
        line_start: 210
        source_file: /src/bind9/fuzz/dns_qp.c
    - condition: (item[i].refcount == 0)
      pos:
        line_end: 219
        line_start: 219
        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:
    - isc_mem_create
    - assert
    - isc_result_toid
    - qp_test_dumpqp
    - dns_qp_deletekey
    - isc_mem_detach
    - dns_qp_getkey
    - TRACE
    - dns_qp_destroy
    - isc_mem_setdestroycheck
    - ASSERT
    - dns_qp_insert
    - isc_mem_checkdestroyed
    - dns_qp_create
    - UNREACHABLE
    - ARRAY_SIZE
    - qp_test_dumptrie
    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:
    - isc_mem_create
    - isc_lex_setcomments
    - isc_lex_create
    - memset
    - isc_lex_setspecials
    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:
    - UNUSED
    - fprintf
    - va_start
    - va_end
    - 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: 66
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - 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: (rdata3.length == size)
      pos:
        line_end: 198
        line_start: 198
        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: 185
        line_start: 185
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    - condition: (result == ISC_R_SUCCESS)
      pos:
        line_end: 154
        line_start: 154
        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: (target.used == size)
      pos:
        line_end: 209
        line_start: 209
        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: (rdata1.length == size)
      pos:
        line_end: 147
        line_start: 147
        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: 197
        line_start: 197
        source_file: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    constantsTouched: []
    func_position:
      end: 215
      start: 76
    functionDepth: 6
    functionLinenumber: 76
    functionLinenumberEnd: 215
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_rdata_fromwire_text.c
    functionUses: 0
    functionsReached:
    - isc_buffer_usedlength
    - fprintf
    - dns_rdata_totext
    - isc_buffer_add
    - dns_master_styleflags
    - dns_rdata_towire
    - assert
    - memcmp
    - dns_rdata_fromwire
    - isc_lex_openbuffer
    - isc_buffer_init
    - dns_compress_invalidate
    - dns_rdatacallbacks_init
    - dns_rdatatype_format
    - isc_buffer_setactive
    - dns_rdata_tofmttext
    - strncmp
    - dns_rdata_fromtext
    - CHECK
    - dns_rdatatype_ismeta
    - isc_buffer_constinit
    - 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:49,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:50,1
    - Dst: dns_fixedname_initname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:51,1
    - Dst: isc_buffer_constinit
      Src: /src/bind9/fuzz/dns_qpkey_name.c:53,1
    - Dst: isc_buffer_add
      Src: /src/bind9/fuzz/dns_qpkey_name.c:54,1
    - Dst: isc_buffer_setactive
      Src: /src/bind9/fuzz/dns_qpkey_name.c:55,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_qpkey_name.c:57,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/fuzz/dns_qpkey_name.c:57,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:60,1
    - Dst: dns_qpkey_toname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:61,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:63,1
    - Dst: dns_name_equal
      Src: /src/bind9/fuzz/dns_qpkey_name.c:63,1
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:64,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_qpkey_name.c:67,1
    - Dst: dns_name_fromwire
      Src: /src/bind9/fuzz/dns_qpkey_name.c:67,1
    - Dst: dns_qpkey_fromname
      Src: /src/bind9/fuzz/dns_qpkey_name.c:69,1
    - Dst: ISC_MIN
      Src: /src/bind9/fuzz/dns_qpkey_name.c:71,1
    - Dst: dns_name_compare
      Src: /src/bind9/fuzz/dns_qpkey_name.c:73,1
    - Dst: memcmp
      Src: /src/bind9/fuzz/dns_qpkey_name.c:74,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
    - Dst: assert
      Src: /src/bind9/fuzz/dns_qpkey_name.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: ((namerel > 0) == (keyrel > 0))
      pos:
        line_end: 77
        line_start: 77
        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: 78
        line_start: 78
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    - condition: (space == DNS_DBNAMESPACE_NORMAL)
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/fuzz/dns_qpkey_name.c
    - condition: (dns_name_equal(namein, nameout))
      pos:
        line_end: 62
        line_start: 62
        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
    constantsTouched: []
    func_position:
      end: 83
      start: 40
    functionDepth: 4
    functionLinenumber: 40
    functionLinenumberEnd: 83
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_qpkey_name.c
    functionUses: 0
    functionsReached:
    - dns_qpkey_toname
    - assert
    - dns_name_equal
    - ISC_MIN
    - isc_buffer_setactive
    - memcmp
    - isc_buffer_add
    - dns_fixedname_initname
    - CHECK
    - dns_name_compare
    - isc_buffer_constinit
    - dns_name_fromwire
    - dns_qpkey_fromname
    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: 12
    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: CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:82,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:82,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:98,1
    - Dst: dns_rdataclass_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:98,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:103,1
    - Dst: isc_lex_gettoken
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:103,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:120,1
    - Dst: dns_rdatatype_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:120,1
    - Dst: dns_rdata_fromtext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:126,1
    - Dst: fprintf
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:129,1
    - Dst: isc_result_totext
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:130,1
    - Dst: isc_lex_close
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:134,1
    - Dst: isc_lex_destroy
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:135,1
    - Dst: isc_mem_detach
      Src: /src/bind9/fuzz/dns_rdata_fromtext.c:136,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 65
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 46
    functionDepth: 6
    functionLinenumber: 46
    functionLinenumberEnd: 138
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_rdata_fromtext.c
    functionUses: 0
    functionsReached:
    - isc_mem_create
    - isc_lex_setcomments
    - isc_lex_gettoken
    - fprintf
    - isc_buffer_add
    - RUNTIME_CHECK
    - isc_lex_openbuffer
    - dns_rdatatype_fromtext
    - isc_lex_create
    - isc_buffer_init
    - isc_result_totext
    - isc_buffer_setactive
    - dns_rdata_fromtext
    - CHECK
    - isc_lex_destroy
    - dns_rdataclass_fromtext
    - isc_lex_close
    - isc_mem_detach
    - isc_buffer_constinit
    - isc_lex_setspecials
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - 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:
    - close
    - fprintf
    - malloc
    - printf
    - open
    - fflush
    - read
    - fstat
    - free
    - strerror
    - LLVMFuzzerTestOneInput
    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
    - snprintf
    - strlen
    - 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: 189
    functionsReached:
    - strcmp
    - LLVMFuzzerInitialize
    - fprintf
    - test_one_file
    - POST
    - snprintf
    - strrchr
    - strncmp
    - 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: 7
    functionLinenumber: 127
    functionLinenumberEnd: 238
    functionName: LLVMFuzzerInitialize
    functionSourceFile: /src/bind9/fuzz/dns_message_checksig.c
    functionUses: 1
    functionsReached:
    - isc_mem_create
    - mkdtemp
    - dns_zone_load
    - dns_zone_detach
    - fprintf
    - dns_tsigkey_create
    - dns_tsigkeyring_add
    - dns_zone_setfile
    - dns_zone_setview
    - fclose
    - dns_view_create
    - dns_zone_setclass
    - dns_tsigkeyring_create
    - fopen
    - snprintf
    - dns_zone_settype
    - fputs
    - dns_zone_create
    - isc_result_totext
    - isc_loopmgr_create
    - dns_view_addzone
    - dns_name_fromstring
    - dns_zone_setorigin
    - dns_view_freeze
    - dns_fixedname_initname
    - dns_zone_setkeydirectory
    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:
    - dns_message_totext
    - isc_buffer_putmem
    - isc_buffer_putuint32
    - dns_message_create
    - fprintf
    - dns_message_parse
    - isc_buffer_putuint16
    - isc_buffer_availablelength
    - isc_buffer_putuint8
    - dns_message_detach
    - isc_buffer_init
    - isc_result_totext
    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:
    - dns_message_setquerytsig
    - isc_buffer_putmem
    - fprintf
    - isc_buffer_putuint32
    - dns_message_checksig
    - dns_tsigrcode_totext
    - isc_buffer_putuint16
    - create_message
    - dns_view_setkeyring
    - dns_message_detach
    - dns_message_settsigkey
    - isc_buffer_init
    - isc_result_totext
    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_mem_create
    - isc_lex_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: 11
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 37
    functionDepth: 3
    functionLinenumber: 37
    functionLinenumberEnd: 55
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/isc_lex_gettoken.c
    functionUses: 1
    functionsReached:
    - isc_lex_gettoken
    - isc_buffer_setactive
    - isc_lex_openbuffer
    - isc_buffer_add
    - CHECK
    - 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_create
    - isc_mem_get
    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_create
    - dns_message_detach
    - dns_message_parse
    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:
    - dns_message_totext
    - isc_mem_put
    - isc_mem_get
    - isc_buffer_usedlength
    - fprintf
    - isc_buffer_init
    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:
    - CHECKRESULT
    - dns_compress_invalidate
    - parse_message
    - dns_message_renderend
    - dns_message_renderbegin
    - dns_message_rendersection
    - dns_message_detach
    - isc_buffer_init
    - dns_compress_init
    linkageType: ''
    returnType: isc_result_t
    signature: isc_result_t render_message(dns_message_t **messagep)
  - BBCount: 3
    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: CHECK
      Src: /src/bind9/fuzz/dns_message_parse.c:159,1
    - Dst: parse_message
      Src: /src/bind9/fuzz/dns_message_parse.c:159,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_message_parse.c:161,1
    - Dst: print_message
      Src: /src/bind9/fuzz/dns_message_parse.c:161,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_message_parse.c:163,1
    - Dst: render_message
      Src: /src/bind9/fuzz/dns_message_parse.c:163,1
    - Dst: CHECK
      Src: /src/bind9/fuzz/dns_message_parse.c:165,1
    - Dst: print_message
      Src: /src/bind9/fuzz/dns_message_parse.c:165,1
    - Dst: dns_message_detach
      Src: /src/bind9/fuzz/dns_message_parse.c:169,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 173
      start: 145
    functionDepth: 12
    functionLinenumber: 145
    functionLinenumberEnd: 173
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/dns_message_parse.c
    functionUses: 1
    functionsReached:
    - parse_message
    - print_message
    - isc_buffer_setactive
    - render_message
    - isc_buffer_add
    - CHECK
    - isc_buffer_constinit
    - dns_message_detach
    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_db_endload
    - isc_mem_create
    - dns_db_detach
    - dns_rdatacallbacks_init
    - dns_db_create
    - fprintf
    - isc_buffer_setactive
    - isc_mem_detach
    - isc_buffer_add
    - dns_db_beginload
    - dns_master_loadbuffer
    - isc_buffer_constinit
    - isc_result_totext
    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
    - fprintf
    - isc_buffer_setactive
    - dns_fixedname_name
    - isc_buffer_add
    - dns_fixedname_init
    - isc_buffer_constinit
    - isc_result_totext
    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:
    - REQUIRE
    - ISC_BUFFER_VALID
    - isc_buffer_current
    - FATAL_ERROR
    - isc_buffer_forward
    - INIT_OFFSETS
    - VALID_NAME
    - BINDABLE
    - isc_buffer_availablelength
    - isc_ascii_tolower
    - isc_buffer_add
    - isc_buffer_used
    - isc_buffer_clear
    - MAKE_EMPTY
    - dns_decompress_getpermitted
    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_mem_create
    - isc_lex_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: 20
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 76
      start: 44
    functionDepth: 4
    functionLinenumber: 44
    functionLinenumberEnd: 76
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/bind9/fuzz/isc_lex_getmastertoken.c
    functionUses: 1
    functionsReached:
    - memmove
    - isc_lex_getmastertoken
    - isc_buffer_setactive
    - isc_lex_openbuffer
    - isc_buffer_add
    - CHECK
    - 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:
    - REQUIRE
    - alarm
    - dns_name_equal
    - isc_buffer_forward
    - isc_buffer_setactive
    - isc_buffer_add
    - dns_fixedname_initname
    - old_name_fromwire
    - isc_buffer_constinit
    - dns_name_fromwire
    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: 189
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_DigestSign
    - EVP_PKEY_keygen
    - EVP_MD_CTX_create
    - printf
    - EVP_PKEY_CTX_new_id
    - EVP_PKEY_keygen_init
    - ERR_clear_error
    - EVP_DigestSignInit
    - EVP_PKEY_free
    - EVP_PKEY_get_raw_public_key
    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: 189
    functionsReached:
    - EVP_MD_CTX_free
    - EVP_PKEY_get_bn_param
    - BN_bn2bin
    - EVP_PKEY_keygen_init
    - ERR_clear_error
    - EVP_MD_CTX_create
    - EVP_PKEY_CTX_set1_rsa_keygen_pubexp
    - EVP_SignFinal
    - EVP_PKEY_CTX_new_from_name
    - BN_new
    - EVP_DigestInit_ex
    - BN_num_bytes
    - printf
    - EVP_sha1
    - EVP_sha256
    - BN_set_bit
    - EVP_PKEY_CTX_set_rsa_keygen_bits
    - EVP_PKEY_keygen
    - EVP_DigestUpdate
    - EVP_PKEY_free
    - EVP_sha512
    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_negative_sink__
    - __coverity_panic__
    - __coverity_alloc__
    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_free__
    - __coverity_panic__
    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_free__
    - __coverity_panic__
    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_negative_sink__
    - __coverity_panic__
    - __coverity_alloc__
    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:
    - memcpy
    - __coverity_panic__
    - isc__mem_allocate
    - __coverity_free__
    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_free__
    - __coverity_panic__
    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:
    - __coverity_writeall__
    - strlen
    - __coverity_panic__
    - __coverity_alloc__
    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_panic__
    - __coverity_alloc__
    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_free__
    - __coverity_panic__
    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_master_load.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- sys/prctl.h
- dns/keydata.h
- isc/once.h
- stdint.h
- isc/md.h
- qpzone.c
- urcu/wfstack.h
- dns/lib.h
- dns/secalg.h
- confgen/os.h
- dst_parse.h
- dns/tls.h
- dns/dnstap.h
- isccc/types.h
- dns/nsec.h
- assert.h
- dns/journal.h
- ns/client.h
- dns/dnssec.h
- named/tsigconf.h
- isccc/cc.h
- regex.h
- linkhash.h
- xsl_p.h
- dns/acl.h
- dns/opcode.h
- ns/listenlist.h
- dnsstream_utils_test_data.h
- dns/rrl.h
- isc/sockaddr.h
- dns/deleg.h
- dns/notify.h
- isc/net.h
- locale.h
- stdckdint.h
- openssl/bn.h
- openssl/dh.h
- named/server.h
- hashmap_nodes.h
- ../openssl_shim.h
- isc/list.h
- isc/os.h
- dst_openssl.h
- libxml/parser.h
- dns/db.h
- openssl_shim.h
- isc/safe.h
- dns/zonemgr.h
- dns/skr.h
- ns/server.h
- isccfg/aclconf.h
- isc/formatcheck.h
- dns/validator.h
- dns/masterdump.h
- ../isc/openssl_shim.h
- isccfg/duration.h
- stdio.h
- gperftools/profiler.h
- isc/httpd.h
- dns/rriterator.h
- isc/sieve.h
- isc/region.h
- openssl/opensslv.h
- dns/zone.h
- named/transportconf.h
- krb5.h
- getopt.h
- isc/lib.h
- old.h
- stdatomic.h
- openssl/provider.h
- threads.h
- ctype.h
- named/fuzz.h
- dns/catz.h
- stdbool.h
- sys/resource.h
- isc/hmac.h
- stddef.h
- uv.c
- linux/netlink.h
- isc/counter.h
- isc/string.h
- isc/ratelimiter.h
- pthread.h
- sys/processor.h
- isc/getaddresses.h
- dns/ssu.h
- dns/transport.h
- sys/uio.h
- dns/rdatasetiter.h
- isc/time.h
- isc/readline.h
- tests/dns.h
- isc/barrier.h
- jemalloc/jemalloc.h
- sys/procset.h
- dns/rdata.h
- openssl/err.h
- syscall.h
- isc/portset.h
- isc/attributes.h
- ../dns/deleg.c
- x86intrin.h
- isc/netmgr.h
- ../ns/hooks.c
- dns/keyvalues.h
- isc/signal.h
- dns/zonefetch.h
- fcntl.h
- isccfg/kaspconf.h
- isccc/util.h
- dns/zoneproperties.h
- isc/backtrace.h
- libscf.h
- defaultconfig.h
- isc/stdtime.h
- dns/geoip.h
- dns/edns.h
- dns/trace.h
- isc/slist.h
- stdalign.h
- isccfg/cfg.h
- isc/parseint.h
- sys/capability.h
- dns/dbiterator.h
- time.h
- dns/rdataslab.h
- fstrm.h
- isc/loop.h
- execinfo.h
- isc/regex.h
- isc/histo.h
- openssl/evp.h
- named/main.h
- openssl/ec.h
- isc/work.h
- ns/hooks.h
- isc/utf8.h
- netmgr-int.h
- json_object.h
- openssl/x509.h
- netmgr/udp.c
- openssl/crypto.h
- lmdb.h
- syslog.h
- isc/crypto.h
- isc/types.h
- isc/errno.h
- dns/request.h
- sys/types.h
- urcu/rculist.h
- dns/compress.h
- dns/dlz_dlopen.h
- dighost.h
- timer.c
- ns/types.h
- isc/ascii.h
- ns/interfacemgr.h
- dns/forward.h
- dns/iptable.h
- inttypes.h
- named/builtin.h
- libxml/xmlwriter.h
- ns/update.h
- arpa/inet.h
- ns/xfrout.h
- dns/rcode.h
- isc/endian.h
- isc/managers.h
- isc/ossl_wrap.h
- sys/endian.h
- isc/urcu.h
- dns/adb.h
- qpcache.c
- isc/async.h
- md.c
- openssl/x509_vfy.h
- isccfg/namedconf.h
- qp_p.h
- dns/zt.h
- openssl/store.h
- dns/dsdigest.h
- openssl/ecdsa.h
- endian.h
- named/geoip.h
- dns/badcache.h
- openssl/objects.h
- isc/statsmulti.h
- dns/ds.h
- malloc.h
- netmgr_common.h
- named/tkeyconf.h
- isccc/base64.h
- urcu/ref.h
- rdataslab_p.h
- stdarg.h
- dns/dyndb.h
- dns/client.h
- math.h
- immintrin.h
- named/logconf.h
- netmgr/netmgr-int.h
- probes-isc.h
- synch.h
- byteswap.h
- dns/remote.h
- dns/update.h
- loop_p.h
- urcu-qsbr.h
- gssapi_krb5.h
- named/smf_globals.h
- isc/overflow.h
- bind.keys.h
- unistd.h
- qpcache_p.h
- isccc/ccmsg.h
- sys/sysctl.h
- isc/atomic.h
- async.c
- named/nzd.h
- isc/url.h
- malloc/malloc.h
- isc/hashmap.h
- isc/dnsstream.h
- gssapi/gssapi_krb5.h
- dns/tkey.h
- dns/xfrin.h
- isc/netscope.h
- proxyheader_test_data.h
- picohttpparser.h
- named/os.h
- named/types.h
- isc/assertions.h
- isc/timer.h
- dlz_p.h
- dns/name.h
- dns/time.h
- dns/callbacks.h
- sys/cpuset.h
- sys/mman.h
- isc/mutex.h
- sys/byteorder.h
- isc/stats.h
- isc/interfaceiter.h
- dns/clientinfo.h
- dns/dispatch.h
- protobuf-c/protobuf-c.h
- dns/rdataclass.h
- json_c_version.h
- libkern/OSByteOrder.h
- thread_p.h
- sys/un.h
- isc/base64.h
- dst_internal.h
- isc/helper.h
- dns/secproto.h
- dnstap.pb-c.h
- isc/syslog.h
- dns/types.h
- dst/dst.h
- isc/util.h
- dns/rdatalist.h
- malloc_np.h
- openssl/rand.h
- isc/bit.h
- ../loop_p.h
- openssl/core_names.h
- dlz/dlz_dlopen_driver.h
- zlib.h
- isc/heap.h
- tests/isc.h
- mem_p.h
- glob.h
- isc/buffer.h
- dns/result.h
- named/statschannel.h
- keygen.h
- isc/tm.h
- sys/time.h
- isc/fuzz.h
- dns/nametree.h
- isc/lex.h
- dns/keytable.h
- gssapi/gssapi.h
- dns/rootns.h
- probes-ns.h
- dns/keyflags.h
- netmgr/socket.c
- dns/ede.h
- stdlib.h
- isc/meminfo.h
- openssl/sha.h
- zone_p.h
- urcu/list.h
- grp.h
- libxml/xmlversion.h
- isc/hex.h
- os_p.h
- netinet/in.h
- named/zoneconf.h
- dns/zoneverify.h
- ns/notify.h
- uv_wrap.h
- errno2result.h
- dns/cache.h
- isc/ht.h
- dns/ncache.h
- dns/nta.h
- tests/ns.h
- dns/cert.h
- dns/keystore.h
- netmgr/http.c
- acl_p.h
- uv.h
- dns/unreachcache.h
- openssl/x509v3.h
- isc/log.h
- isc/serial.h
- work.c
- hashmap.c
- ../../lib/dns/ede.c
- db.h
- isc/iterated_hash.h
- named/log.h
- dns/byaddr.h
- isc/netaddr.h
- urcu/system.h
- isccc/alist.h
- openssl/conf.h
- urcu-pointer.h
- dns/message.h
- openssl/param_build.h
- dns/master.h
- sys/stat.h
- isc/symtab.h
- dns/nsec3.h
- isccc/sexpr.h
- ../qp.c
- dns/order.h
- isc/rwlock.h
- urcu/rculfhash.h
- libgen.h
- isc/stdio.h
- net/if.h
- dns/dsync.h
- krb5/krb5.h
- strings.h
- isc/nonce.h
- code.h
- dns/rdatastruct.h
- pwd.h
- dns/ttl.h
- irs/resconf.h
- dns/dns64.h
- ../isc/openssl_shim.c
- dns/stats.h
- cmocka.h
- dns/kasp.h
- isc/xml.h
- urcu.h
- geoip2.c
- isc/proxy2.h
- isc/pause.h
- net/if6.h
- editline/readline.h
- isccfg/grammar.h
- dns/rdatatype.h
- err.h
- ngtcp2/ngtcp2.h
- job_p.h
- dirent.h
- isc/random.h
- log.h
- time.c
- dns/peer.h
- ns/query.h
- syncptr.h
- ifaddrs.h
- urcu-bp.h
- isc/dir.h
- signal.h
- ratelimiter.c
- dns/rdataset.h
- isc/spinlock.h
- util.h
- isc/base32.h
- dyndb_p.h
- limits.h
- dns/fixedname.h
- sys/malloc.h
- ns/stats.h
- isc/siphash.h
- idn2.h
- isccc/symtype.h
- isccfg/check.h
- async_p.h
- dns/enumclass.h
- dns/bit.h
- lwp.h
- netdb.h
- isc/refcount.h
- update.c
- pthread_np.h
- named/control.h
- isc/tls.h
- dns/private.h
- dns/view.h
- tests/qp.h
- isc/mem.h
- openssl/rsa.h
- sys/socket.h
- nmmintrin.h
- sys/utsname.h
- isc/magic.h
- loop.c
- dnssectool.h
- instance.h
- sys/ioctl.h
- fuzz.h
- dns/tsig.h
- dns/ipkeylist.h
- sys/param.h
- isc/radix.h
- dns/sdlz.h
- isc/file.h
- dns/rdatavec.h
- dns/rpz.h
- isc/tid.h
- isc/fxhash.h
- rdatavec_p.h
- check-tool.h
- named/config.h
- isc/queue.h
- dns/ecs.h
- isc/quota.h
- isc/commandline.h
- isc/uv.h
- dns/diff.h
- jemalloc_shim.h
- dns/keymgr.h
- qpzone_p.h
- netmgr/tcp.c
- probes-dns.h
- isc/thread.h
- maxminddb.h
- dst/gssapi.h
- setjmp.h
- ht.c
- TargetConditionals.h
- dns/dlz.h
- dns/qp.h
- urcu/compiler.h
- stdbit.h
- nghttp2/nghttp2.h
- db_p.h
- isc/result.h
- driver.h
- named/globals.h
- errno.h
- string.h
- isc/error.h
- gssapi.h
- openssl/ssl.h
- tsig_p.h
- dns/soa.h
- sys/sockio.h
- mutex_p.h
- linux/rtnetlink.h
- isc/hash.h
- dns/enumtype.h
- sched.h
- net/route.h
- isc/strerr.h
- dns/resolver.h
- isc/job.h
- zone.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:
  - nzd_setkey
  - dumpzone
  - nzd_save
  - nzd_writable
  - nzd_open
  - nzd_env_close
  - nzd_env_reopen
  - nzd_close
  - nzd_load_nzf
  - CFG_LIST_FOREACH
  source_file: /src/bind9/bin/named/nzd.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - 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: 75
        line_start: 74
        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: 380
        line_start: 376
        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:
  - 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_notifysoatype
  - process_notify_options
  - process_notify_cfg
  - CFG_LIST_FOREACH
  - named_zone_configure
  - named_zone_configure_writeable_dlz
  - named_zone_reusable
  - named_zone_inlinesigning
  - named_zone_templateopts
  - CFG_LIST_FOREACH
  - named_zone_loadplugins
  source_file: /src/bind9/bin/named/zoneconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAPS_SIZE
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/bin/named/zoneconf.c
      type_or_value: '6'
    - item_type: preproc_def
      name: NODEFAULT_MAPS_SIZE
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/bin/named/zoneconf.c
      type_or_value: '5'
    - item_type: preproc_def
      name: NOOPTIONS_MAPS_SIZE
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/bin/named/zoneconf.c
      type_or_value: '3'
    - item_type: preproc_def
      name: STATICSTUB_SERVER_TTL
      pos:
        line_end: 400
        line_start: 399
        source_file: /src/bind9/bin/named/zoneconf.c
      type_or_value: '86400'
    - item_type: preproc_def
      name: SIGNED
      pos:
        line_end: 1163
        line_start: 1162
        source_file: /src/bind9/bin/named/zoneconf.c
      type_or_value: '".signed"'
    structs: []
    typedefs: []
    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:
  - 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
  - named_register_one_plugin
  - max_cache_size_as_percent
  - default_max_cache_size
  - sanitized_max_cache_size
  - configure_max_cache_size
  - 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_rootdb
  - configure_alternates
  - CFG_LIST_FOREACH
  - validate_tls
  - configure_forward
  - CFG_LIST_FOREACH
  - get_viewinfo
  - find_view
  - create_view
  - emit_text
  - save_zoneconfig
  - 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
  - newzone_cleanup
  - nz_filename
  - setup_newzones
  - configure_zone_setviewcommit
  - data_to_cfg
  - for_all_newzone_cfgs
  - configure_newzone
  - configure_newzone_revert
  - configure_newzones
  - create_views
  - CFG_LIST_FOREACH
  - configure_views
  - CFG_LIST_FOREACH
  - configure_keystores
  - CFG_LIST_FOREACH
  - configure_kasplist
  - CFG_LIST_FOREACH
  - apply_configuration
  - CAP_IF_NOT_ZERO
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - ISC_LIST_FOREACH
  - load_configuration
  - destroy_zoneload
  - 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
  - flush_delegdb
  - named_server_flushcache
  - flushnode_cache
  - flushnode_delegcache
  - logflushcachesuccess
  - named_server_flushnode
  - named_server_status
  - named_server_rekey
  - synczone
  - named_server_sync
  - named_server_freeze
  - named_smf_add_message
  - newzone_parse
  - delete_zoneconf
  - do_addzone
  - do_modzone
  - named_server_changezone
  - inuse
  - rmzone
  - named_server_delzone
  - named_server_showzone
  - named_server_showconf
  - 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: 148
        line_start: 147
        source_file: /src/bind9/bin/named/server.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JEMALLOC_API_SUPPORTED
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/bin/named/server.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SIZE_MAX
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/bind9/bin/named/server.c
      type_or_value: ((size_t)(-1))
    - item_type: preproc_def
      name: MIN_INITIAL_TIMEOUT
      pos:
        line_end: 162
        line_start: 161
        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: 163
        line_start: 162
        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: 164
        line_start: 163
        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: 165
        line_start: 164
        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: 166
        line_start: 165
        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: 167
        line_start: 166
        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: 168
        line_start: 167
        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: 169
        line_start: 168
        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: 170
        line_start: 169
        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: 171
        line_start: 170
        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: 224
        line_start: 223
        source_file: /src/bind9/bin/named/server.c
      type_or_value: 8388608U
    - item_type: preproc_def
      name: APPLY_CONFIGURATION_SUBROUTINE_LOG
      pos:
        line_end: 7456
        line_start: 7453
        source_file: /src/bind9/bin/named/server.c
      type_or_value: "isc_log_write(NAMED_LOGCATEGORY_GENERAL, NAMED_LOGMODULE_SERVER,
        \\\n\t\t      ISC_LOG_DEBUG(1), \"apply_configuration: %s\", __func__);"
    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: 230
        line_start: 225
        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: 239
        line_start: 232
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: dumpcache
        type: bool
      - name: dumpzones
        type: bool
      - name: dumpdeleg
        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: 258
        line_start: 241
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*view'
        type: dns_view_t
      item_type: struct
      name: viewlistentry
      pos:
        line_end: 264
        line_start: 260
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      item_type: struct
      name: zonelistentry
      pos:
        line_end: 269
        line_start: 266
        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: '*aclenv'
        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: 289
        line_start: 275
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*server'
        type: named_server_t
      - name: reconfig
        type: bool
      - name: references
        type: isc_refcount_t
      item_type: struct
      name: zoneload
      pos:
        line_end: 300
        line_start: 296
        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: 306
        line_start: 304
        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: 315
        line_start: 308
        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: 321
        line_start: 317
        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: 5249
        line_start: 5246
        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: 6465
        line_start: 6456
        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: 6510
        line_start: 6507
        source_file: /src/bind9/bin/named/server.c
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: '*server'
        type: named_server_t
      - name: cleanup
        type: bool
      item_type: struct
      name: ns_dzctx_t
      pos:
        line_end: 12560
        line_start: 12556
        source_file: /src/bind9/bin/named/server.c
    typedefs:
    - item_type: typedef
      name: zoneload_t
      pos:
        line_end: 301
        line_start: 301
        source_file: /src/bind9/bin/named/server.c
      type: zoneload
    - 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
        *aclctx,\n\t\t\t\t\t dns_kasplist_t *kasplist)"
      pos:
        line_end: 7294
        line_start: 7290
        source_file: /src/bind9/bin/named/server.c
      type: isc_result_t
    union: []
- function_names:
  - 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:
  - user_zonetype
  - TRY0
  - set_desc
  - get_sizehisto_desc
  - get_rtthisto_desc
  - init_desc
  - SET_NSSTATDESC
  - SET_NSHIGHWATERSTATDESC
  - SET_RESSTATDESC
  - SET_ADBSTATDESC
  - SET_ZONESTATDESC
  - SET_SOCKSTATDESC
  - SET_DNSSECSTATDESC
  - SET_DNSTAPSTATDESC
  - SET_GLUECACHESTATDESC
  - generalstat_dump
  - dump_stats
  - dump_statsmulti
  - 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: 56
        line_start: 55
        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: 61
        line_start: 60
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"3"'
    - item_type: preproc_def
      name: STATS_XML_VERSION_MINOR
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"14"'
    - item_type: preproc_def
      name: STATS_XML_VERSION
      pos:
        line_end: 63
        line_start: 62
        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: 65
        line_start: 64
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"1"'
    - item_type: preproc_def
      name: STATS_JSON_VERSION_MINOR
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '"8"'
    - item_type: preproc_def
      name: STATS_JSON_VERSION
      pos:
        line_end: 67
        line_start: 66
        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: 174
        line_start: 173
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: nshighwaterstats_xmldesc
      pos:
        line_end: 175
        line_start: 174
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: 'NULL'
    - item_type: preproc_def
      name: resstats_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: adbstats_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: zonestats_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: sockstats_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: dnssecstats_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: udpinsizestats_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: udpoutsizestats_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: tcpinsizestats_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: tcpoutsizestats_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: dnstapstats_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: gluecachestats_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: STATS_XML_STATUS
      pos:
        line_end: 1387
        line_start: 1386
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: STATS_XML_SERVER
      pos:
        line_end: 1388
        line_start: 1387
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: STATS_XML_ZONES
      pos:
        line_end: 1389
        line_start: 1388
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STATS_XML_XFRINS
      pos:
        line_end: 1390
        line_start: 1389
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: STATS_XML_NET
      pos:
        line_end: 1391
        line_start: 1390
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: STATS_XML_MEM
      pos:
        line_end: 1392
        line_start: 1391
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: STATS_XML_TRAFFIC
      pos:
        line_end: 1393
        line_start: 1392
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: STATS_XML_ALL
      pos:
        line_end: 1394
        line_start: 1393
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0xff'
    - item_type: preproc_def
      name: STATS_JSON_STATUS
      pos:
        line_end: 2446
        line_start: 2445
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: STATS_JSON_SERVER
      pos:
        line_end: 2447
        line_start: 2446
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: STATS_JSON_ZONES
      pos:
        line_end: 2448
        line_start: 2447
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: STATS_JSON_XFRINS
      pos:
        line_end: 2449
        line_start: 2448
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: STATS_JSON_NET
      pos:
        line_end: 2450
        line_start: 2449
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x08'
    - item_type: preproc_def
      name: STATS_JSON_MEM
      pos:
        line_end: 2451
        line_start: 2450
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x10'
    - item_type: preproc_def
      name: STATS_JSON_TRAFFIC
      pos:
        line_end: 2452
        line_start: 2451
        source_file: /src/bind9/bin/named/statschannel.c
      type_or_value: '0x20'
    - item_type: preproc_def
      name: STATS_JSON_ALL
      pos:
        line_end: 2453
        line_start: 2452
        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: 82
        line_start: 68
        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: 91
        line_start: 84
        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: 109
        line_start: 106
        source_file: /src/bind9/bin/named/statschannel.c
    typedefs: []
    union: []
- function_names:
  - named_config_parsedefaults
  - named_config_parsefile
  - 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
  - getipandkeylist
  - named_config_getipandkeylist
  - named_config_getport
  - named_config_getkeyalgorithm
  source_file: /src/bind9/bin/named/config.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*addrs'
        type: isc_sockaddr_t
      - name: addrsallocated
        type: size_t
      - name: '*sources'
        type: isc_sockaddr_t
      - name: sourcesallocated
        type: size_t
      - name: '**keys'
        type: dns_name_t
      - name: keysallocated
        type: size_t
      - name: '**tlss'
        type: dns_name_t
      - name: tlssallocated
        type: size_t
      - name: count
        type: size_t
      - name: '**seen'
        type: char
      - name: seencount
        type: size_t
      - name: seenallocated
        type: size_t
      item_type: struct
      name: getipandkeylist_state_t
      pos:
        line_end: 337
        line_start: 319
        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: 678
        line_start: 665
        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
  - findnode
  - find
  - bdbnode_attachnode
  - 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: 195
        line_start: 194
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: "28800U\t"
    - item_type: preproc_def
      name: DEFAULT_RETRY
      pos:
        line_end: 196
        line_start: 195
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: "7200U\t"
    - item_type: preproc_def
      name: DEFAULT_EXPIRE
      pos:
        line_end: 197
        line_start: 196
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: '604800U '
    - item_type: preproc_def
      name: DEFAULT_MINIMUM
      pos:
        line_end: 198
        line_start: 197
        source_file: /src/bind9/bin/named/builtin.c
      type_or_value: "86400U\t"
    - item_type: preproc_def
      name: DEFAULT_TTL
      pos:
        line_end: 199
        line_start: 198
        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: 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: (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:
    - item_type: typedef
      name: bdbnode_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bind9/bin/named/builtin.c
      type: bdbnode
    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
  - 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
  - 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: 53
        line_start: 53
        source_file: /src/bind9/bin/named/controlconf.c
      type: controlkey
    - item_type: typedef
      name: (controlkey_t)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bind9/bin/named/controlconf.c
      type: ISC_LIST
    - item_type: typedef
      name: controlconnection_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bind9/bin/named/controlconf.c
      type: controlconnection
    - item_type: typedef
      name: (controlconnection_t)
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bind9/bin/named/controlconf.c
      type: ISC_LIST
    - item_type: typedef
      name: controllistener_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bind9/bin/named/controlconf.c
      type: controllistener
    - item_type: typedef
      name: (controllistener_t)
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bind9/bin/named/controlconf.c
      type: ISC_LIST
    union: []
- function_names: []
  source_file: /src/bind9/bin/named/include/named/config.h
  types:
    enum: []
    preproc_defs: []
    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: 117
        line_start: 116
        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: '*recfile'
        type: char
      - name: version_set
        type: bool
      - name: '*version'
        type: char
      - name: hostname_set
        type: bool
      - name: '*hostname'
        type: char
      - 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: '*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
      - name: '*aclctx'
        type: cfg_aclconfctx_t
      - name: '*userconftext'
        type: isc_buffer_t
      - name: '*effectivetext'
        type: isc_buffer_t
      - name: '*effectiveconfig'
        type: cfg_obj_t
      item_type: struct
      name: named_server
      pos:
        line_end: 114
        line_start: 48
        source_file: /src/bind9/bin/named/include/named/server.h
    typedefs:
    - item_type: typedef
      name: cfg_aclconfctx_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/bin/named/include/named/server.h
      type: cfg_aclconfctx
    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/nzd.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DZARG_MAGIC
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/bin/named/include/named/nzd.h
      type_or_value: ISC_MAGIC('D', 'z', 'a', 'r')
    structs:
    - 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: 29
        line_start: 25
        source_file: /src/bind9/bin/named/include/named/nzd.h
    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_SHOWCONF
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"showconf"'
    - item_type: preproc_def
      name: NAMED_COMMAND_SHOWZONE
      pos:
        line_end: 65
        line_start: 64
        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: 66
        line_start: 65
        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: 67
        line_start: 66
        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: 68
        line_start: 67
        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: 69
        line_start: 68
        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: 70
        line_start: 69
        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: 71
        line_start: 70
        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: 72
        line_start: 71
        source_file: /src/bind9/bin/named/include/named/control.h
      type_or_value: '"tcp-timeouts"'
    - 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: 19
        line_start: 19
        source_file: /src/bind9/bin/named/include/named/types.h
      type: named_cache
    - item_type: typedef
      name: (named_cache_t)
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/bind9/bin/named/include/named/types.h
      type: ISC_LIST
    - item_type: typedef
      name: named_server_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bind9/bin/named/include/named/types.h
      type: named_server
    - item_type: typedef
      name: named_xmld_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/bin/named/include/named/types.h
      type: named_xmld
    - item_type: typedef
      name: named_xmldmgr_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bind9/bin/named/include/named/types.h
      type: named_xmldmgr
    - item_type: typedef
      name: named_controls_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/bin/named/include/named/types.h
      type: named_controls
    - item_type: typedef
      name: named_dispatch_t
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bind9/bin/named/include/named/types.h
      type: named_dispatch
    - item_type: typedef
      name: (named_dispatch_t)
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bind9/bin/named/include/named/types.h
      type: ISC_LIST
    - item_type: typedef
      name: named_statschannel_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bind9/bin/named/include/named/types.h
      type: named_statschannel
    - item_type: typedef
      name: (named_statschannel_t)
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bind9/bin/named/include/named/types.h
      type: ISC_LIST
    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: []
    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: []
    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: 114
        line_start: 113
        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:
  - install_hooks
  - logmsg
  - plugin_register
  - plugin_check
  - plugin_destroy
  - plugin_version
  - client_state_get
  - client_state_create
  - client_state_destroy
  - async_query_setup
  - cancelasync
  - destroyasync
  - doasync
  - async_query_done_begin
  - async_query_reset
  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: 47
        line_start: 42
        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: 54
        line_start: 49
        source_file: /src/bind9/bin/tests/system/hooks/driver/test-async.c
    typedefs: []
    union: []
- function_names:
  - syncplugin__hook
  - syncplugin__parse_rcode
  - plugin_register
  - plugin_check
  - plugin_destroy
  - plugin_version
  source_file: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: rcode
        type: uint8_t
      - name: '*firstlbl'
        type: char
      item_type: struct
      name: syncplugin_t
      pos:
        line_end: 28
        line_start: 19
        source_file: /src/bind9/bin/tests/system/hooks/driver/test-syncplugin.c
    typedefs: []
    union: []
- function_names:
  - CHECKM
  - 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:
  - 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: 71
        line_start: 70
        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: 68
        line_start: 63
        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: 90
        line_start: 75
        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: 73
        line_start: 72
        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: 61
        line_start: 53
        source_file: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
    typedefs:
    - item_type: typedef
      name: syncptr_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bind9/bin/tests/system/dyndb/driver/syncptr.c
      type: syncptr
    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
  - createiterator
  - findrdataset
  - allrdatasets
  - addrdataset
  - subtractrdataset
  - deleterdataset
  - issecure
  - nodecount
  - getoriginnode
  - getnsec3parameters
  - findnsec3node
  - setsigningtime
  - getsigningtime
  - getrrsetstats
  - findnode
  - find
  - setcachestats
  - 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:
    - item_type: typedef
      name: sampledb_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bind9/bin/tests/system/dyndb/driver/db.c
      type: sampledb
    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: 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: 58
        line_start: 41
        source_file: /src/bind9/bin/tests/system/dyndb/driver/instance.h
    typedefs:
    - item_type: typedef
      name: sample_instance_t
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bind9/bin/tests/system/dyndb/driver/instance.h
      type: sample_instance
    union: []
- function_names: []
  source_file: /src/bind9/bin/tests/system/dyndb/driver/zone.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  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:
  - CHECKM
  - main
  source_file: /src/bind9/bin/tests/system/rsabigexponent/bigkey.c
  types:
    enum: []
    preproc_defs: []
    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:
  - CHECKM
  - RUNCHECK
  - ADD_STRING
  - rcode_totext
  - recvresponse
  - MSG_SECTION_FOREACH
  - DNS_RDATASET_FOREACH
  - 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: 153
        line_start: 152
        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: 148
        line_start: 123
        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: 176
        line_start: 173
        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: 71
        line_start: 69
        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:
  - usage
  - get_maps
  - get_checknames
  - CFG_LIST_FOREACH
  - configure_hint
  - configure_zone
  - configure_view
  - CFG_LIST_FOREACH
  - config_getclass
  - load_zones_fromconfig
  - CFG_LIST_FOREACH
  - parse_builtin
  - 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: 573
        line_start: 572
        source_file: /src/bind9/bin/check/named-checkconf.c
      type_or_value: '"abcdehijklm:nt:pvxz"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - 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: 49
        line_start: 48
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CHECK_LOCAL
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/bin/check/check-tool.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - 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: 88
        line_start: 87
        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: 90
        line_start: 89
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: '50'
    - item_type: preproc_def
      name: MAX_TOTAL
      pos:
        line_end: 91
        line_start: 90
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: '200'
    - item_type: preproc_def
      name: MAX_RESTARTS
      pos:
        line_end: 92
        line_start: 91
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DEFAULT_MAX_DELEGATION_SERVERS
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/bin/delv/delv.c
      type_or_value: '13'
    structs: []
    typedefs: []
    union: []
- function_names:
  - query
  source_file: /src/bind9/bin/include/defaultconfig.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_IANA_ROOT_ZONE_PRIMARIES
      pos:
        line_end: 22
        line_start: 21
        source_file: /src/bind9/bin/include/defaultconfig.h
      type_or_value: '"_default_iana_root_zone_primaries"'
    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: 233
        line_start: 232
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (uint16_t)0
    - item_type: preproc_def
      name: STATUS_SEND
      pos:
        line_end: 234
        line_start: 233
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (uint16_t)1
    - item_type: preproc_def
      name: STATUS_QUIT
      pos:
        line_end: 235
        line_start: 234
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
      type_or_value: (uint16_t)2
    - item_type: preproc_def
      name: STATUS_SYNTAX
      pos:
        line_end: 236
        line_start: 235
        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: 972
        line_start: 971
        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: 185
        line_start: 182
        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: 216
        line_start: 212
        source_file: /src/bind9/bin/nsupdate/nsupdate.c
    typedefs: []
    union: []
- function_names:
  - 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_initialize
  - filter_prep_response_begin
  - filter_respond_begin
  - filter_respond_any_found
  - filter_query_done_send
  - filter_freeclientstate
  source_file: /src/bind9/bin/plugins/filter-a.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILTER_A_RECURSING
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/bin/plugins/filter-a.c
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: FILTER_A_FILTERED
      pos:
        line_end: 88
        line_start: 87
        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: 63
        line_start: 60
        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: 81
        line_start: 65
        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: 417
        line_start: 410
        source_file: /src/bind9/bin/plugins/filter-a.c
    typedefs: []
    union: []
- function_names:
  - 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_initialize
  - filter_prep_response_begin
  - filter_respond_begin
  - filter_respond_any_found
  - filter_query_done_send
  - filter_freeclientstate
  source_file: /src/bind9/bin/plugins/filter-aaaa.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: FILTER_AAAA_RECURSING
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
      type_or_value: '0x0001 '
    - item_type: preproc_def
      name: FILTER_AAAA_FILTERED
      pos:
        line_end: 88
        line_start: 87
        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: 63
        line_start: 60
        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: 81
        line_start: 65
        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: 421
        line_start: 414
        source_file: /src/bind9/bin/plugins/filter-aaaa.c
    typedefs: []
    union: []
- function_names:
  - synthrecord_allowedsynth
  - synthrecord_chrreplace
  - synthrecord_reverseanswer
  - synthrecord_respond
  - synthrecord_parseforward
  - synthrecord_forward
  - synthrecord_reverse
  - synthrecord_entry
  - synthrecord_initprefix
  - synthrecord_initorigin
  - synthrecord_setconfigmode
  - synthrecord_parseallowsynth
  - synthrecord_parsettl
  - synthrecord_parseconfig
  - plugin_register
  - plugin_check
  - plugin_destroy
  - plugin_version
  source_file: /src/bind9/bin/plugins/synthrecord.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DEFAULT_TTL
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/bin/plugins/synthrecord.c
      type_or_value: '300'
    structs:
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*allowedsynth'
        type: dns_acl_t
      - name: prefix
        type: isc_region_t
      - name: origin
        type: dns_name_t
      - name: ttl
        type: uint32_t
      - name: mode
        type: synthrecord_mode_t
      item_type: struct
      name: synthrecord
      pos:
        line_end: 35
        line_start: 28
        source_file: /src/bind9/bin/plugins/synthrecord.c
    typedefs:
    - item_type: typedef
      name: synthrecord_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bind9/bin/plugins/synthrecord.c
      type: synthrecord
    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: 1135
        line_start: 1115
        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_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: 148
        line_start: 147
        source_file: /src/bind9/bin/dig/dighost.c
      type_or_value: '20'
    - item_type: preproc_def
      name: EDNSOPT_OPTIONS
      pos:
        line_end: 622
        line_start: 621
        source_file: /src/bind9/bin/dig/dighost.c
      type_or_value: 100U
    - item_type: preproc_def
      name: N_EDNS_OPTNAMES
      pos:
        line_end: 1369
        line_start: 1368
        source_file: /src/bind9/bin/dig/dighost.c
      type_or_value: (sizeof(optnames) / sizeof(optnames[0]))
    structs:
    - fields:
      - name: code
        type: uint32_t
      - name: '*name'
        type: char
      item_type: struct
      name: dig_ednsoptname
      pos:
        line_end: 1341
        line_start: 1338
        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: 42
        line_start: 41
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '20'
    - item_type: preproc_def
      name: MXNAME
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: (DNS_NAME_MAXTEXT + 1)
    - item_type: preproc_def
      name: MXRD
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '32'
    - item_type: preproc_def
      name: BUFSIZE
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '512'
    - item_type: preproc_def
      name: COMMSIZE
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: RESOLV_CONF
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '"/etc/resolv.conf"'
    - item_type: preproc_def
      name: OUTPUTBUF
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '32767'
    - item_type: preproc_def
      name: MAXRRLIMIT
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MAXTIMEOUT
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: MAXTRIES
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MAXNDOTS
      pos:
        line_end: 60
        line_start: 59
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: MAXPORT
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: MAXSERIAL
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffffffff'
    - item_type: preproc_def
      name: MAXQID
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: TCP_TIMEOUT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '10'
    - item_type: preproc_def
      name: UDP_TIMEOUT
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '5'
    - item_type: preproc_def
      name: SERVER_TIMEOUT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '1'
    - item_type: preproc_def
      name: LOOKUP_LIMIT
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '64'
    - item_type: preproc_def
      name: DEFAULT_EDNS_VERSION
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '0'
    - item_type: preproc_def
      name: DEFAULT_EDNS_BUFSIZE
      pos:
        line_end: 78
        line_start: 77
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '1232'
    - item_type: preproc_def
      name: DEFAULT_HTTPS_QUERY
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/bin/dig/dighost.h
      type_or_value: '"?dns="'
    - item_type: preproc_def
      name: DIG_LOOKUP_MAGIC
      pos:
        line_end: 94
        line_start: 93
        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: 98
        line_start: 97
        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: 194
        line_start: 102
        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: 226
        line_start: 197
        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: 232
        line_start: 228
        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: 237
        line_start: 234
        source_file: /src/bind9/bin/dig/dighost.h
    typedefs:
    - item_type: typedef
      name: dig_lookup_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bind9/bin/dig/dighost.h
      type: dig_lookup
    - item_type: typedef
      name: dig_query_t
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bind9/bin/dig/dighost.h
      type: dig_query
    - item_type: typedef
      name: dig_server_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bind9/bin/dig/dighost.h
      type: dig_server
    - item_type: typedef
      name: (dig_server_t)
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bind9/bin/dig/dighost.h
      type: ISC_LIST
    - item_type: typedef
      name: dig_searchlist_t
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bind9/bin/dig/dighost.h
      type: dig_searchlist
    - item_type: typedef
      name: (dig_searchlist_t)
      pos:
        line_end: 239
        line_start: 239
        source_file: /src/bind9/bin/dig/dighost.h
      type: ISC_LIST
    - item_type: typedef
      name: (dig_lookup_t)
      pos:
        line_end: 240
        line_start: 240
        source_file: /src/bind9/bin/dig/dighost.h
      type: ISC_LIST
    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
  - validate_keyname
  - 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: 314
        line_start: 313
        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
  - 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
  - (&ksk)
  - (&zsk)
  - 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: 85
        line_start: 84
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type_or_value: '1500 '
    - item_type: preproc_def
      name: DATETIME_INDEX
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type_or_value: '25'
    - item_type: preproc_def
      name: MAXWIRE
      pos:
        line_end: 88
        line_start: 87
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type_or_value: (64 * 1024)
    - item_type: preproc_def
      name: OPTIONS
      pos:
        line_end: 1315
        line_start: 1314
        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: 74
        line_start: 48
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
    typedefs:
    - item_type: typedef
      name: ksr_ctx_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bind9/bin/dnssec/dnssec-ksr.c
      type: ksr_ctx
    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: 104
        line_start: 103
        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: 109
        line_start: 108
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: MAXDSKEYS
      pos:
        line_end: 110
        line_start: 109
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '8'
    - item_type: preproc_def
      name: SIGNER_EVENTCLASS
      pos:
        line_end: 112
        line_start: 111
        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: 113
        line_start: 112
        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: 114
        line_start: 113
        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: 116
        line_start: 115
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '0'
    - item_type: preproc_def
      name: SOA_SERIAL_INCREMENT
      pos:
        line_end: 117
        line_start: 116
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SOA_SERIAL_UNIXTIME
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '2'
    - item_type: preproc_def
      name: SOA_SERIAL_DATE
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type_or_value: '3'
    - item_type: preproc_def
      name: CMDLINE_FLAGS
      pos:
        line_end: 3247
        line_start: 3244
        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: 790
        line_start: 785
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
    typedefs:
    - item_type: typedef
      name: hashlist_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bind9/bin/dnssec/dnssec-signzone.c
      type: hashlist
    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: 388
        line_start: 387
        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: 153
        line_start: 152
        source_file: /src/bind9/bin/dnssec/dnssec-keyfromlabel.c
      type_or_value: '"3A:a:c: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: 176
        line_start: 175
        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: 352
        line_start: 351
        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: 1075
        line_start: 1074
        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: 113
        line_start: 108
        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: 118
        line_start: 116
        source_file: /src/bind9/bin/dnssec/dnssec-cds.c
      type: isc_result_t
    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: 758
        line_start: 755
        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: lifetime
        type: time_t
      - name: ksk
        type: bool
      - name: zsk
        type: bool
      item_type: struct
      name: keygen_ctx
      pos:
        line_end: 124
        line_start: 75
        source_file: /src/bind9/bin/dnssec/dnssec-keygen.c
    typedefs:
    - item_type: typedef
      name: keygen_ctx_t
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/bind9/bin/dnssec/dnssec-keygen.c
      type: keygen_ctx
    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: 247
        line_start: 246
        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
  - 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: 62
        line_start: 61
        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: 242
        line_start: 241
        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
  - ISC_RUN_TEST_IMPL
  - mt_increment_worker
  - mt_setup_workers
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/isc/stats_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MT_INCREMENTS_PER_THREAD
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/bind9/tests/isc/stats_test.c
      type_or_value: '100000'
    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: []
    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:
    - item_type: preproc_def
      name: isc__loopmgr
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/tests/isc/loop_test.c
      type_or_value: isc___loopmgr
    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
  - at_least_one_overmem
  - 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: 44
        line_start: 43
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MP1_FILLCNT
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: MP1_MAXALLOC
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '30'
    - item_type: preproc_def
      name: MP2_FREEMAX
      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: MP2_FILLCNT
      pos:
        line_end: 49
        line_start: 48
        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: 498
        line_start: 497
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '512'
    - item_type: preproc_def
      name: NUM_ITEMS
      pos:
        line_end: 499
        line_start: 498
        source_file: /src/bind9/tests/isc/mem_test.c
      type_or_value: '1024 '
    - item_type: preproc_def
      name: ITEM_SIZE
      pos:
        line_end: 500
        line_start: 499
        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
  - 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: 83
        line_start: 82
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DC
      pos:
        line_end: 85
        line_start: 84
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '200'
    - item_type: preproc_def
      name: CNT_MIN
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/tests/isc/spinlock_test.c
      type_or_value: '800'
    - item_type: preproc_def
      name: CNT_MAX
      pos:
        line_end: 87
        line_start: 86
        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:
  - 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
  - ISC_SETUP_TEST_IMPL
  - _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
  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: 233
        line_start: 229
        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: 77
        line_start: 76
        source_file: /src/bind9/tests/isc/mutex_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DC
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/tests/isc/mutex_test.c
      type_or_value: '200'
    - item_type: preproc_def
      name: CNT_MIN
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/tests/isc/mutex_test.c
      type_or_value: '800'
    - item_type: preproc_def
      name: CNT_MAX
      pos:
        line_end: 81
        line_start: 80
        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: 920
        line_start: 917
        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: []
    structs:
    - fields:
      - name: hashval
        type: uint32_t
      - name: key[64]
        type: char
      item_type: struct
      name: test_node
      pos:
        line_end: 41
        line_start: 38
        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: 36
        line_start: 35
        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: 42
        line_start: 37
        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: T_SOFT
      pos:
        line_end: 108
        line_start: 107
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: '50'
    - item_type: preproc_def
      name: T_CONNECT
      pos:
        line_end: 109
        line_start: 108
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: 30 * 1000
    - item_type: preproc_def
      name: NSENDS
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: '100'
    - item_type: preproc_def
      name: NWRITES
      pos:
        line_end: 112
        line_start: 111
        source_file: /src/bind9/tests/isc/doh_test.c
      type_or_value: '10'
    structs:
    - fields:
      - 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: 163
        line_start: 159
        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: 52
        line_start: 51
        source_file: /src/bind9/tests/isc/rwlock_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: DC
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/tests/isc/rwlock_test.c
      type_or_value: '200'
    - item_type: preproc_def
      name: CNT_MIN
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/tests/isc/rwlock_test.c
      type_or_value: '800'
    - item_type: preproc_def
      name: CNT_MAX
      pos:
        line_end: 56
        line_start: 55
        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: 143
        line_start: 142
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '100'
    - item_type: preproc_def
      name: T_SOFT
      pos:
        line_end: 146
        line_start: 145
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '50'
    - item_type: preproc_def
      name: T_INIT
      pos:
        line_end: 149
        line_start: 148
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_IDLE
      pos:
        line_end: 150
        line_start: 149
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_KEEPALIVE
      pos:
        line_end: 151
        line_start: 150
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 120 * 1000
    - item_type: preproc_def
      name: T_ADVERTISED
      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_PRIMARIES
      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_CONNECT
      pos:
        line_end: 154
        line_start: 153
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 30 * 1000
    - item_type: preproc_def
      name: WAIT_REPEATS
      pos:
        line_end: 157
        line_start: 156
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '1000'
    - item_type: preproc_def
      name: T_WAIT
      pos:
        line_end: 158
        line_start: 157
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '1 '
    - item_type: preproc_def
      name: UDP_T_SOFT
      pos:
        line_end: 450
        line_start: 449
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: '50'
    - item_type: preproc_def
      name: UDP_T_CONNECT
      pos:
        line_end: 453
        line_start: 452
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type_or_value: 30 * 1000
    structs: []
    typedefs:
    - item_type: typedef
      name: (*stream_connect_function)(void)
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bind9/tests/isc/netmgr_common.h
      type: void
    - item_type: typedef
      name: (*connect_func)(void)
      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: 29
        line_start: 26
        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:
  - isc_file_exists
  - 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: exists
        type: bool
      - 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: 61
        line_start: 53
        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_hookasyncctx
  - cancel_hookasyncctx
  - 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
  - run_hookasync_test
  - ISC_LOOP_TEST_IMPL
  - cancel_e2ehookasyncctx
  - test_hookasync_e2e
  - hook_async_e2e
  - hook_donesend
  - run_hookasync_e2e_test
  - ISC_LOOP_TEST_IMPL
  - ns__query_test_concat
  - ns__query_test_zonehook1
  - ns__query_test_zonehook2
  - ns__query_test_viewhook1
  - ns__query_test_viewhook2
  - ns__query_test_defaulthook1
  - ns__query_test_defaulthook2
  - ns__query_test_setup_hooks
  - ns__query_test_run_hookchain_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: 1233
        line_start: 1225
        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: 1244
        line_start: 1236
        source_file: /src/bind9/tests/ns/query_test.c
    - fields:
      - name: zonehookactions[2]
        type: ns_hook_action_t
      - name: viewhookactions[2]
        type: ns_hook_action_t
      - name: defaulthookactions[2]
        type: ns_hook_action_t
      - name: '*expected'
        type: char
      item_type: struct
      name: ns__query_hook_test_params_t
      pos:
        line_end: 1465
        line_start: 1460
        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
  - cfg_clone_copy_dumpconf
  - 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
  - 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:
    - item_type: typedef
      name: duration_conf_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bind9/tests/isccfg/duration_test.c
      type: duration_conf
    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:
  - maybe_set_name
  - qpiter_next_with_name
  - qpiter_prev_with_name
  - qpiter_current_with_name
  - 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
  - ISC_RUN_TEST_IMPL
  - 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: 281
        line_start: 280
        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: 118
        line_start: 113
        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: 228
        line_start: 221
        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: 462
        line_start: 458
        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: 635
        line_start: 629
        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: 848
        line_start: 841
        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: 1689
        line_start: 1682
        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: 1695
        line_start: 1691
        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: 42
        line_start: 41
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '1'
    - item_type: preproc_def
      name: FLAGS
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ITER
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SALTLEN
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/tests/dns/nsec3param_test.c
      type_or_value: '4'
    - item_type: preproc_def
      name: SALT
      pos:
        line_end: 46
        line_start: 45
        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: 56
        line_start: 50
        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: 63
        line_start: 58
        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: 99
        line_start: 98
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '10'
    - item_type: preproc_def
      name: BUNDLE_HAS_ZSK2
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '20'
    - item_type: preproc_def
      name: OFFSET
      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: TTL
      pos:
        line_end: 103
        line_start: 102
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '3600'
    - item_type: preproc_def
      name: LIFETIME
      pos:
        line_end: 104
        line_start: 103
        source_file: /src/bind9/tests/dns/skr_test.c
      type_or_value: '864000'
    - item_type: preproc_def
      name: SIG_FORMATSIZE
      pos:
        line_end: 107
        line_start: 105
        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: 76
        line_start: 48
        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: 43
        line_start: 42
        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: 44
        line_start: 43
        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: 46
        line_start: 45
        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: 47
        line_start: 46
        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
  - 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:
  - add_mac
  - add_tsig
  - printmessage
  - render
  - tsig_tcp
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - tsig_delete
  - 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: 66
        line_start: 65
        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: 63
        line_start: 58
        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: 75
        line_start: 70
        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: '*name'
        type: char
      item_type: struct
      name: zonefile_test_params_t
      pos:
        line_end: 37
        line_start: 35
        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:
  - isc_stdtime_now
  - ENTRIES_MEM
  - shutdownloop
  - shutdowntest
  - rundelegtest
  - addnamedeleg
  - addipdeleg
  - writedb
  - lookupdb
  - dumpdb
  - basictests
  - ttl0tests
  - noexacttests
  - deletetests
  - cleanuptests_phase3
  - cleanuptests_phase2
  - cleanuptests
  - 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/deleg_test.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NENTRIES
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/tests/dns/deleg_test.c
      type_or_value: '99999'
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*expected'
        type: char
      - name: '*noexactexpected'
        type: char
      - name: noexactresult
        type: isc_result_t
      - name: ttl
        type: dns_ttl_t
      item_type: struct
      name: "zonecuts[] = {\n\t\t/*\n\t\t * \"stuff.\" has no proper ancestor in the
        trie, so a\n\t\t * NOEXACT lookup must return NOTFOUND rather than the\n\t\t
        * exact match itself.\n\t\t */\n\t\t{ \"stuff.\", \"stuff.\", NULL, ISC_R_NOTFOUND,
        30 },\n\t\t{ \"foo.stuff.\", \"foo.stuff.\", \"stuff.\", ISC_R_SUCCESS, 30
        },\n\t\t{ \"expired.foo.stuff.\", \"foo.stuff.\", \"foo.stuff.\",\n\t\t  ISC_R_SUCCESS,
        1 },\n\t\t{ \"bar.expired.foo.stuff.\", \"bar.expired.foo.stuff.\",\n\t\t
        \ \"foo.stuff.\", ISC_R_SUCCESS, 30 },\n\t\t{ \"baz.bar.expired.foo.stuff.\",
        \"baz.bar.expired.foo.stuff.\",\n\t\t  \"bar.expired.foo.stuff.\", ISC_R_SUCCESS,
        30 }\n\t}"
      pos:
        line_end: 427
        line_start: 421
        source_file: /src/bind9/tests/dns/deleg_test.c
    - fields:
      - name: '*db'
        type: dns_delegdb_t
      - name: now
        type: isc_stdtime_t
      item_type: struct
      name: cleanup_ctx_t
      pos:
        line_end: 588
        line_start: 585
        source_file: /src/bind9/tests/dns/deleg_test.c
    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_mismatch
  - nameserver_mismatch
  - response_timeout
  - client_senddone
  - connected
  - connected_shutdown
  - connected_sharedtcp
  - 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: 82
        line_start: 78
        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: 89
        line_start: 84
        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
  - ISC_RUN_TEST_IMPL
  - 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
  - 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: 3363
        line_start: 3362
        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: 3388
        line_start: 3387
        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: 3411
        line_start: 3410
        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:
    - item_type: typedef
      name: compare_ok_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bind9/tests/dns/rdata_test.c
      type: compare_ok
    - item_type: typedef
      name: textvsunknown_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/tests/dns/rdata_test.c
      type: textvsunknown
    union: []
- function_names:
  - ISC_RUN_TEST_IMPL
  source_file: /src/bind9/tests/dns/byaddr_test.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*ptrname'
        type: char
      - name: '*address'
        type: char
      item_type: struct
      name: "tests[] = {\n\t\t{ \"1.0.168.192.in-addr.arpa.\", \"192.168.0.1\" },\n\t\t{
        \"ab.0.168.192.in-addr.arpa.\", NULL },\n\t\t{ \"abcd.0.168.192.in-addr.arpa.\",
        NULL },\n\t\t{ \"1111.0.168.192.in-addr.arpa.\", NULL },\n\t\t{ \"1.0.168.192.in-addr.arp.\",
        NULL },\n\t\t{ \"4.1.999.4.in-addr.arpa.\", NULL },\n\t\t{ \"e.f.a.c.3.2.1.0.e.f.a.c.7.6.5.4.1.1.1.1.0.0.0.0.0.0.0.\"\n\t\t
        \ \"0.1.2.e.f.ip6.arpa.\",\n\t\t  \"fe21::1111:4567:cafe:123:cafe\" },\n\t\t{
        \"e.f.a.c.3.g.1.0.e.f.a.c.7.6.5.4.1.1.1.1.0.0.0.0.0.0.0.\"\n\t\t  \"0.1.2.e.f.ip6.arpa.\",\n\t\t
        \ NULL },\n\t\t{ \"e.f.a.c.3.ee.1.0.e.f.a.c.7.6.5.4.1.1.1.1.0.0.0.0.0.0.0.\"\n\t\t
        \ \"0.1.2.e.f.ip6.arpa.\",\n\t\t  NULL },\n\t\t{ \"e.f.a.c.3.2.1.0.e.f.a.c.7.6.5.4.1.1.1.1.0.0.0.0.0.0.0.\"\n\t\t
        \ \"0.1.2.e.f.ip6.arp.\",\n\t\t  NULL },\n\t\t{ \"a::z.ip6.arpa.\", NULL },\n\t\t{
        \"ed.f.a.c.3.2.1.0.e.f.a.c.7.6.5.4.1.1.1.1.0.0.0.0.0.0.0.\"\n\t\t  \"0.1.2.e.f.ip6.arpa.\",\n\t\t
        \ NULL },\n\t\t{ \"1.0. . \"\n\t\t  \".0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.\"\n\t\t
        \ \"ip6.arpa.\",\n\t\t  NULL },\n\t}"
      pos:
        line_end: 34
        line_start: 31
        source_file: /src/bind9/tests/dns/byaddr_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
  - 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:
  - WITH_NEWVERSION
  - ownercase_test_one
  - ISC_RUN_TEST_IMPL
  - find_ip_index
  - apply_dns_update
  - verify_aaaa_records
  - (&rdataset)
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - ISC_RUN_TEST_IMPL
  - WITH_NEWVERSION
  - WITH_NEWVERSION
  - WITH_NEWVERSION
  - WITH_NEWVERSION
  - ISC_RUN_TEST_IMPL
  - WITH_NEWVERSION
  - WITH_NEWVERSION
  - WITH_NEWVERSION
  - WITH_NEWVERSION
  source_file: /src/bind9/tests/dns/qpzone_test.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - create_vecheader
  - create_rdataset_from_vecheader
  - 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/vecheader_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: 107
        line_start: 102
        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:
  - assert_int_in_range
  - assert_uint_in_range
  - 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: 72
        line_start: 71
        source_file: /src/bind9/tests/include/tests/isc.h
      type_or_value: '"./"'
    - item_type: preproc_def
      name: ISC_TEST_LIST_START
      pos:
        line_end: 140
        line_start: 139
        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: 143
        line_start: 140
        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: 184
        line_start: 183
        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: 187
        line_start: 184
        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: 189
        line_start: 188
        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: 202
        line_start: 199
        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
  - file_path_to_groupname
  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_sethooktab
  - 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
  - CHECKN
  - 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_mut_read
      - name: vary_read_only
      - name: vary_max_items_rw
      - 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: 327
        line_start: 314
        source_file: /src/bind9/tests/bench/qpmulti.c
    preproc_defs:
    - item_type: preproc_def
      name: ITEM_COUNT
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: ((size_t)1000000)
    - item_type: preproc_def
      name: RUNTIME
      pos:
        line_end: 50
        line_start: 49
        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: 51
        line_start: 50
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: VERBOSE
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ZIPF
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/tests/bench/qpmulti.c
      type_or_value: '0'
    - item_type: preproc_def
      name: read_zipf
      pos:
        line_end: 249
        line_start: 248
        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: 90
        line_start: 86
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: '*bctx'
        type: struct bench_state
      - name: '*barrier'
        type: isc_barrier_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: 188
        line_start: 171
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: barrier
        type: isc_barrier_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: 349
        line_start: 329
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: worked
        type: uint64_t
      item_type: struct
      name: stats[2] = {}
      pos:
        line_end: 724
        line_start: 722
        source_file: /src/bind9/tests/bench/qpmulti.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*timer'
        type: isc_timer_t
      item_type: struct
      name: ticker
      pos:
        line_end: 810
        line_start: 807
        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
  - kernel_initialize
  - isc_os_ncpus
  - isc_os_cacheline
  - isc_os_umask
  - isc_os_kernel
  - 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
  - file_lstats
  - 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: 232
        line_start: 231
        source_file: /src/bind9/lib/isc/file.c
      type_or_value: '"tmp-XXXXXXXXXX" '
    - item_type: preproc_def
      name: DISALLOW
      pos:
        line_end: 687
        line_start: 686
        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: []
  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:
  - isc_hex_totext
  - isc_hex_decodeinit
  - isc_hex_decodechar
  - isc_hex_decodefinish
  - 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: []
    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: []
    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:
  - 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: 142
        line_start: 132
        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:
  - isc_random32
  - isc_random_buf
  - isc_random_uniform
  source_file: /src/bind9/lib/isc/random.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_RANDOM_BUFSIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/random.c
      type_or_value: (ISC_OS_CACHELINE_SIZE / sizeof(uint32_t))
    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: 30
        line_start: 29
        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: 32
        line_start: 31
        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: 39
        line_start: 38
        source_file: /src/bind9/lib/isc/histo.c
      type_or_value: '0.693147180559945309'
    - item_type: preproc_def
      name: LN_10
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/bind9/lib/isc/histo.c
      type_or_value: '2.302585092994045684'
    - item_type: preproc_def
      name: CHUNKS
      pos:
        line_end: 54
        line_start: 53
        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: 71
        line_start: 66
        source_file: /src/bind9/lib/isc/histo.c
    - fields:
      - name: magic
        type: uint
      - name: size
        type: uint
      - name: references
        type: isc_refcount_t
      - name: '*hg[]'
        type: isc_histo_t
      item_type: struct
      name: isc_histomulti
      pos:
        line_end: 78
        line_start: 73
        source_file: /src/bind9/lib/isc/histo.c
    typedefs:
    - item_type: typedef
      name: hg_bucket_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/lib/isc/histo.c
      type: atomic_uint_fast64_t
    - item_type: typedef
      name: (hg_bucket_t)
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bind9/lib/isc/histo.c
      type: atomic_ptr
    union: []
- function_names:
  - 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: ACCEPT_DEFLATE
        value: 1 << 2
      - name: CONNECTION_KEEP_ALIVE
        value: 1 << 1
      item_type: enum
      name: httpd_flags
      pos:
        line_end: 52
        line_start: 48
        source_file: /src/bind9/lib/isc/httpd.c
    preproc_defs:
    - item_type: preproc_def
      name: HTTP_RECVLEN
      pos:
        line_end: 44
        line_start: 43
        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: 45
        line_start: 44
        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: 46
        line_start: 45
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: '100'
    - item_type: preproc_def
      name: HTTP_MAX_REQUEST_LEN
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/isc/httpd.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: HTTPD_MAGIC
      pos:
        line_end: 55
        line_start: 54
        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: 58
        line_start: 57
        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: 79
        line_start: 72
        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: 104
        line_start: 82
        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: 136
        line_start: 118
        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: 189
        line_start: 152
        source_file: /src/bind9/lib/isc/httpd.c
    typedefs: []
    union: []
- function_names:
  - MALLOCX_ZERO_GET
  - sallocx
  - sallocx
  - mallocx
  - sdallocx
  - rallocx
  - 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: 97
        line_start: 94
        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:
    - item_type: preproc_def
      name: THREAD_MINSTACKSIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/isc/thread_p.h
      type_or_value: (1U * 1024 * 1024)
    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__ratelimiter_doshutdown
  - isc_ratelimiter_shutdown
  - 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: []
    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:
    - item_type: typedef
      name: isc_ht_node_t
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bind9/lib/isc/ht.c
      type: isc_ht_node
    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:
  - 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: 93
        line_start: 87
        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: 57
        line_start: 56
        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: 61
        line_start: 60
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: '2'
    - item_type: preproc_def
      name: HASHMAP_NO_BITS
      pos:
        line_end: 65
        line_start: 64
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: 0U
    - item_type: preproc_def
      name: HASHMAP_MIN_BITS
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/isc/hashmap.c
      type_or_value: 1U
    - item_type: preproc_def
      name: HASHMAP_MAX_BITS
      pos:
        line_end: 67
        line_start: 66
        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: 73
        line_start: 68
        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: 80
        line_start: 75
        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: 90
        line_start: 82
        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: 98
        line_start: 92
        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
  - total_inuse
  - ISC_LIST_FOREACH
  - write_string
  - STRINGIFY
  - TOSTRING
  - write_size
  - write_errno
  - write_backtrace
  - CHECK_OOM
  - oom
  - SHOULD_TRACE_OR_RECORD
  - ADD_TRACE
  - DELETE_TRACE
  - add_trace_entry
  - delete_trace_entry
  - ADJUST_ZERO_ALLOCATION_SIZE
  - mem_get
  - mem_purge
  - mem_purge
  - mem_put
  - mem_realloc
  - mem_getstats
  - mem_putstats
  - debugging_enabled
  - isc__mem_initialize
  - isc__mem_shutdown
  - isc_mem_setdebugging
  - isc_mem_debugon
  - isc_mem_debugoff
  - 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: 46
        line_start: 45
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: (const xmlChar *)
    - item_type: preproc_def
      name: JEMALLOC_API_SUPPORTED
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: '1'
    - item_type: preproc_def
      name: JEMALLOC_API_SUPPORTED
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: '1'
    - item_type: preproc_def
      name: ISC_MEM_DEBUGGING
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: '0'
    - item_type: preproc_def
      name: ZERO_ALLOCATION_SIZE
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: sizeof(void *)
    - item_type: preproc_def
      name: DEBUG_TABLE_COUNT
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: 512U
    - item_type: preproc_def
      name: FLARG_PASS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/bind9/lib/isc/mem.c
      type_or_value: ', func, file, line'
    - item_type: preproc_def
      name: FLARG
      pos:
        line_end: 107
        line_start: 106
        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: 118
        line_start: 117
        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: 158
        line_start: 157
        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: 263
        line_start: 262
        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: 101
        line_start: 94
        source_file: /src/bind9/lib/isc/mem.c
    - fields:
      - name: '*next'
        type: element
      item_type: struct
      name: element
      pos:
        line_end: 115
        line_start: 113
        source_file: /src/bind9/lib/isc/mem.c
    - fields:
      - name: magic
        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: 155
        line_start: 133
        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: 175
        line_start: 160
        source_file: /src/bind9/lib/isc/mem.c
    typedefs:
    - item_type: typedef
      name: debuglink_t
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bind9/lib/isc/mem.c
      type: debuglink
    - item_type: typedef
      name: (debuglink_t)
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bind9/lib/isc/mem.c
      type: ISC_LIST
    - item_type: typedef
      name: element
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/bind9/lib/isc/mem.c
      type: element
    union:
    - fields:
      - name: padding[ISC_OS_CACHELINE_SIZE]
        type: char
      item_type: union
      name: isc__mem_stat_t
      pos:
        line_end: 131
        line_start: 126
        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:
    - item_type: typedef
      name: isc_log_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bind9/lib/isc/log.c
      type: isc_log
    - item_type: typedef
      name: isc_logchannel_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bind9/lib/isc/log.c
      type: isc_logchannel
    - item_type: typedef
      name: isc_logchannellist_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bind9/lib/isc/log.c
      type: isc_logchannellist
    - item_type: typedef
      name: isc_logmessage_t
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bind9/lib/isc/log.c
      type: isc_logmessage
    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:
  - thread_wrap
  - thread_body
  - thread_run
  - isc_thread_main
  - isc_thread_create
  - isc_thread_join
  - isc_thread_setname
  - isc_thread_yield
  - isc_thread_getstacksize
  - isc_thread_setstacksize
  - isc__thread_initialize
  - isc__thread_shutdown
  source_file: /src/bind9/lib/isc/thread.c
  types:
    enum: []
    preproc_defs: []
    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: 56
        line_start: 52
        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_paused
  - isc_loopmgr_destroy
  - isc_loopmgr_nloops
  - isc_loop_getmctx
  - isc_loop_main
  - isc_loop_get
  - isc_loopmgr_blocking
  - isc_loopmgr_nonblocking
  - isc_loop_now
  - isc_loop_shuttingdown
  - isc_loop_helper
  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_PAYLOAD
      - name: ISC_PROXY2_STATE_END
      - name: ISC_PROXY2_STATE_WAITING_HEADER
      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: 765
        line_start: 760
        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: 864
        line_start: 861
        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: 913
        line_start: 910
        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
      type: ISC_LIST
    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_md_new
  - isc_md_free
  - isc_md_init
  - isc_md_reset
  - isc_md_update
  - isc_md_final
  - isc_md_get_size
  - isc_md_get_block_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: []
    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:
  - 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
  source_file: /src/bind9/lib/isc/tls.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: COMMON_SSL_OPTIONS
      pos:
        line_end: 57
        line_start: 55
        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: 689
        line_start: 688
        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: 690
        line_start: 689
        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: 870
        line_start: 869
        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: 873
        line_start: 872
        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: 890
        line_start: 876
        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: 899
        line_start: 892
        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: 1148
        line_start: 1143
        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: 1155
        line_start: 1150
        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: 1190
        line_start: 1157
        source_file: /src/bind9/lib/isc/tls.c
    typedefs:
    - item_type: typedef
      name: client_session_cache_entry_t
      pos:
        line_end: 1141
        line_start: 1141
        source_file: /src/bind9/lib/isc/tls.c
      type: client_session_cache_entry
    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:
  - ISC_STATSMULTI_VALID
  - to_index
  - isc_statsmulti_create
  - isc__statsmulti_destroy
  - isc_statsmulti_increment
  - isc_statsmulti_decrement
  - isc_statsmulti_dump
  - isc_statsmulti_get_counter
  - isc_statsmulti_clear
  source_file: /src/bind9/lib/isc/statsmulti.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_STATSMULTI_MAGIC
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/isc/statsmulti.c
      type_or_value: ISC_MAGIC('S', 'M', 'u', 'l')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: n_counters
        type: int
      - name: per_thread_capacity
        type: int
      - name: num_threads_plus_one
        type: int
      - name: '*counters'
        type: isc_atomic_statscounter_t
      item_type: struct
      name: isc_statsmulti
      pos:
        line_end: 46
        line_start: 38
        source_file: /src/bind9/lib/isc/statsmulti.c
    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: 81
        line_start: 80
        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: 116
        line_start: 115
        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: 131
        line_start: 130
        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: 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: 75
        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: 110
        line_start: 83
        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: 125
        line_start: 118
        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: 142
        line_start: 136
        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: 293
        line_start: 292
        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: []
    union: []
- function_names:
  - isc_net_probeipv4
  - isc_net_probeipv6
  - getportrange_sysctl
  - getportrange_sysctl
  - isc_net_getportrange
  - 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:
  - md_register_algorithm
  - register_algorithms
  - isc_hmac
  - isc_hmac_key_create
  - isc_hmac_key_destroy
  - isc_hmac_key_expose
  - isc_hmac_key_equal
  - isc_hmac_new
  - isc_hmac_free
  - isc_hmac_init
  - isc_hmac_update
  - isc_hmac_final
  - 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_setdestroycheck
  - isc__crypto_initialize
  - isc__crypto_shutdown
  source_file: /src/bind9/lib/isc/crypto/ossl1_1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HMAC_KEY_MAGIC
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/bind9/lib/isc/crypto/ossl1_1.c
      type_or_value: ISC_MAGIC('H', 'M', 'A', 'C')
    structs:
    - fields:
      - name: magic
        type: uint32_t
      - name: len
        type: uint32_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*md'
        type: EVP_MD
      - name: secret[]
        type: uint8_t
      item_type: struct
      name: isc_hmac_key
      pos:
        line_end: 40
        line_start: 34
        source_file: /src/bind9/lib/isc/crypto/ossl1_1.c
    typedefs: []
    union: []
- function_names:
  - md_register_algorithm
  - register_algorithms
  - unregister_algorithms
  - isc_hmac
  - isc_hmac_key_create
  - isc_hmac_key_destroy
  - isc_hmac_key_expose
  - isc_hmac_key_equal
  - isc_hmac_new
  - isc_hmac_free
  - isc_hmac_init
  - isc_hmac_update
  - isc_hmac_final
  - isc_crypto_fips_mode
  - isc_crypto_fips_enable
  - isc__crypto_setdestroycheck
  - isc__crypto_initialize
  - isc__crypto_shutdown
  source_file: /src/bind9/lib/isc/crypto/ossl3.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: magic
        type: uint32_t
      - name: len
        type: uint32_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*params'
        type: OSSL_PARAM
      - name: secret[]
        type: uint8_t
      item_type: struct
      name: isc_hmac_key
      pos:
        line_end: 42
        line_start: 36
        source_file: /src/bind9/lib/isc/crypto/ossl3.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/crypto/ossl_common.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\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_HOSTUNREACH
      - name: ISC_R_EOF
      - name: ISC_R_SHUTTINGDOWN
      - name: ISC_R_DISCFULL
      - name: DNS_R_DROP
      - name: DNS_R_NCACHENXDOMAIN
      - name: DNS_R_ALIAS
      - name: DNS_R_CLOCKSKEW
      - name: DNS_R_EMPTYNAME
      - name: DNS_R_BADEUI
      - name: DNS_R_TOOMANYRECORDS
      - name: DNS_R_BADCOOKIE
        value: DNS_R_NOERROR + 23
      - name: DNS_R_NSEC3ITERRANGE
      - name: DNS_R_NOALPN
      - name: DNS_R_NOTAUTH
      - name: ISC_R_SUCCESS
      - name: ISC_R_TIMEDOUT
      - name: ISC_R_UNSET
      - name: DNS_R_BADDOTTEDQUAD
      - name: ISC_R_UNEXPECTED
      - name: ISC_R_FILENOTFOUND
      - name: DNS_R_UNKNOWN
      - name: ISC_R_MULTIPLE
      - name: DNS_R_NOOWNER
      - name: DNS_R_NEWORIGIN
      - name: DNS_R_OPTERR
      - name: DNS_R_BADSIG0
      - name: DNS_R_NSEC3BADALG
      - name: ISC_R_CRYPTOFAILURE
      - name: DNS_R_DELEGATION
      - name: DNS_R_NOTINSECURE
      - name: DNS_R_NOTAUTHORITATIVE
      - name: DNS_R_TRUNCATEDTCP
      - name: DNS_R_BADBITMAP
      - name: DNS_R_NOTPRIMARY
      - name: DNS_R_BADCDNSKEY
      - name: DNS_R_HAVEPARMKEYS
      - name: DST_R_NULLKEY
      - name: DST_R_NOTPUBLICKEY
      - name: DNS_R_RCODE11
      - name: DST_R_CRYPTOFAILURE
      - name: ISC_R_NOTIMPLEMENTED
      - name: DNS_R_BADPOINTER
      - name: ISC_R_UNEXPECTEDTOKEN
      - name: DNS_R_BADLABELTYPE
      - name: ISC_R_TLSBADPEERCERT
      - name: DNS_R_BADESCAPE
      - name: ISC_R_NOTFOUND
      - name: DNS_R_CONTINUE
      - name: DNS_R_UNEXPECTEDID
      - name: DNS_R_BADALG
      - name: DNS_R_NSEC3SALTRANGE
      - name: DST_R_WRITEERROR
      - name: DNS_R_NODOHPATH
      - name: DNS_R_UNEXPECTEDRCODE
      - name: DST_R_KEYCANNOTCOMPUTESECRET
      - name: DST_R_UNSUPPORTEDALG
      - name: ISC_R_UNBALANCED
      - name: ISC_R_FILEEXISTS
      - name: ISC_R_RANGE
      - name: ISC_R_UNBALANCEDQUOTES
      - name: DNS_R_NOTZONETOP
      - name: DNS_R_GLUE
      - name: DNS_R_WAIT
      - name: DNS_R_SEENINCLUDE
      - name: DNS_R_SINGLETON
      - name: DNS_R_UNEXPECTEDOPCODE
      - name: DNS_R_NOERROR
      - name: DNS_R_NSEC3RESALT
      - name: DNS_R_UNKNOWNCOMMAND
      - name: DNS_R_YXDOMAIN
      - name: DST_R_NOTPRIVATEKEY
      - name: ISC_R_MULTICAST
      - name: DNS_R_LABELTOOLONG
      - name: ISC_R_NOCONN
      - name: ISC_R_EXISTS
      - name: ISC_R_FAILURE
      - name: ISC_R_INVALIDPROTO
      - name: DNS_R_EMPTYLABEL
      - name: DNS_R_ZONECUT
      - name: DNS_R_UNKNOWNSERVICE
      - name: DNS_R_OBSOLETE
      - name: DNS_R_MISMATCH
      - name: DST_R_OPENSSLFAILURE
        value: DST_R_CRYPTOFAILURE
      - name: DNS_R_NCACHENXRRSET
      - name: DNS_R_FROMWILDCARD
      - name: DNS_R_SERVFAIL
      - name: DNS_R_DYNAMIC
      - name: ISC_R_MASKNONCONTIG
      - name: ISC_R_FAMILYMISMATCH
      - name: ISC_R_BADHEX
      - name: ISC_R_BADBASE32
      - name: DNS_R_BADTTL
      - name: DNS_R_TSIGVERIFYFAILURE
      - name: DNS_R_INVALIDTIME
      - name: DNS_R_NOTVERIFIEDYET
      - name: DNS_R_USETCP
      - name: DNS_R_NOMASTERFILE
      - name: DST_R_BADKEYTYPE
      - name: DNS_R_RCODE14
      - name: DNS_R_TOOMANYKEYS
      - name: ISC_R_NOTCONNECTED
      - name: ISC_R_IOERROR
      - name: ISC_R_NOMORE
      - name: ISC_R_NOPERM
      - name: ISC_R_LOADING
      - name: DNS_R_EXTRATOKEN
      - name: DNS_R_NAMETOOLONG
      - name: DNS_R_EXPECTEDTSIG
      - name: DNS_R_UNEXPECTEDTSIG
      - name: DNS_R_UNKNOWNFLAG
      - name: DNS_R_FORMERR
      - name: DNS_R_YXRRSET
      - name: ISCCC_R_UNKNOWNVERSION
      - name: DNS_R_EXPIRED
      - name: DNS_R_RCODE13
      - name: DNS_R_BADDNSTAP
      - name: DNS_R_SIGINVALID
      - name: DNS_R_CNAMEANDOTHER
      - name: ISC_R_CONNECTIONRESET
      - name: ISC_R_DEFAULT
      - name: DNS_R_DISALLOWED
      - name: DNS_R_SIGFUTURE
      - name: DNS_R_NOTEXACT
      - name: DNS_R_REMOTEFORMERR
      - name: DNS_R_COVERINGNSEC
      - name: DNS_R_VERIFYFAILURE
      - name: DNS_R_INVALIDDSYNC
      - name: DST_R_VERIFYFAILURE
      - name: DNS_R_BADOWNERNAME
      - name: DNS_R_NXDOMAIN
      - name: DNS_R_TSIGERRORSET
      - name: DNS_R_NSISADDRESS
      - name: DST_R_SIGNFAILURE
      - name: ISC_R_MAKE_ENUM_32BIT
        value: INT32_MAX
      - name: ISC_R_ADDRNOTAVAIL
      - name: ISC_R_UNEXPECTEDEND
      - name: ISC_R_MAXSIZE
      - name: ISC_R_QUOTA
      - name: DNS_R_DNAME
      - name: DNS_R_NOVALIDSIG
      - name: DNS_R_NOVALIDNSEC
      - name: DNS_R_UNKNOWNPROTO
      - name: DNS_R_CHASEDSSERVERS
      - name: DNS_R_NOTDYNAMIC
      - name: DNS_R_RCODE15
      - name: DNS_R_ATZONETOP
      - name: DNS_R_KEYNOTACTIVE
      - name: DST_R_INVALIDPUBLICKEY
      - name: DNS_R_RCODE12
      - name: DST_R_INVALIDPARAM
      - name: ISC_R_IPV4PREFIX
      - name: ISC_R_DISCQUOTA
      - name: DNS_R_NOTTL
      - name: DNS_R_UNCHANGED
      - name: DNS_R_HINT
      - name: DNS_R_NOTLOADED
      - name: DNS_R_METATYPE
      - name: DNS_R_LAME
      - name: DNS_R_DUPLICATE
      - name: DNS_R_NOKEYMATCH
      - name: DNS_R_BROKENCHAIN
      - name: DNS_R_NOSKRFILE
      - name: DNS_R_BLACKHOLED
      - name: DST_R_NOENGINE
      - name: ISC_R_DISABLED
      - name: ISC_R_NOMEMORY
      - name: ISC_R_ADDRINUSE
      - name: ISC_R_NORESOURCES
      - name: ISC_R_CONNREFUSED
      - name: DNS_R_EXTRADATA
      - name: DNS_R_NOIDENTITY
      - name: DNS_R_BADIXFR
      - name: DNS_R_EMPTYWILD
      - name: DNS_R_BADCDS
      - name: DNS_R_INCONSISTENTRR
      - name: DNS_R_LOOPDETECTED
      - name: ISC_R_BADBASE64
      - name: ISC_R_ALREADYRUNNING
      - name: ISC_R_TOOMANYOPENFILES
      - name: ISC_R_HTTP2ALPNERROR
      - name: ISC_R_BADADDRESSFORM
      - name: DNS_R_PARTIALMATCH
      - name: DNS_R_BADDB
      - name: DNS_R_SIGEXPIRED
      - name: DNS_R_NOJOURNAL
      - name: DNS_R_FROZEN
      - name: DST_R_INVALIDPRIVATEKEY
      - name: ISCCC_R_DUPLICATE
      - name: DNS_R_NOSKRBUNDLE
      - name: ISC_R_SOFTQUOTA
      - name: ISC_R_IGNORE
      - name: ISC_R_DEADLOCK
      - name: ISC_R_HOSTDOWN
      - name: ISC_R_INVALIDFILE
      - name: ISC_R_NOTFILE
      - name: ISC_R_BADNUMBER
      - name: DNS_R_TEXTTOOLONG
      - name: DNS_R_SYNTAX
      - name: DNS_R_CNAME
      - name: DST_R_EXTERNALKEY
      - name: ISCCC_R_BADAUTH
      - name: DNS_R_INVALIDNS
      - name: ISC_R_TLSERROR
      - name: ISC_R_NETDOWN
      - name: ISC_R_NOSPACE
      - name: ISC_R_FAMILYNOSUPPORT
      - name: DNS_R_BADAAAA
      - name: DNS_R_BADCLASS
      - name: DNS_R_INVALIDTKEY
      - name: DNS_R_RECOVERABLE
      - name: DNS_R_EXPECTEDRESPONSE
      - name: DNS_R_MXISADDRESS
      - name: DNS_R_NXRRSET
      - name: DNS_R_BADTSIG
      - name: DNS_R_REFUSED
      - name: ISC_R_NRESULTS
      - name: ISC_R_COMPLETE
      - name: ISC_R_NOENTROPY
      - name: ISC_R_NETUNREACH
      - name: ISC_R_CANCELED
      - name: ISC_R_LOCKBUSY
      - name: ISC_R_DOTALPNERROR
      - name: DNS_R_BADZONE
      - name: DNS_R_UPTODATE
      - name: DNS_R_KEYUNAUTHORIZED
      - name: DNS_R_HINTNXRRSET
      - name: DNS_R_BADNAME
      - name: DNS_R_NOTIMP
      - name: ISCCC_R_MAXDEPTH
      - name: DNS_R_INVALIDNSEC3
      - name: DNS_R_NOTZONE
      - name: DNS_R_BADVERS
      item_type: enum
      name: isc_result
      pos:
        line_end: 259
        line_start: 19
        source_file: /src/bind9/lib/isc/include/isc/result.h
    preproc_defs: []
    structs: []
    typedefs: []
    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: 101
        line_start: 99
        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}"
      - name: zone
        type: uint32_t
      item_type: struct
      name: isc_netaddr
      pos:
        line_end: 37
        line_start: 30
        source_file: /src/bind9/lib/isc/include/isc/netaddr.h
    - fields:
      - name: addr
        type: isc_netaddr_t
      - name: (isc_netaddrlink_t)
        type: ISC_LINK
      item_type: struct
      name: isc_netaddrlink
      pos:
        line_end: 42
        line_start: 39
        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: 47
        line_start: 44
        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:
  - isc_nonce_buf
  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:
    - item_type: typedef
      name: isc_ht_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bind9/lib/isc/include/isc/ht.h
      type: isc_ht
    - item_type: typedef
      name: isc_ht_iter_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/ht.h
      type: isc_ht_iter
    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_LINKED
  - 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
  - ISC_ATTR_NONNULL
  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__))
    - item_type: preproc_def
      name: ISC_NONSTRING
      pos:
        line_end: 123
        line_start: 122
        source_file: /src/bind9/lib/isc/include/isc/attributes.h
      type_or_value: __attribute__((nonstring))
    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_UNIX
        value: '3'
      - name: ISC_PROXY2_AF_INET6
        value: '2'
      - name: ISC_PROXY2_AF_INET
        value: '1'
      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_CIPHER
        value: '0x23'
      - name: ISC_PROXY2_TLV_SUBTYPE_TLS_SIG_ALG
        value: '0x24'
      - name: ISC_PROXY2_TLV_SUBTYPE_TLS_KEY_ALG
        value: '0x25'
      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_handler_t
      pos:
        line_end: 193
        line_start: 193
        source_file: /src/bind9/lib/isc/include/isc/proxy2.h
      type: isc_proxy2_handler
    - 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
      type: pthread_spinlock_t
    - item_type: typedef
      name: isc_spinlock_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/spinlock.h
      type: pthread_spinlock_t
    - item_type: typedef
      name: '*isc_spinlock_t'
      pos:
        line_end: 103
        line_start: 103
        source_file: /src/bind9/lib/isc/include/isc/spinlock.h
      type: atomic_uint_fast32_t
    - item_type: typedef
      name: isc_spinlock_t
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bind9/lib/isc/include/isc/spinlock.h
      type: atomic_uint_fast32_t
    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: NAMED_LOGCATEGORY_GENERAL
        value: ISC_LOGCATEGORY_GENERAL
      - name: DNS_LOGCATEGORY_DATABASE
      - name: DNS_LOGCATEGORY_RPZ_PASSTHRU
      - name: DNS_LOGCATEGORY_EDNS_DISABLED
      - name: DNS_LOGCATEGORY_UPDATE_POLICY
      - name: DNS_LOGCATEGORY_ZONEVERSION
      - name: NS_LOGCATEGORY_NETWORK
      - name: NS_LOGCATEGORY_SERVE_STALE
      - name: CFG_LOGCATEGORY_CONFIG
      - name: DELV_LOGCATEGORY_DEFAULT
      - name: ISC_LOGCATEGORY_MAKE_ENUM_32BIT
        value: INT32_MAX
      - 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_RPZ
      - name: DNS_LOGCATEGORY_SPILL
      - name: DNS_LOGCATEGORY_ZONELOAD
      - name: NS_LOGCATEGORY_DRA
      - name: NS_LOGCATEGORY_RESPONSES
      - name: NS_LOGCATEGORY_UPDATE_SECURITY
      - name: ISC_LOGCATEGORY_MAX
      - name: DNS_LOGCATEGORY_GENERAL
        value: ISC_LOGCATEGORY_GENERAL
      - name: DNS_LOGCATEGORY_CNAME
      - name: DNS_LOGCATEGORY_DNSSEC
      - name: DNS_LOGCATEGORY_NOTIFY
      - name: DNS_LOGCATEGORY_RESOLVER
      - 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_INVALID
        value: '-1'
      - name: ISC_LOGCATEGORY_GENERAL
      - name: ISC_LOGCATEGORY_SSLKEYLOG
      - name: DNS_LOGCATEGORY_DISPATCH
      - name: DNS_LOGCATEGORY_LAME_SERVERS
      - name: DNS_LOGCATEGORY_RRL
      - name: DNS_LOGCATEGORY_XFER_IN
      - name: NS_LOGCATEGORY_CLIENT
      - name: NS_LOGCATEGORY_QUERIES
      - name: NS_LOGCATEGORY_TAT
      item_type: enum
      name: isc_logcategory
      pos:
        line_end: 162
        line_start: 108
        source_file: /src/bind9/lib/isc/include/isc/log.h
    - enumerators:
      - name: ISC_LOGMODULE_INVALID
        value: '-1'
      - name: ISC_LOGMODULE_SOCKET
      - name: ISC_LOGMODULE_FILE
      - name: DNS_LOGMODULE_DB
      - name: DNS_LOGMODULE_MESSAGE
      - name: DNS_LOGMODULE_ZONE
      - name: DNS_LOGMODULE_XFER_OUT
      - name: DNS_LOGMODULE_REQUEST
      - name: DNS_LOGMODULE_SDB
      - name: DNS_LOGMODULE_HINTS
      - name: NAMED_LOGMODULE_CONTROL
      - name: NS_LOGMODULE_UPDATE
      - name: DNS_LOGMODULE_CRYPTO
      - name: NS_LOGMODULE_NOTIFY
      - name: DNS_LOGMODULE_QP
      - name: ISC_LOGMODULE_MAX
      - 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_DNSSEC
      - name: DNS_LOGMODULE_DYNDB
      - name: DNS_LOGMODULE_RPZ
      - name: NS_LOGMODULE_CLIENT
      - name: NS_LOGMODULE_INTERFACEMGR
      - name: NAMED_LOGMODULE_SERVER
      - name: CFG_LOGMODULE_PARSER
      - name: NS_LOGMODULE_XFER_OUT
      - name: ISC_LOGMODULE_INTERFACE
      - name: ISC_LOGMODULE_DEFAULT
        value: '0'
      - 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_DLZ
      - name: DNS_LOGMODULE_NTA
      - name: DNS_LOGMODULE_CATZ
      - name: NS_LOGMODULE_QUERY
      - name: ISC_LOGMODULE_TIME
      - name: ISC_LOGMODULE_NETMGR
      - name: DNS_LOGMODULE_JOURNAL
      - name: DNS_LOGMODULE_CACHE
      - name: DNS_LOGMODULE_ACL
      - name: DNS_LOGMODULE_MASTERDUMP
      - name: DNS_LOGMODULE_DIFF
      - name: DNS_LOGMODULE_UNUSED1
      - name: DNS_LOGMODULE_PACKETS
      - name: DNS_LOGMODULE_SSU
      - name: NS_LOGMODULE_XFER_IN
      - name: NS_LOGMODULE_HOOKS
      - name: DELV_LOGMODULE_DEFAULT
      - name: DNS_LOGMODULE_DNSTAP
      - name: ISC_LOGMODULE_MAKE_ENUM_32BIT
        value: INT32_MAX
      - name: NAMED_LOGMODULE_MAIN
      item_type: enum
      name: isc_logmodule
      pos:
        line_end: 235
        line_start: 168
        source_file: /src/bind9/lib/isc/include/isc/log.h
    preproc_defs:
    - item_type: preproc_def
      name: ISC_LOG_DYNAMIC
      pos:
        line_end: 41
        line_start: 40
        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: 42
        line_start: 41
        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: 43
        line_start: 42
        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: 44
        line_start: 43
        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: 45
        line_start: 44
        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: 46
        line_start: 45
        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: 53
        line_start: 52
        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: 54
        line_start: 53
        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: 55
        line_start: 54
        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: 56
        line_start: 55
        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: 63
        line_start: 62
        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: 64
        line_start: 63
        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: 65
        line_start: 64
        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: 66
        line_start: 65
        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: 67
        line_start: 66
        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: 68
        line_start: 67
        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: 69
        line_start: 68
        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: 70
        line_start: 69
        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: 71
        line_start: 70
        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: 72
        line_start: 71
        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: 73
        line_start: 72
        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: 74
        line_start: 73
        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: 75
        line_start: 74
        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: 86
        line_start: 85
        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: 87
        line_start: 86
        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: 88
        line_start: 87
        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: 284
        line_start: 283
        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: 264
        line_start: 248
        source_file: /src/bind9/lib/isc/include/isc/log.h
    typedefs:
    - item_type: typedef
      name: isc_logconfig_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type: isc_logconfig
    - item_type: typedef
      name: isc_logcategory_t
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type: isc_logcategory
    - item_type: typedef
      name: isc_logmodule_t
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bind9/lib/isc/include/isc/log.h
      type: isc_logmodule
    union:
    - fields:
      - name: file
        type: isc_logfile_t
      - name: facility
        type: int
      item_type: union
      name: isc_logdestination
      pos:
        line_end: 273
        line_start: 270
        source_file: /src/bind9/lib/isc/include/isc/log.h
- 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: []
    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_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:
    - item_type: typedef
      name: isc_hash32_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/hash.h
      type: isc_halfsiphash13_t
    - item_type: typedef
      name: isc_hash64_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bind9/lib/isc/include/isc/hash.h
      type: isc_siphash13_t
    union: []
- function_names:
  - ISC_SLIST
  - ISC_SLINK
  - ISC_SLIST_HEAD
  - ISC_SLIST_EMPTY
  - ISC_SLIST_PREPEND
  - ISC_SLIST_INSERTAFTER
  - ISC_SLIST_NEXT
  - ISC_SLIST_FOREACH_FROM
  - ISC_SLIST_FOREACH
  - ISC_SLIST_FOREACH_PTR
  - ISC_SLIST_PTR_REMOVE
  - ISC_SLIST_PTR_ADVANCE
  source_file: /src/bind9/lib/isc/include/isc/slist.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_SLIST_INITIALIZER
      pos:
        line_end: 27
        line_start: 23
        source_file: /src/bind9/lib/isc/include/isc/slist.h
      type_or_value: "{                     \\\n\t\t.head = NULL, \\\n\t}"
    - item_type: preproc_def
      name: ISC_SLINK_INITIALIZER
      pos:
        line_end: 32
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/slist.h
      type_or_value: "{                     \\\n\t\t.next = NULL, \\\n\t}"
    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
  - rcu_cmpxchg_pointer
  - rcu_xchg_pointer
  - CMM_LOAD_SHARED
  - _CMM_LOAD_SHARED
  - CMM_STORE_SHARED
  - _CMM_STORE_SHARED
  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
    - item_type: typedef
      name: isc_job_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bind9/lib/isc/include/isc/job.h
      type: isc_job
    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
    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:
    - fields:
      - name: length
        type: int
      - name: '*target'
        type: isc_buffer_t
      - name: digits
        type: int
      - name: val[2]
        type: int
      item_type: struct
      name: isc_hex_decodectx_t
      pos:
        line_end: 27
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/hex.h
    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:
  - ckd_mul
  - ckd_add
  - ckd_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: []
    union: []
- function_names:
  - isc_random32
  - isc_random_buf
  - isc_random_uniform
  - isc_random8
  - isc_random16
  source_file: /src/bind9/lib/isc/include/isc/random.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - __has_feature
  - __has_header
  - MOVE_OWNERSHIP
  - 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
  - CHECK
  - CLEANUP
  - RETERR
  - 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: EMPTY_TRANSLATION_UNIT
      pos:
        line_end: 116
        line_start: 115
        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: 131
        line_start: 130
        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: 135
        line_start: 134
        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: 141
        line_start: 140
        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: 145
        line_start: 144
        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
    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
      type: pthread_t
    - 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
      type: pthread_barrier_t
    - item_type: typedef
      name: isc_barrier_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/barrier.h
      type: pthread_barrier_t
    - item_type: typedef
      name: '*isc_barrier_t'
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bind9/lib/isc/include/isc/barrier.h
      type: uv_barrier_t
    - item_type: typedef
      name: isc_barrier_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bind9/lib/isc/include/isc/barrier.h
      type: uv_barrier_t
    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_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bind9/lib/isc/include/isc/hashmap.h
      type: isc_hashmap
    - item_type: typedef
      name: isc_hashmap_iter_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/hashmap.h
      type: isc_hashmap_iter
    - 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
  - isc_histomulti_ref
  - isc_histomulti_unref
  - isc_histomulti_attach
  - isc_histomulti_detach
  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:
    - item_type: typedef
      name: isc_histo_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bind9/lib/isc/include/isc/histo.h
      type: isc_histo
    - item_type: typedef
      name: isc_histomulti_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bind9/lib/isc/include/isc/histo.h
      type: isc_histomulti
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/managers.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_managers_t
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/bind9/lib/isc/include/isc/managers.h
      type: isc_managers
    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
    - item_type: typedef
      name: isc_heap_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/heap.h
      type: isc_heap
    union: []
- function_names:
  - stdc_count_zeros
  - stdc_count_zeros
  - stdc_leading_zeros
  - stdc_leading_zeros
  - stdc_trailing_zeros
  - stdc_trailing_zeros
  - stdc_leading_ones
  - stdc_trailing_ones
  - ISC_ROTATE_LEFT
  - ISC_ROTATE_RIGHT
  - isc_rotate_left8
  - isc_rotate_left16
  - isc_rotate_left32
  - isc_rotate_left64
  - isc_rotate_right8
  - isc_rotate_right16
  - isc_rotate_right32
  - isc_rotate_right64
  - ISC_ROTATE_LEFT
  - ISC_ROTATE_RIGHT
  source_file: /src/bind9/lib/isc/include/isc/bit.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: EXTRA_ROTATE_LEFT
      pos:
        line_end: 118
        line_start: 117
        source_file: /src/bind9/lib/isc/include/isc/bit.h
      type_or_value: ', size_t : isc_rotate_left64'
    - item_type: preproc_def
      name: EXTRA_ROTATE_RIGHT
      pos:
        line_end: 119
        line_start: 118
        source_file: /src/bind9/lib/isc/include/isc/bit.h
      type_or_value: ', size_t : isc_rotate_right64'
    - item_type: preproc_def
      name: EXTRA_ROTATE_LEFT
      pos:
        line_end: 121
        line_start: 120
        source_file: /src/bind9/lib/isc/include/isc/bit.h
      type_or_value: ', size_t : isc_rotate_left32'
    - item_type: preproc_def
      name: EXTRA_ROTATE_RIGHT
      pos:
        line_end: 122
        line_start: 121
        source_file: /src/bind9/lib/isc/include/isc/bit.h
      type_or_value: ', size_t : isc_rotate_right32'
    structs: []
    typedefs: []
    union: []
- function_names:
  - HALF_ROUND64
  - FULL_ROUND64
  - HALF_ROUND32
  - FULL_ROUND32
  - U8TO32_ONE
  - U8TO64_ONE
  - isc_siphash24_init
  - isc_siphash24_one
  - isc_siphash24_hash
  - isc_siphash24_finalize
  - isc_siphash24
  - isc_siphash13_init
  - isc_siphash13_one
  - isc_siphash13_hash
  - isc_siphash13_finalize
  - isc_siphash13
  - isc_halfsiphash24_init
  - isc_halfsiphash24_one
  - isc_halfsiphash24_hash
  - isc_halfsiphash24_finalize
  - isc_halfsiphash24
  - isc_halfsiphash13_init
  - isc_halfsiphash13_one
  - isc_halfsiphash13_hash
  - isc_halfsiphash13_finalize
  - isc_halfsiphash13
  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: 38
        line_start: 37
        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: 39
        line_start: 38
        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: 41
        line_start: 40
        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: 42
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: 32 / 8
    - item_type: preproc_def
      name: cROUNDS_24
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: '2'
    - item_type: preproc_def
      name: dROUNDS_24
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: '4'
    - item_type: preproc_def
      name: cROUNDS_13
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: '1'
    - item_type: preproc_def
      name: dROUNDS_13
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: '3'
    - item_type: preproc_def
      name: SIPROUND
      pos:
        line_end: 61
        line_start: 60
        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
    - item_type: preproc_def
      name: ISC_SIPHASH13_KEY_LENGTH
      pos:
        line_end: 301
        line_start: 300
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: ISC_SIPHASH24_KEY_LENGTH
    - item_type: preproc_def
      name: ISC_SIPHASH13_TAG_LENGTH
      pos:
        line_end: 302
        line_start: 301
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: ISC_SIPHASH24_TAG_LENGTH
    - item_type: preproc_def
      name: ISC_HALFSIPHASH13_KEY_LENGTH
      pos:
        line_end: 629
        line_start: 628
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: ISC_HALFSIPHASH24_KEY_LENGTH
    - item_type: preproc_def
      name: ISC_HALFSIPHASH13_TAG_LENGTH
      pos:
        line_end: 630
        line_start: 629
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type_or_value: ISC_HALFSIPHASH24_TAG_LENGTH
    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:
    - item_type: typedef
      name: isc_siphash13_t
      pos:
        line_end: 298
        line_start: 298
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type: isc_siphash24_t
    - item_type: typedef
      name: isc_halfsiphash13_t
      pos:
        line_end: 626
        line_start: 626
        source_file: /src/bind9/lib/isc/include/isc/siphash.h
      type: isc_halfsiphash24_t
    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_rwlock_t'
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
      type: pthread_rwlock_t
    - item_type: typedef
      name: isc__rwlock_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
      type: pthread_rwlock_t
    - item_type: typedef
      name: isc_rwlock_t
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
      type: pthread_rwlock_t
    - item_type: typedef
      name: isc__rwlock_t
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
      type: pthread_rwlock_t
    - item_type: typedef
      name: isc_rwlock_t
      pos:
        line_end: 215
        line_start: 215
        source_file: /src/bind9/lib/isc/include/isc/rwlock.h
      type: isc_rwlock
    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:
    - enumerators:
      - name: ISC_MD_UNKNOWN
        value: '0x00'
      - name: ISC_MD_MD5
        value: '0x01'
      - name: ISC_MD_SHA224
        value: '0x03'
      - name: ISC_MD_SHA256
        value: '0x04'
      - name: ISC_MD_SHA1
        value: '0x02'
      - name: ISC_MD_SHA384
        value: '0x05'
      - name: ISC_MD_SHA512
        value: '0x06'
      - name: ISC_MD_MAX
        value: '0x07'
      item_type: enum
      name: isc_md_type
      pos:
        line_end: 45
        line_start: 36
        source_file: /src/bind9/lib/isc/include/isc/md.h
    preproc_defs:
    - item_type: preproc_def
      name: ISC_MD5_DIGESTLENGTH
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '16'
    - item_type: preproc_def
      name: ISC_MD5_BLOCK_LENGTH
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_SHA1_DIGESTLENGTH
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '20'
    - item_type: preproc_def
      name: ISC_SHA1_BLOCK_LENGTH
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_SHA224_DIGESTLENGTH
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '28'
    - item_type: preproc_def
      name: ISC_SHA224_BLOCK_LENGTH
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_SHA256_DIGESTLENGTH
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '32'
    - item_type: preproc_def
      name: ISC_SHA256_BLOCK_LENGTH
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_SHA384_DIGESTLENGTH
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '48'
    - item_type: preproc_def
      name: ISC_SHA384_BLOCK_LENGTH
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '128'
    - item_type: preproc_def
      name: ISC_SHA512_DIGESTLENGTH
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '64'
    - item_type: preproc_def
      name: ISC_SHA512_BLOCK_LENGTH
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/isc/include/isc/md.h
      type_or_value: '128'
    - item_type: preproc_def
      name: ISC_MAX_MD_SIZE
      pos:
        line_end: 61
        line_start: 60
        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: 62
        line_start: 61
        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: 23
        line_start: 23
        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_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_PLAIN
        value: '1'
      - name: ISC_NM_PROXY_ENCRYPTED
        value: '2'
      item_type: enum
      name: isc_nm_proxy_type
      pos:
        line_end: 105
        line_start: 101
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
    preproc_defs:
    - item_type: preproc_def
      name: ISC_NM_LISTEN_ALL
      pos:
        line_end: 33
        line_start: 32
        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: 34
        line_start: 33
        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: 727
        line_start: 726
        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: 96
        line_start: 86
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
    typedefs:
    - 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: 46
        line_start: 45
        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: 58
        line_start: 57
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type: isc_result_t
    - 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: 70
        line_start: 69
        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: 80
        line_start: 80
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type: void
    - item_type: typedef
      name: isc_nm_timer_t
      pos:
        line_end: 911
        line_start: 911
        source_file: /src/bind9/lib/isc/include/isc/netmgr.h
      type: isc_nm_timer
    - item_type: typedef
      name: (*isc_nm_timer_cb)(void *, isc_result_t)
      pos:
        line_end: 913
        line_start: 913
        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\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\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:
    - item_type: typedef
      name: isc_queue_node_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bind9/lib/isc/include/isc/queue.h
      type: cds_wfcq_node
    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
      type: atomic_uint_fast32_t
    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_tlssocket
        value: 1 << 3
      - name: isc_nm_httpsocket
        value: 1 << 4
      - name: isc_nm_udpsocket
        value: 1 << 1
      - name: isc_nm_tcpsocket
        value: 1 << 2
      - 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_tlslistener
      - name: isc_nm_httplistener
      - name: isc_nm_streamdnslistener
      - name: isc_nm_tcplistener
      - name: isc_nm_proxystreamlistener
      - name: isc_nm_proxyudplistener
      item_type: enum
      name: isc_nmsocket_type
      pos:
        line_end: 115
        line_start: 97
        source_file: /src/bind9/lib/isc/include/isc/types.h
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_buffer_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_buffer
    - item_type: typedef
      name: (isc_buffer_t)
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: ISC_LIST
    - item_type: typedef
      name: isc_constregion_t
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_constregion
    - item_type: typedef
      name: isc_consttextregion_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_consttextregion
    - item_type: typedef
      name: isc_counter_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_counter
    - item_type: typedef
      name: isc_hash_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_hash
    - item_type: typedef
      name: isc_httpd_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_httpd
    - 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_httpdmgr_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_httpdmgr
    - item_type: typedef
      name: isc_httpdurl_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_httpdurl
    - 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_interface_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_interface
    - item_type: typedef
      name: isc_interfaceiter_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_interfaceiter
    - item_type: typedef
      name: isc_lex_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_lex
    - item_type: typedef
      name: isc_loop_t
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_loop
    - item_type: typedef
      name: isc_mem_t
      pos:
        line_end: 52
        line_start: 52
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_mem
    - item_type: typedef
      name: isc_mempool_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_mempool
    - item_type: typedef
      name: isc_netaddr_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_netaddr
    - item_type: typedef
      name: isc_netaddrlink_t
      pos:
        line_end: 55
        line_start: 55
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_netaddrlink
    - item_type: typedef
      name: (isc_netaddrlink_t)
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: ISC_LIST
    - item_type: typedef
      name: isc_netprefix_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_netprefix
    - item_type: typedef
      name: isc_nmsocket_t
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_nmsocket
    - item_type: typedef
      name: isc_nmhandle_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_nmhandle
    - item_type: typedef
      name: isc_portset_t
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_portset
    - item_type: typedef
      name: isc_quota_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_quota
    - item_type: typedef
      name: isc_ratelimiter_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_ratelimiter
    - item_type: typedef
      name: isc_region_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_region
    - item_type: typedef
      name: isc_rlevent_t
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_rlevent
    - item_type: typedef
      name: isc_signal_t
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_signal
    - item_type: typedef
      name: isc_sockaddr_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_sockaddr
    - item_type: typedef
      name: (isc_sockaddr_t)
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: ISC_LIST
    - item_type: typedef
      name: isc_stats_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_stats
    - item_type: typedef
      name: isc_statscounter_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: int_fast64_t
    - 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
      type: atomic_int_fast64_t
    - item_type: typedef
      name: isc_symtab_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_symtab
    - item_type: typedef
      name: isc_textregion_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_textregion
    - item_type: typedef
      name: isc_time_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_time
    - item_type: typedef
      name: isc_timer_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_timer
    - item_type: typedef
      name: isc_work_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_work
    - item_type: typedef
      name: isc_nm_http_endpoints_t
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_nm_http_endpoints
    - item_type: typedef
      name: isc_nmsocket_type_t
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bind9/lib/isc/include/isc/types.h
      type: isc_nmsocket_type
    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: 26
        line_start: 26
        source_file: /src/bind9/lib/isc/include/isc/hmac.h
      type: void
    - item_type: typedef
      name: isc_hmac_key_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/hmac.h
      type: isc_hmac_key
    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
      type: pthread_mutex_t
    - item_type: typedef
      name: isc_mutex_t
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bind9/lib/isc/include/isc/mutex.h
      type: pthread_mutex_t
    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:
  - isc_ossl_wrap_logged_toresult
  source_file: /src/bind9/lib/isc/include/isc/ossl_wrap.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: needs_cleanup
        type: bool
      - name: '*e'
        type: BIGNUM
      item_type: struct
      name: isc_ossl_wrap_rsa_components
      pos:
        line_end: 31
        line_start: 28
        source_file: /src/bind9/lib/isc/include/isc/ossl_wrap.h
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/statsmulti.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISC_STATSMULTIDUMP_VERBOSE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/isc/include/isc/statsmulti.h
      type_or_value: '0x00000001 '
    structs: []
    typedefs:
    - item_type: typedef
      name: isc_statsmulti_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/statsmulti.h
      type: isc_statsmulti
    - item_type: typedef
      name: (*isc_statsmulti_dumper_t)(isc_statscounter_t, uint64_t, void *)
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bind9/lib/isc/include/isc/statsmulti.h
      type: void
    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
      type: isc_result_t
    - 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: []
  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_tlsctx_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type: ssl_ctx_st
    - item_type: typedef
      name: isc_tls_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type: ssl_st
    - item_type: typedef
      name: isc_tls_cert_store_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type: x509_store_st
    - item_type: typedef
      name: isc_tlsctx_client_session_cache_t
      pos:
        line_end: 291
        line_start: 291
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type: isc_tlsctx_client_session_cache
    - item_type: typedef
      name: isc_tlsctx_cache_t
      pos:
        line_end: 456
        line_start: 456
        source_file: /src/bind9/lib/isc/include/isc/tls.h
      type: isc_tlsctx_cache
    union: []
- function_names:
  - 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: 36
        line_start: 35
        source_file: /src/bind9/lib/isc/include/isc/fxhash.h
      type_or_value: UINT64_C(0x517cc1b727220a95)
    - item_type: preproc_def
      name: K
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/isc/include/isc/fxhash.h
      type_or_value: UINT32_C(0x9e3779b9)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/isc/include/isc/timer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    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: 39
        line_start: 38
        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: 40
        line_start: 39
        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: 41
        line_start: 40
        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: 43
        line_start: 41
        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: 70
        line_start: 69
        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: 71
        line_start: 70
        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__MEM_ZERO
      pos:
        line_end: 126
        line_start: 125
        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: 434
        line_start: 433
        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: []
    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: 25
        line_start: 25
        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
      type: pthread_once_t
    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_t
      pos:
        line_end: 17
        line_start: 17
        source_file: /src/bind9/lib/isc/include/isc/dnsstream.h
      type: isc_dnsstream_assembler
    - 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
    - item_type: typedef
      name: isc_work_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bind9/lib/isc/include/isc/work.h
      type: isc_work
    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_URI_TOO_LONG
      - name: ISC_HTTP_ERROR_PAYLOAD_TOO_LARGE
      - name: ISC_HTTP_ERROR_NOT_FOUND
      - name: ISC_HTTP_ERROR_UNSUPPORTED_MEDIA_TYPE
      - 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: 2437
        line_start: 2433
        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: 3377
        line_start: 3374
        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: 3806
        line_start: 3794
        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: 4013
        line_start: 4011
        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
      type: ISC_LIST
    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
  - isc__netmgr_ref
  - isc__netmgr_unref
  - isc__netmgr_attach
  - isc__netmgr_detach
  - VALID_NMSOCK
  source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
  types:
    enum:
    - enumerators:
      - name: ISC_HTTP_REQ_GET
      - name: ISC_HTTP_REQ_POST
      - name: ISC_HTTP_REQ_UNSUPPORTED
      item_type: enum
      name: isc_http_request_type
      pos:
        line_end: 431
        line_start: 427
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    - enumerators:
      - name: ISC_HTTP_SCHEME_HTTP
      - name: ISC_HTTP_SCHEME_HTTP_SECURE
      - name: ISC_HTTP_SCHEME_UNSUPPORTED
      item_type: enum
      name: isc_http_scheme_type
      pos:
        line_end: 437
        line_start: 433
        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: 239
        line_start: 238
        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: 291
        line_start: 290
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type_or_value: ISC_MAGIC('N', 'M', 'U', 'R')
    - item_type: preproc_def
      name: NMSOCK_MAGIC
      pos:
        line_end: 394
        line_start: 393
        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: 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: 221
        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: 277
        line_start: 246
        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: 319
        line_start: 294
        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: 423
        line_start: 415
        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: 445
        line_start: 439
        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: 455
        line_start: 447
        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: 505
        line_start: 457
        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: 737
        line_start: 514
        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: 554
        line_start: 529
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
    typedefs:
    - item_type: typedef
      name: isc__nm_uvreq_t
      pos:
        line_end: 203
        line_start: 203
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type: isc__nm_uvreq
    - item_type: typedef
      name: (*isc__nm_closecb)(isc_nmhandle_t *)
      pos:
        line_end: 243
        line_start: 243
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type: void
    - item_type: typedef
      name: isc_nm_http_session_t
      pos:
        line_end: 244
        line_start: 244
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type: isc_nm_http_session
    - item_type: typedef
      name: isc__nm_uvreq_t
      pos:
        line_end: 293
        line_start: 293
        source_file: /src/bind9/lib/isc/netmgr/netmgr-int.h
      type: isc__nm_uvreq
    - item_type: typedef
      name: (*isc_nm_closehandlecb_t)(void *arg)
      pos:
        line_end: 508
        line_start: 508
        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: 283
        line_start: 279
        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
  - isc__nm_socket_max_port_range
  source_file: /src/bind9/lib/isc/netmgr/socket.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PORT_RANGE
      pos:
        line_end: 381
        line_start: 380
        source_file: /src/bind9/lib/isc/netmgr/socket.c
      type_or_value: '1000'
    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
  - netmgr_destroy
  - isc_netmgr_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_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
  - isc__networker_current
  - isc__networker_get
  - isc_netmgr_portrange
  - 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: 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_CONNECTIONTIMEOUT
    - 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: 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: '1000'
    - 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_RXT_CONNDROPTIME
    - 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: unsigned 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: '1'
    - 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_USER_TIMEOUT
    - item_type: preproc_def
      name: TIMEOUT_TYPE
      pos:
        line_end: 2145
        line_start: 2144
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: int
    - item_type: preproc_def
      name: TIMEOUT_DIV
      pos:
        line_end: 2146
        line_start: 2145
        source_file: /src/bind9/lib/isc/netmgr/netmgr.c
      type_or_value: '1000'
    - item_type: preproc_def
      name: TIMEOUT_OPTNAME
      pos:
        line_end: 2147
        line_start: 2146
        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: 2525
        line_start: 2522
        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
  - async_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:
  - OSSL_WRAP_ERROR
  - P_CURVE_IMPL
  - BN_bn2bin_fixed
  - rsa_keygen_progress_cb
  - generate_ec_key
  - validate_ec_pkey
  - load_ec_public_from_region
  - load_ec_secret_from_region
  - ec_public_region
  - ec_secret_region
  - isc_ossl_wrap_ecdsa_set_deterministic
  - isc_ossl_wrap_generate_rsa_key
  - isc_ossl_wrap_generate_pkcs11_rsa_key
  - isc_ossl_wrap_generate_pkcs11_ed25519_key
  - isc_ossl_wrap_generate_pkcs11_ed448_key
  - isc_ossl_wrap_rsa_key_bits_leq
  - isc_ossl_wrap_rsa_public_components
  - isc_ossl_wrap_rsa_secret_components
  - isc_ossl_wrap_load_rsa_public_from_components
  - isc_ossl_wrap_load_rsa_secret_from_components
  source_file: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PUBLIC_KEY_SIZE
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
      type_or_value: '96'
    - item_type: preproc_def
      name: MAX_SECRET_KEY_SIZE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/isc/ossl_wrap/ossl1_1.c
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - OSSL_WRAP_ERROR
  - P_CURVE_IMPL
  - BN_bn2bin_fixed
  - rsa_keygen_progress_cb
  - generate_ec_key
  - generate_pkcs11_ec_key
  - generate_pkcs11_eddsa_key
  - isc_ossl_wrap_generate_pkcs11_ed25519_key
  - isc_ossl_wrap_generate_pkcs11_ed448_key
  - validate_ec_pkey
  - load_ec_public_from_region
  - load_ec_secret_from_region
  - ec_public_region
  - ec_secret_region
  - isc_ossl_wrap_ecdsa_set_deterministic
  - isc_ossl_wrap_generate_rsa_key
  - isc_ossl_wrap_generate_pkcs11_rsa_key
  - isc_ossl_wrap_rsa_key_bits_leq
  - isc_ossl_wrap_rsa_public_components
  - isc_ossl_wrap_rsa_secret_components
  - isc_ossl_wrap_load_rsa_public_from_components
  - isc_ossl_wrap_load_rsa_secret_from_components
  source_file: /src/bind9/lib/isc/ossl_wrap/ossl3.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_PUBLIC_KEY_SIZE
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/isc/ossl_wrap/ossl3.c
      type_or_value: '96'
    - item_type: preproc_def
      name: MAX_SECRET_KEY_SIZE
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/bind9/lib/isc/ossl_wrap/ossl3.c
      type_or_value: '48'
    structs: []
    typedefs: []
    union: []
- function_names:
  - isc_ossl_wrap_rsa_components_cleanup
  - isc_ossl_wrap_toresult
  - isc__ossl_wrap_logged_toresult
  source_file: /src/bind9/lib/isc/ossl_wrap/ossl_common.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ns_stats_create
  - ns_stats_increment
  - ns_stats_decrement
  - ns_stats_update_if_greater
  - ns_stats_get_counter
  - ns_stats_get_highwater
  - ns_stats_reset_highwater
  source_file: /src/bind9/lib/ns/stats.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    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:
  - plugin_expandpath
  - 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: 44
        line_start: 35
        source_file: /src/bind9/lib/ns/hooks.c
    typedefs: []
    union: []
- function_names:
  - 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: 72
        line_start: 71
        source_file: /src/bind9/lib/ns/update.c
      type_or_value: ISC_LOG_INFO
    - item_type: preproc_def
      name: LOGLEVEL_DEBUG
      pos:
        line_end: 77
        line_start: 76
        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: 757
        line_start: 751
        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: 196
        line_start: 192
        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: '*ssutable'
        type: dns_ssutable_t
      - name: '*maxbytype'
        type: unsigned int
      - name: maxbytypelen
        type: size_t
      item_type: struct
      name: update
      pos:
        line_end: 208
        line_start: 200
        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: 230
        line_start: 219
        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: 520
        line_start: 517
        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: 870
        line_start: 849
        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: 1210
        line_start: 1203
        source_file: /src/bind9/lib/ns/update.c
    typedefs:
    - item_type: typedef
      name: rr_t
      pos:
        line_end: 190
        line_start: 190
        source_file: /src/bind9/lib/ns/update.c
      type: rr
    - item_type: typedef
      name: update_t
      pos:
        line_end: 198
        line_start: 198
        source_file: /src/bind9/lib/ns/update.c
      type: update
    - item_type: typedef
      name: rrset_func(void *data, dns_rdataset_t *rrset)
      pos:
        line_end: 506
        line_start: 505
        source_file: /src/bind9/lib/ns/update.c
      type: isc_result_t
    - item_type: typedef
      name: rr_func(void *data, rr_t *rr)
      pos:
        line_end: 512
        line_start: 511
        source_file: /src/bind9/lib/ns/update.c
      type: isc_result_t
    - item_type: typedef
      name: rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
      pos:
        line_end: 715
        line_start: 714
        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_STALETIMEOUT
  - NOQNAME
  - STALE
  - STALE_WINDOW
  - client_trace
  - CTRACE
  - CCTRACE
  - CTRACE
  - CCTRACE
  - PENDINGOK
  - can_log_rpznotready
  - ns__query_callhook
  - ns__query_callhook_noreturn
  - 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
  - maybe_init_fetch_counter
  - 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_stale_refresh
  - query_stale_refresh_ncache
  - query_prefetch
  - 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
  - qctx_deinit
  - 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
  - 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_rpz_add_ede
  - 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: 973
        line_start: 970
        source_file: /src/bind9/lib/ns/query.c
    preproc_defs:
    - item_type: preproc_def
      name: dns64_bis_return_excluded_addresses
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/ns/query.c
      type_or_value: '1'
    - item_type: preproc_def
      name: SFCACHE_CDFLAG
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/bind9/lib/ns/query.c
      type_or_value: '0x1'
    - item_type: preproc_def
      name: NS_CLIENT_FLAGS_FORMATSIZE
      pos:
        line_end: 582
        line_start: 581
        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: 618
        line_start: 617
        source_file: /src/bind9/lib/ns/query.c
      type_or_value: (DNS_ECS_FORMATSIZE + sizeof(" [ECS ]") - 1)
    structs: []
    typedefs: []
    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_QUERY_CACHE
      - name: ALLOW_RECURSION
      - name: NO_RESOLVER
      - name: RECURSION_DISABLED
      - name: ALLOW_RECURSION_ON
      - name: ALLOW_QUERY_CACHE_ON
      item_type: enum
      name: refusal_reasons
      pos:
        line_end: 2193
        line_start: 2185
        source_file: /src/bind9/lib/ns/client.c
    preproc_defs:
    - item_type: preproc_def
      name: COOKIE_SIZE
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '24U '
    - item_type: preproc_def
      name: ECS_SIZE
      pos:
        line_end: 100
        line_start: 99
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '20U '
    - item_type: preproc_def
      name: MANAGER_MAGIC
      pos:
        line_end: 111
        line_start: 110
        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: 118
        line_start: 117
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DROPPORT_NO
      pos:
        line_end: 840
        line_start: 839
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '0'
    - item_type: preproc_def
      name: DROPPORT_REQUEST
      pos:
        line_end: 841
        line_start: 840
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '1'
    - item_type: preproc_def
      name: DROPPORT_RESPONSE
      pos:
        line_end: 842
        line_start: 841
        source_file: /src/bind9/lib/ns/client.c
      type_or_value: '2'
    structs: []
    typedefs: []
    union: []
- function_names:
  - XFROUT_DEBUG_LOGARGS
  - FAILC
  - FAILQ
  - 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: 62
        line_start: 60
        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: 68
        line_start: 66
        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: 70
        line_start: 69
        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: 178
        line_start: 175
        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: 187
        line_start: 180
        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: 208
        line_start: 205
        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: 295
        line_start: 291
        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: 411
        line_start: 408
        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: 497
        line_start: 492
        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: 624
        line_start: 618
        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: 668
        line_start: 630
        source_file: /src/bind9/lib/ns/xfrout.c
    typedefs:
    - item_type: typedef
      name: rrstream_methods_t
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/bind9/lib/ns/xfrout.c
      type: rrstream_methods
    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: 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: 79
        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:
    - item_type: typedef
      name: ns_listenelt_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bind9/lib/ns/include/ns/listenlist.h
      type: ns_listenelt
    - item_type: typedef
      name: ns_listenlist_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/ns/include/ns/listenlist.h
      type: ns_listenlist
    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: 36
        line_start: 35
        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: 37
        line_start: 36
        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: 38
        line_start: 37
        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: 39
        line_start: 38
        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: 40
        line_start: 39
        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: 41
        line_start: 40
        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: 42
        line_start: 41
        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: 43
        line_start: 42
        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: 44
        line_start: 43
        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: 45
        line_start: 44
        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: 46
        line_start: 45
        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: 47
        line_start: 46
        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: 48
        line_start: 47
        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: 49
        line_start: 48
        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: 50
        line_start: 49
        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: 51
        line_start: 50
        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: 52
        line_start: 51
        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: 53
        line_start: 52
        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: 54
        line_start: 53
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00080000U '
    - item_type: preproc_def
      name: NS_SERVER_RPZSLOW
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type_or_value: '0x00100000U '
    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: isc_statsmulti_t
      - name: '*nshighwaterstats'
        type: isc_stats_t
      - name: '*rcvquerystats'
        type: isc_statsmulti_t
      - name: '*opcodestats'
        type: isc_statsmulti_t
      - name: '*rcodestats'
        type: isc_statsmulti_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: 138
        line_start: 79
        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: 143
        line_start: 140
        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: 59
        line_start: 59
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type: isc_result_t
    - item_type: typedef
      name: (*ns_fuzzcb_t)(void)
      pos:
        line_end: 65
        line_start: 65
        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: 74
        line_start: 70
        source_file: /src/bind9/lib/ns/include/ns/server.h
      type: isc_result_t
    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'
    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: '*hookasyncctx'
        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: 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: 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: '*zhooks'
        type: void
      - name: result
        type: isc_result_t
      - name: line
        type: int
      item_type: struct
      name: query_ctx
      pos:
        line_end: 235
        line_start: 180
        source_file: /src/bind9/lib/ns/include/ns/query.h
    typedefs:
    - item_type: typedef
      name: query_ctx_t
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type: query_ctx
    - 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: 241
        line_start: 237
        source_file: /src/bind9/lib/ns/include/ns/query.h
      type: isc_result_t
    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: 522
        line_start: 521
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type_or_value: '3'
    - item_type: preproc_def
      name: NS_PLUGIN_AGE
      pos:
        line_end: 523
        line_start: 522
        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: 442
        line_start: 437
        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: 472
        line_start: 460
        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: 486
        line_start: 478
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - fields:
      - name: source
        type: ns_hooksource_t
      - name: '*origin'
        type: dns_name_t
      item_type: struct
      name: ns_pluginctx
      pos:
        line_end: 504
        line_start: 498
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    - fields:
      - name: '*hooktable'
        type: ns_hooktable_t
      - name: '*plugins'
        type: ns_plugins_t
      - name: pluginctx
        type: ns_pluginctx_t
      item_type: struct
      name: ns_hook_data
      pos:
        line_end: 510
        line_start: 506
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
    typedefs:
    - 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: 435
        line_start: 434
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: ns_hookresult_t
    - item_type: typedef
      name: (ns_hook_t)
      pos:
        line_end: 444
        line_start: 444
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: ISC_LIST
    - item_type: typedef
      name: ns_hooktable_t[NS_HOOKPOINTS_COUNT]
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: ns_hooklist_t
    - item_type: typedef
      name: (*ns_hook_cancelasync_t)(ns_hookasync_t *)
      pos:
        line_end: 453
        line_start: 453
        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: 454
        line_start: 454
        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 *aclctx,\n\t\t
        \    ns_hooktable_t *hooktable, const ns_pluginctx_t *ctx,\n\t\t     void
        **instp)"
      pos:
        line_end: 529
        line_start: 525
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: isc_result_t
    - item_type: typedef
      name: ns_plugin_destroy_t(void **instp)
      pos:
        line_end: 544
        line_start: 543
        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 *aclctx,\n\t\t  const
        ns_pluginctx_t *ctx)"
      pos:
        line_end: 554
        line_start: 551
        source_file: /src/bind9/lib/ns/include/ns/hooks.h
      type: isc_result_t
    - item_type: typedef
      name: ns_plugin_version_t(void)
      pos:
        line_end: 560
        line_start: 559
        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: 248
        line_start: 247
        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: 251
        line_start: 250
        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: 252
        line_start: 251
        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: 253
        line_start: 252
        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: 254
        line_start: 253
        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: 255
        line_start: 254
        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: 256
        line_start: 255
        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: 258
        line_start: 256
        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: 259
        line_start: 258
        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: 260
        line_start: 259
        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: 261
        line_start: 260
        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: 262
        line_start: 261
        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: 263
        line_start: 262
        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: 264
        line_start: 263
        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: 265
        line_start: 264
        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: 266
        line_start: 265
        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: 267
        line_start: 266
        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: 268
        line_start: 267
        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: 269
        line_start: 268
        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: 270
        line_start: 269
        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: 271
        line_start: 270
        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: 272
        line_start: 271
        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: 278
        line_start: 277
        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
          \      tcpbuf_size;\n\t\tuint16_t       udpsize;\n\t\tuint16_t       extflags;\n\t\tint16_t\t
          \      ednsversion; /* -1 noedns */\n\t\tuint16_t       additionaldepth;\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: 245
        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: 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: 235
        line_start: 166
        source_file: /src/bind9/lib/ns/include/ns/client.h
    typedefs:
    - item_type: typedef
      name: (ns_client_t)
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bind9/lib/ns/include/ns/client.h
      type: ISC_LIST
    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: 17
        line_start: 17
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_altsecret
    - item_type: typedef
      name: (ns_altsecret_t)
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: ns_client_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_client
    - item_type: typedef
      name: ns_clientmgr_t
      pos:
        line_end: 20
        line_start: 20
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_clientmgr
    - item_type: typedef
      name: ns_plugin_t
      pos:
        line_end: 21
        line_start: 21
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_plugin
    - item_type: typedef
      name: (ns_plugin_t)
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: ns_interface_t
      pos:
        line_end: 23
        line_start: 23
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_interface
    - item_type: typedef
      name: ns_interfacemgr_t
      pos:
        line_end: 24
        line_start: 24
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_interfacemgr
    - item_type: typedef
      name: ns_query_t
      pos:
        line_end: 25
        line_start: 25
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_query
    - item_type: typedef
      name: ns_server_t
      pos:
        line_end: 26
        line_start: 26
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_server
    - item_type: typedef
      name: ns_stats_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_stats
    - item_type: typedef
      name: ns_hookasync_t
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/bind9/lib/ns/include/ns/types.h
      type: ns_hookasync
    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
  - 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
  - map_merge
  - policy_merge
  - cloneto
  - setdefaultacl
  - aclobj
  - setacls
  - options_merge
  - view_merge
  - CFG_LIST_FOREACH
  - 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
  - prefetch_merge
  - checknames_merge
  - CFG_LIST_FOREACH
  - CFG_LIST_FOREACH
  - 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_maxcachesize
  - doc_maxcachesize
  - 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
  - cfg_effective_config
  source_file: /src/bind9/lib/isccfg/namedconf.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: NCLAUSES
      pos:
        line_end: 4276
        line_start: 4273
        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
  - VALID_CFGOBJ
  - CLEANUP_OBJ
  - cfg_obj_clone
  - copy_uint32
  - copy_uint64
  - copy_boolean
  - copy_sockaddr
  - copy_sockaddrtls
  - free_netprefix
  - copy_netprefix
  - free_duration
  - copy_duration
  - copy_string
  - copy_map_destroy
  - copy_map_add
  - copy_map
  - copy_list
  - copy_tuple
  - cfg_print_obj
  - cfg_print_chars
  - print_open
  - cfg_print_indent
  - print_close
  - cfg_parser_currentfile
  - cfg_parse_obj
  - cfg_print
  - cfg_printx
  - cfg_tuple_create
  - cfg_parse_tuple
  - cfg_print_tuple
  - cfg_doc_tuple
  - free_tuple
  - cfg_obj_istuple
  - cfg_tuple_get
  - cfg_parse_special
  - parse_semicolon
  - parse_eof
  - parser_create
  - parser_destroy
  - parser_openfile
  - parse2
  - REQUIRE_PCTX_FLAGS
  - cfg_parse_file
  - cfg_parse_buffer
  - 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
  - cfg_string_create
  - 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_sockaddr
  - 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
  - create_list
  - cfg_listelt_create
  - 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_unlink
  - cfg_list_length
  - cfg_listelt_value
  - cfg_parse_mapbody
  - change_directory
  - 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
  - cfg_map_findclause
  - region_to_string
  - 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
  - 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
  - parser_complain
  - cfg_obj_log
  - cfg_obj_file
  - cfg_obj_line
  - cfg_obj_create
  - map_symtabitem_destroy
  - create_map
  - free_map
  - cfg_obj_istype
  - destroy_cfgobj
  - cfg_doc_obj
  - cfg_doc_terminal
  - cfg_print_grammar
  - map_define
  - cfg_map_add
  - cfg_list_addclone
  - 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: 80
        line_start: 79
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: CFG_LOGCATEGORY_CONFIG
    - item_type: preproc_def
      name: MOD
      pos:
        line_end: 81
        line_start: 80
        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: 85
        line_start: 84
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: '1'
    - item_type: preproc_def
      name: CFGOBJ_MAGIC
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: ISC_MAGIC('c', 'f', 'g', 'o')
    - item_type: preproc_def
      name: MAX_LOG_TOKEN
      pos:
        line_end: 3780
        line_start: 3779
        source_file: /src/bind9/lib/isccfg/parser.c
      type_or_value: '30 '
    - item_type: preproc_def
      name: ELLIPSIS
      pos:
        line_end: 3809
        line_start: 3808
        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: 2729
        line_start: 2726
        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_kasp_builtinconfig
  - 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
  - destroy_aclctx
  - 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_range_uint32
  - 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
  - lookup_key
  - CFG_LIST_FOREACH
  - validate_remotes_key
  - validate_remotes_tls
  - 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
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - check_one_plugin
  - check_plugins
  - get_zoneopt
  - isccfg_check_zoneconf
  - CFG_LIST_FOREACH
  - 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_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: 4409
        line_start: 4406
        source_file: /src/bind9/lib/isccfg/check.c
    preproc_defs:
    - item_type: preproc_def
      name: NAMED_CONTROL_PORT
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '953'
    - item_type: preproc_def
      name: ROOT_KSK_STATIC
      pos:
        line_end: 4865
        line_start: 4864
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ROOT_KSK_MANAGED
      pos:
        line_end: 4866
        line_start: 4865
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ROOT_KSK_ANY
      pos:
        line_end: 4867
        line_start: 4866
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x03'
    - item_type: preproc_def
      name: ROOT_KSK_2010
      pos:
        line_end: 4868
        line_start: 4867
        source_file: /src/bind9/lib/isccfg/check.c
      type_or_value: '0x04'
    - item_type: preproc_def
      name: ROOT_KSK_2017
      pos:
        line_end: 4869
        line_start: 4868
        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: 943
        line_start: 939
        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: 950
        line_start: 946
        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: 2790
        line_start: 2787
        source_file: /src/bind9/lib/isccfg/check.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*aclctx'
        type: cfg_aclconfctx_t
      - name: source
        type: ns_hooksource_t
      - name: '*check_result'
        type: isc_result_t
      - name: '*ctx'
        type: ns_pluginctx_t
      item_type: struct
      name: check_one_plugin_data
      pos:
        line_end: 3165
        line_start: 3159
        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: 4306
        line_start: 4303
        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: 4635
        line_start: 4632
        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: 4644
        line_start: 4641
        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: 4660
        line_start: 4657
        source_file: /src/bind9/lib/isccfg/check.c
    typedefs: []
    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'
    - item_type: preproc_def
      name: BIND_CHECK_KEYS
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/isccfg/include/isccfg/check.h
      type_or_value: '0x00000004'
    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: 302
        line_start: 301
        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: 303
        line_start: 302
        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: 304
        line_start: 303
        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: 305
        line_start: 304
        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: 306
        line_start: 305
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (1 << 4)
    - item_type: preproc_def
      name: CFG_PCTX_BUILTIN
      pos:
        line_end: 307
        line_start: 306
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type_or_value: (1 << 5)
    - item_type: preproc_def
      name: CFG_ADDR_V4OK
      pos:
        line_end: 313
        line_start: 312
        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: 314
        line_start: 313
        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: 315
        line_start: 314
        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: 316
        line_start: 315
        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: 317
        line_start: 316
        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: 318
        line_start: 317
        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: 319
        line_start: 318
        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: 320
        line_start: 319
        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: 384
        line_start: 383
        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: 611
        line_start: 610
        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: 612
        line_start: 611
        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: 613
        line_start: 612
        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: 121
        line_start: 116
        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
      - name: merge
        type: cfg_mergefunc_t
      item_type: struct
      name: cfg_clausedef
      pos:
        line_end: 144
        line_start: 139
        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: 151
        line_start: 147
        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: 161
        line_start: 154
        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: 167
        line_start: 164
        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: 176
        line_start: 169
        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: 183
        line_start: 180
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: '*name'
        type: char
      - name: free
        type: cfg_freefunc_t
      - name: copy
        type: cfg_copyfunc_t
      item_type: struct
      name: cfg_rep
      pos:
        line_end: 192
        line_start: 188
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: sockaddr
        type: isc_sockaddr_t
      - name: '*tls'
        type: char
      item_type: struct
      name: cfg_sockaddrtls_t
      pos:
        line_end: 201
        line_start: 198
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - name: magic
        type: unsigned int
      - name: line
        type: unsigned int
      - name: cloned
        type: bool
      - name: references
        type: isc_refcount_t
      - name: '*file'
        type: cfg_obj_t
      - name: '*type'
        type: cfg_type_t
      - name: value
        type: "union {\n\t\tuint32_t\t   uint32;\n\t\tuint64_t\t   uint64;\n\t\tchar\t\t
          \ *string; /*%< null terminated */\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\t **tuple;\n\t\tisc_sockaddr_t\t
          \ *sockaddr;\n\t\tcfg_sockaddrtls_t *sockaddrtls;\n\t\tcfg_netprefix_t\t
          \ *netprefix;\n\t\tisccfg_duration_t *duration;\n\t}"
      item_type: struct
      name: cfg_obj
      pos:
        line_end: 239
        line_start: 203
        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: 245
        line_start: 242
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    - fields:
      - 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
      item_type: struct
      name: cfg_parser
      pos:
        line_end: 298
        line_start: 248
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
    typedefs:
    - item_type: typedef
      name: cfg_clausedef_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: cfg_clausedef
    - item_type: typedef
      name: cfg_tuplefielddef_t
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: cfg_tuplefielddef
    - item_type: typedef
      name: cfg_printer_t
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: cfg_printer
    - item_type: typedef
      name: (cfg_listelt_t)
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: ISC_LIST
    - item_type: typedef
      name: cfg_map_t
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: cfg_map
    - item_type: typedef
      name: cfg_rep_t
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: cfg_rep
    - 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
      type: isc_result_t
    - 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_obj_t *)
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: void
    - item_type: typedef
      name: (*cfg_copyfunc_t)(cfg_obj_t *to, const cfg_obj_t *from)
      pos:
        line_end: 105
        line_start: 105
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: void
    - item_type: typedef
      name: "(*cfg_mergefunc_t)(const cfg_obj_t *config,\n\t\t\t\tcfg_obj_t\t*effectiveobj,\n\t\t\t\tconst
        cfg_obj_t *defaultobj)"
      pos:
        line_end: 137
        line_start: 135
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: void
    - item_type: typedef
      name: cfg_netprefix_t
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bind9/lib/isccfg/include/isccfg/grammar.h
      type: cfg_netprefix
    union: []
- function_names: []
  source_file: /src/bind9/lib/isccfg/include/isccfg/kaspconf.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ISCCFG_KASPCONF_CHECK_ALGORITHMS
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/bind9/lib/isccfg/include/isccfg/kaspconf.h
      type_or_value: '0x01'
    - item_type: preproc_def
      name: ISCCFG_KASPCONF_CHECK_KEYLIST
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/isccfg/include/isccfg/kaspconf.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: ISCCFG_KASPCONF_LOG_ERRORS
      pos:
        line_end: 20
        line_start: 19
        source_file: /src/bind9/lib/isccfg/include/isccfg/kaspconf.h
      type_or_value: '0x04'
    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: 509
        line_start: 508
        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: 510
        line_start: 509
        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: 515
        line_start: 510
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type_or_value: '0x4 '
    structs: []
    typedefs:
    - item_type: typedef
      name: cfg_aclconfctx_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: cfg_aclconfctx
    - item_type: typedef
      name: cfg_parser_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: cfg_parser
    - item_type: typedef
      name: cfg_type_t
      pos:
        line_end: 53
        line_start: 53
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: cfg_type
    - item_type: typedef
      name: cfg_obj_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: cfg_obj
    - item_type: typedef
      name: cfg_listelt_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: cfg_listelt
    - item_type: typedef
      name: cfg_clausedef_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: cfg_clausedef
    - 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: 80
        line_start: 79
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: isc_result_t
    - item_type: typedef
      name: "(pluginlist_cb_t)(\n\tconst cfg_obj_t *config, const cfg_obj_t *obj,
        cfg_aclconfctx_t *aclctx,\n\tconst char *plugin_path, const char *parameters,
        void *callback_data)"
      pos:
        line_end: 573
        line_start: 571
        source_file: /src/bind9/lib/isccfg/include/isccfg/cfg.h
      type: isc_result_t
    union: []
- function_names:
  - rootdb_stale
  - maybe_prime
  - dns_view_create
  - destroy
  - dns_view_attach
  - shutdown_view
  - dns_view_detach
  - dns_view_weakattach
  - dns_view_weakdetach
  - dns_view_createresolver
  - dns_view_setcache
  - dns_view_iscacheshared
  - dns_view_setrootdb
  - 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
  - bestzonecut_zone
  - bestzonecut_delegdb
  - bestzonecut_zoneorcache
  - bestzonecut_rootdb
  - dns_view_bestzonecut
  - dns_viewlist_find
  - dns_viewlist_findzone
  - 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)
  - 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
  - dns_view_setmaxdelegationservers
  source_file: /src/bind9/lib/dns/view.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_VIEW_DELONLYHASH
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: '111'
    - item_type: preproc_def
      name: DEFAULT_MAX_RESTARTS
      pos:
        line_end: 73
        line_start: 72
        source_file: /src/bind9/lib/dns/view.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DEFAULT_EDNS_BUFSIZE
      pos:
        line_end: 78
        line_start: 77
        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: 81
        line_start: 80
        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: 82
        line_start: 81
        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: 83
        line_start: 82
        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
  - 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
  - master_load
  - master_load_callback
  - master_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: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '32'
    - item_type: preproc_def
      name: RDSZ
      pos:
        line_end: 61
        line_start: 60
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '512'
    - item_type: preproc_def
      name: NBUFS
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '4'
    - item_type: preproc_def
      name: MAXWIRESZ
      pos:
        line_end: 64
        line_start: 63
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '255'
    - item_type: preproc_def
      name: TSIZ
      pos:
        line_end: 72
        line_start: 71
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: (128 * 1024)
    - item_type: preproc_def
      name: MINTSIZ
      pos:
        line_end: 76
        line_start: 75
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: DNS_RDATA_MAXLENGTH
    - item_type: preproc_def
      name: TOKENSIZ
      pos:
        line_end: 84
        line_start: 83
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: (8 * 1024)
    - item_type: preproc_def
      name: DNS_MASTER_LHS
      pos:
        line_end: 89
        line_start: 88
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: DNS_MASTER_RHS
      pos:
        line_end: 90
        line_start: 89
        source_file: /src/bind9/lib/dns/master.c
      type_or_value: MINTSIZ
    - item_type: preproc_def
      name: DNS_LCTX_MAGIC
      pos:
        line_end: 173
        line_start: 172
        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: 280
        line_start: 260
        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: 305
        line_start: 290
        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: '*loop'
        type: isc_loop_t
      - 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: 154
        line_start: 101
        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: 170
        line_start: 156
        source_file: /src/bind9/lib/dns/master.c
    typedefs:
    - item_type: typedef
      name: (dns_rdatalist_t)
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bind9/lib/dns/master.c
      type: ISC_LIST
    - item_type: typedef
      name: dns_incctx_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bind9/lib/dns/master.c
      type: dns_incctx
    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:
  - 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: 83
        line_start: 82
        source_file: /src/bind9/lib/dns/journal.c
      type_or_value: 0x01U
    - item_type: preproc_def
      name: JOURNAL_HEADER_SIZE
      pos:
        line_end: 173
        line_start: 172
        source_file: /src/bind9/lib/dns/journal.c
      type_or_value: '64 '
    - item_type: preproc_def
      name: DNS_JOURNAL_MAGIC
      pos:
        line_end: 341
        line_start: 340
        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: 166
        line_start: 156
        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: 210
        line_start: 205
        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: 220
        line_start: 216
        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: 228
        line_start: 226
        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: 236
        line_start: 233
        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: 248
        line_start: 241
        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: 258
        line_start: 253
        source_file: /src/bind9/lib/dns/journal.c
    - fields:
      - name: size
        type: uint32_t
      item_type: struct
      name: journal_rrhdr_t
      pos:
        line_end: 265
        line_start: 263
        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: 338
        line_start: 295
        source_file: /src/bind9/lib/dns/journal.c
    typedefs: []
    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: 199
        line_start: 183
        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
  - 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: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_QP_TRACE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '0'
    - item_type: preproc_def
      name: PRItime
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '" %" PRIu64 " ns "'
    - item_type: preproc_def
      name: NAME_OFFSET
      pos:
        line_end: 127
        line_start: 126
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: '1'
    - item_type: preproc_def
      name: BYTE_VALUES
      pos:
        line_end: 132
        line_start: 131
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: (UINT8_MAX + 1)
    - item_type: preproc_def
      name: QPKEY_EQUAL
      pos:
        line_end: 364
        line_start: 363
        source_file: /src/bind9/lib/dns/qp.c
      type_or_value: (~(size_t)0)
    structs: []
    typedefs: []
    union: []
- function_names:
  - IRS_RESCONF_VALID
  - 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: 112
        line_start: 81
        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: 31
        line_start: 30
        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: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '0x00ff'
    - item_type: preproc_def
      name: RDTYPECOUNTER_NXRRSET
      pos:
        line_end: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '0x0100'
    - item_type: preproc_def
      name: RDTYPECOUNTER_STALE
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: (1 << 9)
    - item_type: preproc_def
      name: RDTYPECOUNTER_ANCIENT
      pos:
        line_end: 80
        line_start: 79
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: (1 << 10)
    - item_type: preproc_def
      name: RDTYPECOUNTER_NXDOMAIN
      pos:
        line_end: 81
        line_start: 80
        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: 92
        line_start: 91
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '1'
    - item_type: preproc_def
      name: RDTYPECOUNTER_NXDOMAIN_ANCIENT
      pos:
        line_end: 93
        line_start: 92
        source_file: /src/bind9/lib/dns/stats.c
      type_or_value: '2'
    - item_type: preproc_def
      name: RDTYPECOUNTER_MAXVAL
      pos:
        line_end: 98
        line_start: 97
        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: 117
        line_start: 111
        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: 122
        line_start: 119
        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: 127
        line_start: 124
        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: 132
        line_start: 129
        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: 136
        line_start: 133
        source_file: /src/bind9/lib/dns/stats.c
    typedefs: []
    union: []
- function_names:
  - 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_dsyncscheme_fromtext
  - dns_dsyncscheme_totext
  - dns_dsyncscheme_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: 42
        line_start: 41
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: 'sizeof("037777777777") '
    - item_type: preproc_def
      name: TOTEXTONLY
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: SENTINEL
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: '{ 0, NULL, 0 }'
    - item_type: preproc_def
      name: RCODENAMES
      pos:
        line_end: 67
        line_start: 49
        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: 72
        line_start: 68
        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: 82
        line_start: 73
        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: 90
        line_start: 85
        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: 112
        line_start: 93
        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: 124
        line_start: 121
        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: 131
        line_start: 127
        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: 133
        line_start: 132
        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: 146
        line_start: 139
        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: 161
        line_start: 150
        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"
    - item_type: preproc_def
      name: DSYNCSCHEMES
      pos:
        line_end: 163
        line_start: 162
        source_file: /src/bind9/lib/dns/rcode.c
      type_or_value: '{ DNS_DSYNCSCHEME_NOTIFY, "NOTIFY", 0 }, SENTINEL'
    structs:
    - fields:
      - name: value
        type: unsigned int
      - name: '*name'
        type: char
      - name: flags
        type: int
      item_type: struct
      name: tbl
      pos:
        line_end: 168
        line_start: 164
        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: 186
        line_start: 182
        source_file: /src/bind9/lib/dns/rcode.c
    typedefs: []
    union: []
- function_names:
  - is_response
  - 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: 46
        line_start: 45
        source_file: /src/bind9/lib/dns/dnssec.c
      type_or_value: '0'
    - item_type: preproc_def
      name: TYPE_VERIFY
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/dns/dnssec.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - REMOVE
  - CREATE
  - INITIAL
  - NONSEC
  - 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
  source_file: /src/bind9/lib/dns/rootns.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    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: 314
        line_start: 309
        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
  - 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: 49
        line_start: 48
        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: 50
        line_start: 49
        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: 98
        line_start: 97
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: '24'
    - item_type: preproc_def
      name: DNS_RPZ_HTSIZE_DIV
      pos:
        line_end: 99
        line_start: 98
        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: 113
        line_start: 112
        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: 114
        line_start: 113
        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: 115
        line_start: 114
        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: 120
        line_start: 119
        source_file: /src/bind9/lib/dns/rpz.c
      type_or_value: '0xffff'
    - item_type: preproc_def
      name: INET6_ADDRSTRLEN
      pos:
        line_end: 747
        line_start: 746
        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: 117
        line_start: 115
        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: 145
        line_start: 141
        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: 157
        line_start: 150
        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: 167
        line_start: 164
        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: 182
        line_start: 176
        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: 245
        line_start: 242
        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: 316
        line_start: 313
        source_file: /src/bind9/lib/dns/rpz.c
    typedefs:
    - item_type: typedef
      name: dns_rpz_cidr_word_t
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/bind9/lib/dns/rpz.c
      type: uint32_t
    - item_type: typedef
      name: dns_rpz_addr_zbits_t
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/bind9/lib/dns/rpz.c
      type: dns_rpz_addr_zbits
    - item_type: typedef
      name: dns_rpz_nm_zbits_t
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bind9/lib/dns/rpz.c
      type: dns_rpz_nm_zbits
    - item_type: typedef
      name: nmdata_t
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/bind9/lib/dns/rpz.c
      type: nmdata
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/tsig_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - CASEFULLYLOWER
  - CASESET
  - EXISTS
  - IGNORE
  - OPTOUT
  - RESIGN
  - peek_uint16
  - get_uint16
  - put_uint16
  - DNS__VECHEADER_CONNECT
  - DNS__VECHEADER_CONCAT
  - DNS_VECHEADER_FOREACH_RES
  - DNS_VECHEADER_FOREACH
  source_file: /src/bind9/lib/dns/rdatavec_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
  - findnode
  - sdlznode_attachnode
  - createiterator
  - findrdataset
  - find
  - allrdatasets
  - modrdataset
  - addrdataset
  - subtractrdataset
  - deleterdataset
  - 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: '*sdlz'
        type: dns_sdlz_db_t
      - name: (dns_rdatalist_t)
        type: ISC_LIST
      - name: (isc_buffer_t)
        type: ISC_LIST
      - 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: dns_sdlznode_t
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/bind9/lib/dns/sdlz.c
      type: dns_sdlzlookup
    - item_type: typedef
      name: sdlz_dbiterator_t
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/bind9/lib/dns/sdlz.c
      type: dns_sdlzallnodes_t
    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_false
        value: '2'
      - name: ter_true
        value: '1'
      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: []
    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_beginupdate
  - dns_db_commitupdate
  - dns_db_abortupdate
  - dns_db_load
  - dns_db_currentversion
  - dns_db_newversion
  - dns_db_attachversion
  - dns__db_closeversion
  - dns__db_findnode
  - dns__db_findnsec3node
  - dns__db_find
  - dns__db_attachnode
  - 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_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_expiredata
  - dns_db_deletedata
  - 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:
    - item_type: typedef
      name: dns_bcentry_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bind9/lib/dns/badcache.c
      type: dns_bcentry
    union: []
- function_names:
  - atomic_getuint8
  - copy_rdataset
  - DNS_RDATASET_FOREACH
  - dns_ncache_add
  - 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: 31
        line_start: 30
        source_file: /src/bind9/lib/dns/ncache.c
      type_or_value: 100U
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_ZONE_VALID
  - DNS_CHECKDS_VALID
  - DNS_STUB_VALID
  - DNS_ZONEMGR_VALID
  - DNS_FORWARD_VALID
  - DNS_IO_VALID
  - LOCK_ZONE
  - UNLOCK_ZONE
  - LOCKED_ZONE
  - TRYLOCK_ZONE
  - LOCK_ZONE
  - UNLOCK_ZONE
  - LOCKED_ZONE
  - TRYLOCK_ZONE
  - ZONEDB_INITLOCK
  - ZONEDB_DESTROYLOCK
  - ZONEDB_LOCK
  - ZONEDB_UNLOCK
  - DNS_ZONE_FLAG
  - DNS_ZONE_SETFLAG
  - DNS_ZONE_CLRFLAG
  - DNS_ZONE_OPTION
  - DNS_ZONE_SETOPTION
  - DNS_ZONE_CLROPTION
  source_file: /src/bind9/lib/dns/zone_p.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: ZONE_MAGIC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: ISC_MAGIC('Z', 'O', 'N', 'E')
    - item_type: preproc_def
      name: CHECKDS_MAGIC
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: ISC_MAGIC('C', 'h', 'D', 'S')
    - item_type: preproc_def
      name: STUB_MAGIC
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: ISC_MAGIC('S', 't', 'u', 'b')
    - item_type: preproc_def
      name: ZONEMGR_MAGIC
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: ISC_MAGIC('Z', 'm', 'g', 'r')
    - item_type: preproc_def
      name: FORWARD_MAGIC
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: ISC_MAGIC('F', 'o', 'r', 'w')
    - item_type: preproc_def
      name: IO_MAGIC
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: ISC_MAGIC('Z', 'm', 'I', 'O')
    - item_type: preproc_def
      name: DNS_DEFAULT_IDLEIN
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '3600       '
    - item_type: preproc_def
      name: DNS_DEFAULT_IDLEOUT
      pos:
        line_end: 54
        line_start: 53
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '3600       '
    - item_type: preproc_def
      name: MAX_XFER_TIME
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '(2 * 3600) '
    - item_type: preproc_def
      name: RESIGN_DELAY
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '3600       '
    - item_type: preproc_def
      name: DNS_MAX_EXPIRE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '14515200 '
    - item_type: preproc_def
      name: DNS_DUMP_DELAY
      pos:
        line_end: 63
        line_start: 62
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '900 '
    - item_type: preproc_def
      name: UDP_REQUEST_TIMEOUT
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '5 '
    - item_type: preproc_def
      name: UDP_REQUEST_RETRIES
      pos:
        line_end: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: '2'
    - item_type: preproc_def
      name: TCP_REQUEST_TIMEOUT
      pos:
        line_end: 72
        line_start: 70
        source_file: /src/bind9/lib/dns/zone_p.h
      type_or_value: (UDP_REQUEST_TIMEOUT * (UDP_REQUEST_RETRIES + 1) + 1)
    structs:
    - 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: 207
        line_start: 193
        source_file: /src/bind9/lib/dns/zone_p.h
    - 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: 225
        line_start: 212
        source_file: /src/bind9/lib/dns/zone_p.h
    - 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: fullsign
        type: bool
      - name: done
        type: bool
      - name: (dns_signing_t)
        type: ISC_LINK
      item_type: struct
      name: dns_signing
      pos:
        line_end: 241
        line_start: 231
        source_file: /src/bind9/lib/dns/zone_p.h
    - 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: 254
        line_start: 243
        source_file: /src/bind9/lib/dns/zone_p.h
    - 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: 285
        line_start: 281
        source_file: /src/bind9/lib/dns/zone_p.h
    - 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: 291
        line_start: 287
        source_file: /src/bind9/lib/dns/zone_p.h
    - fields:
      - name: '*zone'
        type: dns_zone_t
      - name: now
        type: isc_time_t
      item_type: struct
      name: zone_settimer
      pos:
        line_end: 296
        line_start: 293
        source_file: /src/bind9/lib/dns/zone_p.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: refs
        type: isc_refcount_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: '*keystores'
        type: dns_keystorelist_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: 331
        line_start: 301
        source_file: /src/bind9/lib/dns/zone_p.h
    - 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: 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: '*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: parent_nscount
        type: uint32_t
      - name: fetchcount[ZONEFETCHTYPE_COUNT]
        type: uint32_t
      - name: alsonotify
        type: dns_remote_t
      - name: notifysoa
        type: dns_notifyctx_t
      - name: cds_endpoints
        type: dns_remote_t
      - name: notifycds
        type: dns_notifyctx_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: '*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_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: isc_statsmulti_t
      - name: '*dnssecsignstats'
        type: dns_stats_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: modded
        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
      - 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
      - name: '*cfg'
        type: char
      item_type: struct
      name: dns_zone
      pos:
        line_end: 604
        line_start: 336
        source_file: /src/bind9/lib/dns/zone_p.h
    - fields:
      - name: '*diff'
        type: dns_diff_t
      - name: offline
        type: bool
      item_type: struct
      name: dns__zonediff_t
      pos:
        line_end: 609
        line_start: 606
        source_file: /src/bind9/lib/dns/zone_p.h
    typedefs:
    - item_type: typedef
      name: dns_checkds_t
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/bind9/lib/dns/zone_p.h
      type: dns_checkds
    - item_type: typedef
      name: dns_forward_t
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bind9/lib/dns/zone_p.h
      type: dns_forward
    - item_type: typedef
      name: (dns_forward_t)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/bind9/lib/dns/zone_p.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_signing_t
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bind9/lib/dns/zone_p.h
      type: dns_signing
    - item_type: typedef
      name: (dns_signing_t)
      pos:
        line_end: 185
        line_start: 185
        source_file: /src/bind9/lib/dns/zone_p.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_nsec3chain_t
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bind9/lib/dns/zone_p.h
      type: dns_nsec3chain
    - item_type: typedef
      name: (dns_nsec3chain_t)
      pos:
        line_end: 187
        line_start: 187
        source_file: /src/bind9/lib/dns/zone_p.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_include_t
      pos:
        line_end: 188
        line_start: 188
        source_file: /src/bind9/lib/dns/zone_p.h
      type: dns_include
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/qpzone_p.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*next'
        type: struct dns_glue
      - name: name
        type: dns_name_t
      - name: '*header_a'
        type: dns_vecheader_t
      - name: '*sigheader_a'
        type: dns_vecheader_t
      - name: '*header_aaaa'
        type: dns_vecheader_t
      - name: '*sigheader_aaaa'
        type: dns_vecheader_t
      - name: required
        type: bool
      item_type: struct
      name: dns_glue
      pos:
        line_end: 32
        line_start: 24
        source_file: /src/bind9/lib/dns/qpzone_p.h
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*version'
        type: dns_dbversion_t
      - name: '*header'
        type: dns_vecheader_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: 44
        line_start: 34
        source_file: /src/bind9/lib/dns/qpzone_p.h
    - fields:
      - name: '*db'
        type: dns_db_t
      - name: '*version'
        type: dns_dbversion_t
      - name: '*owner_name'
        type: dns_name_t
      - name: '*glue'
        type: dns_glue_t
      item_type: struct
      name: dns_glue_additionaldata_ctx
      pos:
        line_end: 52
        line_start: 46
        source_file: /src/bind9/lib/dns/qpzone_p.h
    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
  - dispatch_allocate
  - dispatch_hash
  - dispatch_match
  - dispatch_gettcp
  - dispatch_createtcp
  - dns_dispatch_createtcp
  - 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: 152
        line_start: 151
        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: 155
        line_start: 154
        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: 158
        line_start: 157
        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: 178
        line_start: 177
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: '64'
    - item_type: preproc_def
      name: QIDS_INIT_SIZE
      pos:
        line_end: 183
        line_start: 182
        source_file: /src/bind9/lib/dns/dispatch.c
      type_or_value: '(1 << 4) '
    - item_type: preproc_def
      name: QIDS_MIN_SIZE
      pos:
        line_end: 184
        line_start: 183
        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: 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: 78
        line_start: 60
        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: 117
        line_start: 87
        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: disptype
        type: dns_dispatchtype_t
      - name: nextid
        type: dns_messageid_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: 149
        line_start: 119
        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
      - name: disptype
        type: dns_dispatchtype_t
      item_type: struct
      name: dispatch_key
      pos:
        line_end: 1133
        line_start: 1128
        source_file: /src/bind9/lib/dns/dispatch.c
    typedefs:
    - item_type: typedef
      name: (dns_dispentry_t)
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bind9/lib/dns/dispatch.c
      type: ISC_LIST
    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\tisc_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]
        type: isc_stdtime_t
      - name: timeset[DST_MAX_TIMES]
        type: bool
      - name: nums[DST_MAX_NUMERIC]
        type: uint32_t
      - name: numset[DST_MAX_NUMERIC]
        type: bool
      - name: bools[DST_MAX_BOOLEAN]
        type: bool
      - name: boolset[DST_MAX_BOOLEAN]
        type: bool
      - name: keystates[DST_MAX_KEYSTATES]
        type: dst_key_state_t
      - name: keystateset[DST_MAX_KEYSTATES]
        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: 128
        line_start: 71
        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: 142
        line_start: 130
        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: 174
        line_start: 144
        source_file: /src/bind9/lib/dns/dst_internal.h
    typedefs:
    - item_type: typedef
      name: dst_func_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/lib/dns/dst_internal.h
      type: dst_func
    union: []
- function_names:
  - 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: 50
        line_start: 47
        source_file: /src/bind9/lib/dns/openssleddsa_link.c
    typedefs: []
    union: []
- function_names:
  - 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: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/skr.c
      type_or_value: (8 * 1024)
    structs: []
    typedefs: []
    union: []
- function_names:
  - 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: 40
        line_start: 32
        source_file: /src/bind9/lib/dns/dyndb.c
    typedefs:
    - item_type: typedef
      name: dyndb_implementation_t
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/bind9/lib/dns/dyndb.c
      type: dyndb_implementation
    union: []
- function_names:
  - DNS_STATE_VALID
  - 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: 61
        line_start: 60
        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: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/update.c
      type_or_value: ISC_LOG_INFO
    - item_type: preproc_def
      name: LOGLEVEL_DEBUG
      pos:
        line_end: 72
        line_start: 71
        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: 392
        line_start: 386
        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: 81
        line_start: 77
        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: 200
        line_start: 197
        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: 518
        line_start: 511
        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: 1333
        line_start: 1310
        source_file: /src/bind9/lib/dns/update.c
    typedefs:
    - item_type: typedef
      name: rr_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bind9/lib/dns/update.c
      type: rr
    - item_type: typedef
      name: update_event_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bind9/lib/dns/update.c
      type: update_event
    - item_type: typedef
      name: rrset_func(void *data, dns_rdataset_t *rrset)
      pos:
        line_end: 186
        line_start: 185
        source_file: /src/bind9/lib/dns/update.c
      type: isc_result_t
    - item_type: typedef
      name: rr_func(void *data, rr_t *rr)
      pos:
        line_end: 192
        line_start: 191
        source_file: /src/bind9/lib/dns/update.c
      type: isc_result_t
    - item_type: typedef
      name: rr_predicate(dns_rdata_t *update_rr, dns_rdata_t *db_rr)
      pos:
        line_end: 361
        line_start: 360
        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
  - is_insecure_referral
  - 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_ds_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
  - (&rdataset)
  - 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_COMPLETE
        value: 1 << 3
      - name: VALATTR_INSECURITY
        value: 1 << 4
      - name: VALATTR_TRIEDVERIFY
        value: 1 << 2
      - name: VALATTR_MAXVALIDATIONS
        value: 1 << 5
      - 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_FOUNDNOQNAME
        value: 1 << 12
      - name: VALATTR_FOUNDNODATA
        value: 1 << 14
      - name: VALATTR_FOUNDCLOSEST
        value: 1 << 15
      - name: VALATTR_FOUNDNOWILDCARD
        value: 1 << 13
      - name: VALATTR_FOUNDOPTOUT
        value: 1 << 16
      - name: VALATTR_FOUNDUNKNOWN
        value: 1 << 17
      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:
  - compare_rdata
  - newslab
  - makeslab
  - dns_rdataslab_fromrdataset
  - dns_rdataslab_size
  - dns_rdataslab_count
  - rdata_from_slabitem
  - dns_rdataslab_equal
  - dns_rdataslab_equalx
  - dns_slabheader_reset
  - dns_slabheader_new
  - dns_slabheader_destroy
  - dns_slabheader_freeproof
  - rdataset_first
  - rdataset_next
  - rdataset_current
  - rdataset_clone
  - rdataset_count
  - rdataset_getnoqname
  - rdataset_getclosest
  - rdataset_settrust
  - rdataset_clearprefetch
  - rdataset_getownercase
  - rdataset_getheader
  - dns_slabtop_new
  - dns_slabtop_destroy
  source_file: /src/bind9/lib/dns/rdataslab.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - REGION_TO_GBUFFER
  - GBUFFER_TO_REGION
  - name_to_gbuffer
  - dst_gssapi_identitymatchesrealmkrb5
  - dst_gssapi_identitymatchesrealmms
  - gss_err_message
  - dst_gssapi_initctx
  - dst_gssapi_acceptctx
  - dst_gssapi_deletectx
  - gss_error_tostring
  - dst_gssapi_identitymatchesrealmkrb5
  - dst_gssapi_identitymatchesrealmms
  - 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_SPNEGO_MECHANISM
      pos:
        line_end: 70
        line_start: 69
        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: []
    structs: []
    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:
  - 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_ixfrcleanup
  - 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: 200
        line_start: 199
        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: 203
        line_start: 202
        source_file: /src/bind9/lib/dns/xfrin.c
      type_or_value: ISC_MAGIC('X', 'f', 'r', 'W')
    structs:
    - fields:
      - name: diffs
        type: uint32_t
      - name: maxdiffs
        type: uint32_t
      - name: request_serial
        type: uint32_t
      - name: current_serial
        type: uint32_t
      - name: '*journal'
        type: dns_journal_t
      item_type: struct
      name: dns_ixfr
      pos:
        line_end: 89
        line_start: 83
        source_file: /src/bind9/lib/dns/xfrin.c
    - 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: dns_ixfr_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: 197
        line_start: 91
        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: 209
        line_start: 205
        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: 445
        line_start: 442
        source_file: /src/bind9/lib/dns/xfrin.c
    typedefs: []
    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
  - 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_hidden
  - 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: KEYSTATES_NVALUES
      pos:
        line_end: 133
        line_start: 132
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: '4'
    - item_type: preproc_def
      name: STATE_ALGORITHM_STR
      pos:
        line_end: 141
        line_start: 140
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: '"Algorithm:"'
    - item_type: preproc_def
      name: STATE_LENGTH_STR
      pos:
        line_end: 142
        line_start: 141
        source_file: /src/bind9/lib/dns/dst_api.c
      type_or_value: '"Length:"'
    - item_type: preproc_def
      name: MAX_NTAGS
      pos:
        line_end: 144
        line_start: 142
        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:
  - QPDBITER_ORIGIN_NODE
  - QPDBITER_NSEC_ORIGIN_NODE
  - QPDBITER_NSEC3_ORIGIN_NODE
  - VALID_QPZONE
  - qpznode_ref
  - qpznode_unref
  - qpznode_attach
  - qpznode_detach
  - qpz_changed_new
  - qpz_resigned_new
  - qpz_resigned_destroy
  - qpz_resign_new
  - qpz_resign_destroy
  - dns__qpzone_initialize
  - dns__qpzone_shutdown
  - qpzone_get_lock
  - qpzone_get_locknum
  - free_glue
  - destroy_gluelist
  - free_gluelist_rcu
  - cleanup_gluelists
  - cds_wfs_for_each_blocking_safe
  - free_db_rcu
  - qpzone_destroy
  - qpdb_destroy
  - resign_sooner_values
  - resign_sooner
  - set_index
  - resign_match
  - resign_hash
  - resign_lookup
  - resign_register
  - resign_unregister
  - new_qpz_heap
  - resign_rollback
  - qpz_heap_destroy
  - new_qpznode
  - allocate_version
  - dns__qpzone_create
  - first_header
  - first_existing_header
  - clean_multiple_headers
  - clean_multiple_versions
  - ISC_SLIST_FOREACH_PTR
  - clean_zone_node
  - bindrdataset
  - setnsec3parameters
  - cleanup_nondirty
  - setsecure
  - currentversion
  - attachversion
  - newversion
  - 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
  - begin_transaction
  - end_transaction
  - findnodeintree
  - qpzone_findnode
  - qpzone_findnsec3node
  - matchparams
  - qpzone_setup_delegation
  - step
  - activeempty
  - wildcard_blocked
  - node_active
  - find_wildcard
  - previous_closest_nsec
  - find_closest_nsec
  - qpzone_check_zonecut
  - qpz_search_init
  - qpzone_find
  - qpzone_allrdatasets
  - qpzone_attachnode
  - nodecount
  - getoriginnode
  - rdatasetiter_current
  - dbiterator_seek
  - dbiterator_seek3
  - dbiterator_current
  - dbiterator_origin
  - qpzone_createiterator
  - qpzone_addrdataset_inner
  - qpzone_addrdataset
  - qpzone_subtractrdataset
  - qpzone_deleterdataset
  - new_glue
  - new_gluelist
  - glue_nsdname_cb
  - addglue_to_message
  - create_gluelist
  - addglue
  - setmaxrrperset
  - setmaxtypepername
  - qpzone_update_rdataset
  - qpzone_update_callback
  - qpzone_beginupdate
  - qpzone_commitupdate
  - qpzone_abortupdate
  - 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: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/qpzone.c
      type_or_value: '0x01'
    - item_type: preproc_def
      name: QPDB_ATTR_LOADING
      pos:
        line_end: 71
        line_start: 70
        source_file: /src/bind9/lib/dns/qpzone.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: QPZONE_DB_MAGIC
      pos:
        line_end: 84
        line_start: 83
        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: 97
        line_start: 90
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: base
        type: dns_updatectx_t
      - name: '*qp'
        type: dns_qp_t
      - name: qpr
        type: dns_qpread_t
      item_type: struct
      name: qpzone_updatectx
      pos:
        line_end: 106
        line_start: 102
        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: 114
        line_start: 110
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: '*node'
        type: qpznode_t
      - name: '*header'
        type: dns_vecheader_t
      item_type: struct
      name: qpz_resigned
      pos:
        line_end: 122
        line_start: 118
        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: qpz_resignedlist_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: 154
        line_start: 127
        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
      - name: '*hashmap'
        type: isc_hashmap_t
      item_type: struct
      name: qpz_heap
      pos:
        line_end: 166
        line_start: 159
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: '*node'
        type: qpznode_t
      - name: '*header'
        type: dns_vecheader_t
      - name: heap_index
        type: unsigned int
      item_type: struct
      name: qpz_resign
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: references
        type: isc_refcount_t
      - name: erefs
        type: isc_refcount_t
      - name: havensec
        type: atomic_bool
      - name: wild
        type: atomic_bool
      - name: delegating
        type: atomic_bool
      - name: dirty
        type: atomic_bool
      - name: (dns_vectop_t)
        type: ISC_SLIST
      item_type: struct
      name: qpznode
      pos:
        line_end: 210
        line_start: 176
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: common
        type: dns_db_t
      - name: lock
        type: isc_rwlock_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: 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: 253
        line_start: 212
        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_vecheader_t
      - name: '*zonecut_sigheader'
        type: dns_vecheader_t
      - name: zonecut_name
        type: dns_fixedname_t
      item_type: struct
      name: qpz_search_t
      pos:
        line_end: 273
        line_start: 258
        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: 281
        line_start: 278
        source_file: /src/bind9/lib/dns/qpzone.c
    - fields:
      - name: common
        type: dns_rdatasetiter_t
      - name: '*currenttop'
        type: dns_vectop_t
      - name: '*current'
        type: dns_vecheader_t
      item_type: struct
      name: qpdb_rdatasetiter
      pos:
        line_end: 406
        line_start: 402
        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: 453
        line_start: 446
        source_file: /src/bind9/lib/dns/qpzone.c
    typedefs:
    - item_type: typedef
      name: qpzonedb_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bind9/lib/dns/qpzone.c
      type: qpzonedb
    - item_type: typedef
      name: qpznode_t
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bind9/lib/dns/qpzone.c
      type: qpznode
    - item_type: typedef
      name: (qpz_changed_t)
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bind9/lib/dns/qpzone.c
      type: ISC_LIST
    - item_type: typedef
      name: (qpz_resigned_t)
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bind9/lib/dns/qpzone.c
      type: ISC_LIST
    - item_type: typedef
      name: qpz_version_t
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/bind9/lib/dns/qpzone.c
      type: qpz_version
    - item_type: typedef
      name: (qpz_version_t)
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/bind9/lib/dns/qpzone.c
      type: ISC_LIST
    union: []
- function_names:
  - dns_byaddr_createptrname
  - parseptrnamev4
  - parseptrnamev6
  - dns_byaddr_parseptrname
  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:
    - item_type: typedef
      name: dns_order_ent_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bind9/lib/dns/order.c
      type: dns_order_ent
    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
  - setsourceports
  - getudpdispatch
  - createview
  - dns_client_create
  - destroyclient
  - dns_client_detach
  - dns_client_setservers
  - dns_client_setmaxrestarts
  - dns_client_setmaxqueries
  - dns_client_setsendcookie
  - 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: 85
        line_start: 84
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: '5'
    - item_type: preproc_def
      name: DEF_FIND_UDPRETRIES
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: '3'
    - item_type: preproc_def
      name: DEF_MAX_RESTARTS
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/dns/client.c
      type_or_value: '11'
    - item_type: preproc_def
      name: DEF_MAX_QUERIES
      pos:
        line_end: 88
        line_start: 87
        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: '*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: 82
        line_start: 64
        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: 112
        line_start: 92
        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: 127
        line_start: 117
        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:
  - VALID_DELEGDB_NODE
  - VALID_DELEGDB
  - delegdb_destroy
  - delegdb_node_destroy_async
  - delegdb_node_destroy
  - delegdb_node_ref
  - delegdb_node_unref
  - dbnode_attach
  - dbnode_detach
  - makekey
  - triename
  - dns_delegdb_create
  - dns_delegdb_reuse
  - deleg_destroy_qpmulti
  - isactive
  - getparentnode
  - dns__deleg_lookup
  - dns_delegdb_lookup
  - dns_delegset_allocset
  - dns_delegset_allocdeleg
  - dns_delegset_freedeleg
  - dns_delegset_addaddr
  - addname
  - dns_delegset_adddelegparam
  - dns_delegset_addns
  - delegdb_cleanup
  - delegset_size
  - delegdb_node_size
  - delegdb_node_prepare
  - dns_delegset_insert
  - delegset_destroy
  - tostring_namelist
  - deleg_tostring_addresses
  - delegset_tostring
  - dns_delegdb_dump
  - dns_delegset_fromnsrdataset
  - DNS_RDATASET_FOREACH
  - deleg_deletetree
  - ISC_LIST_FOREACH
  - deleg_deletenode
  - dns_delegdb_delete
  - delegdb_shutdown_async
  - dns_delegdb_shutdown
  - delegdb_setsize
  - dns_delegdb_getconfig
  - dns_delegdb_setconfig
  source_file: /src/bind9/lib/dns/deleg.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DELEGDB_NODE_MAGIC
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/deleg.c
      type_or_value: ISC_MAGIC('D', 'e', 'G', 'N')
    - item_type: preproc_def
      name: DELEGDB_MAGIC
      pos:
        line_end: 32
        line_start: 31
        source_file: /src/bind9/lib/dns/deleg.c
      type_or_value: ISC_MAGIC('D', 'e', 'G', 'D')
    - item_type: preproc_def
      name: DELEGDB_MINSIZE
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/bind9/lib/dns/deleg.c
      type_or_value: '(1024 * 1024) '
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: nloops
        type: size_t
      - name: '* lru'
        type: ISC_SIEVE
      - name: '*nodes'
        type: dns_qpmulti_t
      - name: owners
        type: isc_refcount_t
      - name: config
        type: dns_delegdb_config_t
      item_type: struct
      name: dns_delegdb
      pos:
        line_end: 74
        line_start: 38
        source_file: /src/bind9/lib/dns/deleg.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*delegdb'
        type: dns_delegdb_t
      - name: references
        type: isc_refcount_t
      - name: '*loop'
        type: isc_loop_t
      - name: (delegdb_node_t)
        type: ISC_LINK
      - name: visited
        type: bool
      - name: (delegdb_node_t)
        type: ISC_LINK
      - name: size
        type: size_t
      - name: zonecut
        type: dns_name_t
      - name: '*delegset'
        type: dns_delegset_t
      item_type: struct
      name: delegdb_node
      pos:
        line_end: 112
        line_start: 90
        source_file: /src/bind9/lib/dns/deleg.c
    - fields:
      - name: '*mctx'
        type: isc_mem_t
      - name: '*nodes'
        type: dns_qpmulti_t
      - name: rcu_head
        type: struct rcu_head
      item_type: struct
      name: nodes_rcu_head
      pos:
        line_end: 253
        line_start: 249
        source_file: /src/bind9/lib/dns/deleg.c
    typedefs:
    - item_type: typedef
      name: delegdb_node_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bind9/lib/dns/deleg.c
      type: delegdb_node
    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: 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_MAX
      pos:
        line_end: 148
        line_start: 147
        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: 150
        line_start: 149
        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: 151
        line_start: 150
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: '12'
    - item_type: preproc_def
      name: QP_CHUNK_SIZE
      pos:
        line_end: 159
        line_start: 158
        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: 160
        line_start: 159
        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: 169
        line_start: 168
        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: 175
        line_start: 174
        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: 176
        line_start: 175
        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: 229
        line_start: 228
        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: 367
        line_start: 366
        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: 368
        line_start: 367
        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: 369
        line_start: 368
        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: 370
        line_start: 369
        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: 371
        line_start: 370
        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: 372
        line_start: 371
        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: 373
        line_start: 372
        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: 840
        line_start: 839
        source_file: /src/bind9/lib/dns/qp_p.h
      type_or_value: '2'
    structs:
    - fields: []
      item_type: struct
      name: dns_qpnode
      pos:
        line_end: 72
        line_start: 66
        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: 296
        line_start: 277
        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: 324
        line_start: 320
        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: 339
        line_start: 331
        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: 425
        line_start: 420
        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: 502
        line_start: 476
        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: 542
        line_start: 526
        source_file: /src/bind9/lib/dns/qp_p.h
    typedefs: []
    union: []
- function_names:
  - opensslrsa_valid_key_alg
  - opensslrsa_createctx
  - opensslrsa_destroyctx
  - opensslrsa_adddata
  - opensslrsa_sign
  - opensslrsa_verify
  - 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: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/opensslrsa_link.c
      type_or_value: '4096'
    - item_type: preproc_def
      name: OPENSSLRSA_MIN_MODULUS_BITS
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/bind9/lib/dns/opensslrsa_link.c
      type_or_value: '512'
    structs: []
    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: []
    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:
  - RANGE
  - NSEC3REMOVE
  - REVOKE
  - KSK
  - ZONEKEY
  - ID
  - ALG
  - KASP_LOCK
  - KASP_UNLOCK
  - zonediff_init
  - DNS_ZONE_JITTER_ADD
  - DNS_ZONE_TIME_ADD
  - DNS_ZONE_TIME_SUBTRACT
  - inc_stats
  - dns_zone_create
  - clear_keylist
  - dns__zone_free
  - dns__zone_inline_secure
  - dns__zone_inline_raw
  - dns_zone_getserial
  - dns_zone_getzoneversion
  - dns__zone_freedbargs
  - dns__zone_setview_helper
  - dns_zone_setviewcommit
  - dns_zone_setviewrevert
  - 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)
  - (&rdataset)
  - (&rdataset)
  - zone_check_dnskeys
  - (&rdataset)
  - resume_signingwithkey
  - (&rdataset)
  - zone_addnsec3chain
  - resume_addnsec3chain
  - (&rdataset)
  - dns__zone_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
  - dns__zone_free_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
  - zone_iattach
  - dns__zone_iattach_locked
  - dns_zone_iattach
  - zone_idetach
  - dns__zone_idetach_locked
  - dns_zone_idetach
  - dns__zone_irefs
  - dns_zone_setskr
  - dns_zone_getskrbundle
  - dns_zone_setoption
  - dns_zone_getoptions
  - was_dumping
  - keyfromfile
  - ISC_LIST_FOREACH
  - 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
  - allrdatasets
  - (*iterp)
  - sign_a_node
  - 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
  - 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_start
  - keyfetch_continue
  - keyfetch_cancel
  - keyfetch_cleanup
  - keyfetch_done
  - DNS_RDATASET_FOREACH
  - (&dsset)
  - DNS_RDATASET_FOREACH
  - DNS_RDATASET_FOREACH
  - DNS_RDATASET_FOREACH
  - zone_maintenance
  - dns_zone_markdirty
  - zone_expire
  - zone_refresh
  - zone_refresh_async
  - dns_zone_refresh
  - zone_journal_rollforward
  - zone_journal_compact
  - dns_zone_flush
  - zone_needdump
  - dump_done
  - zone_dump
  - dumptostream
  - dns_zone_dumptostream
  - dns_zone_unload
  - checkds_cancel
  - dns__zone_forward_cancel
  - zone_unload
  - 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
  - dns__zone_settimer
  - cancel_refresh
  - dns_zone_notifyreceive
  - dns_zone_logv
  - dns_zone_logc
  - dns_zone_log
  - zone_debuglogc
  - zone_debuglog
  - dnssec_log
  - message_count
  - MSG_SECTION_FOREACH
  - dns_zonetype_name
  - dns_zone_getredirecttype
  - dns__zone_getnotifyctx
  - dns__zone_stats_increment
  - dns__zone_lock
  - dns__zone_unlock
  - dns__zone_locked
  - dns__zone_loaded
  - dns__zone_exiting
  - 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
  - dns__zone_xfrdone
  - zone_loaddone
  - queue_xfrin
  - forward_destroy
  - sendtoprimary
  - forward_callback
  - dns_zone_forwardupdate
  - zone_keymgmt_getlock
  - dns__zone_keymgmt_initialize
  - dns__zone_keymgmt_shutdown
  - zone_saveunique
  - dns_zone_stopxfr
  - dns_zone_forcexfr
  - dns_zone_isforced
  - zone_namerd_tostr
  - zone_viewname_tostr
  - dns_zone_getxfr
  - dns_zone_lock_keyfiles
  - dns_zone_unlock_keyfiles
  - dns_zone_checknames
  - dns_zone_addnsec3chain
  - 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_start
  - nsfetch_cancel
  - nsfetch_cleanup
  - nsfetch_checkds
  - DNS_RDATASET_FOREACH
  - dsyncfetch_start
  - dsyncfetch_cancel
  - dsyncfetch_cleanup
  - dsyncfetch_done
  - 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
  - ISC_LIST_FOREACH
  - dns_zone_rekey
  - dns_zone_dnssecstatus
  - dns_zone_nscheck
  - dns_zone_cdscheck
  - (&cds)
  - (&dnskey)
  - (&cdnskey)
  - (&dnskey)
  - dns_zone_dlzpostload
  - 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_getincludes
  - setserial
  - dns_zone_setserial
  - dns_zone_isloaded
  - dns_zone_verifydb
  - zone_nsecttl
  - dns_zonemgr_set_tlsctx_cache
  - dns__zonemgr_tlsctx_attach
  - dns_zone_makedb
  - dns_zone_import_skr
  - dns_zone_setplugins
  - dns_zone_unloadplugins
  - dns_zone_isexpired
  source_file: /src/bind9/lib/dns/zone.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HOUR
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '3600'
    - item_type: preproc_def
      name: DAY
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: (24 * HOUR)
    - item_type: preproc_def
      name: MONTH
      pos:
        line_end: 211
        line_start: 210
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: (30 * DAY)
    - item_type: preproc_def
      name: SEND_BUFFER_SIZE
      pos:
        line_end: 216
        line_start: 215
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '2048'
    - item_type: preproc_def
      name: ENTER
      pos:
        line_end: 345
        line_start: 344
        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: 2787
        line_start: 2786
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '5'
    - item_type: preproc_def
      name: SIGNING_RECORD_SIZE
      pos:
        line_end: 2788
        line_start: 2787
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: '7'
    - item_type: preproc_def
      name: PENDINGFLAGS
      pos:
        line_end: 19625
        line_start: 19624
        source_file: /src/bind9/lib/dns/zone.c
      type_or_value: (DNS_NSEC3FLAG_CREATE | DNS_NSEC3FLAG_INITIAL)
    structs:
    - fields:
      - name: lock
        type: isc_mutex_t
      - name: "__padding[ISC_OS_CACHELINE_SIZE -\n\t\t\t  sizeof(isc_mutex_t) % ISC_OS_CACHELINE_SIZE]"
        type: uint8_t
      item_type: struct
      name: dns_keymgmt_bucket
      pos:
        line_end: 150
        line_start: 146
        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: 181
        line_start: 174
        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: 191
        line_start: 186
        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: 201
        line_start: 196
        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: 402
        line_start: 393
        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: 409
        line_start: 405
        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: 414
        line_start: 411
        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: 423
        line_start: 416
        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: 430
        line_start: 425
        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: 3740
        line_start: 3733
        source_file: /src/bind9/lib/dns/zone.c
    - fields:
      - name: rr
        type: bool
      - name: soa
        type: bool
      - name: ns
        type: bool
      - name: nsec
        type: bool
      - name: nsec3
        type: bool
      - name: ds
        type: bool
      - name: dname
        type: bool
      item_type: struct
      name: seen
      pos:
        line_end: 6386
        line_start: 6378
        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: 12475
        line_start: 12472
        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: 13784
        line_start: 13779
        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: 19622
        line_start: 19618
        source_file: /src/bind9/lib/dns/zone.c
    typedefs:
    - item_type: typedef
      name: dns_stub_t
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/bind9/lib/dns/zone.c
      type: dns_stub
    - item_type: typedef
      name: dns_load_t
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/bind9/lib/dns/zone.c
      type: dns_load
    - item_type: typedef
      name: dns_asyncload_t
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/bind9/lib/dns/zone.c
      type: dns_asyncload
    - item_type: typedef
      name: nsec3param_t
      pos:
        line_end: 392
        line_start: 392
        source_file: /src/bind9/lib/dns/zone.c
      type: nsec3param
    - item_type: typedef
      name: (nsec3param_t)
      pos:
        line_end: 403
        line_start: 403
        source_file: /src/bind9/lib/dns/zone.c
      type: ISC_LIST
    union: []
- function_names:
  - VALID_DTENV
  - dns_dt_create
  - dns_dt_setupfile
  - dns_dt_reopen
  - toregion
  - dns_dt_setidentity
  - dns_dt_setversion
  - set_dt_ioq
  - dt_queue
  - dns_dt_getstats
  - destroy
  - 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: references
        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: 125
        line_start: 122
        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:
  - 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:
  - RETTOK
  - 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: 78
        line_start: 74
        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: 80
        line_start: 79
        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: 83
        line_start: 81
        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: 85
        line_start: 84
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, tctx, target
    - item_type: preproc_def
      name: ARGS_FROMWIRE
      pos:
        line_end: 89
        line_start: 86
        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: 91
        line_start: 90
        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: 94
        line_start: 92
        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: 96
        line_start: 95
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, cctx, target
    - item_type: preproc_def
      name: ARGS_COMPARE
      pos:
        line_end: 98
        line_start: 97
        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: 100
        line_start: 99
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata1, rdata2
    - item_type: preproc_def
      name: ARGS_FROMSTRUCT
      pos:
        line_end: 103
        line_start: 101
        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: 105
        line_start: 104
        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: 107
        line_start: 106
        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: 109
        line_start: 108
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, target, mctx
    - item_type: preproc_def
      name: ARGS_FREESTRUCT
      pos:
        line_end: 111
        line_start: 110
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: void *source
    - item_type: preproc_def
      name: CALL_FREESTRUCT
      pos:
        line_end: 113
        line_start: 112
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: source
    - item_type: preproc_def
      name: ARGS_ADDLDATA
      pos:
        line_end: 117
        line_start: 114
        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: 119
        line_start: 118
        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: 121
        line_start: 120
        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: 123
        line_start: 122
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, digest, arg
    - item_type: preproc_def
      name: ARGS_CHECKOWNER
      pos:
        line_end: 127
        line_start: 124
        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: 129
        line_start: 128
        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: 132
        line_start: 130
        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: 134
        line_start: 133
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: rdata, owner, bad
    - item_type: preproc_def
      name: NS_INT16SZ
      pos:
        line_end: 324
        line_start: 323
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: '2'
    - item_type: preproc_def
      name: NS_LOCATORSZ
      pos:
        line_end: 326
        line_start: 325
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: '8'
    - item_type: preproc_def
      name: META
      pos:
        line_end: 792
        line_start: 791
        source_file: /src/bind9/lib/dns/rdata.c
      type_or_value: '0x0001'
    - item_type: preproc_def
      name: RESERVED
      pos:
        line_end: 793
        line_start: 792
        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: 145
        line_start: 140
        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: 2432
        line_start: 2429
        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
  - findaddrinfo
  - dns_adb_createaddrinfosfind
  - 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_MAXIMUM
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: '86400 '
    - item_type: preproc_def
      name: ADB_HASH_SIZE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: (1 << 12)
    - item_type: preproc_def
      name: ADB_STALE_MARGIN
      pos:
        line_end: 77
        line_start: 76
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: '1800'
    - item_type: preproc_def
      name: ADBNAME_TYPE_MASK
      pos:
        line_end: 434
        line_start: 431
        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: 447
        line_start: 446
        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: 448
        line_start: 447
        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: 449
        line_start: 448
        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: 450
        line_start: 449
        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: 3043
        line_start: 3042
        source_file: /src/bind9/lib/dns/adb.c
      type_or_value: (sizeof(quota_adj) / sizeof(quota_adj[0]))
    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: 94
        line_start: 86
        source_file: /src/bind9/lib/dns/adb.c
    - fields:
      - name: magic
        type: unsigned int
      - name: nloops
        type: uint32_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: 125
        line_start: 97
        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: 166
        line_start: 136
        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: 190
        line_start: 185
        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: 204
        line_start: 199
        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: 264
        line_start: 217
        source_file: /src/bind9/lib/dns/adb.c
    typedefs:
    - item_type: typedef
      name: (dns_adbname_t)
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/bind9/lib/dns/adb.c
      type: ISC_LIST
    - item_type: typedef
      name: dns_adbnamehook_t
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bind9/lib/dns/adb.c
      type: dns_adbnamehook
    - item_type: typedef
      name: (dns_adbnamehook_t)
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bind9/lib/dns/adb.c
      type: ISC_LIST
    - item_type: typedef
      name: (dns_adbentry_t)
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/bind9/lib/dns/adb.c
      type: ISC_LIST
    - item_type: typedef
      name: dns_adbfetch_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bind9/lib/dns/adb.c
      type: dns_adbfetch
    - item_type: typedef
      name: dns_adbfetch6_t
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bind9/lib/dns/adb.c
      type: dns_adbfetch6
    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
  - ADDRWAIT
  - SHUTTINGDOWN
  - WANTCACHE
  - WANTNCACHE
  - TRIEDFIND
  - TRIEDALT
  - FCTX_ATTR_SET
  - FCTX_ATTR_CLR
  - CHECKNTA
  - DNS_FETCH_VALID
  - VALID_RESOLVER
  - UNMARKED
  - ISFORWARDER
  - NOCOOKIE
  - EDNSOK
  - BADCOOKIE
  - ISDUALSTACK
  - NXDOMAIN
  - NEGATIVE
  - dns_resolver_setfuzzing
  - fctx_destroy
  - fctx_failure_detach
  - fctx_failure_unref
  - fctx_success_detach
  - fctx_success_unref
  - fetchctx_ref_unless_zero
  - fetchctx__ref_unless_zero
  - fetchctx_attach
  - fetchctx__attach
  - fetchctx_ref
  - fetchctx__ref
  - fetchctx_destroy
  - fetchctx_detach
  - fetchctx__detach
  - fetchctx_unref
  - fetchctx__unref
  - 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
  - copy_to_resp
  - pull_from_resp
  - fctx_sendevents
  - fctx_hash
  - fctx_match
  - fctx__done
  - resquery_senddone
  - fctx_setretryinterval
  - fctx_query
  - triededns
  - add_triededns
  - addr2buf
  - add_serveraddr
  - compute_cc
  - issecuredomain
  - resquery_send
  - resquery_connected
  - fctx_finddone_fail
  - fctx_finddone
  - bad_server
  - mark_bad
  - add_bad
  - already_waiting_for
  - findname
  - isstrictsubdomain
  - fctx_getaddresses_allowed
  - fctx_getaddresses_forwarders
  - fctx_getaddresses_addresses
  - fctx_getaddresses_nameservers
  - fctx_getaddresses_alternate
  - fctx_getaddresses
  - possibly_mark
  - nextaddress
  - fctx_nextaddress
  - incr_query_counters
  - fctx_try
  - clear_resp
  - resume_qmin
  - fctx_destroy_rcu
  - fctx__destroy
  - fctx_expired
  - fctx_shutdown
  - fctx_start
  - fctx_add_event
  - fctx_join
  - log_ns_ttl
  - fctx_create
  - fctx__create
  - is_lame
  - MSG_SECTION_FOREACH
  - log_lame
  - log_formerr
  - same_question
  - CACHE
  - ANSWER
  - ANSWERSIG
  - EXTERNAL
  - CHAINING
  - CHASE
  - CHECKNAMES
  - is_minimal_nsec
  - (&rdataset)
  - check_soa_and_dnskey
  - (&rdataset)
  - has_000_label
  - (&rdataset)
  - fctx_setresult
  - gettrust
  - getrrsig
  - delete_rrset
  - evict_cname_other
  - DNS_RDATASETITER_FOREACH
  - cache_rrset
  - fctx_cacheauthority
  - MSG_SECTION_FOREACH
  - validated
  - fctx_log
  - findnoqname
  - DNS_RDATASET_FOREACH
  - NXND
  - MSG_SECTION_FOREACH
  - check_cacheable
  - fixttls
  - rctx_cache_secure
  - rctx_cache_insecure
  - rctx_cachename
  - rctx_cachemessage
  - MSG_SECTION_FOREACH
  - negcache
  - rctx_ncache
  - MSG_SECTION_FOREACH
  - mark_related
  - name_external
  - cache_delegglue
  - DNS_RDATASET_FOREACH
  - cache_delegglue6
  - DNS_RDATASET_FOREACH
  - cache_delegns
  - check_section
  - check_related
  - 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
  - rctx_cookiecheck
  - rctx_need_tcpretry
  - rctx_tcpretry
  - 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_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
  - update_rootdb_glue
  - update_rootdb
  - DNS_RDATASET_FOREACH
  - prime_done
  - dns_resolver_prime
  - dns_resolver_freeze
  - dns_resolver_shutdown
  - log_fetch
  - fctx_minimize_qname
  - get_attached_fctx
  - is_samedomain
  - waiting_for_fetch
  - 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_setqueryrttstats
  - dns_resolver_getqueryrttstats
  - 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: 183
        line_start: 182
        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: 184
        line_start: 183
        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: 190
        line_start: 189
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '16'
    - item_type: preproc_def
      name: DEFAULT_MAX_VALIDATION_FAILURES
      pos:
        line_end: 193
        line_start: 192
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '1'
    - item_type: preproc_def
      name: MINIMUM_QUERY_TIMEOUT
      pos:
        line_end: 206
        line_start: 205
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: 301U
    - item_type: preproc_def
      name: DEFAULT_QUERY_TIMEOUT
      pos:
        line_end: 213
        line_start: 212
        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: 222
        line_start: 221
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '30000'
    - item_type: preproc_def
      name: DEFAULT_RECURSION_DEPTH
      pos:
        line_end: 227
        line_start: 226
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '7'
    - item_type: preproc_def
      name: DEFAULT_MAX_QUERIES
      pos:
        line_end: 232
        line_start: 231
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '50'
    - item_type: preproc_def
      name: DELEG_MAX_GLUES_PER_NS
      pos:
        line_end: 240
        line_start: 239
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '20'
    - item_type: preproc_def
      name: RES_DOMAIN_HASH_BITS
      pos:
        line_end: 244
        line_start: 243
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '12'
    - item_type: preproc_def
      name: RES_DOMAIN_HASH_SIZE
      pos:
        line_end: 247
        line_start: 246
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: (1 << RES_DOMAIN_HASH_BITS)
    - 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: 302
        line_start: 301
        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: 305
        line_start: 304
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: '0x02'
    - item_type: preproc_def
      name: FCTXCOUNT_MAGIC
      pos:
        line_end: 323
        line_start: 322
        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: 528
        line_start: 527
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: ISC_MAGIC('F', '!', '!', '!')
    - item_type: preproc_def
      name: DNS_FETCH_MAGIC
      pos:
        line_end: 571
        line_start: 570
        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: 647
        line_start: 646
        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: 2420
        line_start: 2419
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: 8U
    - item_type: preproc_def
      name: COOKIE_BUFFER_SIZE
      pos:
        line_end: 2421
        line_start: 2420
        source_file: /src/bind9/lib/dns/resolver.c
      type_or_value: (8U + 32U)
    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: '*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: 281
        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: 299
        line_start: 295
        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: 336
        line_start: 326
        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: ref
        type: struct urcu_ref
      - name: lock
        type: isc_mutex_t
      - name: state
        type: fetchstate_t
      - 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: '*delegset'
        type: dns_delegset_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: '*foundaddrinfo'
        type: dns_adbaddrinfo_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: '*dispatchmgr'
        type: dns_dispatchmgr_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: fwdfname
        type: dns_fixedname_t
      - name: '*fwdname'
        type: dns_name_t
      - name: forwarding
        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: qmintype
        type: dns_rdatatype_t
      - name: '*qminfetch'
        type: dns_fetch_t
      - name: resp_result
        type: isc_result_t
      - name: '*resp_node'
        type: dns_dbnode_t
      - name: pending_running
        type: size_t
      - name: pending_finds
        type: dns_adbfindlist_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
      - name: '*parent'
        type: fetchctx_t
      - name: ht_node
        type: struct cds_lfht_node
      - name: rcu_head
        type: struct rcu_head
      item_type: struct
      name: fetchctx
      pos:
        line_end: 525
        line_start: 338
        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: 561
        line_start: 558
        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: 568
        line_start: 563
        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: 583
        line_start: 573
        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: '*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_ht'
        type: struct cds_lfht
      - 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: isc_statsmulti_t
      - name: '*queryinrttstats'
        type: isc_histomulti_t
      - name: '*queryoutrttstats'
        type: isc_histomulti_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: 644
        line_start: 585
        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: secured
        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
      - name: '*vrdataset'
        type: dns_rdataset_t
      - name: '*vsigrdataset'
        type: dns_rdataset_t
      item_type: struct
      name: respctx
      pos:
        line_end: 992
        line_start: 928
        source_file: /src/bind9/lib/dns/resolver.c
    typedefs:
    - item_type: typedef
      name: fetchctx_t
      pos:
        line_end: 259
        line_start: 259
        source_file: /src/bind9/lib/dns/resolver.c
      type: fetchctx
    - item_type: typedef
      name: fctxcount_t
      pos:
        line_end: 325
        line_start: 325
        source_file: /src/bind9/lib/dns/resolver.c
      type: fctxcount
    union: []
- function_names:
  - VALID_TSIGKEYRING
  - VALID_TSIGKEY
  - is_response
  - dns__tsig_algvalid
  - tsig_log
  - tkey_match
  - match_ptr
  - adjust_lru
  - dns_tsigkey_createfromkey
  - dns__tsigkey_deletelru
  - destroyring
  - dns__tsig_algfromname
  - restore_key
  - dump_key
  - dns_tsigkeyring_dump
  - dns_tsigkey_identity
  - dns_tsigkey_create
  - destroy_tsigkey
  - dns__tsigkey_delete
  - 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_seek3
  - 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:
  - ANCIENT
  - CASEFULLYLOWER
  - CASESET
  - EXISTS
  - IGNORE
  - NEGATIVE
  - NXDOMAIN
  - OPTOUT
  - PREFETCH
  - RESIGN
  - STALE
  - STALE_WINDOW
  - STATCOUNT
  - ZEROTTL
  - peek_uint16
  - get_uint16
  - put_uint16
  source_file: /src/bind9/lib/dns/rdataslab_p.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    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:
  - setrl
  - 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
  - dns__zonemgr_resume_xfrs
  - got_transfer_quota
  - dns__zonemgr_start_xfrin_ifquota
  - dns_zonemgr_setcheckdsrate
  - dns_zonemgr_setnotifyrate
  - dns_zonemgr_setstartupnotifyrate
  - dns_zonemgr_setkeystores
  - dns_zonemgr_setserialqueryrate
  - dns_zonemgr_getnotifyrate
  - dns__zonemgr_getnotifyrl
  - dns_zonemgr_getstartupnotifyrate
  - dns__zonemgr_getstartupnotifyrl
  - dns_zonemgr_getserialqueryrate
  - dns_zonemgr_getcount
  - dns_zonemgr_next_zone
  - dns_zonemgr_first_zone
  source_file: /src/bind9/lib/dns/zonemgr.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
  - 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_serial
  - dns_dumpctx_cancel
  - flushandsync
  - closeandrename
  - master_dump
  - master_dump_callback
  - master_dump_done
  - 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: 70
        line_start: 69
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '100'
    - item_type: preproc_def
      name: N_SPACES
      pos:
        line_end: 228
        line_start: 227
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '10'
    - item_type: preproc_def
      name: N_TABS
      pos:
        line_end: 231
        line_start: 230
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '10'
    - item_type: preproc_def
      name: KEYDATA
      pos:
        line_end: 715
        line_start: 714
        source_file: /src/bind9/lib/dns/masterdump.c
      type_or_value: '"KEYDATA"'
    - item_type: preproc_def
      name: MAXSORT
      pos:
        line_end: 1066
        line_start: 1065
        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: 61
        line_start: 52
        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: 91
        line_start: 79
        source_file: /src/bind9/lib/dns/masterdump.c
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: '*loop'
        type: isc_loop_t
      - name: lock
        type: isc_mutex_t
      - name: references
        type: isc_refcount_t
      - name: canceled
        type: atomic_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: 258
        line_start: 233
        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
  - 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: 37
        line_start: 36
        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: 47
        line_start: 39
        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: 54
        line_start: 49
        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: 59
        line_start: 56
        source_file: /src/bind9/lib/dns/zt.c
    typedefs:
    - item_type: typedef
      name: setview_cb(dns_zone_t *zone)
      pos:
        line_end: 477
        line_start: 476
        source_file: /src/bind9/lib/dns/zt.c
      type: void
    union: []
- function_names:
  - dns_zonefetch_run
  - dns_zonefetch_done
  - zonefetch_schedule
  - dns_zonefetch_schedule
  - dns_zonefetch_reschedule
  - dns_zonefetch_verify
  source_file: /src/bind9/lib/dns/zonefetch.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    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: []
    union: []
- function_names:
  - opensslecdsa_valid_key_alg
  - opensslecdsa_key_alg_to_publickey_size
  - BN_bn2bin_fixed
  - 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: 46
        line_start: 45
        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: 48
        line_start: 47
        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
  - msgresetedns
  - 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_ednsinit
  - dns_message_ednsaddopt
  - 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
  - dns_message_hasdname
  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__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:
  - free_rad_rcu
  - dns_zone_setclass
  - dns_zone_getclass
  - dns_zone_setnotifytype
  - dns_zone_setcheckdstype
  - dns_zone_settype
  - dns_zone_getdbtype
  - dns_zone_setdbtype
  - dns_zone_setview
  - dns_zone_getview
  - dns_zone_setorigin
  - setstring
  - foundtoken_order
  - putmem
  - tokenparse_type
  - tokenparse_name
  - tokenparse_view
  - tokenparse_char
  - tokenparse_label
  - dns_zone_expandzonefile
  - 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_getmctx
  - dns_zone_getmgr
  - dns_zone_setkasp
  - dns_zone_setdefaultkasp
  - dns_zone_getkasp
  - 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_setnotifysrc6
  - has_pf
  - report_no_active_addresses
  - setremote
  - dns_zone_setalsonotify
  - dns_zone_setprimaries
  - dns_zone_setparentals
  - dns_zone_setcdsendpoints
  - dns_zone_getdb
  - dns_zone_setdb
  - dns_zone_setminrefreshtime
  - dns_zone_setmaxrefreshtime
  - dns_zone_setminretrytime
  - dns_zone_setmaxretrytime
  - dns_zone_getmaxrecords
  - dns_zone_setmaxrecords
  - dns_zone_setmaxrrperset
  - dns_zone_setmaxtypepername
  - dns_zone_setnotifyacl
  - dns_zone_setqueryacl
  - dns_zone_setqueryonacl
  - dns_zone_setupdateacl
  - dns_zone_setforwardacl
  - dns_zone_setxfracl
  - 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
  - dns_zone_name
  - dns_zone_nameonly
  - 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_zone_getorigin
  - dns_zone_setidlein
  - dns_zone_getidlein
  - dns_zone_setidleout
  - dns_zone_getidleout
  - 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
  - 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_setcheckmx
  - dns_zone_setchecksrv
  - dns_zone_setcheckns
  - dns_zone_setcheckisservedby
  - dns_zone_setisself
  - dns__zone_getisself
  - dns_zone_setnotifydefer
  - dns_zone_setnotifydelay
  - dns_zone_setnodes
  - dns_zone_setsignatures
  - dns_zone_getsignatures
  - dns_zone_setprivatetype
  - dns_zone_getprivatetype
  - dns_zone_setautomatic
  - dns_zone_getautomatic
  - dns_zone_setadded
  - dns_zone_getadded
  - dns_zone_setmodded
  - dns_zone_getmodded
  - 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_getloadtime
  - dns_zone_getexpiretime
  - dns_zone_getrefreshtime
  - dns_zone_getrefreshkeytime
  - dns_zone_setstatlevel
  - dns_zone_getstatlevel
  - dns_zone_gettid
  - dns_zone_getloop
  - dns_zone_getrad
  - dns_zone_setrad
  - dns_zone_gethooktable
  - dns_zone_sethooktable
  - dns_zone_setcfg
  - dns_zone_getcfg
  - get_request_transport_type
  - dns_zone_getrequesttransporttype
  - dns_zone_getkeystores
  - dns_zone_getgluecachestats
  source_file: /src/bind9/lib/dns/zoneproperties.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pos'
        type: char
      - name: len
        type: size_t
      - name: parse
        type: tokenparse_t
      item_type: struct
      name: foundtoken
      pos:
        line_end: 284
        line_start: 280
        source_file: /src/bind9/lib/dns/zoneproperties.c
    - fields:
      - name: '*zonename'
        type: dns_name_t
      - name: '*viewname'
        type: char
      - name: '*typename'
        type: char
      item_type: struct
      name: token_names
      pos:
        line_end: 290
        line_start: 286
        source_file: /src/bind9/lib/dns/zoneproperties.c
    - fields:
      - name: '*name'
        type: char
      - name: parse
        type: tokenparse_t
      item_type: struct
      name: token_t
      pos:
        line_end: 401
        line_start: 398
        source_file: /src/bind9/lib/dns/zoneproperties.c
    typedefs:
    - item_type: typedef
      name: foundtoken_t
      pos:
        line_end: 274
        line_start: 274
        source_file: /src/bind9/lib/dns/zoneproperties.c
      type: foundtoken
    - item_type: typedef
      name: token_names_t
      pos:
        line_end: 275
        line_start: 275
        source_file: /src/bind9/lib/dns/zoneproperties.c
      type: token_names
    - item_type: typedef
      name: "(*tokenparse_t)(const token_names_t *names,\n\t\t\t\t     const foundtoken_t
        *token,\n\t\t\t\t     isc_buffer_t *b)"
      pos:
        line_end: 278
        line_start: 276
        source_file: /src/bind9/lib/dns/zoneproperties.c
      type: isc_result_t
    union: []
- function_names:
  - 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
  - first_header
  - next_header
  - first_existing_header
  - expire_lru_headers
  - qpcache_miss
  - clean_cache_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
  - check_header
  - related_headers
  - find_headers
  - check_dname
  - find_coveringnsec
  - missing_answer
  - qpc_search_init
  - qpcache_find
  - qpcache_findrdataset
  - setcachestats
  - getrrsetstats
  - setservestalettl
  - getservestalettl
  - setservestalerefresh
  - getservestalerefresh
  - qpcnode_expiredata
  - qpcache__destroy
  - qpcache_destroy
  - cleanup_deadnodes
  - cleanup_deadnodes_cb
  - reactivate_node
  - new_qpcnode
  - qpcache_findnode
  - qpcache_createiterator
  - qpcache_allrdatasets
  - overmaxtype
  - prio_header
  - qpcnode_attachnode
  - check_ncache_block
  - add
  - addnoqname
  - addclosest
  - qpcache_addrdataset
  - qpcache_deleterdataset
  - nodecount
  - dns__qpcache_create
  - iterator_active
  - rdatasetiter_current
  - resume_iteration
  - dbiterator_seek
  - dbiterator_current
  - dbiterator_pause
  - dbiterator_origin
  - 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: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/qpcache.c
      type_or_value: '3'
    - item_type: preproc_def
      name: QPDB_MAGIC
      pos:
        line_end: 87
        line_start: 86
        source_file: /src/bind9/lib/dns/qpcache.c
      type_or_value: ISC_MAGIC('Q', 'P', 'D', '4')
    structs:
    - fields:
      - name: '*qpdb'
        type: qpcache_t
      - name: nspace
        type: unsigned int
      - name: havensec
        type: unsigned int
      - name: references
        type: isc_refcount_t
      - name: erefs
        type: isc_refcount_t
      - name: types_list
        type: struct cds_list_head
      - name: '*data'
        type: struct cds_list_head
      - name: (dns_slabheader_t)
        type: ISC_LIST
      - name: deadlink
        type: isc_queue_node_t
      item_type: struct
      name: qpcnode
      pos:
        line_end: 149
        line_start: 102
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: deadnodes
        type: isc_queue_t
      - name: lock
        type: isc_rwlock_t
      - name: (dns_slabtop_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_SIEVE(dns_slabtop_t))) %\n\t\t\t\t  ISC_OS_CACHELINE_SIZE]"
        type: uint8_t
      item_type: struct
      name: qpcache_bucket
      pos:
        line_end: 175
        line_start: 156
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: common
        type: dns_db_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: buckets_count
        type: size_t
      - name: buckets[]
        type: qpcache_bucket_t
      item_type: struct
      name: qpcache
      pos:
        line_end: 220
        line_start: 177
        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: 246
        line_start: 236
        source_file: /src/bind9/lib/dns/qpcache.c
    - fields:
      - name: common
        type: dns_rdatasetiter_t
      - name: '*current'
        type: dns_slabtop_t
      item_type: struct
      name: qpc_rditer
      pos:
        line_end: 339
        line_start: 336
        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: 388
        line_start: 379
        source_file: /src/bind9/lib/dns/qpcache.c
    typedefs:
    - item_type: typedef
      name: qpcache_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bind9/lib/dns/qpcache.c
      type: qpcache
    - item_type: typedef
      name: qpcnode_t
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bind9/lib/dns/qpcache.c
      type: qpcnode
    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_CYCLIC
  - towire_addtypeclass
  - towire_addttl
  - towire_addrdata
  - towire_question
  - towire_answer
  - 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_minresign
  source_file: /src/bind9/lib/dns/rdataset.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MAX_SHUFFLE
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/rdataset.c
      type_or_value: '100'
    structs: []
    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:
  - compare_rdata
  - header_size
  - rdatavec_raw
  - rdatavec_data
  - rdatavec_count
  - newvec
  - makevec
  - dns_rdatavec_fromrdataset
  - dns_rdatavec_size
  - dns_rdatavec_count
  - rdata_from_vecitem
  - rdata_to_vecitem
  - dns_rdatavec_merge
  - dns_rdatavec_subtract
  - dns_vecheader_setownercase
  - dns_vecheader_new
  - vecheader_first
  - vecheader_next
  - vecheader_current
  - rdataset_first
  - rdataset_next
  - rdataset_current
  - rdataset_clone
  - rdataset_count
  - rdataset_settrust
  - rdataset_getownercase
  - dns_vecheader_getheader
  - dns_vecheader_moveheader
  - dns_vectop_new
  - dns_vectop_destroy
  - vecheader_destroy
  source_file: /src/bind9/lib/dns/rdatavec.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*pos'
        type: unsigned char
      - name: rdata
        type: dns_rdata_t
      - name: dup
        type: bool
      item_type: struct
      name: vecinfo
      pos:
        line_end: 464
        line_start: 460
        source_file: /src/bind9/lib/dns/rdatavec.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:
    - item_type: typedef
      name: dns_ucentry_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/dns/unreachcache.c
      type: dns_ucentry
    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: 65
        line_start: 64
        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: references
        type: isc_refcount_t
      - name: '*table'
        type: dns_qpmulti_t
      item_type: struct
      name: dns_ntatable
      pos:
        line_end: 47
        line_start: 41
        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
      item_type: struct
      name: dns__nta
      pos:
        line_end: 62
        line_start: 49
        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:
    - item_type: typedef
      name: dst_private_element_t
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/bind9/lib/dns/dst_parse.h
      type: dst_private_element
    - item_type: typedef
      name: dst_private_t
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/bind9/lib/dns/dst_parse.h
      type: dst_private
    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:
  - rdata_covers
  - dns_difftuple_create
  - dns_difftuple_free
  - dns_difftuple_copy
  - dns_diff_init
  - dns_diff_clear
  - dns_diff_append
  - dns_diff_size
  - dns_diff_appendminimal
  - getownercase
  - update_rdataset
  - update_callback
  - optotext
  - diff_apply
  - dns_diff_apply
  - dns_diff_applysilently
  - dns_diff_apply_with_callbacks
  - 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:
  - notify_log
  - dns_notifyctx_init
  - dns_notify_create
  - dns_notify_destroy
  - notify_done
  - notify_createmessage
  - notify_send_toaddr
  - notify_queue
  - dns_notify_queue
  - dns_notify_isqueued
  - notify_isself
  - notify_send
  - process_notify_adb_event
  - dns_notify_find_address
  - dns_notify_cancel
  source_file: /src/bind9/lib/dns/notify.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - 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:
  - 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
  - destroy
  - 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_manualmode
  - dns_kasp_setmanualmode
  - 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_key_format
  - 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:
  - 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
  - dns_keymgr_key_init
  - keymgr_key_rollover
  - dns_keymgr_key_may_be_purged
  - keymgr_purge_keyfile
  - dst_key_doublematch
  - ISC_LIST_FOREACH
  - keymgr_zrrsig
  - dns_keymgr_run
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - ISC_LIST_FOREACH
  - keymgr_checkds
  - dns_keymgr_checkds
  - dns_keymgr_checkds_id
  - keytime_status
  - keystate_status
  - rollover_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: 66
        line_start: 65
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_HIDDEN
    - item_type: preproc_def
      name: RUMOURED
      pos:
        line_end: 67
        line_start: 66
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_RUMOURED
    - item_type: preproc_def
      name: OMNIPRESENT
      pos:
        line_end: 68
        line_start: 67
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_OMNIPRESENT
    - item_type: preproc_def
      name: UNRETENTIVE
      pos:
        line_end: 69
        line_start: 68
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: DST_KEY_STATE_UNRETENTIVE
    - item_type: preproc_def
      name: NA
      pos:
        line_end: 70
        line_start: 69
        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: 75
        line_start: 74
        source_file: /src/bind9/lib/dns/keymgr.c
      type_or_value: (int)ARRAY_SIZE(keystatetimes)
    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('$', '$', '$', '$')
    structs:
    - fields:
      - name: magic
        type: unsigned int
      - name: lock
        type: isc_mutex_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*tmctx'
        type: isc_mem_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: 76
        line_start: 58
        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: 516
        line_start: 509
        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_prereconfig
  - dns_catz_zone_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: '*view'
        type: dns_view_t
      - name: shuttingdown
        type: atomic_bool
      item_type: struct
      name: dns_catz_zones
      pos:
        line_end: 146
        line_start: 137
        source_file: /src/bind9/lib/dns/catz.c
    typedefs: []
    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:"'
    structs:
    - fields:
      - name: value
        type: int
      - name: '*tag'
        type: char
      item_type: struct
      name: parse_map
      pos:
        line_end: 86
        line_start: 83
        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: 88
        line_start: 87
        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: 89
        line_start: 88
        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: 90
        line_start: 89
        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: 91
        line_start: 90
        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: 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: 58
        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: 85
        line_start: 60
        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
      type: ISC_LIST
    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: 23
        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:
    - item_type: typedef
      name: dns_rdata_in_https_t
      pos:
        line_end: 22
        line_start: 22
        source_file: /src/bind9/lib/dns/rdata/in_1/https_65.h
      type: dns_rdata_in_svcb
    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:
    - item_type: typedef
      name: dns_rdata_cds_t
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/cds_59.h
      type: dns_rdata_ds
    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:
  - fromtext_hhit
  - totext_hhit
  - fromwire_hhit
  - towire_hhit
  - compare_hhit
  - fromstruct_hhit
  - tostruct_hhit
  - freestruct_hhit
  - additionaldata_hhit
  - digest_hhit
  - checkowner_hhit
  - checknames_hhit
  - casecompare_hhit
  source_file: /src/bind9/lib/dns/rdata/generic/hhit_67.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_HHIT_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/hhit_67.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_dsync
  - totext_dsync
  - fromwire_dsync
  - towire_dsync
  - compare_dsync
  - fromstruct_dsync
  - tostruct_dsync
  - freestruct_dsync
  - additionaldata_dsync
  - digest_dsync
  - checkowner_dsync
  - checknames_dsync
  - casecompare_dsync
  source_file: /src/bind9/lib/dns/rdata/generic/dsync_66.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_DSYNC_ATTRIBUTES
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/dns/rdata/generic/dsync_66.c
      type_or_value: (0)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/brid_68.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: datalen
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_brid_t
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/brid_68.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:
    - item_type: typedef
      name: dns_rdata_rkey_t
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/rkey_57.h
      type: dns_rdata_key
    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_brid
  - totext_brid
  - fromwire_brid
  - towire_brid
  - compare_brid
  - fromstruct_brid
  - tostruct_brid
  - freestruct_brid
  - additionaldata_brid
  - digest_brid
  - checkowner_brid
  - checknames_brid
  - casecompare_brid
  source_file: /src/bind9/lib/dns/rdata/generic/brid_68.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: RRTYPE_BRID_ATTRIBUTES
      pos:
        line_end: 19
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/brid_68.c
      type_or_value: (0)
    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:
    - item_type: typedef
      name: dns_rdata_wallet_string_t
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/wallet_262.h
      type: dns_rdata_txt_string
    - item_type: typedef
      name: dns_rdata_wallet_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/wallet_262.h
      type: dns_rdata_txt
    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
        type: isc_region_t
      item_type: struct
      name: dns_rdata_nsec3param
      pos:
        line_end: 27
        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: 40
        line_start: 39
        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:
    - item_type: typedef
      name: dns_rdata_dnskey_t
      pos:
        line_end: 19
        line_start: 19
        source_file: /src/bind9/lib/dns/rdata/generic/dnskey_48.h
      type: dns_rdata_key
    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:
    - item_type: typedef
      name: dns_rdata_ninfo_string_t
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/ninfo_56.h
      type: dns_rdata_txt_string
    - item_type: typedef
      name: dns_rdata_ninfo_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/ninfo_56.h
      type: dns_rdata_txt
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/cdnskey_60.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: dns_rdata_cdnskey_t
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/cdnskey_60.h
      type: dns_rdata_key
    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
      type: dns_rdata_txt_string_t
    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/hhit_67.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: common
        type: dns_rdatacommon_t
      - name: '*mctx'
        type: isc_mem_t
      - name: datalen
        type: uint16_t
      - name: '*data'
        type: unsigned char
      item_type: struct
      name: dns_rdata_hhit_t
      pos:
        line_end: 20
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/hhit_67.h
    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: 37
        line_start: 36
        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: 62
        line_start: 61
        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: 77
        line_start: 76
        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: 94
        line_start: 93
        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: 107
        line_start: 106
        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
        type: isc_region_t
      - name: next
        type: isc_region_t
      - name: typebits
        type: isc_region_t
      item_type: struct
      name: dns_rdata_nsec3
      pos:
        line_end: 30
        line_start: 21
        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:
    - item_type: typedef
      name: dns_rdata_dlv_t
      pos:
        line_end: 16
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/dlv_32769.h
      type: dns_rdata_ds
    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:
    - item_type: typedef
      name: dns_rdata_smimea_t
      pos:
        line_end: 15
        line_start: 15
        source_file: /src/bind9/lib/dns/rdata/generic/smimea_53.h
      type: dns_rdata_tlsa
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/rdata/generic/dsync_66.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: scheme
        type: uint8_t
      - name: port
        type: uint16_t
      - name: target
        type: dns_name_t
      item_type: struct
      name: dns_rdata_dsync
      pos:
        line_end: 23
        line_start: 16
        source_file: /src/bind9/lib/dns/rdata/generic/dsync_66.h
    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_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: 21
        line_start: 20
        source_file: /src/bind9/lib/dns/rdata/generic/key_25.c
      type_or_value: (0)
    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:
    - item_type: typedef
      name: dns_rdata_ta_t
      pos:
        line_end: 18
        line_start: 18
        source_file: /src/bind9/lib/dns/rdata/generic/ta_32768.h
      type: dns_rdata_ds
    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/zonefetch.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: (*start_fetch)(dns_zonefetch_t *fetch)
        type: isc_result_t
      - name: (*continue_fetch)(dns_zonefetch_t *fetch)
        type: void
      - name: (*cancel_fetch)(dns_zonefetch_t *fetch)
        type: void
      - name: (*cleanup_fetch)(dns_zonefetch_t *fetch)
        type: void
      - name: "(*done_fetch)(dns_zonefetch_t *fetch,\n\t\t\t\t   isc_result_t\t    eresult)"
        type: isc_result_t
      item_type: struct
      name: dns_zonefetch_methods
      pos:
        line_end: 54
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
    - fields:
      - name: dsyncname
        type: dns_fixedname_t
      - name: pname
        type: dns_name_t
      item_type: struct
      name: dns_dsyncfetch
      pos:
        line_end: 62
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
    - fields:
      - name: keydataset
        type: dns_rdataset_t
      - name: '*db'
        type: dns_db_t
      item_type: struct
      name: dns_keyfetch
      pos:
        line_end: 67
        line_start: 64
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
    - fields:
      - name: pname
        type: dns_name_t
      item_type: struct
      name: dns_nsfetch
      pos:
        line_end: 71
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
    - fields:
      - name: '*fetch'
        type: dns_fetch_t
      - name: '*mctx'
        type: isc_mem_t
      - name: '*zone'
        type: dns_zone_t
      - name: name
        type: dns_fixedname_t
      - name: '*qname'
        type: dns_name_t
      - name: qtype
        type: dns_rdatatype_t
      - name: options
        type: unsigned int
      - name: rrset
        type: dns_rdataset_t
      - name: sigset
        type: dns_rdataset_t
      - name: fetchtype
        type: dns_zonefetch_type_t
      - name: fetchdata
        type: dns_zonefetch_data_t
      - name: fetchmethods
        type: dns_zonefetch_methods_t
      item_type: struct
      name: dns_zonefetch
      pos:
        line_end: 99
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
    typedefs:
    - item_type: typedef
      name: dns_dsyncfetch_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
      type: dns_dsyncfetch
    - item_type: typedef
      name: dns_keyfetch_t
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
      type: dns_keyfetch
    - item_type: typedef
      name: dns_nsfetch_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
      type: dns_nsfetch
    - item_type: typedef
      name: dns_zonefetch_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
      type: dns_zonefetch
    union:
    - fields:
      - name: dsyncfetch
        type: dns_dsyncfetch_t
      - name: keyfetch
        type: dns_keyfetch_t
      - name: nsfetch
        type: dns_nsfetch_t
      item_type: union
      name: dns_fetchdata
      pos:
        line_end: 77
        line_start: 73
        source_file: /src/bind9/lib/dns/include/dns/zonefetch.h
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/ede.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_EDE_EXTRATEXT_LEN
      pos:
        line_end: 58
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type_or_value: '64'
    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: 66
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/ede.h
    typedefs:
    - item_type: typedef
      name: dns_edectx_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/ede.h
      type: dns_edectx
    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_ZONE
      pos:
        line_end: 34
        line_start: 33
        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: 35
        line_start: 34
        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: 36
        line_start: 35
        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: 41
        line_start: 36
        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: 46
        line_start: 41
        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: 47
        line_start: 46
        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: 48
        line_start: 47
        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: 51
        line_start: 48
        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: 52
        line_start: 51
        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: 53
        line_start: 52
        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: 55
        line_start: 54
        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: 56
        line_start: 55
        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: 57
        line_start: 56
        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: 58
        line_start: 57
        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: 59
        line_start: 58
        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: 67
        line_start: 66
        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: 72
        line_start: 71
        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: 73
        line_start: 72
        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: 74
        line_start: 73
        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: 88
        line_start: 76
        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: 101
        line_start: 91
        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: 107
        line_start: 107
        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_MIRROR
        value: 1 << 2
      - name: DNS_ZTFIND_NOEXACT
        value: 1 << 1
      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_zt_callback_t(void *arg)
      pos:
        line_end: 30
        line_start: 29
        source_file: /src/bind9/lib/dns/include/dns/zt.h
      type: isc_result_t
    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: 194
        line_start: 190
        source_file: /src/bind9/lib/dns/include/dns/message.h
    preproc_defs:
    - item_type: preproc_def
      name: DNS_EDE_MAX_ERRORS
      pos:
        line_end: 139
        line_start: 138
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_EDNS_MAX_OPTIONS
      pos:
        line_end: 140
        line_start: 139
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type_or_value: DNS_OPT_COUNT + DNS_EDE_MAX_ERRORS
    - item_type: preproc_def
      name: DNS_MESSAGE_REPLYPRESERVE
      pos:
        line_end: 142
        line_start: 141
        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: 143
        line_start: 142
        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: 145
        line_start: 144
        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: 147
        line_start: 146
        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_ZONE
      pos:
        line_end: 184
        line_start: 183
        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: 185
        line_start: 184
        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: 186
        line_start: 185
        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: 200
        line_start: 199
        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: 204
        line_start: 200
        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: 207
        line_start: 204
        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: 210
        line_start: 207
        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: 215
        line_start: 214
        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: 216
        line_start: 215
        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: 217
        line_start: 216
        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: 220
        line_start: 217
        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: 223
        line_start: 220
        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: 237
        line_start: 234
        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: 243
        line_start: 239
        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: has_dname
        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
      - name: edns
        type: "struct {\n\t\tdns_ednsopt_t *opts;\n\t\tuint8_t\t       maxopts;\n\t\tuint8_t\t
          \      count;\n\t\tint16_t\t       version;\n\t\tuint16_t       udpsize;\n\t\tuint32_t
          \      flags;\n\t}"
      item_type: struct
      name: dns_message
      pos:
        line_end: 341
        line_start: 245
        source_file: /src/bind9/lib/dns/include/dns/message.h
    typedefs:
    - item_type: typedef
      name: dns_msgblock_t
      pos:
        line_end: 232
        line_start: 232
        source_file: /src/bind9/lib/dns/include/dns/message.h
      type: dns_msgblock
    - item_type: typedef
      name: (*dns_message_cb_t)(void *arg, isc_result_t result)
      pos:
        line_end: 343
        line_start: 343
        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: 33
        line_start: 32
        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: 37
        line_start: 36
        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: 38
        line_start: 37
        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: 39
        line_start: 38
        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: 40
        line_start: 39
        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: 44
        line_start: 43
        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: 45
        line_start: 44
        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: 46
        line_start: 45
        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: 82
        line_start: 81
        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: 89
        line_start: 88
        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: 91
        line_start: 90
        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: 282
        line_start: 281
        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: 283
        line_start: 282
        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: 284
        line_start: 283
        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: 285
        line_start: 284
        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: 286
        line_start: 285
        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: 287
        line_start: 286
        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: 288
        line_start: 287
        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: 289
        line_start: 288
        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: 356
        line_start: 355
        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: 357
        line_start: 356
        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: 358
        line_start: 357
        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: 363
        line_start: 362
        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: 364
        line_start: 363
        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: 365
        line_start: 364
        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: 366
        line_start: 365
        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: 367
        line_start: 366
        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: 368
        line_start: 367
        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: 122
        line_start: 113
        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: processed
        type: bool
      - name: dbregistered
        type: bool
      - 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: 166
        line_start: 130
        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: 191
        line_start: 178
        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: servfail_until_ready
        type: bool
      - name: slow_mode
        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: 210
        line_start: 197
        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: 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: first_time
        type: bool
      - 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: 274
        line_start: 215
        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: 353
        line_start: 279
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
    typedefs:
    - item_type: typedef
      name: dns_rpz_prefix_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: uint8_t
    - item_type: typedef
      name: dns_rpz_num_t
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: uint8_t
    - item_type: typedef
      name: dns_rpz_zbits_t
      pos:
        line_end: 86
        line_start: 86
        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: 107
        line_start: 107
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: size_t
    - item_type: typedef
      name: dns_rpz_triggers_t
      pos:
        line_end: 112
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: dns_rpz_triggers
    - item_type: typedef
      name: dns_rpz_zone_t
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: dns_rpz_zone
    - item_type: typedef
      name: dns_rpz_zones_t
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: dns_rpz_zones
    - item_type: typedef
      name: dns_rpz_cidr_node_t
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: dns_rpz_cidr_node
    - item_type: typedef
      name: dns_rpz_have_t
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: dns_rpz_have
    - item_type: typedef
      name: dns_rpz_popt_t
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/bind9/lib/dns/include/dns/rpz.h
      type: dns_rpz_popt
    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: []
    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_DSDIGEST_TOTAL
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (10)
    - item_type: preproc_def
      name: DNS_DSDIGEST_TOTAL
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (7)
    - item_type: preproc_def
      name: DNS_DSDIGEST_MAX
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (255)
    - item_type: preproc_def
      name: DNS_DS_BUFFERSIZE
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dns/ds.h
      type_or_value: (52 + 255)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/dsync.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DSYNCSCHEME_NOTIFY
      pos:
        line_end: 16
        line_start: 15
        source_file: /src/bind9/lib/dns/include/dns/dsync.h
      type_or_value: (1)
    - item_type: preproc_def
      name: DNS_DSYNCSCHEMEFORMAT_SIZE
      pos:
        line_end: 18
        line_start: 17
        source_file: /src/bind9/lib/dns/include/dns/dsync.h
      type_or_value: (7)
    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:
    - item_type: preproc_def
      name: DNS_KEYMGRATTR_NONE
      pos:
        line_end: 24
        line_start: 23
        source_file: /src/bind9/lib/dns/include/dns/keymgr.h
      type_or_value: '0x00 '
    - item_type: preproc_def
      name: DNS_KEYMGRATTR_S2I
      pos:
        line_end: 25
        line_start: 24
        source_file: /src/bind9/lib/dns/include/dns/keymgr.h
      type_or_value: '0x01 '
    - item_type: preproc_def
      name: DNS_KEYMGRATTR_NOROLL
      pos:
        line_end: 26
        line_start: 25
        source_file: /src/bind9/lib/dns/include/dns/keymgr.h
      type_or_value: '0x02 '
    - item_type: preproc_def
      name: DNS_KEYMGRATTR_FORCESTEP
      pos:
        line_end: 27
        line_start: 26
        source_file: /src/bind9/lib/dns/include/dns/keymgr.h
      type_or_value: '0x04 '
    - item_type: preproc_def
      name: DNS_KEYMGRATTR_FULLSIGN
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/keymgr.h
      type_or_value: '0x08 '
    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: NSEC3_MAX_HASH_LENGTH
      pos:
        line_end: 34
        line_start: 33
        source_file: /src/bind9/lib/dns/include/dns/nsec3.h
      type_or_value: '39'
    - item_type: preproc_def
      name: DNS_NSEC3_BUFFERSIZE
      pos:
        line_end: 40
        line_start: 39
        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: 44
        line_start: 43
        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: 49
        line_start: 48
        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_sdlz_db_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type: dns_sdlz_db
    - item_type: typedef
      name: dns_sdlzlookup_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type: dns_sdlzlookup
    - item_type: typedef
      name: dns_sdlzallnodes_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dns/sdlz.h
      type: dns_sdlzallnodes
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - item_type: typedef
      name: "dns_sdlz_putsoa_t(dns_sdlzlookup_t *lookup, const char *mname,\n\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
      type: isc_result_t
    - 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
      type: isc_result_t
    union: []
- function_names:
  - DNS_VECHEADER_GETATTR
  - DNS_VECHEADER_SETATTR
  - DNS_VECHEADER_CLRATTR
  source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_RDATAVEC_FORCE
      pos:
        line_end: 56
        line_start: 55
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
      type_or_value: '0x1'
    - item_type: preproc_def
      name: DNS_RDATAVEC_EXACT
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
      type_or_value: '0x2'
    - item_type: preproc_def
      name: DNS_RDATAVEC_OFFLINE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
      type_or_value: '0x01 '
    structs:
    - fields:
      - name: '*iter_pos'
        type: unsigned char
      - name: iter_count
        type: unsigned int
      - name: iter_rdclass
        type: dns_rdataclass_t
      - name: iter_type
        type: dns_rdatatype_t
      item_type: struct
      name: rdatavec_iter
      pos:
        line_end: 68
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
    - fields:
      - name: (dns_vectop_t)
        type: ISC_SLINK
      - name: (dns_vecheader_t)
        type: ISC_SLIST
      - name: typepair
        type: dns_typepair_t
      item_type: struct
      name: dns_vectop
      pos:
        line_end: 77
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
    - fields:
      - name: typepair
        type: dns_typepair_t
      - name: references
        type: isc_refcount_t
      - name: '*mctx'
        type: isc_mem_t
      - name: serial
        type: uint32_t
      - name: ttl
        type: dns_ttl_t
      - name: resign
        type: int64_t
      - name: (dns_vecheader_t)
        type: ISC_SLINK
      - name: '*gluelist'
        type: dns_gluelist_t
      - name: upper[32]
        type: unsigned char
      - name: raw[]
        type: unsigned char
      item_type: struct
      name: dns_vecheader
      pos:
        line_end: 125
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
    typedefs:
    - item_type: typedef
      name: dns_vectop_t
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
      type: dns_vectop
    - item_type: typedef
      name: dns_vecheader_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
      type: dns_vecheader
    - item_type: typedef
      name: rdatavec_iter_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bind9/lib/dns/include/dns/rdatavec.h
      type: rdatavec_iter
    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_hash_t
      pos:
        line_end: 57
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type: dns_rrl_hash
    - item_type: typedef
      name: dns_rrl_key_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type: dns_rrl_key
    - item_type: typedef
      name: dns_rrl_entry_t
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type: dns_rrl_entry
    - 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
      type: ISC_LIST
    - item_type: typedef
      name: dns_rrl_block_t
      pos:
        line_end: 168
        line_start: 168
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type: dns_rrl_block
    - item_type: typedef
      name: dns_rrl_qname_buf_t
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type: dns_rrl_qname_buf
    - item_type: typedef
      name: dns_rrl_rate_t
      pos:
        line_end: 186
        line_start: 186
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type: dns_rrl_rate
    - item_type: typedef
      name: dns_rrl_t
      pos:
        line_end: 196
        line_start: 196
        source_file: /src/bind9/lib/dns/include/dns/rrl.h
      type: dns_rrl
    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:
    - item_type: typedef
      name: dns_journal_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bind9/lib/dns/include/dns/journal.h
      type: dns_journal
    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: []
  source_file: /src/bind9/lib/dns/include/dns/zonemgr.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - DNS_SLABTOP_FOREACH
  - DNS_SLABTOP_FOREACH_FROM
  - 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: types_link
        type: struct cds_list_head
      - name: headers
        type: struct cds_list_head
      - name: '*related'
        type: dns_slabtop_t
      - name: typepair
        type: dns_typepair_t
      - name: visited
        type: bool
      item_type: struct
      name: dns_slabtop
      pos:
        line_end: 86
        line_start: 75
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
    - fields:
      - name: '*top'
        type: dns_slabtop_t
      - name: headers_link
        type: struct cds_list_head
      - name: '*node'
        type: dns_dbnode_t
      - name: upper[32]
        type: unsigned char
      - name: nitems
        type: uint16_t
      - name: raw[]
        type: unsigned char
      item_type: struct
      name: dns_slabheader
      pos:
        line_end: 140
        line_start: 88
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
    typedefs:
    - item_type: typedef
      name: dns_slabtop_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bind9/lib/dns/include/dns/rdataslab.h
      type: dns_slabtop
    union: []
- function_names:
  - DNS_RDATASET_VALID
  - DNS__RDATASET_CONNECT
  - DNS__RDATASET_CONCAT
  - DNS_RDATASET_FOREACH_RES
  - DNS_RDATASET_FOREACH
  - dns_rdataset_cleanup
  - dns_rdataset_disassociate
  - dns_rdataset_clone
  - dns_rdataset_getnoqname
  - dns_rdataset_getclosest
  - dns_rdataset_expire
  - dns_rdataset_matchestype
  - dns_rdataset_issigtype
  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: 58
        line_start: 57
        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: 59
        line_start: 58
        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: 92
        line_start: 91
        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_INIT
      pos:
        line_end: 237
        line_start: 232
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
      type_or_value: "{                                     \\\n\t\t.magic = DNS_RDATASET_MAGIC,
        \ \\\n\t\t.link = ISC_LINK_INITIALIZER, \\\n\t}"
    - item_type: preproc_def
      name: DNS_RDATASETTOWIRE_OMITDNSSEC
      pos:
        line_end: 259
        line_start: 258
        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)(const dns_rdataset_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
      item_type: struct
      name: dns_rdatasetmethods
      pos:
        line_end: 89
        line_start: 66
        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       values, and the rdataset->ttl holds the smallest */\n\t\tbool\t
          \      chase\t    : 1; /*%< Used by resolver. */\n\t\tbool\t       nxdomain\t
          \   : 1;\n\t\tbool\t       noqname\t    : 1;\n\t\tbool\t       checknames
          \  : 1; /*%< Used by resolver. */\n\t\tbool\t       required\t    : 1;\n\t\tbool\t
          \      resign\t    : 1;\n\t\tbool\t       closest\t    : 1;\n\t\tbool\t
          \      optout\t    : 1; /*%< OPTOUT proof */\n\t\tbool\t       negative\t
          \   : 1;\n\t\tbool\t       prefetch\t    : 1;\n\t\tbool\t       stale\t
          \   : 1;\n\t\tbool\t       ancient\t    : 1;\n\t\tbool\t       stale_window
          : 1;\n\t\tbool\t       keepcase\t    : 1;\n\t\tbool\t       staticstub   :
          1;\n\t\tdns_orderopt_t order\t    : 2;\n\t}"
      item_type: struct
      name: dns_rdataset
      pos:
        line_end: 230
        line_start: 100
        source_file: /src/bind9/lib/dns/include/dns/rdataset.h
    typedefs: []
    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: 185
        line_start: 181
        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: 190
        line_start: 189
        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: 191
        line_start: 190
        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: 192
        line_start: 191
        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: 883
        line_start: 882
        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: 884
        line_start: 883
        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: 924
        line_start: 923
        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: 1264
        line_start: 1263
        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: 193
        line_start: 193
        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: 201
        line_start: 200
        source_file: /src/bind9/lib/dns/include/dns/name.h
      type: isc_result_t
    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: 124
        line_start: 123
        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: 127
        line_start: 126
        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: 130
        line_start: 129
        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: 133
        line_start: 132
        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: 136
        line_start: 135
        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: 141
        line_start: 138
        source_file: /src/bind9/lib/dns/include/dns/zone.h
      type_or_value: '60 '
    structs: []
    typedefs: []
    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: []
    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: 65
        line_start: 64
        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: 86
        line_start: 85
        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: 76
        line_start: 67
        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: 93
        line_start: 88
        source_file: /src/bind9/lib/dns/include/dns/diff.h
    - fields:
      - name: '*db'
        type: dns_db_t
      - name: '*ver'
        type: dns_dbversion_t
      - name: warn
        type: bool
      item_type: struct
      name: dns_updatectx_t
      pos:
        line_end: 247
        line_start: 243
        source_file: /src/bind9/lib/dns/include/dns/diff.h
    typedefs:
    - item_type: typedef
      name: dns_difftuple_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/lib/dns/include/dns/diff.h
      type: dns_difftuple
    - item_type: typedef
      name: (dns_difftuple_t)
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/diff.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_diff_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bind9/lib/dns/include/dns/diff.h
      type: dns_diff
    - item_type: typedef
      name: dns_diff_compare_func(const void *, const void *)
      pos:
        line_end: 97
        line_start: 96
        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: references
        type: isc_refcount_t
      - name: (dns_tsigkey_t)
        type: ISC_LINK
      item_type: struct
      name: dns_tsigkey
      pos:
        line_end: 95
        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:
  - DNS_NOTIFY_VALID
  source_file: /src/bind9/lib/dns/include/dns/notify.h
  types:
    enum:
    - enumerators:
      - name: DNS_NOTIFY_NOSOA
        value: 1 << 0
      - name: DNS_NOTIFY_TCP
        value: 1 << 2
      - name: DNS_NOTIFY_STARTUP
        value: 1 << 1
      item_type: enum
      name: dns_notify_flags
      pos:
        line_end: 69
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/notify.h
    preproc_defs:
    - item_type: preproc_def
      name: NOTIFY_MAGIC
      pos:
        line_end: 23
        line_start: 22
        source_file: /src/bind9/lib/dns/include/dns/notify.h
      type_or_value: ISC_MAGIC('N', 't', 'f', 'y')
    structs:
    - fields:
      - name: '*notify_acl'
        type: dns_acl_t
      - name: type
        type: dns_rdatatype_t
      - name: notifyfrom
        type: isc_sockaddr_t
      - name: notifies
        type: dns_notifylist_t
      - name: notifytype
        type: dns_notifytype_t
      - name: notifydefer
        type: uint32_t
      - name: notifydelay
        type: uint32_t
      - name: notifysrc4
        type: isc_sockaddr_t
      - name: notifysrc6
        type: isc_sockaddr_t
      item_type: struct
      name: dns_notifyctx
      pos:
        line_end: 42
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/notify.h
    - 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: type
        type: dns_rdatatype_t
      - name: port
        type: in_port_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: 63
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/notify.h
    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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    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_ADB_MINADBSIZE
      pos:
        line_end: 86
        line_start: 85
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: 'UINT64_C(1024 * 1024) '
    - item_type: preproc_def
      name: DNS_ADBFIND_INET
      pos:
        line_end: 157
        line_start: 156
        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: 159
        line_start: 158
        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: 160
        line_start: 159
        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: 165
        line_start: 164
        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: 170
        line_start: 169
        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: 175
        line_start: 174
        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: 180
        line_start: 179
        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: 184
        line_start: 183
        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: 189
        line_start: 188
        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: 193
        line_start: 192
        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: 197
        line_start: 196
        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: 198
        line_start: 197
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00002000'
    - item_type: preproc_def
      name: DNS_ADBFIND_STARTEDFETCH
      pos:
        line_end: 202
        line_start: 201
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type_or_value: '0x00010000'
    - item_type: preproc_def
      name: DNS_ADB_RTTADJDEFAULT
      pos:
        line_end: 443
        line_start: 442
        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: 444
        line_start: 443
        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: 445
        line_start: 444
        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: 132
        line_start: 110
        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: 216
        line_start: 206
        source_file: /src/bind9/lib/dns/include/dns/adb.h
    typedefs:
    - item_type: typedef
      name: dns_adbname_t
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bind9/lib/dns/include/dns/adb.h
      type: dns_adbname
    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: 171
        line_start: 170
        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: 172
        line_start: 171
        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: 173
        line_start: 172
        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: validation_attempts
        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: '*parent_fetch'
        type: fetchctx_t
      - name: edectx
        type: dns_edectx_t
      - name: '*cb_edectx'
        type: dns_edectx_t
      item_type: struct
      name: dns_validator
      pos:
        line_end: 164
        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:
    - item_type: preproc_def
      name: DNS_CACHE_MINSIZE
      pos:
        line_end: 59
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/cache.h
      type_or_value: 'UINT64_C(2 * 1024 * 1024) '
    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_ALL
      - name: DNS_QPGC_NOW
      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_qp_t
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: dns_qp
    - item_type: typedef
      name: dns_qpmulti_t
      pos:
        line_end: 107
        line_start: 107
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: dns_qpmulti
    - item_type: typedef
      name: dns_qpbase_t
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: dns_qpbase
    - 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_qpsnap_t
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/bind9/lib/dns/include/dns/qp.h
      type: dns_qpsnap
    - 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
      type: dns_qpshift_t
    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:
    - item_type: typedef
      name: dns_master_style_t
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/bind9/lib/dns/include/dns/masterdump.h
      type: dns_master_style
    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: 34
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/skr.h
      type: dns_skrbundle
    - item_type: typedef
      name: (dns_skrbundle_t)
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/skr.h
      type: ISC_LIST
    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: []
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/keyvalues.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_KEY_ECDSA256SIZE
      pos:
        line_end: 68
        line_start: 67
        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: 69
        line_start: 68
        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: 71
        line_start: 70
        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: 72
        line_start: 71
        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: 74
        line_start: 73
        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: 75
        line_start: 74
        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: 77
        line_start: 76
        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: 78
        line_start: 77
        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:
    - item_type: typedef
      name: dns__nta_t
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bind9/lib/dns/include/dns/nta.h
      type: dns__nta
    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_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: 186
        line_start: 185
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: ISC_MAGIC('D', 'N', 'S', 'D')
    - item_type: preproc_def
      name: DBNODE_FIELDS
      pos:
        line_end: 194
        line_start: 188
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: "unsigned int\t      magic;   \\\n\tuint16_t\t      locknum;
        \\\n\tdns_dbnode_methods_t *methods; \\\n\tisc_mem_t\t     *mctx;    \\\n\tdns_name_t\t
        \     name;"
    - 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_DBADD_EQUALOK
      pos:
        line_end: 303
        line_start: 302
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x20'
    - item_type: preproc_def
      name: DNS_DBSUB_EXACT
      pos:
        line_end: 309
        line_start: 308
        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: 310
        line_start: 309
        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: 316
        line_start: 315
        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: 317
        line_start: 316
        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: 318
        line_start: 317
        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: 321
        line_start: 320
        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: 322
        line_start: 321
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type_or_value: '0x02'
    structs:
    - fields:
      - name: "(*attachnode)(dns_dbnode_t\t\t *source,\n\t\t\t   dns_dbnode_t **targetp
          DNS__DB_FLARG)"
        type: void
      - name: (*detachnode)(dns_dbnode_t **targetp DNS__DB_FLARG)
        type: void
      - name: (*deletedata)(dns_dbnode_t *node, void *data)
        type: void
      - name: (*expiredata)(dns_dbnode_t *node, void *data)
        type: void
      item_type: struct
      name: dns_dbnode_methods
      pos:
        line_end: 84
        line_start: 77
        source_file: /src/bind9/lib/dns/include/dns/db.h
    - 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: "(*beginupdate)(dns_db_t *db, dns_dbversion_t *ver,\n\t\t\t\t    dns_rdatacallbacks_t
          *callbacks)"
        type: isc_result_t
      - name: "(*commitupdate)(dns_db_t\t\t  *db,\n\t\t\t\t     dns_rdatacallbacks_t
          *callbacks)"
        type: isc_result_t
      - name: "(*abortupdate)(dns_db_t\t\t *db,\n\t\t\t\t    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: "(*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)
        type: unsigned int
      - 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_dbnode_t *node,\n\t\t\t\t       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: "(*findnode)(dns_db_t *db, const dns_name_t *name,\n\t\t\t\t bool create,
          dns_clientinfomethods_t *methods,\n\t\t\t\t dns_clientinfo_t    *clientinfo,\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_clientinfomethods_t\t*methods,\n\t\t\t
          \    dns_clientinfo_t\t\t*clientinfo,\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: (*setcachestats)(dns_db_t *db, isc_stats_t *stats)
        type: isc_result_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: "(*addglue)(dns_db_t *db, dns_dbversion_t *version,\n\t\t\tconst dns_name_t
          *owner_name, dns_rdataset_t *rdataset,\n\t\t\tdns_message_t *msg)"
        type: void
      - 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_db_methods
      pos:
        line_end: 174
        line_start: 86
        source_file: /src/bind9/lib/dns/include/dns/db.h
    - fields: []
      item_type: struct
      name: dns_dbnode
      pos:
        line_end: 197
        line_start: 195
        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: 181
        line_start: 176
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type: isc_result_t
    - item_type: typedef
      name: (*dns_dbupdate_callback_t)(dns_db_t *db, void *fn_arg)
      pos:
        line_end: 183
        line_start: 183
        source_file: /src/bind9/lib/dns/include/dns/db.h
      type: isc_result_t
    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_aclipprefix_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/acl.h
      type: dns_aclipprefix
    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: 42
        line_start: 41
        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: 54
        line_start: 53
        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: 55
        line_start: 54
        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: '*refvar'
        type: bool
      item_type: struct
      name: dns_dyndbctx
      pos:
        line_end: 39
        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: 60
        line_start: 57
        source_file: /src/bind9/lib/dns/include/dns/dyndb.h
      type: isc_result_t
    - item_type: typedef
      name: dns_dyndb_destroy_t(void **instp)
      pos:
        line_end: 75
        line_start: 74
        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: 84
        line_start: 83
        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: update
        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: []
    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_isnsec
  - 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: 213
        line_start: 210
        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: '*mctx'
        type: isc_mem_t
      - name: '*gssapi_keytab'
        type: char
      item_type: struct
      name: dns_tkeyctx
      pos:
        line_end: 35
        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:
  - DNS_DELEGSET_VALID
  source_file: /src/bind9/lib/dns/include/dns/deleg.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: DNS_DELEGSET_MAGIC
      pos:
        line_end: 97
        line_start: 96
        source_file: /src/bind9/lib/dns/include/dns/deleg.h
      type_or_value: ISC_MAGIC('D', 'e', 'G', 's')
    structs:
    - fields:
      - name: dbsize
        type: size_t
      item_type: struct
      name: dns_delegdb_config_t
      pos:
        line_end: 31
        line_start: 24
        source_file: /src/bind9/lib/dns/include/dns/deleg.h
    - fields:
      - name: addresses
        type: isc_netaddrlist_t
      - name: names
        type: dns_namelist_t
      - name: type
        type: dns_deleg_type_t
      - name: (dns_deleg_t)
        type: ISC_LINK
      item_type: struct
      name: dns_deleg
      pos:
        line_end: 65
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/deleg.h
    - fields:
      - name: magic
        type: unsigned int
      - name: '*mctx'
        type: isc_mem_t
      - name: references
        type: isc_refcount_t
      - name: delegs
        type: dns_deleglist_t
      - name: expires
        type: isc_stdtime_t
      - name: staticstub
        type: bool
      item_type: struct
      name: dns_delegset
      pos:
        line_end: 93
        line_start: 81
        source_file: /src/bind9/lib/dns/include/dns/deleg.h
    typedefs:
    - item_type: typedef
      name: dns_delegdb_t
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/bind9/lib/dns/include/dns/deleg.h
      type: dns_delegdb
    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
      item_type: enum
      name: dns_dispatchopt
      pos:
        line_end: 73
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/dispatch.h
    - enumerators:
      - name: DNS_DISPATCHTYPE_RESOLVER
      - name: DNS_DISPATCHTYPE_REQUEST
      - name: DNS_DISPATCHTYPE_XFRIN
      item_type: enum
      name: dns_dispatchtype
      pos:
        line_end: 79
        line_start: 75
        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: "(*dispatch_cb_t)(isc_result_t eresult, isc_region_t *region,\n\t\t\t
        \     void *cbarg)"
      pos:
        line_end: 269
        line_start: 268
        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_MULTIUSE
        value: 0x00000010U
      - name: DNS_COMPRESS_LARGE
        value: 0x00000004U
      - name: DNS_COMPRESS_CASE
        value: 0x00000002U
      - name: DNS_COMPRESS_PERMITTED
        value: 0x00000008U
      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_PERMITTED
      - name: DNS_DECOMPRESS_ALWAYS
      - name: DNS_DECOMPRESS_NEVER
      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
  - DNS_TRUST_SECURE
  source_file: /src/bind9/lib/dns/include/dns/types.h
  types:
    enum:
    - enumerators:
      - name: dns_opcode_query
        value: '0'
      - name: dns_opcode_status
        value: '2'
      - name: dns_opcode_notify
        value: '4'
      - name: dns_opcode_iquery
        value: '1'
      - name: dns_opcode_update
        value: '5'
      - name: dns_opcode_max
        value: '6'
      - name: dns__opcode_expand
        value: UINT16_MAX
      item_type: enum
      name: dns_opcode
      pos:
        line_end: 329
        line_start: 321
        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: 425
        line_start: 422
        source_file: /src/bind9/lib/dns/include/dns/types.h
    typedefs:
    - item_type: typedef
      name: dns_acl_t
      pos:
        line_end: 32
        line_start: 32
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_acl
    - item_type: typedef
      name: dns_aclelement_t
      pos:
        line_end: 33
        line_start: 33
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_aclelement
    - item_type: typedef
      name: dns_aclenv_t
      pos:
        line_end: 34
        line_start: 34
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_aclenv
    - item_type: typedef
      name: dns_adb_t
      pos:
        line_end: 35
        line_start: 35
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_adb
    - item_type: typedef
      name: dns_adbaddrinfo_t
      pos:
        line_end: 36
        line_start: 36
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_adbaddrinfo
    - item_type: typedef
      name: (dns_adbaddrinfo_t)
      pos:
        line_end: 37
        line_start: 37
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_adbentry_t
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_adbentry
    - item_type: typedef
      name: dns_adbfind_t
      pos:
        line_end: 39
        line_start: 39
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_adbfind
    - item_type: typedef
      name: (dns_adbfind_t)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_badcache_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_badcache
    - item_type: typedef
      name: dns_byaddr_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_byaddr
    - item_type: typedef
      name: dns_catz_zonemodmethods_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_catz_zonemodmethods
    - item_type: typedef
      name: dns_catz_options_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_catz_entry_options
    - item_type: typedef
      name: dns_catz_entry_t
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_catz_entry
    - item_type: typedef
      name: dns_catz_coo_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_catz_coo
    - item_type: typedef
      name: dns_catz_zone_t
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_catz_zone
    - item_type: typedef
      name: dns_catz_changed_t
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_catz_changed
    - item_type: typedef
      name: dns_catz_zones_t
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_catz_zones
    - item_type: typedef
      name: dns_client_t
      pos:
        line_end: 50
        line_start: 50
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_client
    - 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_cache_t
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_cache
    - 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_t
      pos:
        line_end: 56
        line_start: 56
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_compress
    - 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
      type: dns_compress_flags
    - item_type: typedef
      name: dns_compress_slot_t
      pos:
        line_end: 58
        line_start: 58
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_compress_slot
    - item_type: typedef
      name: dns_dbnode_t
      pos:
        line_end: 59
        line_start: 59
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dbnode
    - item_type: typedef
      name: dns_db_t
      pos:
        line_end: 60
        line_start: 60
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_db
    - item_type: typedef
      name: dns_dbimplementation_t
      pos:
        line_end: 61
        line_start: 61
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dbimplementation
    - item_type: typedef
      name: dns_dbiterator_t
      pos:
        line_end: 62
        line_start: 62
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dbiterator
    - item_type: typedef
      name: dns_dbload_t
      pos:
        line_end: 63
        line_start: 63
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: void
    - item_type: typedef
      name: dns_dbonupdatelistener_t
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dbonupdatelistener
    - item_type: typedef
      name: dns_dbversion_t
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dbversion
    - item_type: typedef
      name: dns_dlzimplementation_t
      pos:
        line_end: 66
        line_start: 66
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dlzimplementation
    - item_type: typedef
      name: dns_dlzdb_t
      pos:
        line_end: 67
        line_start: 67
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dlzdb
    - item_type: typedef
      name: (dns_dlzdb_t)
      pos:
        line_end: 68
        line_start: 68
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_dyndbctx_t
      pos:
        line_end: 69
        line_start: 69
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dyndbctx
    - item_type: typedef
      name: dns_sdlzimplementation_t
      pos:
        line_end: 70
        line_start: 70
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_sdlzimplementation
    - item_type: typedef
      name: dns_decompress_t
      pos:
        line_end: 71
        line_start: 71
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_decompress
    - item_type: typedef
      name: dns_dispatch_t
      pos:
        line_end: 72
        line_start: 72
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dispatch
    - item_type: typedef
      name: dns_dispatchlist_t
      pos:
        line_end: 73
        line_start: 73
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dispatchlist
    - item_type: typedef
      name: dns_dispatchset_t
      pos:
        line_end: 74
        line_start: 74
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dispatchset
    - item_type: typedef
      name: dns_dispatchmgr_t
      pos:
        line_end: 75
        line_start: 75
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dispatchmgr
    - item_type: typedef
      name: dns_dispentry_t
      pos:
        line_end: 76
        line_start: 76
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dispentry
    - item_type: typedef
      name: dns_dns64_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dns64
    - item_type: typedef
      name: (dns_dns64_t)
      pos:
        line_end: 78
        line_start: 78
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_dnsseckey_t
      pos:
        line_end: 79
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dnsseckey
    - item_type: typedef
      name: (dns_dnsseckey_t)
      pos:
        line_end: 80
        line_start: 80
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_dsdigest_t
      pos:
        line_end: 81
        line_start: 81
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint8_t
    - item_type: typedef
      name: dns_dsyncscheme_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_dtdata_t
      pos:
        line_end: 83
        line_start: 83
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dtdata
    - item_type: typedef
      name: dns_dtenv_t
      pos:
        line_end: 84
        line_start: 84
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dtenv
    - item_type: typedef
      name: dns_dtmsg_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dtmsg
    - 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_dumpctx_t
      pos:
        line_end: 87
        line_start: 87
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_dumpctx
    - item_type: typedef
      name: dns_ecs_t
      pos:
        line_end: 88
        line_start: 88
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_ecs
    - item_type: typedef
      name: dns_ednsopt_t
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_ednsopt
    - item_type: typedef
      name: dns_fetch_t
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_fetch
    - item_type: typedef
      name: dns_fixedname_t
      pos:
        line_end: 91
        line_start: 91
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_fixedname
    - item_type: typedef
      name: dns_forwarders_t
      pos:
        line_end: 92
        line_start: 92
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_forwarders
    - item_type: typedef
      name: dns_forwarder_t
      pos:
        line_end: 93
        line_start: 93
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_forwarder
    - item_type: typedef
      name: dns_fwdtable_t
      pos:
        line_end: 94
        line_start: 94
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_fwdtable
    - item_type: typedef
      name: dns_geoip_databases_t
      pos:
        line_end: 95
        line_start: 95
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_geoip_databases
    - item_type: typedef
      name: dns_glue_t
      pos:
        line_end: 96
        line_start: 96
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_glue
    - item_type: typedef
      name: dns_gluelist_t
      pos:
        line_end: 97
        line_start: 97
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_gluelist
    - item_type: typedef
      name: dns_iptable_t
      pos:
        line_end: 98
        line_start: 98
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_iptable
    - 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: 100
        line_start: 100
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_kasp
    - item_type: typedef
      name: (dns_kasp_t)
      pos:
        line_end: 101
        line_start: 101
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_kasp_digest_t
      pos:
        line_end: 102
        line_start: 102
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_kasp_digest
    - 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
      type: ISC_LIST
    - item_type: typedef
      name: dns_kasp_key_t
      pos:
        line_end: 104
        line_start: 104
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_kasp_key
    - 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
      type: ISC_LIST
    - item_type: typedef
      name: dns_kasp_nsec3param_t
      pos:
        line_end: 106
        line_start: 106
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_kasp_nsec3param
    - 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: 108
        line_start: 108
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_keynode
    - item_type: typedef
      name: (dns_keynode_t)
      pos:
        line_end: 109
        line_start: 109
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_keytable_t
      pos:
        line_end: 110
        line_start: 110
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_keytable
    - 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: 112
        line_start: 112
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_keystore
    - item_type: typedef
      name: (dns_keystore_t)
      pos:
        line_end: 113
        line_start: 113
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_loadctx_t
      pos:
        line_end: 114
        line_start: 114
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_loadctx
    - item_type: typedef
      name: dns_masterrawheader_t
      pos:
        line_end: 115
        line_start: 115
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_masterrawheader
    - item_type: typedef
      name: dns_masterstyle_flags_t
      pos:
        line_end: 116
        line_start: 116
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint64_t
    - item_type: typedef
      name: dns_message_t
      pos:
        line_end: 117
        line_start: 117
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_message
    - item_type: typedef
      name: dns_messageid_t
      pos:
        line_end: 118
        line_start: 118
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_label_t
      pos:
        line_end: 119
        line_start: 119
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: isc_region_t
    - item_type: typedef
      name: dns_name_t
      pos:
        line_end: 120
        line_start: 120
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_name
    - item_type: typedef
      name: dns_nametree_t
      pos:
        line_end: 121
        line_start: 121
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_nametree
    - item_type: typedef
      name: (dns_name_t)
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_notify_t
      pos:
        line_end: 123
        line_start: 123
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_notify
    - item_type: typedef
      name: dns_notifyctx_t
      pos:
        line_end: 124
        line_start: 124
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_notifyctx
    - item_type: typedef
      name: (dns_notify_t)
      pos:
        line_end: 125
        line_start: 125
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_ntatable_t
      pos:
        line_end: 126
        line_start: 126
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_ntatable
    - item_type: typedef
      name: dns_ntnode_t
      pos:
        line_end: 127
        line_start: 127
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_ntnode
    - item_type: typedef
      name: dns_opcode_t
      pos:
        line_end: 128
        line_start: 128
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_opcode
    - item_type: typedef
      name: dns_order_t
      pos:
        line_end: 129
        line_start: 129
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_order
    - item_type: typedef
      name: dns_peer_t
      pos:
        line_end: 130
        line_start: 130
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_peer
    - item_type: typedef
      name: dns_peerlist_t
      pos:
        line_end: 131
        line_start: 131
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_peerlist
    - item_type: typedef
      name: dns_slabheader_proof_t
      pos:
        line_end: 132
        line_start: 132
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_slabheader_proof
    - item_type: typedef
      name: dns_rbt_t
      pos:
        line_end: 133
        line_start: 133
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rbt
    - item_type: typedef
      name: dns_rbtdb_t
      pos:
        line_end: 134
        line_start: 134
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rbtdb
    - item_type: typedef
      name: dns_rbtdb_version_t
      pos:
        line_end: 135
        line_start: 135
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rbtdb_version
    - item_type: typedef
      name: dns_rbtnode_t
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rbtnode
    - item_type: typedef
      name: (dns_rbtnode_t)
      pos:
        line_end: 137
        line_start: 137
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_rcode_t
      pos:
        line_end: 138
        line_start: 138
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_rdata_t
      pos:
        line_end: 139
        line_start: 139
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rdata
    - item_type: typedef
      name: dns_rdatacallbacks_t
      pos:
        line_end: 140
        line_start: 140
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rdatacallbacks
    - item_type: typedef
      name: dns_rdataclass_t
      pos:
        line_end: 141
        line_start: 141
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_rdatalist_t
      pos:
        line_end: 142
        line_start: 142
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rdatalist
    - item_type: typedef
      name: dns_rdataset_t
      pos:
        line_end: 143
        line_start: 143
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rdataset
    - item_type: typedef
      name: (dns_rdataset_t)
      pos:
        line_end: 144
        line_start: 144
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_rdatasetiter_t
      pos:
        line_end: 145
        line_start: 145
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rdatasetiter
    - item_type: typedef
      name: dns_rdatasetmethods_t
      pos:
        line_end: 146
        line_start: 146
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_rdatasetmethods
    - item_type: typedef
      name: dns_rdatatype_t
      pos:
        line_end: 147
        line_start: 147
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_remote_t
      pos:
        line_end: 148
        line_start: 148
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_remote
    - item_type: typedef
      name: dns_request_t
      pos:
        line_end: 149
        line_start: 149
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_request
    - item_type: typedef
      name: dns_requestmgr_t
      pos:
        line_end: 150
        line_start: 150
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_requestmgr
    - item_type: typedef
      name: dns_resolver_t
      pos:
        line_end: 151
        line_start: 151
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_resolver
    - item_type: typedef
      name: dns_qpnode_t
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_qpnode
    - item_type: typedef
      name: dns_secalg_t
      pos:
        line_end: 153
        line_start: 153
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint8_t
    - item_type: typedef
      name: dns_secproto_t
      pos:
        line_end: 154
        line_start: 154
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint8_t
    - item_type: typedef
      name: dns_signature_t
      pos:
        line_end: 155
        line_start: 155
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_signature
    - item_type: typedef
      name: dns_skr_t
      pos:
        line_end: 156
        line_start: 156
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_skr
    - item_type: typedef
      name: dns_slabheader_t
      pos:
        line_end: 157
        line_start: 157
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_slabheader
    - item_type: typedef
      name: dns_ssurule_t
      pos:
        line_end: 158
        line_start: 158
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_ssurule
    - item_type: typedef
      name: dns_ssutable_t
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_ssutable
    - item_type: typedef
      name: dns_stats_t
      pos:
        line_end: 160
        line_start: 160
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_stats
    - item_type: typedef
      name: dns_rdatastatstype_t
      pos:
        line_end: 161
        line_start: 161
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint32_t
    - item_type: typedef
      name: dns_tkeyctx_t
      pos:
        line_end: 162
        line_start: 162
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_tkeyctx
    - item_type: typedef
      name: dns_transport_t
      pos:
        line_end: 163
        line_start: 163
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_transport
    - item_type: typedef
      name: dns_transport_list_t
      pos:
        line_end: 164
        line_start: 164
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_transport_list
    - item_type: typedef
      name: dns_trust_t
      pos:
        line_end: 165
        line_start: 165
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint16_t
    - item_type: typedef
      name: dns_tsigkeyring_t
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_tsigkeyring
    - item_type: typedef
      name: dns_tsigkey_t
      pos:
        line_end: 167
        line_start: 167
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_tsigkey
    - item_type: typedef
      name: dns_ttl_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_typepair_t
      pos:
        line_end: 169
        line_start: 169
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: uint32_t
    - item_type: typedef
      name: dns_unreachcache_t
      pos:
        line_end: 170
        line_start: 170
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_unreachcache
    - item_type: typedef
      name: dns_update_state_t
      pos:
        line_end: 171
        line_start: 171
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_update_state
    - item_type: typedef
      name: dns_validator_t
      pos:
        line_end: 172
        line_start: 172
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_validator
    - item_type: typedef
      name: dns_view_t
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_view
    - item_type: typedef
      name: (dns_view_t)
      pos:
        line_end: 174
        line_start: 174
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_zone_t
      pos:
        line_end: 175
        line_start: 175
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_zone
    - item_type: typedef
      name: (dns_zone_t)
      pos:
        line_end: 176
        line_start: 176
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_zonemgr_t
      pos:
        line_end: 177
        line_start: 177
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_zonemgr
    - item_type: typedef
      name: dns_zt_t
      pos:
        line_end: 178
        line_start: 178
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_zt
    - item_type: typedef
      name: dns_ipkeylist_t
      pos:
        line_end: 179
        line_start: 179
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_ipkeylist
    - item_type: typedef
      name: dns_deleg_t
      pos:
        line_end: 180
        line_start: 180
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_deleg
    - item_type: typedef
      name: (dns_deleg_t)
      pos:
        line_end: 181
        line_start: 181
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: ISC_LIST
    - item_type: typedef
      name: dns_delegset_t
      pos:
        line_end: 182
        line_start: 182
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dns_delegset
    - item_type: typedef
      name: dst_gssapi_signverifyctx_t
      pos:
        line_end: 184
        line_start: 184
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: dst_gssapi_signverifyctx
    - item_type: typedef
      name: (*dns_dumpdonefunc_t)(void *, isc_result_t)
      pos:
        line_end: 430
        line_start: 430
        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: 432
        line_start: 432
        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: 434
        line_start: 434
        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      dns_diffop_t op DNS__DB_FLARG)"
      pos:
        line_end: 438
        line_start: 436
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: isc_result_t
    - item_type: typedef
      name: (*dns_transactionfunc_t)(void *arg)
      pos:
        line_end: 439
        line_start: 439
        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: 443
        line_start: 441
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: isc_result_t
    - item_type: typedef
      name: (*dns_digestfunc_t)(void *, isc_region_t *)
      pos:
        line_end: 445
        line_start: 445
        source_file: /src/bind9/lib/dns/include/dns/types.h
      type: isc_result_t
    - item_type: typedef
      name: (*dns_xfrindone_t)(dns_zone_t *, uint32_t *, isc_result_t)
      pos:
        line_end: 447
        line_start: 447
        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: 449
        line_start: 449
        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: 451
        line_start: 451
        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: 454
        line_start: 453
        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: 457
        line_start: 456
        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: 461
        line_start: 459
        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: 464
        line_start: 463
        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: 468
        line_start: 466
        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: 470
        line_start: 470
        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_seek3
  - 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: 84
        line_start: 83
        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: "(*seek3)(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: 81
        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: 101
        line_start: 95
        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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    - 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
      type: isc_result_t
    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:
  - dns_dtenv_ref
  - dns_dtenv_unref
  - dns_dtenv_attach
  - dns_dtenv_detach
  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: 62
        line_start: 61
        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: 63
        line_start: 62
        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: 64
        line_start: 63
        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: 65
        line_start: 64
        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: 66
        line_start: 65
        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: 67
        line_start: 66
        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: 68
        line_start: 67
        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: 69
        line_start: 68
        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: 70
        line_start: 69
        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: 71
        line_start: 70
        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: 72
        line_start: 71
        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: 73
        line_start: 72
        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: 74
        line_start: 73
        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: 75
        line_start: 74
        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: 79
        line_start: 76
        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: 82
        line_start: 79
        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: 83
        line_start: 82
        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: 117
        line_start: 93
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
    typedefs:
    - item_type: typedef
      name: dns_dthandle_t
      pos:
        line_end: 90
        line_start: 90
        source_file: /src/bind9/lib/dns/include/dns/dnstap.h
      type: dns_dthandle
    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_CHECKNAMES
      pos:
        line_end: 158
        line_start: 157
        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: 159
        line_start: 158
        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: 161
        line_start: 160
        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: 162
        line_start: 161
        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: '*cache'
        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: 98
        line_start: 79
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
    typedefs:
    - item_type: typedef
      name: dns_fetchresponse_t
      pos:
        line_end: 77
        line_start: 77
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type: dns_fetchresponse
    - item_type: typedef
      name: fetchctx_t
      pos:
        line_end: 264
        line_start: 264
        source_file: /src/bind9/lib/dns/include/dns/resolver.h
      type: fetchctx
    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:
    - item_type: typedef
      name: dns_xfrin_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/bind9/lib/dns/include/dns/xfrin.h
      type: dns_xfrin
    union: []
- function_names: []
  source_file: /src/bind9/lib/dns/include/dns/zoneproperties.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
      type: isc_result_t
    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_CHECK
  - DNS__TYPEPAIR_CHECK
  - DNS_TYPEPAIR_TYPE
  - DNS_TYPEPAIR_COVERS
  - DNS__TYPEPAIR_VALUE
  - DNS_TYPEPAIR_VALUE
  - DNS_TYPEPAIR
  - DNS_SIGTYPEPAIR
  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: 120
        line_start: 119
        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_MAXCBMSIZE
      pos:
        line_end: 28
        line_start: 27
        source_file: /src/bind9/lib/dns/include/dns/nsec.h
      type_or_value: (256 * ((256 / 8) + 2))
    - item_type: preproc_def
      name: DNS_NSEC_BUFFERSIZE
      pos:
        line_end: 29
        line_start: 28
        source_file: /src/bind9/lib/dns/include/dns/nsec.h
      type_or_value: (DNS_NAME_MAXWIRE + DNS_NSEC_MAXCBMSIZE)
    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: 174
        line_start: 173
        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: 175
        line_start: 174
        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: 176
        line_start: 175
        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: 177
        line_start: 176
        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: 178
        line_start: 177
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '7'
    - item_type: preproc_def
      name: DNS_RTTHISTO_SIGBITS
      pos:
        line_end: 209
        line_start: 208
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '3'
    - item_type: preproc_def
      name: DNS_RTTHISTO_MAX
      pos:
        line_end: 210
        line_start: 209
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '102'
    - item_type: preproc_def
      name: DNS_RDATASTATSTYPE_ATTR_OTHERTYPE
      pos:
        line_end: 243
        line_start: 242
        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: 244
        line_start: 243
        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: 245
        line_start: 244
        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: 246
        line_start: 245
        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: 247
        line_start: 246
        source_file: /src/bind9/lib/dns/include/dns/stats.h
      type_or_value: '0x0010'
    structs: []
    typedefs:
    - item_type: typedef
      name: (*dns_generalstats_dumper_t)(isc_statscounter_t, uint64_t, void *)
      pos:
        line_end: 266
        line_start: 266
        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: 268
        line_start: 267
        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: 269
        line_start: 269
        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: 270
        line_start: 270
        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: 271
        line_start: 271
        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: 255
        line_start: 254
        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: 258
        line_start: 257
        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: 259
        line_start: 258
        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: 260
        line_start: 259
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: '0x04'
    - item_type: preproc_def
      name: MAX_DELEGATION_SERVERS
      pos:
        line_end: 266
        line_start: 265
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type_or_value: '100'
    - item_type: preproc_def
      name: DNS_LMDB_COMMON_FLAGS
      pos:
        line_end: 268
        line_start: 267
        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: 270
        line_start: 269
        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: 276
        line_start: 275
        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: '*rootdb'
        type: dns_db_t
      - name: rootdb_expires
        type: atomic_uint_fast32_t
      - name: '*deleg'
        type: dns_delegdb_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_delegation_servers
        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: newzone
        type: "struct {\n\t\tbool\t   allowed;\n\t\tchar\t  *dir;\n\t\tchar\t  *file;\n\t\tchar\t
          \ *db;\n\t\tMDB_env\t  *dbenv;\n\t\tuint64_t   mapsize;\n\t\tcfg_obj_t *vconfig;\n\t\tcfg_obj_t
          *nzconfig;\n\t\tvoid (*cleanup)(dns_view_t *);\n\t\tisc_mutex_t lock;\n\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: 252
        line_start: 88
        source_file: /src/bind9/lib/dns/include/dns/view.h
    typedefs:
    - item_type: typedef
      name: cfg_obj_t
      pos:
        line_end: 85
        line_start: 85
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type: cfg_obj
    - item_type: typedef
      name: MDB_env
      pos:
        line_end: 86
        line_start: 86
        source_file: /src/bind9/lib/dns/include/dns/view.h
      type: MDB_env
    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: []
    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
      type: isc_result_t
    - 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: 403
        line_start: 402
        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
      type: ISC_LIST
    union: []
- function_names:
  - dns_kasp_ref
  - dns_kasp_unref
  - dns_kasp_attach
  - dns_kasp_detach
  - 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: 133
        line_start: 132
        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: 137
        line_start: 136
        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: 138
        line_start: 137
        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: 139
        line_start: 138
        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: 140
        line_start: 139
        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: 141
        line_start: 140
        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: 142
        line_start: 141
        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: 143
        line_start: 142
        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: 144
        line_start: 143
        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: 145
        line_start: 144
        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: 146
        line_start: 145
        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: 147
        line_start: 146
        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: 148
        line_start: 147
        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: 149
        line_start: 148
        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: 152
        line_start: 151
        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: 153
        line_start: 152
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: '0x02'
    - item_type: preproc_def
      name: DNS_KASP_KEY_FORMATSIZE
      pos:
        line_end: 155
        line_start: 154
        source_file: /src/bind9/lib/dns/include/dns/kasp.h
      type_or_value: (DNS_NAME_FORMATSIZE + 64)
    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: 54
        line_start: 51
        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: 74
        line_start: 57
        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: 81
        line_start: 76
        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: manual_mode
        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: 130
        line_start: 84
        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_t
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/bind9/lib/dns/include/irs/resconf.h
      type: irs_resconf
    - 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
      type: ISC_LIST
    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_ctx_id_t'
      pos:
        line_end: 25
        line_start: 25
        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_UNRETENTIVE
        value: '3'
      - name: DST_KEY_STATE_OMNIPRESENT
        value: '2'
      - name: DST_KEY_STATE_RUMOURED
        value: '1'
      - 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_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_HMACMD5
        value: '157'
      - name: DST_ALG_ECDSA256
        value: '13'
      - 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'
      - name: DST_ALG_DSA
        value: '3'
      - name: DST_ALG_RSA
        value: '1'
      - name: DST_ALG_NSEC3DSA
        value: '6'
      - name: DST_ALG_GSSAPI
        value: '160'
      - name: DST_ALG_ECCGOST
        value: '12'
      - name: DST_ALG_ED448
        value: '16'
      - name: DST_ALG_RESERVED
        value: '255'
      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_MAJOR_VERSION
      pos:
        line_end: 213
        line_start: 212
        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: 214
        line_start: 213
        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: 990
        line_start: 989
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type_or_value: (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + 7)
    structs: []
    typedefs:
    - item_type: typedef
      name: dst_key_t
      pos:
        line_end: 42
        line_start: 42
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type: dst_key
    - item_type: typedef
      name: dst_context_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/lib/dns/include/dst/dst.h
      type: dst_context
    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
      type: isccc_sexpr_t
    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
    - item_type: typedef
      name: isccc_sexpr_t
      pos:
        line_end: 41
        line_start: 41
        source_file: /src/bind9/lib/isccc/include/isccc/types.h
      type: isccc_sexpr
    - item_type: typedef
      name: isccc_dottedpair_t
      pos:
        line_end: 43
        line_start: 43
        source_file: /src/bind9/lib/isccc/include/isccc/types.h
      type: isccc_dottedpair
    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: []
  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: 87
        line_start: 86
        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: []
    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: []
